diff --git a/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/api.json b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/api.json new file mode 100644 index 0000000..d663979 --- /dev/null +++ b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/api.json @@ -0,0 +1,12 @@ +{ + "files": [ + "stats", + "contentinternal", + "esx", + "content", + "vcenter", + "appliance", + "vapi", + "cis" + ] +} \ No newline at end of file diff --git a/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/appliance.json b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/appliance.json new file mode 100644 index 0000000..181ef37 --- /dev/null +++ b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/appliance.json @@ -0,0 +1,15098 @@ +{ + "openapi": "3.0.0", + "info": { + "description": "The vCenter Server Appliance is a preconfigured Linux-based virtual machine optimized for running vCenter Server and associated services.", + "title": "appliance", + "version": "2.0.0" + }, + "paths": { + "/api/appliance/infraprofile/configs": { + "get": { + "tags": [ + "infraprofile/configs" + ], + "summary": "List all the profiles which are registered.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Infraprofile.Read. \n", + "parameters": [], + "responses": { + "200": { + "description": "List of profiles with description are registered.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceInfraprofileConfigsProfileInfo" + } + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/appliance/infraprofile/configs?action=export": { + "post": { + "tags": [ + "infraprofile/configs" + ], + "summary": "Exports the desired profile specification.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Infraprofile.Read. \n", + "parameters": [], + "responses": { + "200": { + "description": "Configuration specification JSON in string format.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no profile associated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "export", + "requestBody": { + "$ref": "#/components/requestBodies/ApplianceInfraprofileConfigsExport" + } + } + }, + "/api/appliance/infraprofile/configs?action=import&vmw-task=true": { + "post": { + "tags": [ + "infraprofile/configs" + ], + "summary": "Imports the desired profile specification.", + "parameters": [], + "responses": { + "202": { + "description": "Import version.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no profile associated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "400": { + "description": "If there is another operation in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "import_profile$task", + "requestBody": { + "$ref": "#/components/requestBodies/ApplianceInfraprofileConfigsImportProfileTask" + } + } + }, + "/api/appliance/infraprofile/configs?action=validate&vmw-task=true": { + "post": { + "tags": [ + "infraprofile/configs" + ], + "summary": "Validates the desired profile specification.", + "parameters": [], + "responses": { + "202": { + "description": "Result of validation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no profile associated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "validate$task", + "requestBody": { + "$ref": "#/components/requestBodies/ApplianceInfraprofileConfigsValidateTask" + } + } + }, + "/api/appliance/support-bundle": { + "get": { + "tags": [ + "support_bundle" + ], + "summary": "Get list of support-bundles generated.", + "parameters": [ + { + "in": "query", + "name": "size", + "schema": { + "type": "integer" + }, + "description": "Size specifies the maximum number of results to return.\nIf unset defaults to 50." + }, + { + "in": "query", + "name": "available", + "schema": { + "type": "boolean" + }, + "description": "Filter only downloadable details." + }, + { + "in": "query", + "name": "creation_status", + "schema": { + "type": "string", + "description": "", + "enum": [ + "SUCCEEDED", + "FAILED", + "CANCELLED" + ] + } + } + ], + "responses": { + "200": { + "description": "List of support bundle details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceSupportBundleListResult" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/appliance/support-bundle/components": { + "get": { + "tags": [ + "support_bundle/components" + ], + "summary": "Get list of components/manifests included in the support bundle. Manifests for a component specifies the files for a particular component that all needs to be collected as part of support bundle.", + "parameters": [], + "responses": { + "200": { + "description": "A map of components with it's group. The keys in the map are group names and values in the map are a list of components in the group.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/appliance/support-bundle?vmw-task=true": { + "post": { + "tags": [ + "support_bundle" + ], + "summary": "Create a support bundle.", + "parameters": [], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "create$task", + "requestBody": { + "$ref": "#/components/requestBodies/ApplianceSupportBundleCreateTask" + } + } + }, + "/api/appliance/system/global-fips": { + "get": { + "tags": [ + "system/security/global_fips" + ], + "summary": "Get current appliance FIPS settings.", + "parameters": [], + "responses": { + "200": { + "description": "Current FIPS settings state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceSystemSecurityGlobalFipsInfo" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + }, + "put": { + "tags": [ + "system/security/global_fips" + ], + "summary": "Enable/Disable Global FIPS mode for the appliance. \nCaution: Changing the value of this setting will reboot the Appliance.\n", + "parameters": [], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/ApplianceSystemSecurityGlobalFipsUpdate" + } + } + }, + "/api/appliance/vcenter/settings/v1/config": { + "get": { + "tags": [ + "vcenter/settings/v1/config" + ], + "summary": "Returns information about a profile. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Infraprofile.Read. \n", + "parameters": [], + "responses": { + "200": { + "description": "Information about the specified profile.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigInfo" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "If given version is different than the latest one.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "404": { + "description": "If there is no profile or version associated with profile or version in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + }, + "post": { + "tags": [ + "vcenter/settings/v1/config" + ], + "summary": "Creates a Profile. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Infraprofile.Write. \n", + "parameters": [], + "responses": { + "201": { + "description": "ID of newly-created profile.\nThe result will be an identifier for the resource type: appliance.vcenter.settings.v1.config.profile.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/ApplianceVcenterSettingsV1ConfigCreate" + } + }, + "delete": { + "tags": [ + "vcenter/settings/v1/config" + ], + "summary": "Deletes a profile. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Infraprofile.Write. \n", + "parameters": [], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "if any other operation running on the same profile.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": "if the profile is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/api/appliance/vcenter/settings/v1/config-current": { + "get": { + "tags": [ + "vcenter/settings/v1/config_current" + ], + "summary": "Returns the current state of the vCenter. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Infraprofile.Read. \n", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1DesiredState" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/appliance/vcenter/settings/v1/config/{version}?action=scan&vmw-task=true": { + "post": { + "tags": [ + "vcenter/settings/v1/config" + ], + "summary": "Scans all the components in the profiles against the applied profile. result of this operation can be queried by calling the api cis/tasks/{task-id} where the task-id is the response of this operation. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "version", + "description": "version of the profile.\nThe parameter must be an identifier for the resource type: appliance.vcenter.settings.v1.config.version.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Result of the scan operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no profile associated with profile in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "scan$task" + } + }, + "/api/appliance/vcenter/settings/v1/config?action=apply-desired-state&vmw-task=true": { + "post": { + "tags": [ + "vcenter/settings/v1/config" + ], + "summary": "Apply the specified DesiredState spec to the vCenter. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "parameters": [], + "responses": { + "202": { + "description": "ApplyResult containing the status and progress of Apply operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "If validation of the desired-state spec fails. The value of the data field of Error will be a structure that contains all the fields defined in Config.ApplyResult.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "apply_desired_state$task", + "requestBody": { + "$ref": "#/components/requestBodies/ApplianceVcenterSettingsV1ConfigApplyDesiredStateTask" + } + } + }, + "/api/appliance/vcenter/settings/v1/config?action=check-desired-state&vmw-task=true": { + "post": { + "tags": [ + "vcenter/settings/v1/config" + ], + "summary": "Validate (Check) the specified DesiredState spec containing configurations, and verify if it can be applied to the vCenter. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "parameters": [], + "responses": { + "202": { + "description": "Desired State spec validation results.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "check_desired_state$task", + "requestBody": { + "$ref": "#/components/requestBodies/ApplianceVcenterSettingsV1ConfigCheckDesiredStateTask" + } + } + }, + "/api/appliance/vcenter/settings/v1/config?action=scan-desired-state&vmw-task=true": { + "post": { + "tags": [ + "vcenter/settings/v1/config" + ], + "summary": "Scans all the components in the desired state against the applied profile. result of this operation can be queried by calling the api cis/tasks/{task-id} where the task-id is the response of this operation. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "parameters": [], + "responses": { + "202": { + "description": "Result of the scan operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "scan_desired_state$task", + "requestBody": { + "$ref": "#/components/requestBodies/ApplianceVcenterSettingsV1ConfigScanDesiredStateTask" + } + } + }, + "/rest/appliance/access/consolecli": { + "put": { + "tags": [ + "access/consolecli" + ], + "summary": "Set enabled state of the console-based controlled CLI (TTY1).", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.access.consolecli_set" + } + }, + "get": { + "tags": [ + "access/consolecli" + ], + "summary": "Get enabled state of the console-based controlled CLI (TTY1).", + "parameters": [], + "responses": { + "200": { + "description": "Console-based controlled CLI is enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.access.consolecli_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/access/dcui": { + "put": { + "tags": [ + "access/dcui" + ], + "summary": "Set enabled state of Direct Console User Interface (DCUI TTY2).", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.access.dcui_set" + } + }, + "get": { + "tags": [ + "access/dcui" + ], + "summary": "Get enabled state of Direct Console User Interface (DCUI TTY2).", + "parameters": [], + "responses": { + "200": { + "description": "DCUI is enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.access.dcui_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/access/shell": { + "put": { + "tags": [ + "access/shell" + ], + "summary": "Set enabled state of BASH, that is, access to BASH from within the controlled CLI.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.access.shell_set" + } + }, + "get": { + "tags": [ + "access/shell" + ], + "summary": "Get enabled state of BASH, that is, access to BASH from within the controlled CLI.", + "parameters": [], + "responses": { + "200": { + "description": "Current shell configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.access.shell_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/access/ssh": { + "put": { + "tags": [ + "access/ssh" + ], + "summary": "Set enabled state of the SSH-based controlled CLI.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.access.ssh_set" + } + }, + "get": { + "tags": [ + "access/ssh" + ], + "summary": "Get enabled state of the SSH-based controlled CLI.", + "parameters": [], + "responses": { + "200": { + "description": "SSH-based controlled CLI is enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.access.ssh_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/applmgmt": { + "get": { + "tags": [ + "health/applmgmt" + ], + "summary": "Get health status of applmgmt services.", + "parameters": [], + "responses": { + "200": { + "description": "health status", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.applmgmt_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/database": { + "get": { + "tags": [ + "health/database" + ], + "summary": "Returns the health status of the database.", + "parameters": [], + "responses": { + "200": { + "description": "Health status of the database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.database_resp" + } + } + } + }, + "400": { + "description": "if issue in retrieving health of the database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/database-storage": { + "get": { + "tags": [ + "health/databasestorage" + ], + "summary": "Get database storage health.", + "parameters": [], + "responses": { + "200": { + "description": "Database storage health", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.databasestorage_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/load": { + "get": { + "tags": [ + "health/load" + ], + "summary": "Get load health.", + "parameters": [], + "responses": { + "200": { + "description": "Load health.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.load_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/mem": { + "get": { + "tags": [ + "health/mem" + ], + "summary": "Get memory health.", + "parameters": [], + "responses": { + "200": { + "description": "Memory health.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.mem_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/settings": { + "get": { + "tags": [ + "health_check_settings" + ], + "summary": "Get health settings for vCenter Server.", + "parameters": [], + "responses": { + "200": { + "description": "health settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health_check_settings_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "health_check_settings" + ], + "summary": "Set health settings based on provided healthSpec", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.health_check_settings_update" + } + } + }, + "/rest/appliance/health/software-packages": { + "get": { + "tags": [ + "health/softwarepackages" + ], + "summary": "Get information on available software updates available in the remote vSphere Update Manager repository. Red indicates that security updates are available. Orange indicates that non-security updates are available. Green indicates that there are no updates available. Gray indicates that there was an error retreiving information on software updates.", + "parameters": [], + "responses": { + "200": { + "description": "software updates available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.softwarepackages_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/storage": { + "get": { + "tags": [ + "health/storage" + ], + "summary": "Get storage health.", + "parameters": [], + "responses": { + "200": { + "description": "Storage health.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.storage_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/swap": { + "get": { + "tags": [ + "health/swap" + ], + "summary": "Get swap health.", + "parameters": [], + "responses": { + "200": { + "description": "Swap health", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.swap_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/system": { + "get": { + "tags": [ + "health/system" + ], + "summary": "Get overall health of system.", + "parameters": [], + "responses": { + "200": { + "description": "System health", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.system_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/health/system/lastcheck": { + "get": { + "tags": [ + "health/system" + ], + "summary": "Get last check timestamp of the health of the system.", + "parameters": [], + "responses": { + "200": { + "description": "System health last check timestamp", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.system.lastcheck_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "lastcheck" + } + }, + "/rest/appliance/health/{item}/messages": { + "get": { + "tags": [ + "health" + ], + "summary": "Get health messages.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "item", + "description": "ID of the data item\nThe parameter must be an identifier for the resource type: appliance.health.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "List of the health messages", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.health.messages_resp" + } + } + } + }, + "404": { + "description": "Unknown health item", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "messages" + } + }, + "/rest/appliance/local-accounts": { + "get": { + "tags": [ + "local_accounts" + ], + "summary": "Get a list of the local user accounts.", + "parameters": [], + "responses": { + "200": { + "description": "List of identifiers\nThe result will contain identifiers for the resource type: appliance.local_accounts.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.local_accounts.list_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/local-accounts/global-policy": { + "put": { + "tags": [ + "local_accounts/policy" + ], + "summary": "Set the global password policy.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.local_accounts.policy_set" + } + }, + "get": { + "tags": [ + "local_accounts/policy" + ], + "summary": "Get the global password policy.", + "parameters": [], + "responses": { + "200": { + "description": "Global password policy", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.local_accounts.policy_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/local-accounts/{username}": { + "put": { + "tags": [ + "local_accounts" + ], + "summary": "Set local user account properties.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "username", + "description": "User login name\nThe parameter must be an identifier for the resource type: appliance.local_accounts.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "If the account is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.local_accounts_set" + } + }, + "get": { + "tags": [ + "local_accounts" + ], + "summary": "Get the local user account information.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "username", + "description": "User login name", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Local user account information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.local_accounts_resp" + } + } + } + }, + "404": { + "description": "If the account is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + }, + "post": { + "tags": [ + "local_accounts" + ], + "summary": "Create a new local user account.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "username", + "description": "User login name\nThe parameter must be an identifier for the resource type: appliance.local_accounts.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.local_accounts_create" + } + }, + "patch": { + "tags": [ + "local_accounts" + ], + "summary": "Update selected fields in local user account properties.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "username", + "description": "User login name\nThe parameter must be an identifier for the resource type: appliance.local_accounts.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "If the account is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.local_accounts_update" + } + }, + "delete": { + "tags": [ + "local_accounts" + ], + "summary": "Delete a local user account.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "username", + "description": "User login name\nThe parameter must be an identifier for the resource type: appliance.local_accounts.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "If the account is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/appliance/logging/forwarding": { + "put": { + "tags": [ + "logging/forwarding" + ], + "summary": "Sets the configuration for forwarding log messages to remote log servers.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if there is any internal error during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.logging.forwarding_set" + } + }, + "get": { + "tags": [ + "logging/forwarding" + ], + "summary": "Returns the configuration for forwarding log messages to remote logging servers.", + "parameters": [], + "responses": { + "200": { + "description": "Information about the configuration for forwarding log messages to remote logging servers.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.logging.forwarding_resp" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/logging/forwarding?action=test": { + "post": { + "tags": [ + "logging/forwarding" + ], + "summary": "Validates the current log forwarding configuration by checking the liveness of the remote machine and optionally sending a test diagnostic log message from the appliance to all configured logging servers to allow manual end-to-end validation. The message that is sent is: \"This is a diagnostic log test message from vCenter Server.\"", + "parameters": [], + "responses": { + "200": { + "description": "Information about the status of the connection to each of the remote logging servers.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.logging.forwarding.test_resp" + } + } + } + } + }, + "operationId": "test", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.logging.forwarding_test" + } + } + }, + "/rest/appliance/monitoring": { + "get": { + "tags": [ + "monitoring" + ], + "summary": "Get monitored items list", + "parameters": [], + "responses": { + "200": { + "description": "list of names", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.monitoring.list_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/monitoring/query": { + "get": { + "tags": [ + "monitoring" + ], + "summary": "Get monitoring data.", + "parameters": [ + { + "in": "query", + "name": "item.names", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "monitored item IDs Ex: CPU, MEMORY\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: appliance.monitoring. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: appliance.monitoring.", + "required": true + }, + { + "in": "query", + "name": "item.interval", + "schema": { + "type": "string", + "description": "Monitoring.IntervalType enumerated type Defines interval between the values in hours and mins, for which aggregation will apply", + "enum": [ + "MINUTES30", + "HOURS2", + "MINUTES5", + "DAY1", + "HOURS6" + ] + }, + "required": true + }, + { + "in": "query", + "name": "item.function", + "schema": { + "type": "string", + "description": "Monitoring.FunctionType enumerated type Defines aggregation function", + "enum": [ + "COUNT", + "MAX", + "AVG", + "MIN" + ] + }, + "required": true + }, + { + "in": "query", + "name": "item.start_time", + "schema": { + "type": "string" + }, + "description": "Start time in UTC", + "required": true + }, + { + "in": "query", + "name": "item.end_time", + "schema": { + "type": "string" + }, + "description": "End time in UTC", + "required": true + } + ], + "responses": { + "200": { + "description": "list of MonitoredItemData structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.monitoring.query_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "query" + } + }, + "/rest/appliance/monitoring/{stat_id}": { + "get": { + "tags": [ + "monitoring" + ], + "summary": "Get monitored item info", + "parameters": [ + { + "required": true, + "in": "path", + "name": "stat_id", + "description": "statistic item id\nThe parameter must be an identifier for the resource type: appliance.monitoring.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "MonitoredItem structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.monitoring_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/networking": { + "get": { + "tags": [ + "networking" + ], + "summary": "Get Networking information for all configured interfaces.", + "parameters": [], + "responses": { + "200": { + "description": "The Map of network configuration info for all interfaces.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking_resp" + } + } + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "networking" + ], + "summary": "Enable or Disable ipv6 on all interfaces", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking_update" + } + } + }, + "/rest/appliance/networking/dns/domains": { + "post": { + "tags": [ + "networking/dns/domains" + ], + "summary": "Add domain to DNS search domains.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "add", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.dns.domains_add" + } + }, + "put": { + "tags": [ + "networking/dns/domains" + ], + "summary": "Set DNS search domains.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.dns.domains_set" + } + }, + "get": { + "tags": [ + "networking/dns/domains" + ], + "summary": "Get list of DNS search domains.", + "parameters": [], + "responses": { + "200": { + "description": "List of domains.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.dns.domains.list_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/networking/dns/hostname": { + "put": { + "tags": [ + "networking/dns/hostname" + ], + "summary": "Set the Fully Qualified Domain Name.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.dns.hostname_set" + } + }, + "get": { + "tags": [ + "networking/dns/hostname" + ], + "summary": "Get the Fully Qualified Doman Name.", + "parameters": [], + "responses": { + "200": { + "description": "FQDN.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.dns.hostname_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/networking/dns/hostname/test": { + "post": { + "tags": [ + "networking/dns/hostname" + ], + "summary": "Test the Fully Qualified Domain Name.", + "parameters": [], + "responses": { + "200": { + "description": "FQDN status", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.dns.hostname.test_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "test", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.dns.hostname_test" + } + } + }, + "/rest/appliance/networking/dns/servers": { + "post": { + "tags": [ + "networking/dns/servers" + ], + "summary": "Add a DNS server. This method fails if mode argument is \"dhcp\"", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "add", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.dns.servers_add" + } + }, + "put": { + "tags": [ + "networking/dns/servers" + ], + "summary": "Set the DNS server configuration. If you set the mode argument to \"DHCP\", a DHCP refresh is forced.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.dns.servers_set" + } + }, + "get": { + "tags": [ + "networking/dns/servers" + ], + "summary": "Get DNS server configuration.", + "parameters": [], + "responses": { + "200": { + "description": "DNS server configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.dns.servers_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/networking/dns/servers/test": { + "post": { + "tags": [ + "networking/dns/servers" + ], + "summary": "Test if dns servers are reachable.", + "parameters": [], + "responses": { + "200": { + "description": "DNS reacable status", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.dns.servers.test_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "test", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.dns.servers_test" + } + } + }, + "/rest/appliance/networking/firewall/inbound": { + "put": { + "tags": [ + "networking/firewall/inbound" + ], + "summary": "Set the ordered list of firewall rules to allow or deny traffic from one or more incoming IP addresses. This overwrites the existing firewall rules and creates a new rule list. Within the list of traffic rules, rules are processed in order of appearance, from top to bottom. For example, the list of rules can be as follows: [dropped table ]\n In the above example, the first rule drops all packets originating from 10.112.0.1 and\n the second rule accepts all packets originating from 10.112.0.1 only on nic0. In effect, the second rule is always ignored which is not desired, hence the order has to be swapped. When a connection matches a firewall rule, further processing for the connection stops, and the appliance ignores any additional firewall rules you have set.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.firewall.inbound_set" + } + }, + "get": { + "tags": [ + "networking/firewall/inbound" + ], + "summary": "Get the ordered list of firewall rules. Within the list of traffic rules, rules are processed in order of appearance, from top to bottom. When a connection matches a firewall rule, further processing for the connection stops, and the appliance ignores any additional firewall rules you have set.", + "parameters": [], + "responses": { + "200": { + "description": "List of address-based firewall rules.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.firewall.inbound_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/networking/interfaces": { + "get": { + "tags": [ + "networking/interfaces" + ], + "summary": "Get list of available network interfaces, including those that are not yet configured.", + "parameters": [], + "responses": { + "200": { + "description": "List of InterfaceInfo structures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.interfaces.list_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/networking/interfaces/{interface_name}": { + "get": { + "tags": [ + "networking/interfaces" + ], + "summary": "Get information about a particular network interface.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "interface_name", + "description": "Network interface, for example, \"nic0\".\nThe parameter must be an identifier for the resource type: appliance.networking.interfaces.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Network interface information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.interfaces_resp" + } + } + } + }, + "404": { + "description": "if the specified interface is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/networking/interfaces/{interface_name}/ipv4": { + "put": { + "tags": [ + "networking/interfaces/ipv4" + ], + "summary": "Set IPv4 network configuration for specific network interface.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "interface_name", + "description": "Network interface to update, for example, \"nic0\".\nThe parameter must be an identifier for the resource type: appliance.networking.interfaces.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the specified NIC is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.interfaces.ipv4_set" + } + }, + "get": { + "tags": [ + "networking/interfaces/ipv4" + ], + "summary": "Get IPv4 network configuration for specific NIC.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "interface_name", + "description": "The Network interface to query, for example, \"nic0\".\nThe parameter must be an identifier for the resource type: appliance.networking.interfaces.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The IPv4 configuration for the queried NIC.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv4_resp" + } + } + } + }, + "404": { + "description": "if the specified NIC is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/networking/interfaces/{interface_name}/ipv6": { + "put": { + "tags": [ + "networking/interfaces/ipv6" + ], + "summary": "Set IPv6 network configuration for specific interface.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "interface_name", + "description": "Network interface to update, for example, \"nic0\".\nThe parameter must be an identifier for the resource type: appliance.networking.interfaces.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "404": { + "description": "The specified NIC is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.interfaces.ipv6_set" + } + }, + "get": { + "tags": [ + "networking/interfaces/ipv6" + ], + "summary": "Get IPv6 network configuration for specific interface.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "interface_name", + "description": "Network interface to query, for example, \"nic0\".\nThe parameter must be an identifier for the resource type: appliance.networking.interfaces.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "IPv6 configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv6_resp" + } + } + } + }, + "404": { + "description": "if the specified NIC is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/networking/noproxy": { + "put": { + "tags": [ + "networking/no_proxy" + ], + "summary": "Sets servers for which no proxy configuration should be applied. This operation sets environment variables. In order for this operation to take effect, a logout from appliance or a service restart is required. If IPv4 is enabled, \"127.0.0.1\" and \"localhost\" will always bypass the proxy (even if they are not explicitly configured).", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.no_proxy_set" + } + }, + "get": { + "tags": [ + "networking/no_proxy" + ], + "summary": "Returns servers for which no proxy configuration will be applied.", + "parameters": [], + "responses": { + "200": { + "description": "List of servers for which no proxy configuration will be applied.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.no_proxy_resp" + } + } + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/networking/proxy": { + "get": { + "tags": [ + "networking/proxy" + ], + "summary": "Gets proxy configuration for all configured protocols.", + "parameters": [], + "responses": { + "200": { + "description": "Proxy configuration for all configured protocols.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.proxy.list_resp" + } + } + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/networking/proxy/{protocol}": { + "put": { + "tags": [ + "networking/proxy" + ], + "summary": "Configures which proxy server to use for the specified protocol. This operation sets environment variables for using proxy. In order for this configuration to take effect a logout / service restart is required.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "protocol", + "description": "The protocol for which proxy should be set.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.proxy_set" + } + }, + "get": { + "tags": [ + "networking/proxy" + ], + "summary": "Gets the proxy configuration for a specific protocol.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "protocol", + "description": "The protocol whose proxy configuration is requested.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Proxy configuration for a specific protocol.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.proxy_resp" + } + } + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "networking/proxy" + ], + "summary": "Deletes a proxy configuration for a specific protocol.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "protocol", + "description": "ID whose proxy is to be deleted.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/appliance/networking/proxy/{protocol}?action=test": { + "post": { + "tags": [ + "networking/proxy" + ], + "summary": "Tests a proxy configuration by testing the connection to the proxy server and test host.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "protocol", + "description": "Protocol whose proxy is to be tested.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Status of proxy settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.proxy.test_resp" + } + } + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "test", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking.proxy_test" + } + } + }, + "/rest/appliance/networking?action=change&vmw-task=true": { + "post": { + "tags": [ + "networking" + ], + "summary": "Changes the Hostname/IP of the management network of vCenter appliance. The Hostname/IP change invokes the PNID change process which involves LDAP entry modification, updating registry entries, configuration files modification and network configuration changes. vCenter server is expected to be down for few minutes during these changes", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.networking.change_task_resp" + } + } + } + }, + "400": { + "description": "if another change task is in progress", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "change$task", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.networking_change_task" + } + } + }, + "/rest/appliance/networking?action=reset": { + "post": { + "tags": [ + "networking" + ], + "summary": "Reset and restarts network configuration on all interfaces, also this will renew the DHCP lease for DHCP IP address.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "reset" + } + }, + "/rest/appliance/ntp": { + "put": { + "tags": [ + "ntp" + ], + "summary": "Set NTP servers. This method updates old NTP servers from configuration and sets the input NTP servers in the configuration. If NTP based time synchronization is used internally, the NTP daemon will be restarted to reload given NTP configuration. In case NTP based time synchronization is not used, this method only replaces servers in the NTP configuration.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.ntp_set" + } + }, + "get": { + "tags": [ + "ntp" + ], + "summary": "Get the NTP configuration status. If you run the 'timesync.get' command, you can retrieve the current time synchronization method (NTP- or VMware Tools-based). The 'ntp' command always returns the NTP server information, even when the time synchronization mode is not set to NTP. If the time synchronization mode is not NTP-based, the NTP server status is displayed as down.", + "parameters": [], + "responses": { + "200": { + "description": "List of NTP servers.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.ntp_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/ntp/test": { + "post": { + "tags": [ + "ntp" + ], + "summary": "Test the connection to a list of ntp servers.", + "parameters": [], + "responses": { + "200": { + "description": "List of test run statuses.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.ntp.test_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "test", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.ntp_test" + } + } + }, + "/rest/appliance/recovery": { + "get": { + "tags": [ + "recovery" + ], + "summary": "Gets the properties of the appliance Recovery subsystem.", + "parameters": [], + "responses": { + "200": { + "description": "Structure containing the properties of the Recovery subsystem.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/recovery/backup/job": { + "post": { + "tags": [ + "recovery/backup/job" + ], + "summary": "Initiate backup.", + "parameters": [], + "responses": { + "200": { + "description": "BackupJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.create_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.recovery.backup.job_create" + } + }, + "get": { + "tags": [ + "recovery/backup/job" + ], + "summary": "Get list of backup jobs", + "parameters": [], + "responses": { + "200": { + "description": "list of BackupJob IDs\nThe result will contain identifiers for the resource type: appliance.recovery.backup.job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.list_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/recovery/backup/job/details": { + "get": { + "tags": [ + "recovery/backup/job/details" + ], + "summary": "Returns detailed information about the current and historical backup jobs.", + "parameters": [ + { + "in": "query", + "name": "filter.jobs", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Identifiers of backup jobs that can match the filter.\nIf unset the filter will match all the backup jobs.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: appliance.recovery.backup.job. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: appliance.recovery.backup.job." + } + ], + "responses": { + "200": { + "description": "Map of backup job identifier to Info Structure.\nThe key in the result map will be an identifier for the resource type: appliance.recovery.backup.job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.details.list_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/recovery/backup/job/{id}": { + "get": { + "tags": [ + "recovery/backup/job" + ], + "summary": "See backup job progress/result.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "id", + "description": "ID (ID of job)\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.job.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "BackupJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.job_resp" + } + } + } + }, + "404": { + "description": "if backup associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/recovery/backup/job/{id}/cancel": { + "post": { + "tags": [ + "recovery/backup/job" + ], + "summary": "Cancel the backup job.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "id", + "description": "ID (ID of job)\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.job.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "BackupJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.cancel_resp" + } + } + } + }, + "404": { + "description": "if backup associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "cancel" + } + }, + "/rest/appliance/recovery/backup/parts": { + "get": { + "tags": [ + "recovery/backup/parts" + ], + "summary": "Gets a list of the backup parts.", + "parameters": [], + "responses": { + "200": { + "description": "Information about each of the backup parts.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.parts.list_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/recovery/backup/parts/{id}": { + "get": { + "tags": [ + "recovery/backup/parts" + ], + "summary": "Gets the size (in MB) of the part.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "id", + "description": "Identifier of the part.\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.parts.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "long Size of the part in megabytes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.parts_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/recovery/backup/schedules": { + "get": { + "tags": [ + "recovery/backup/schedules" + ], + "summary": "Returns a list of existing schedules with details", + "parameters": [], + "responses": { + "200": { + "description": "Map of schedule id to Info Structure\nThe key in the result map will be an identifier for the resource type: appliance.recovery.backup.schedule.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.list_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/recovery/backup/schedules/update/{schedule}": { + "put": { + "tags": [ + "recovery/backup/schedules" + ], + "summary": "Updates a schedule", + "parameters": [ + { + "required": true, + "in": "path", + "name": "schedule", + "description": "Identifier of the schedule\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.schedule.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "404": { + "description": "if schedule associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.recovery.backup.schedules_update" + } + } + }, + "/rest/appliance/recovery/backup/schedules/{schedule}": { + "get": { + "tags": [ + "recovery/backup/schedules" + ], + "summary": "Returns an existing schedule information based on id", + "parameters": [ + { + "required": true, + "in": "path", + "name": "schedule", + "description": "Identifier of the schedule\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.schedule.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Info Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.schedules_resp" + } + } + } + }, + "404": { + "description": "if schedule associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + }, + "post": { + "tags": [ + "recovery/backup/schedules" + ], + "summary": "Creates a schedule", + "parameters": [ + { + "required": true, + "in": "path", + "name": "schedule", + "description": "Identifier of the schedule\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.schedule.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.recovery.backup.schedules_create" + } + }, + "delete": { + "tags": [ + "recovery/backup/schedules" + ], + "summary": "Deletes an existing schedule", + "parameters": [ + { + "required": true, + "in": "path", + "name": "schedule", + "description": "Identifier of the schedule\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.schedule.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if schedule associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/appliance/recovery/backup/schedules/{schedule}?action=run": { + "post": { + "tags": [ + "recovery/backup/schedules" + ], + "summary": "Initiate backup with the specified schedule", + "parameters": [ + { + "required": true, + "in": "path", + "name": "schedule", + "description": "Identifier of the schedule\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.schedule.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "BackupJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.run_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "404": { + "description": "if schedule associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "run", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.recovery.backup.schedules_run" + } + } + }, + "/rest/appliance/recovery/backup/system-name": { + "get": { + "tags": [ + "recovery/backup/system_name" + ], + "summary": "Returns a list of system names for which backup archives exist under locSpec.", + "parameters": [ + { + "in": "query", + "name": "loc_spec.location", + "schema": { + "type": "string" + }, + "description": "Backup location URL.", + "required": true + }, + { + "in": "query", + "name": "loc_spec.location_user", + "schema": { + "type": "string" + }, + "description": "Username for the given location.\nIf unset authentication will not be used.", + "required": false + }, + { + "in": "query", + "name": "loc_spec.location_password", + "schema": { + "type": "string" + }, + "description": "Password for the given location.\nIf unset authentication will not be used.", + "required": false + } + ], + "responses": { + "200": { + "description": "list of system names\nThe result will contain identifiers for the resource type: appliance.recovery.backup.system_name.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.system_name.list_resp" + } + } + } + }, + "404": { + "description": "if locSpec doesn't refer to an existing location on the backup server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/recovery/backup/system-name/{system_name}/archives": { + "get": { + "tags": [ + "recovery/backup/system_name/archive" + ], + "summary": "Returns information about backup archives corresponding to given backup location and system name, which match the Archive.FilterSpec.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "system_name", + "description": "System name identifier.\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.system_name.", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "loc_spec.location", + "schema": { + "type": "string" + }, + "description": "Backup location URL.", + "required": true + }, + { + "in": "query", + "name": "loc_spec.location_user", + "schema": { + "type": "string" + }, + "description": "Username for the given location.\nIf unset authentication will not be used.", + "required": false + }, + { + "in": "query", + "name": "loc_spec.location_password", + "schema": { + "type": "string" + }, + "description": "Password for the given location.\nIf unset authentication will not be used.", + "required": false + }, + { + "in": "query", + "name": "filter_spec.start_timestamp", + "schema": { + "type": "string" + }, + "description": "Backup must have been taken on or after this time to match the filter.\nIf unset the filter will match oldest backups." + }, + { + "in": "query", + "name": "filter_spec.end_timestamp", + "schema": { + "type": "string" + }, + "description": "Backup must have been taken on or before this time to match the filter.\nIf unset the filter will match most recent backups." + }, + { + "in": "query", + "name": "filter_spec.comment_substring", + "schema": { + "type": "string" + }, + "description": "Backup comment must contain this string to match the filter.\nIf unset the filter will match backups with any comment." + }, + { + "in": "query", + "name": "filter_spec.max_results", + "schema": { + "type": "integer" + }, + "description": "Limit result to a max count of most recent backups.\nIf unset it defaults to 128." + } + ], + "responses": { + "200": { + "description": "Commonly used information about the backup archives.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.system_name.archive.list_resp" + } + } + } + }, + "404": { + "description": "if combination of locSpec and system name does not refer to an existing location on the backup server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/recovery/backup/system-name/{system_name}/archives/{archive}": { + "get": { + "tags": [ + "recovery/backup/system_name/archive" + ], + "summary": "Returns the information for backup corresponding to given backup location and system name.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "system_name", + "description": "System name identifier.\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.system_name.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "archive", + "description": "Archive identifier.\nThe parameter must be an identifier for the resource type: appliance.recovery.backup.system_name.archive.", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "spec.location", + "schema": { + "type": "string" + }, + "description": "Backup location URL.", + "required": true + }, + { + "in": "query", + "name": "spec.location_user", + "schema": { + "type": "string" + }, + "description": "Username for the given location.\nIf unset authentication will not be used.", + "required": false + }, + { + "in": "query", + "name": "spec.location_password", + "schema": { + "type": "string" + }, + "description": "Password for the given location.\nIf unset authentication will not be used.", + "required": false + } + ], + "responses": { + "200": { + "description": "Info Structure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.system_name.archive_resp" + } + } + } + }, + "404": { + "description": "if backup does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/recovery/backup/validate": { + "post": { + "tags": [ + "recovery/backup" + ], + "summary": "Check for backup errors without starting backup.", + "parameters": [], + "responses": { + "200": { + "description": "ReturnResult Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.backup.validate_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "validate", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.recovery.backup_validate" + } + } + }, + "/rest/appliance/recovery/reconciliation/job": { + "get": { + "tags": [ + "recovery/reconciliation/job" + ], + "summary": "Get reconciliation job progress/result.", + "parameters": [], + "responses": { + "200": { + "description": "Info Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.reconciliation.job_resp" + } + } + } + }, + "404": { + "description": "if there is no running reconciliation job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + }, + "post": { + "tags": [ + "recovery/reconciliation/job" + ], + "summary": "Initiate reconciliation.", + "parameters": [], + "responses": { + "200": { + "description": "Info Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.reconciliation.job.create_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.recovery.reconciliation.job_create" + } + } + }, + "/rest/appliance/recovery/restore/job": { + "get": { + "tags": [ + "recovery/restore/job" + ], + "summary": "See restore job progress/result.", + "parameters": [], + "responses": { + "200": { + "description": "RestoreJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.restore.job_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + }, + "post": { + "tags": [ + "recovery/restore/job" + ], + "summary": "Initiate restore.", + "parameters": [], + "responses": { + "200": { + "description": "RestoreJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.restore.job.create_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.recovery.restore.job_create" + } + } + }, + "/rest/appliance/recovery/restore/job/cancel": { + "post": { + "tags": [ + "recovery/restore/job" + ], + "summary": "Cancel the restore job", + "parameters": [], + "responses": { + "200": { + "description": "RestoreJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.restore.job.cancel_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "cancel" + } + }, + "/rest/appliance/recovery/restore/validate": { + "post": { + "tags": [ + "recovery/restore" + ], + "summary": "Get metadata before restore", + "parameters": [], + "responses": { + "200": { + "description": "Metadata Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.recovery.restore.validate_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "validate", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.recovery.restore_validate" + } + } + }, + "/rest/appliance/services": { + "get": { + "tags": [ + "services" + ], + "summary": "Lists details of vCenter services.", + "parameters": [], + "responses": { + "200": { + "description": "Map of service identifiers to service Info structures.\nThe key in the result map will be an identifier for the resource type: appliance.services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.services.list_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/services/{service}": { + "get": { + "tags": [ + "services" + ], + "summary": "Returns the state of a service.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "service", + "description": "identifier of the service whose state is being queried.\nThe parameter must be an identifier for the resource type: appliance.services.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Service Info structure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.services_resp" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/services/{service}/restart": { + "post": { + "tags": [ + "services" + ], + "summary": "Restarts a service", + "parameters": [ + { + "required": true, + "in": "path", + "name": "service", + "description": "identifier of the service to restart\nThe parameter must be an identifier for the resource type: appliance.services.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "504": { + "description": "if any timeout occurs during the execution of the restart operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.timed_out" + } + } + } + }, + "400": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "restart" + } + }, + "/rest/appliance/services/{service}/start": { + "post": { + "tags": [ + "services" + ], + "summary": "Starts a service", + "parameters": [ + { + "required": true, + "in": "path", + "name": "service", + "description": "identifier of the service to start\nThe parameter must be an identifier for the resource type: appliance.services.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "504": { + "description": "if any timeout occurs during the execution of the start operation. Timeout occurs when the service takes longer than StartTimeout to start.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.timed_out" + } + } + } + } + }, + "operationId": "start" + } + }, + "/rest/appliance/services/{service}/stop": { + "post": { + "tags": [ + "services" + ], + "summary": "Stops a service", + "parameters": [ + { + "required": true, + "in": "path", + "name": "service", + "description": "identifier of the service to stop\nThe parameter must be an identifier for the resource type: appliance.services.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the operation is denied in the current state of the service. If a stop operation is in progress, issuing another stop operation will lead to this error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "stop" + } + }, + "/rest/appliance/shutdown": { + "get": { + "tags": [ + "shutdown" + ], + "summary": "Get details about the pending shutdown action.", + "parameters": [], + "responses": { + "200": { + "description": "Configuration of pending shutdown action.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.shutdown_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/shutdown/cancel": { + "post": { + "tags": [ + "shutdown" + ], + "summary": "Cancel pending shutdown action.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "cancel" + } + }, + "/rest/appliance/shutdown/poweroff": { + "post": { + "tags": [ + "shutdown" + ], + "summary": "Power off the appliance.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "poweroff", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.shutdown_poweroff" + } + } + }, + "/rest/appliance/shutdown/reboot": { + "post": { + "tags": [ + "shutdown" + ], + "summary": "Reboot the appliance.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "reboot", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.shutdown_reboot" + } + } + }, + "/rest/appliance/system/storage": { + "get": { + "tags": [ + "system/storage" + ], + "summary": "Get disk to partition mapping.", + "parameters": [], + "responses": { + "200": { + "description": "list of mapping items", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.system.storage.list_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/system/storage/resize": { + "post": { + "tags": [ + "system/storage" + ], + "summary": "Resize all partitions to 100 percent of disk size.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "resize" + } + }, + "/rest/appliance/system/storage?action=resize-ex": { + "post": { + "tags": [ + "system/storage" + ], + "summary": "Resize all partitions to 100 percent of disk size.", + "parameters": [], + "responses": { + "200": { + "description": "List of the partitions with the size before and after resizing", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.system.storage.resize_ex_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "resize_ex" + } + }, + "/rest/appliance/system/time": { + "get": { + "tags": [ + "system/time" + ], + "summary": "Get system time.", + "parameters": [], + "responses": { + "200": { + "description": "System time", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.system.time_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/system/time/timezone": { + "put": { + "tags": [ + "system/time/timezone" + ], + "summary": "Set time zone.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.system.time.timezone_set" + } + }, + "get": { + "tags": [ + "system/time/timezone" + ], + "summary": "Get time zone.", + "parameters": [], + "responses": { + "200": { + "description": "Time zone name.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.system.time.timezone_resp" + } + } + } + }, + "400": { + "description": "if timezone cannot be read.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/system/uptime": { + "get": { + "tags": [ + "system/uptime" + ], + "summary": "Get the system uptime.", + "parameters": [], + "responses": { + "200": { + "description": "system uptime", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.system.uptime_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/system/version": { + "get": { + "tags": [ + "system/version" + ], + "summary": "Get the version.", + "parameters": [], + "responses": { + "200": { + "description": "version information about the appliance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.system.version_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/timesync": { + "put": { + "tags": [ + "timesync" + ], + "summary": "Set time synchronization mode.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.timesync_set" + } + }, + "get": { + "tags": [ + "timesync" + ], + "summary": "Get time synchronization mode.", + "parameters": [], + "responses": { + "200": { + "description": "Time synchronization mode.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.timesync_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/update": { + "get": { + "tags": [ + "update" + ], + "summary": "Gets the current status of the appliance update.", + "parameters": [], + "responses": { + "200": { + "description": "Info structure containing the status information about the appliance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.update_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/update/pending": { + "get": { + "tags": [ + "update/pending" + ], + "summary": "Checks if new updates are available.", + "parameters": [ + { + "in": "query", + "name": "source_type", + "description": "The Pending.SourceType enumerated type defines the supported types of sources of updates.", + "schema": { + "type": "string", + "description": "The Pending.SourceType enumerated type defines the supported types of sources of updates.", + "enum": [ + "LAST_CHECK", + "LOCAL", + "LOCAL_AND_ONLINE" + ] + } + }, + { + "required": false, + "in": "query", + "name": "url", + "description": "specific URL to check at\nIf unset then URL is taken from the policy settings", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "List of the update summaries", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.update.pending.list_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "404": { + "description": "source is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/appliance/update/pending/{version}": { + "get": { + "tags": [ + "update/pending" + ], + "summary": "Gets update information", + "parameters": [ + { + "required": true, + "in": "path", + "name": "version", + "description": "Update version\nThe parameter must be an identifier for the resource type: appliance.update.pending.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Update", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.update.pending_resp" + } + } + } + }, + "400": { + "description": "if the update of this version is already installed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.already_in_desired_state" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "404": { + "description": "the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/update/pending/{version}?action=install": { + "post": { + "tags": [ + "update/pending" + ], + "summary": "Starts operation of installing the appliance update. Will fail is the update is not staged", + "parameters": [ + { + "required": true, + "in": "path", + "name": "version", + "description": "Update version\nThe parameter must be an identifier for the resource type: appliance.update.pending.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if appliance update state prevents running an update or not staged", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "404": { + "description": "if the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "install", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.update.pending_install" + } + } + }, + "/rest/appliance/update/pending/{version}?action=precheck": { + "post": { + "tags": [ + "update/pending" + ], + "summary": "Runs update precheck", + "parameters": [ + { + "required": true, + "in": "path", + "name": "version", + "description": "Update version\nThe parameter must be an identifier for the resource type: appliance.update.pending.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "PrecheckResult", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.update.pending.precheck_resp" + } + } + } + }, + "400": { + "description": "if another operation is in progress", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "404": { + "description": "the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "precheck" + } + }, + "/rest/appliance/update/pending/{version}?action=stage": { + "post": { + "tags": [ + "update/pending" + ], + "summary": "Starts staging the appliance update. The updates are searched for in the following order: staged, CDROM, URL", + "parameters": [ + { + "required": true, + "in": "path", + "name": "version", + "description": "Update version\nThe parameter must be an identifier for the resource type: appliance.update.pending.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if appliance update state prevents staging", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "404": { + "description": "the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "stage" + } + }, + "/rest/appliance/update/pending/{version}?action=stage-and-install": { + "post": { + "tags": [ + "update/pending" + ], + "summary": "Starts operation of installing the appliance update. Will stage update if not already staged The updates are searched for in the following order: staged, CDROM, URL", + "parameters": [ + { + "required": true, + "in": "path", + "name": "version", + "description": "Update version\nThe parameter must be an identifier for the resource type: appliance.update.pending.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if appliance update state prevents running an update", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "404": { + "description": "if the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "stage_and_install", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.update.pending_stage_and_install" + } + } + }, + "/rest/appliance/update/pending/{version}?action=validate": { + "post": { + "tags": [ + "update/pending" + ], + "summary": "Validates the user provided data before the update installation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "version", + "description": "Update version\nThe parameter must be an identifier for the resource type: appliance.update.pending.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Issues struct with the issues found during the validation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.update.pending.validate_resp" + } + } + } + }, + "400": { + "description": "if appliance update state prevents running an check", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "404": { + "description": "if the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "validate", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.update.pending_validate" + } + } + }, + "/rest/appliance/update/policy": { + "put": { + "tags": [ + "update/policy" + ], + "summary": "Sets the automatic update checking and staging policy.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.update.policy_set" + } + }, + "get": { + "tags": [ + "update/policy" + ], + "summary": "Gets the automatic update checking and staging policy.", + "parameters": [], + "responses": { + "200": { + "description": "Structure containing the policy for the appliance update.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.update.policy_resp" + } + } + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/appliance/update/staged": { + "get": { + "tags": [ + "update/staged" + ], + "summary": "Gets the current status of the staged update", + "parameters": [], + "responses": { + "200": { + "description": "Info structure with information about staged update", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.update.staged_resp" + } + } + } + }, + "400": { + "description": "if nothing is staged", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "update/staged" + ], + "summary": "Deletes the staged update", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/appliance/update?action=cancel": { + "post": { + "tags": [ + "update" + ], + "summary": "Request the cancellation the update operation that is currently in progress.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "Current task is not cancellable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "cancel" + } + }, + "/rest/appliance/vmon/service": { + "get": { + "tags": [ + "vmon/service" + ], + "summary": "Lists details of services managed by vMon.", + "parameters": [], + "responses": { + "200": { + "description": "Map of service identifiers to service Info structures.\nThe key in the result map will be an identifier for the resource type: appliance.vmon.Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.vmon.service.list_details_resp" + } + } + } + }, + "400": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list_details" + } + }, + "/rest/appliance/vmon/service/{service}": { + "get": { + "tags": [ + "vmon/service" + ], + "summary": "Returns the state of a service.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "service", + "description": "identifier of the service whose state is being queried.\nThe parameter must be an identifier for the resource type: appliance.vmon.Service.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Service Info structure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/appliance.vmon.service_resp" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "vmon/service" + ], + "summary": "Updates the properties of a service.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "service", + "description": "identifier of the service whose properties are being updated.\nThe parameter must be an identifier for the resource type: appliance.vmon.Service.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the operation is denied in the current state of the service. If a start, stop or restart operation is in progress, update operation will fail with this error.\nif a request to set the Service.UpdateSpec.startup-type field of spec to DISABLED comes in for a service that is not in STOPPED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/appliance.vmon.service_update" + } + } + }, + "/rest/appliance/vmon/service/{service}/restart": { + "post": { + "tags": [ + "vmon/service" + ], + "summary": "Restarts a service", + "parameters": [ + { + "required": true, + "in": "path", + "name": "service", + "description": "identifier of the service to restart\nThe parameter must be an identifier for the resource type: appliance.vmon.Service.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "504": { + "description": "if any timeout occurs during the execution of the restart operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.timed_out" + } + } + } + }, + "400": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "restart" + } + }, + "/rest/appliance/vmon/service/{service}/start": { + "post": { + "tags": [ + "vmon/service" + ], + "summary": "Starts a service", + "parameters": [ + { + "required": true, + "in": "path", + "name": "service", + "description": "identifier of the service to start\nThe parameter must be an identifier for the resource type: appliance.vmon.Service.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + }, + "504": { + "description": "if any timeout occurs during the execution of the start operation. Timeout occurs when the service takes longer than StartTimeout to start.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.timed_out" + } + } + } + } + }, + "operationId": "start" + } + }, + "/rest/appliance/vmon/service/{service}/stop": { + "post": { + "tags": [ + "vmon/service" + ], + "summary": "Stops a service", + "parameters": [ + { + "required": true, + "in": "path", + "name": "service", + "description": "identifier of the service to stop\nThe parameter must be an identifier for the resource type: appliance.vmon.Service.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the operation is denied in the current state of the service. If a stop operation is in progress, issuing another stop operation will lead to this error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "stop" + } + } + }, + "components": { + "requestBodies": { + "ApplianceInfraprofileConfigsExport": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceInfraprofileConfigsExport" + } + } + } + }, + "ApplianceInfraprofileConfigsImportProfile_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceInfraprofileConfigsImportProfileTask" + } + } + } + }, + "ApplianceInfraprofileConfigsValidate_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceInfraprofileConfigsValidateTask" + } + } + } + }, + "ApplianceSupportBundleCreate_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceSupportBundleCreateTask" + } + } + } + }, + "ApplianceSystemSecurityGlobalFipsUpdate": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceSystemSecurityGlobalFipsUpdate" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigApplyDesiredState_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigApplyDesiredStateTask" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigCheckDesiredState_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigCheckDesiredStateTask" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigCreate": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigCreate" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigScanDesiredState_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigScanDesiredStateTask" + } + } + } + } + }, + "schemas": { + "ApplianceInfraprofileConfigsExport": { + "$ref": "#/components/schemas/ApplianceInfraprofileConfigsProfilesSpec", + "description": "information to export the profile." + }, + "ApplianceInfraprofileConfigsImportProfileSpec": { + "type": "object", + "properties": { + "config_spec": { + "description": "The JSON string representing the desired config specification.", + "type": "string" + }, + "profile_spec": { + "description": "The profile specification, if any\nonly set if there is a profilespec avaliable for this import profilespec.", + "$ref": "#/components/schemas/ApplianceInfraprofileConfigsProfilesSpec" + } + }, + "required": [ + "config_spec" + ] + }, + "ApplianceInfraprofileConfigsImportProfileTask": { + "$ref": "#/components/schemas/ApplianceInfraprofileConfigsImportProfileSpec", + "description": "information to import the profile." + }, + "ApplianceInfraprofileConfigsProfileInfo": { + "type": "object", + "properties": { + "name": { + "description": "Name of the profile which is also a profile identifier.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: infraprofile.profile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: infraprofile.profile.", + "type": "string" + }, + "info": { + "description": "Description of the profile.", + "type": "string" + } + }, + "required": [ + "name", + "info" + ] + }, + "ApplianceInfraprofileConfigsProfilesSpec": { + "type": "object", + "properties": { + "encryption_key": { + "description": "Encryption Key to encrypt/decrypt profiles.\nIf unset encryption will not be used for the profile.", + "type": "string", + "format": "password" + }, + "description": { + "description": "Custom description provided by the user.\nIf unset description will be empty.", + "type": "string" + }, + "profiles": { + "description": "Profiles to be exported/imported.\nIf unset or empty, all profiles will be returned.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: infraprofile.profile. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: infraprofile.profile.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "ApplianceInfraprofileConfigsValidateTask": { + "$ref": "#/components/schemas/ApplianceInfraprofileConfigsImportProfileSpec", + "description": "information to validate the profile." + }, + "ApplianceSupportBundleCreateSpec": { + "type": "object", + "properties": { + "description": { + "description": "Support bundle creation description.", + "type": "string" + }, + "components": { + "description": "Support bundle components to be included. Map with groupName as key and list of components in that group as the value.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "partition": { + "description": "Partition to be used for saving the support bundle. Available partitions can be retrieved using storage.list API.", + "type": "string" + } + }, + "required": [ + "description" + ] + }, + "ApplianceSupportBundleCreateTask": { + "$ref": "#/components/schemas/ApplianceSupportBundleCreateSpec", + "description": "" + }, + "ApplianceSupportBundleCreationStatus": { + "type": "string", + "description": "", + "enum": [ + "SUCCEEDED", + "FAILED", + "CANCELLED" + ] + }, + "ApplianceSupportBundleFilterSpec": { + "type": "object", + "properties": { + "available": { + "description": "Filter only downloadable details.", + "type": "boolean" + }, + "creation_status": { + "description": "Filter by task status.", + "$ref": "#/components/schemas/ApplianceSupportBundleCreationStatus" + } + } + }, + "ApplianceSupportBundleInfo": { + "type": "object", + "properties": { + "description": { + "description": "Support bundle creation description.", + "type": "string" + }, + "status": { + "description": "Status of the task", + "$ref": "#/components/schemas/ApplianceSupportBundleCreationStatus" + }, + "generation_time": { + "description": "Support bundle generation time.\nThis field is optional and it is only relevant when the value of SupportBundle.Info.status is SUCCEEDED.", + "type": "string", + "format": "date-time" + }, + "url": { + "description": "Support bundle downlooad URL.\nThis field is optional and it is only relevant when the value of SupportBundle.Info.status is SUCCEEDED.", + "type": "string", + "format": "uri" + }, + "expiration_time": { + "description": "Download expiration time.\nThis field is optional and it is only relevant when the value of SupportBundle.Info.status is SUCCEEDED.", + "type": "string", + "format": "date-time" + }, + "downloadable": { + "description": "Support bundle availability for download.\nThis field is optional and it is only relevant when the value of SupportBundle.Info.status is SUCCEEDED.", + "type": "boolean" + }, + "size": { + "description": "Support bundle file size in KBs.\nThis field is optional and it is only relevant when the value of SupportBundle.Info.status is SUCCEEDED.", + "type": "integer", + "format": "int64" + }, + "failure_reason": { + "description": "Reason for failure\nThis field is optional and it is only relevant when the value of SupportBundle.Info.status is FAILED.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "required": [ + "description", + "status" + ] + }, + "ApplianceSupportBundleIterationSpec": { + "type": "object", + "properties": { + "size": { + "description": "Size specifies the maximum number of results to return.\nIf unset defaults to 50.", + "type": "integer", + "format": "int64" + } + } + }, + "ApplianceSupportBundleListResult": { + "type": "object", + "properties": { + "supportbundle_operations": { + "description": "Information about all support bundle requests.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceSupportBundleInfo" + } + } + }, + "required": [ + "supportbundle_operations" + ] + }, + "ApplianceSystemSecurityGlobalFipsInfo": { + "type": "object", + "properties": { + "enabled": { + "description": "FIPS setting state.", + "type": "boolean" + } + }, + "required": [ + "enabled" + ] + }, + "ApplianceSystemSecurityGlobalFipsUpdate": { + "$ref": "#/components/schemas/ApplianceSystemSecurityGlobalFipsUpdateSpec", + "description": "" + }, + "ApplianceSystemSecurityGlobalFipsUpdateSpec": { + "type": "object", + "properties": { + "enabled": { + "description": "FIPS setting state.\nIf unset, the value is unchanged.", + "type": "boolean" + } + } + }, + "ApplianceVcenterSettingsV1ConfigApplyDesiredStateSpec": { + "type": "object", + "properties": { + "desired_state": { + "description": "Defines the desired state. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1DesiredState" + }, + "apply_spec": { + "description": "applySpec to include a message with the apply. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigApplySpec" + } + }, + "required": [ + "desired_state", + "apply_spec" + ] + }, + "ApplianceVcenterSettingsV1ConfigApplyDesiredStateTask": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigApplyDesiredStateSpec", + "description": "ApplyDesiredStateSpec spec to be validated and applied." + }, + "ApplianceVcenterSettingsV1ConfigApplySpec": { + "type": "object", + "properties": { + "message": { + "description": "Message to include with the apply. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + } + }, + "required": [ + "message" + ] + }, + "ApplianceVcenterSettingsV1ConfigCheckDesiredStateSpec": { + "type": "object", + "properties": { + "desired_state": { + "description": "Defines the desired state. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1DesiredState" + }, + "check_spec": { + "description": "checkSpec to include a message with the apply. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigCheckSpec" + } + }, + "required": [ + "desired_state", + "check_spec" + ] + }, + "ApplianceVcenterSettingsV1ConfigCheckDesiredStateTask": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigCheckDesiredStateSpec", + "description": "CheckDesiredStateSpec spec to be validated." + }, + "ApplianceVcenterSettingsV1ConfigCheckSpec": { + "type": "object", + "properties": { + "message": { + "description": "Message to include with the check. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + } + }, + "required": [ + "message" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtAccessSettings": { + "type": "object", + "properties": { + "ssh": { + "description": "Get/Set enabled state of SSH-based controlled CLI. Ssh service provides operations", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtSsh" + }, + "dcui": { + "description": "Get/Set enabled of Direct Console User Interface (DCUI TTY2). Dcui service provides operations", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtDcui" + }, + "console_cli": { + "description": "Get/Set enabled state of the console-based controlled CLI. Consolecli service provides operations", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtConsolecli" + }, + "shell": { + "description": "Get/Set enabled state of BASH. Shell service provides operations", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtShell" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtAddress": { + "type": "object", + "properties": { + "address": { + "description": "The IPv6 address, for example, fc00:10:20:83:20c:29ff:fe94:bb5a.\nIf set, the address was never set.", + "type": "string" + }, + "origin": { + "description": "The Origin of the IPv6 address. For more information, see RFC 4293.\nIf set, the origin was never set.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtAddressOrigin" + }, + "prefix": { + "description": "The IPv6 CIDR prefix, for example, 64.\nIf set, the prefix was never set.", + "type": "integer", + "format": "int64" + }, + "status": { + "description": "The Status of the IPv6 address. For more information, see RFC 4293.\nIf set, the status was never set.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtAddressStatus" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtAddressOrigin": { + "type": "string", + "description": "The Address.Origin enumerated type defines IPv6 address origin values.", + "enum": [ + "DHCP", + "RANDOM", + "MANUAL", + "LINKLAYER", + "OTHER" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtAddressStatus": { + "type": "string", + "description": "The Address.Status enumerated type defines IPv6 address status values. See RFC 4293.", + "enum": [ + "TENTATIVE", + "UNKNOWN", + "INACCESSIBLE", + "INVALID", + "DUPLICATE", + "PREFERRED", + "DEPRECATED", + "OPTIMISTIC" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtApplianceManagement": { + "type": "object", + "properties": { + "software_update_policy": { + "description": "Policy to update vCenter.\nOnly set if the SoftwareUpdatePolicy is set inside vCenter.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtSoftwareUpdatePolicy" + }, + "backup_schedules": { + "description": "Backup schedule of vCenter.\nOnly set if the Backup is schedule for vCenter", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtBackupSchedule" + } + }, + "access_settings": { + "description": "AccessSettings of vCenter. if access settings are set for vCenter", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtAccessSettings" + }, + "datetime_config": { + "description": "Date Time Configuration of vCenter.\nOnly set if access settings are set for vCenter", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtDatetimeConfig" + }, + "syslog": { + "description": "The syslog service provides operations to manage forwarding of log messages to remote logging servers.\nOnly set if log forwarding to remote server are set in vCenter.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtLogForwarding" + } + }, + "user_account_settings": { + "description": "User Account Settings of vCenter. if user account settings are set for vCenter", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtUserAccountSettings" + }, + "smtp": { + "description": "The LocalAccounts service provides operations to manage local user account.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtSmtp" + }, + "network": { + "description": "Network configurations to be applied.\nOnly set if the network configurations are set in vCenter.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtApplianceNetwork" + }, + "ceip": { + "description": "CEIP (Customer Experience Improvement Program) enabled state.\nOnly set if ceip are set in vcenter.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtCeip" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtApplianceNetwork": { + "type": "object", + "properties": { + "firewall_rule_policies": { + "description": "List of Firewall Rules to be applied.\nOnly set if the FirewallRulePolicy is set in vCenter.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtFirewallRulePolicy" + } + }, + "dns_server_configuration": { + "description": "DNS configuration to be applied.\nOnly set if the DnsServerConfiguration is set in vCenter.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtDnsServerConfiguration" + }, + "proxy_configuration": { + "description": "Proxy configuration to be applied.\nOnly set if the Proxy server configuration is set in vCenter.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtProxyConfiguration" + } + }, + "interfaces": { + "description": "Interfaces configuration to be applied.\nOnly set if the Interfaces configuration is set in vCenter.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtInterface" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtBackupSchedule": { + "type": "object", + "properties": { + "parts": { + "description": "List of optional parts to be backed up. Use the appliance.recovery.backup.Parts#list operation to get information about the supported parts.\nIf unset all the optional parts will not be backed up.", + "type": "array", + "items": { + "type": "string" + } + }, + "backup_password": { + "description": "Password for a backup piece. The backupPassword must adhere to the following password requirements: At least 8 characters, cannot be more than 20 characters in length. At least 1 uppercase letter. At least 1 lowercase letter. At least 1 numeric digit. At least 1 special character (i.e. any character not in [0-9,a-z,A-Z]). Only visible ASCII characters (for example, no space).\nIf unset the backup piece will not be encrypted.", + "type": "string", + "format": "password" + }, + "location": { + "description": "URL of the backup location.\nOnly set if URL is set in BackupSchedule", + "type": "string", + "format": "uri" + }, + "location_user": { + "description": "Username for the given location.\nIf unset authentication will not be used for the specified location.", + "type": "string" + }, + "location_password": { + "description": "Password for the given location.\nIf unset authentication will not be used for the specified location.", + "type": "string", + "format": "password" + }, + "enable": { + "description": "Enable or disable a schedule.\nIf unset the schedule will be enabled.", + "type": "boolean" + }, + "recurrence_info": { + "description": "Recurrence information for the schedule.\nIf unset backup job will not be scheduled. See RecurrenceInfo", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtRecurrenceInfo" + }, + "retention_info": { + "description": "Retention information for the schedule.\nIf unset all the completed backup jobs will be retained forever. See RetentionInfo", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtRetentionInfo" + }, + "schedule_id": { + "description": "Identifier of the schedule.", + "type": "string" + } + }, + "required": [ + "location", + "schedule_id" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtCeip": { + "type": "object", + "properties": { + "enabled": { + "description": "Set enabled state of the CEIP.", + "type": "boolean" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtConsolecli": { + "type": "object", + "properties": { + "enabled": { + "description": "Set enabled state of the console-based controlled CLI (TTY1).", + "type": "boolean" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtDatetimeConfig": { + "type": "object", + "properties": { + "time_zone": { + "description": "The Timezone service provides operations to get and set the appliance timezone.\nOnly set if the Timezone is set in vCenter", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTimezone" + }, + "time_sync": { + "description": "Timesync service provides operations Performs time synchronization configuration.\nOnly set if the time sync mode is set in vCenter", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTimesync" + }, + "ntp": { + "description": "Ntp service provides operations Gets NTP configuration status and tests connection to ntp servers.\nOnly set if the ntp server are set in vCenter.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtNtp" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtDcui": { + "type": "object", + "properties": { + "enabled": { + "description": "Set enabled state of Direct Console User Interface (DCUI).", + "type": "boolean" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtDnsServerConfiguration": { + "type": "object", + "properties": { + "mode": { + "description": "Define how to determine the DNS servers. Leave the servers argument empty if the mode argument is \"DHCP\". Set the servers argument to a comma-separated list of DNS servers if the mode argument is \"static\". The DNS server are assigned from the specified list.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtDnsServerConfigurationDNSServerMode" + }, + "servers": { + "description": "List of the currently used DNS servers. DNS server configuration.", + "type": "array", + "items": { + "type": "string" + } + }, + "domains": { + "description": "List of the search domains. DNS Search Domains.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "mode", + "servers" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtDnsServerConfigurationDNSServerMode": { + "type": "string", + "description": "DnsServerConfiguration.DNSServerMode enumerated type Describes DNS Server source (DHCP,static).", + "enum": [ + "DHCP", + "IS_STATIC" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtFirewallRulePolicy": { + "type": "object", + "properties": { + "address": { + "description": "IPv4 or IPv6 address.", + "type": "string" + }, + "prefix": { + "description": "CIDR prefix used to mask address. For example, an IPv4 prefix of 24 ignores the low-order 8 bits of address.", + "type": "integer", + "format": "int64" + }, + "policy": { + "description": "The allow or deny policy of this rule.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtFirewallRulePolicyPolicy" + }, + "interface_name": { + "description": "The interface to which this rule applies. An empty string indicates that the rule applies to all interfaces.\nOnly set if interface name required", + "type": "string" + } + }, + "required": [ + "address", + "prefix", + "policy" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtFirewallRulePolicyPolicy": { + "type": "string", + "description": "FirewallRulePolicy.Policy enumerated type Defines firewall rule policies.", + "enum": [ + "IGNORE", + "ACCEPT", + "REJECT", + "RETURN" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtInterface": { + "type": "object", + "properties": { + "name": { + "description": "Interface name, for example, \"nic0\", \"nic1\".\nIf set, the name was never set", + "type": "string" + }, + "status": { + "description": "Interface status.\nIf set, the name was never set", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtInterfaceInterfaceStatus" + }, + "mac": { + "description": "MAC address. For example 00:0C:29:94:BB:5A.\nIf set, the mac was never set", + "type": "string" + }, + "ipv4": { + "description": "IPv4 Address information.\nipv4 This set IPv4 is not set.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtIpv4" + }, + "ipv6": { + "description": "IPv6 Address information.\nipv6 This set IPv6 is not set.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtIpv6" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtInterfaceInterfaceStatus": { + "type": "string", + "description": "Interface.InterfaceStatus enumerated type Defines interface status", + "enum": [ + "DOWN", + "UP" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtIpv4": { + "type": "object", + "properties": { + "mode": { + "description": "The Address assignment mode.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtIpv4Mode" + }, + "address": { + "description": "The IPv4 address, for example, \"10.20.80.191\".", + "type": "string" + }, + "prefix": { + "description": "The IPv4 CIDR prefix, for example, 24. See http://www.oav.net/mirrors/cidr.html for netmask-to-prefix conversion.", + "type": "integer", + "format": "int64" + }, + "default_gateway": { + "description": "The IPv4 address of the default gateway. This configures the global default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.\nIf set, the defaultGateway was never set.", + "type": "string" + }, + "configurable": { + "description": "The IPv4 is configured or not.", + "type": "boolean" + } + }, + "required": [ + "mode", + "address", + "prefix" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtIpv4Mode": { + "type": "string", + "description": "The Ipv4.Mode enumerated type defines different IPv4 address assignment modes.", + "enum": [ + "DHCP", + "STATIC", + "UNCONFIGURED" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtIpv6": { + "type": "object", + "properties": { + "dhcp": { + "description": "An address will be assigned by a DHCP server.", + "type": "boolean" + }, + "autoconf": { + "description": "An address will be assigned by Stateless Address Autoconfiguration (SLAAC).", + "type": "boolean" + }, + "configurable": { + "description": "The IPv6 is configured or not.", + "type": "boolean" + }, + "addresses": { + "description": "The list of addresses to be statically assigned.\nIf set, the addresses were never set.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtAddress" + } + }, + "default_gateway": { + "description": "The default gateway for static IP address assignment. This configures the global IPv6 default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.", + "type": "string" + } + }, + "required": [ + "dhcp", + "autoconf", + "configurable", + "default_gateway" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtLocalAccounts": { + "type": "object", + "properties": { + "fullname": { + "description": "Full name of the user\nIf unset, the value was never set.", + "type": "string" + }, + "roles": { + "description": "User roles", + "type": "array", + "items": { + "type": "string" + } + }, + "enabled": { + "description": "Flag indicating if the account is enabled", + "type": "boolean" + }, + "has_password": { + "description": "Is the user password set.", + "type": "boolean" + }, + "min_days_between_password_change": { + "description": "Minimum number of days between password change\nIf unset, pasword can be changed any time.", + "type": "integer", + "format": "int64" + }, + "max_days_between_password_change": { + "description": "Maximum number of days between password change\nIf unset, password never expires.", + "type": "integer", + "format": "int64" + }, + "warn_days_before_password_expiration": { + "description": "Number of days of warning before password expires\nIf unset, a user is never warned.", + "type": "integer", + "format": "int64" + }, + "password": { + "description": "Password\nIf unset, value will not be changed", + "type": "string", + "format": "password" + }, + "email": { + "description": "Email address of the local account\nIf unset, value will not be changed", + "type": "string" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtLocalAccountsPolicy": { + "type": "object", + "properties": { + "max_days": { + "description": "Maximum number of days a password may be used. If the password is older than this, a password change will be forced.\nIf unset then the restriction will be ignored.", + "type": "integer", + "format": "int64" + }, + "min_days": { + "description": "Minimum number of days allowed between password changes. Any password changes attempted sooner than this will be rejected.\nIf unset then the restriction will be ignored.", + "type": "integer", + "format": "int64" + }, + "warn_days": { + "description": "Number of days warning given before a password expires. A zero means warning is given only upon the day of expiration.\nIf unset then no warning will be provided.", + "type": "integer", + "format": "int64" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtLogForwarding": { + "type": "object", + "properties": { + "hostname": { + "description": "FQDN or IP address of the logging server to which messages are forwarded.", + "type": "string" + }, + "port": { + "description": "The port on which the remote logging server is listening for forwarded log messages.", + "type": "integer", + "format": "int64" + }, + "protocol": { + "description": "Transport protocol used to forward log messages.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtLogForwardingProtocol" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtLogForwardingProtocol": { + "type": "string", + "description": "The LogForwarding.Protocol enumerated type defines transport protocols for outbound log messages.", + "enum": [ + "TLS", + "UDP", + "TCP", + "RELP" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtNtp": { + "type": "object", + "properties": { + "servers": { + "description": "Set NTP servers. This variable updates old NTP servers from configuration and sets the input NTP servers in the configuration.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "servers" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtProxyConfiguration": { + "type": "object", + "properties": { + "protocol": { + "description": "The protocol for which proxy should be set.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtProxyConfigurationProtocol" + }, + "server": { + "description": "URL of the proxy server\nOnly set if server set in ProxyConfiguration.", + "type": "string" + }, + "port": { + "description": "Port to connect to the proxy server. In a 'get' call, indicates the port connected to the proxy server. In a 'set' call, specifies the port to connect to the proxy server. A value of -1 indicates the default port.\nOnly set if port set in ProxyConfiguration.", + "type": "integer", + "format": "int64" + }, + "username": { + "description": "Username for proxy server.\nOnly set if proxy requires username.", + "type": "string" + }, + "password": { + "description": "Password for proxy server.\nOnly set if proxy requires password.", + "type": "string", + "format": "password" + }, + "enabled": { + "description": "In the result of the #get and #list operations this field indicates whether proxying is enabled for a particular protocol. In the input to the test and set operations this field specifies whether proxying should be enabled for a particular protocol.", + "type": "boolean" + } + }, + "required": [ + "protocol", + "port" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtProxyConfigurationProtocol": { + "type": "string", + "description": "ProxyConfiguration.Protocol enumerated type defines the protocols for which proxying is supported.", + "enum": [ + "HTTP", + "HTTPS", + "FTP" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtRecurrenceInfo": { + "type": "object", + "properties": { + "minute": { + "description": "Minute when backup should run.\nOnly set if minute is present in Recurrence Info of backup schedule.", + "type": "integer", + "format": "int64" + }, + "hour": { + "description": "Hour when backup should run. The hour should be specified in 24-hour clock format.\nOnly set if hour is present in Recurrence Info of backup schedule.", + "type": "integer", + "format": "int64" + }, + "days": { + "description": "Day of week when the backup should be run. Days can be specified as list of days.\nIf unset the backup will be run everyday.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtRecurrenceInfoDayOfWeek" + } + } + }, + "required": [ + "minute", + "hour" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtRecurrenceInfoDayOfWeek": { + "type": "string", + "description": "The RecurrenceInfo.DayOfWeek enumerated type defines the set of days when backup can be scheduled. The days can be specified as a list of individual days. You specify the days when you set the recurrence for a schedule. See RecurrenceInfo.days.", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtRetentionInfo": { + "type": "object", + "properties": { + "max_count": { + "description": "Number of backups which should be retained. If retention is not set, all the backups will be retained forever.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "max_count" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtShell": { + "type": "object", + "properties": { + "enabled": { + "description": "Enabled can be set to true or false", + "type": "boolean" + }, + "timeout": { + "description": "The timeout (in seconds) specifies how long you enable the Shell access. The maximum timeout is 86400 seconds(1 day).", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "timeout" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtSmtp": { + "type": "object", + "properties": { + "mail_server": { + "description": "Mail server IP address.\nIf unset then the value will be ignored.", + "type": "string" + }, + "relay_port": { + "description": "Relay port number.\nIf unset then the value will be ignored.", + "type": "string" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtSoftwareUpdatePolicy": { + "type": "object", + "properties": { + "url": { + "description": "Current appliance update repository URL. Enter \"default\" to reset the url to the default url.\nOnly set if custom URL required", + "type": "string" + }, + "default_URL": { + "description": "Default appliance update repository URL.\nOnly set if default URL required", + "type": "string" + }, + "auto_stage": { + "description": "Check for update at the pre-configured repository URL.\nOnly set if auto stage is enable.", + "type": "boolean" + }, + "check_schedule": { + "description": "The Time structure defines day and time the automatic check for new updates will be run.\nOnly set if Time required.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTime" + } + }, + "username": { + "description": "Username for the url update repository\nOnly set if SoftwareUpdatePolicy requires username.", + "type": "string" + }, + "password": { + "description": "Password for the url update repository\nOnly set if SoftwareUpdatePolicy requires password.", + "type": "string", + "format": "password" + }, + "enable_SSL_cert_validation": { + "description": "Indicates whether certificates will be checked during patching. \n Warning: If this field is set to false, an insecure connection is made to the update repository which can potentially put the appliance security at risk.\n", + "type": "boolean" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtSsh": { + "type": "object", + "properties": { + "enabled": { + "description": "Set enabled state of the SSH-based controlled CLI.", + "type": "boolean" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTime": { + "type": "object", + "properties": { + "hour": { + "description": "Time to query for updates Format: HH:MM:SS Military (24 hour) Time Format\nOnly set if hour is present in SoftwareUpdatePolicy", + "type": "string" + }, + "minute": { + "description": "Time to query for updates Format: HH:MM:SS Military (24 hour) Time Format\nOnly set if minute is present in SoftwareUpdatePolicy", + "type": "string" + }, + "day": { + "description": "Day to query for updates\nOnly set if minute is present in SoftwareUpdatePolicy", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTimeUpdateDay" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTimeUpdateDay": { + "type": "string", + "description": "Time.UpdateDay enumerated type Defines days to query for updates.", + "enum": [ + "MONDAY", + "TUESDAY", + "FRIDAY", + "WEDNESDAY", + "THURSDAY", + "SATURDAY", + "SUNDAY", + "EVERYDAY" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTimesync": { + "type": "object", + "properties": { + "mode": { + "description": "", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTimesyncTimeSyncMode" + } + }, + "required": [ + "mode" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTimesyncTimeSyncMode": { + "type": "string", + "description": "The Timesync.TimeSyncMode enumerated type defines time synchronization modes", + "enum": [ + "DISABLED", + "NTP", + "HOST" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtTimezone": { + "type": "object", + "properties": { + "name": { + "description": "Set time zone.", + "type": "string" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsApplmgmtUserAccountSettings": { + "type": "object", + "properties": { + "local_accounts_policy": { + "description": "The localAccountsPolicy service provides operations to manage local user accounts.\nOnly set if Password Policy is set to manage local user accounts.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtLocalAccountsPolicy" + }, + "root_account_policy": { + "description": "The LocalAccounts service provides operations to manage local user account.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtLocalAccounts" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsAuthcommonPrincipal": { + "type": "object", + "properties": { + "name": { + "description": "Principal name.", + "type": "string" + }, + "group": { + "description": "Is a Group", + "type": "boolean" + } + }, + "required": [ + "name", + "group" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementAuthenticationManagement": { + "type": "object", + "properties": { + "privileges": { + "description": "List of Privileges.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementPrivileges" + } + }, + "global_permissions": { + "description": "List of Global Permission.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementGlobalPermission" + } + }, + "roles": { + "description": "List of Roles.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementRoles" + } + }, + "password_policy": { + "description": "Password Policy.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementPasswordPolicy" + }, + "token_policy": { + "description": "Token Policy.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementTokenPolicy" + }, + "lockout_policy": { + "description": "Lockout Policy.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementLockoutPolicy" + } + }, + "required": [ + "privileges", + "global_permissions", + "roles" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementGlobalPermission": { + "type": "object", + "properties": { + "principal": { + "description": "Principal with roles.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsAuthcommonPrincipal" + }, + "role_names": { + "description": "Role Names assigned to this Principal", + "type": "array", + "items": { + "type": "string" + } + }, + "propagate": { + "description": "Propagating to child objects.", + "type": "boolean" + } + }, + "required": [ + "principal", + "role_names", + "propagate" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementLockoutPolicy": { + "type": "object", + "properties": { + "failed_login_attempts": { + "description": "Maximum number of failed login attempts.", + "type": "integer", + "format": "int64" + }, + "failure_interval": { + "description": "Time interval between failures.", + "type": "integer", + "format": "int64" + }, + "unlock_time": { + "description": "Unlock time.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "failed_login_attempts", + "failure_interval", + "unlock_time" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementPasswordPolicy": { + "type": "object", + "properties": { + "special_chars": { + "description": "Minimum special characters.", + "type": "integer", + "format": "int64" + }, + "alpha_chars": { + "description": "Minimum alphabetic characters.", + "type": "integer", + "format": "int64" + }, + "uppercase_chars": { + "description": "Minimum uppercase characters.", + "type": "integer", + "format": "int64" + }, + "lowercase_chars": { + "description": "Minimum lowercase characters.", + "type": "integer", + "format": "int64" + }, + "numeric_chars": { + "description": "Minimum numeric characters.", + "type": "integer", + "format": "int64" + }, + "adj_identical_chars": { + "description": "Maximum adjacent identical characters.", + "type": "integer", + "format": "int64" + }, + "password_reuse": { + "description": "Previous password reuse restriction.", + "type": "integer", + "format": "int64" + }, + "max_life": { + "description": "Maximum lifetime.", + "type": "integer", + "format": "int64" + }, + "max_length": { + "description": "Maximum length.", + "type": "integer", + "format": "int64" + }, + "min_length": { + "description": "Minimum length.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "special_chars", + "alpha_chars", + "uppercase_chars", + "lowercase_chars", + "numeric_chars", + "adj_identical_chars", + "password_reuse", + "max_life", + "max_length", + "min_length" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementPrivileges": { + "type": "object", + "properties": { + "id": { + "description": "Privilege identifier.", + "type": "string" + }, + "description": { + "description": "Privilege description.", + "type": "string" + }, + "group": { + "description": "Group to which the privilege belongs to.", + "type": "string" + }, + "is_on_parent": { + "description": "does this apply to the parent entity?", + "type": "boolean" + } + }, + "required": [ + "id", + "group", + "is_on_parent" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementRoles": { + "type": "object", + "properties": { + "name": { + "description": "Role name which is unique across roles.", + "type": "string" + }, + "description": { + "description": "Role description.", + "type": "string" + }, + "privilege_ids": { + "description": "List of Privileges present in the Role.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "name" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementTokenPolicy": { + "type": "object", + "properties": { + "clock_tolerance": { + "description": "Clock tolerance ms.", + "type": "integer", + "format": "int64" + }, + "token_renewal": { + "description": "Maximum token renewal count.", + "type": "integer", + "format": "int64" + }, + "token_delegation": { + "description": "Maximum token delegation count.", + "type": "integer", + "format": "int64" + }, + "bearer_refresh": { + "description": "Maximum Bearer RefreshToken lifetime.", + "type": "integer", + "format": "int64" + }, + "hok_refresh": { + "description": "Maximum HoK RefreshToken lifetime.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "clock_tolerance", + "token_renewal", + "token_delegation", + "bearer_refresh", + "hok_refresh" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterClusterConfigInfo": { + "type": "object", + "properties": { + "name": { + "description": "Name of the cluster", + "type": "string" + }, + "parent_path": { + "description": "Absolute path from root folder to cluster's parent.\nIf unset, then inventory object placed in root folder.", + "type": "string" + }, + "ha": { + "description": "List of vsphere HA configurations for clusters.\nIf unset, then HA configurations are not set.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaVsphereHA" + }, + "ha_vm_overrides": { + "description": "Settings for HA vm overrides.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaHaVmOverrides" + } + }, + "drs": { + "description": "Cluster-wide configuration of the vSphere DRS service.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDrsConfig" + }, + "drs_vm_overrides": { + "description": "List of virtual machine configurations for the vSphere DRS service. Each entry applies to one virtual machine. If a virtual machine is not specified in this list, the service uses the default settings for that virtual machine.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDrsVmOverrides" + } + }, + "rules": { + "description": "Cluster-wide rules.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsRule" + }, + "groups": { + "description": "Cluster-wide groups.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsGroup" + }, + "proactive_ha": { + "description": "Cluster-wide configuration of the vSphere InfraUpdateHA service.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsProactiveHAConfig" + }, + "hosts": { + "description": "Host configuration on the datacenter.\nIf unset, then no hosts present in the datacenter.", + "type": "array", + "items": { + "type": "string" + } + }, + "permissions": { + "description": "Permissions defined on the cluster.\nIf unset, then no permissions defined on this inventory object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryPermission" + } + }, + "resource_pools": { + "description": "List of Resource pools.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolResourcePool" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsAdditionalOptions": { + "type": "object", + "properties": { + "advanced_options": { + "description": "Drs configuration additional options", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterOptionValue" + } + }, + "scalable_shares": { + "description": "Enable scalable shares for the resource pools on this cluster.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsScaleSharesBehavior" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsAffinityRule": { + "type": "object", + "properties": { + "status": { + "description": "Flag to indicate whether or not the rule is currently satisfied.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsStatus" + }, + "enabled": { + "description": "Flag to indicate whether or not the rule is enabled. Set this property when user configures the rule. The default value is false (disabled). If there is a rule conflict, the Server can override the setting to disable a rule.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "in_compliance": { + "description": "Flag to indicate if the rule is in compliance.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "name": { + "description": "Name of the rule.", + "type": "string" + }, + "mandatory": { + "description": "Flag to indicate whether compliance with this rule is mandatory or optional. The default value is false (optional).\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "user_created": { + "description": "Flag to indicate whether the rule is created by the user or the system.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "vms": { + "description": "List of virtual machines.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsAutomation": { + "type": "object", + "properties": { + "automation_level": { + "description": "Specifies the cluster-wide default DRS behavior for virtual machines. You can override the default behavior for a virtual machine.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDrsBehaviorInfo" + }, + "migration_threshold": { + "description": "Threshold for generated recommendations. DRS generates only those recommendations that are above the specified vmotionRate. Ratings vary from 1 to 5.\nIf unset or empty, the value is skipped.", + "type": "integer", + "format": "int64" + }, + "proactive_drs_enabled": { + "description": "Flag indicating whether or not the ProactiveDRS is enabled.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "virtual_machine_automation": { + "description": "Flag that dictates whether DRS Behavior overrides for individual VMs.", + "type": "boolean" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDependencyRule": { + "type": "object", + "properties": { + "status": { + "description": "Flag to indicate whether or not the rule is currently satisfied.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsStatus" + }, + "enabled": { + "description": "Flag to indicate whether or not the rule is enabled. Set this property when user configures the rule. The default value is false (disabled). If there is a rule conflict, the Server can override the setting to disable a rule.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "in_compliance": { + "description": "Flag to indicate if the rule is in compliance.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "name": { + "description": "Name of the rule.", + "type": "string" + }, + "mandatory": { + "description": "Flag to indicate whether compliance with this rule is mandatory or optional. The default value is false (optional).\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "user_created": { + "description": "Flag to indicate whether the rule is created by the user or the system.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "vm_group": { + "description": "Virtual group name. The virtual group may contain one or more virtual machines.", + "type": "string" + }, + "depends_on_vm_group": { + "description": "Depdendency virtual group name. The virtual group may contain one or more virtual machines.", + "type": "string" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDpmBehaviorInfo": { + "type": "string", + "description": "The DpmBehaviorInfo enumerated type defines the automation level for DPM service on a cluster.", + "enum": [ + "MANUAL", + "AUTOMATED" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDrsBehaviorInfo": { + "type": "string", + "description": "The DrsBehaviorInfo enumerated type defines the automation levels that can be set on a DRS cluster.", + "enum": [ + "MANUAL", + "PARTIALLY_AUTOMATED", + "FULLY_AUTOMATED" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDrsConfig": { + "type": "object", + "properties": { + "enabled": { + "description": "Flag indicating whether or not DRS service is enabled.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "automation": { + "description": "vSphere HA configuration for Automation Level, Migration Threshold Predictive DRS and VM Automation.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsAutomation" + }, + "additional_options": { + "description": "vSphere HA configuration for VM Distribution, CPU Over commit Scalable Shares.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsAdditionalOptions" + }, + "power_management": { + "description": "vSphere HA configuration for DPM, AutomationLevel, DPM Threshold.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsPowerManagement" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDrsVmOverrides": { + "type": "object", + "properties": { + "name": { + "description": "Reference to the virtual machine.", + "type": "string" + }, + "behavior": { + "description": "Specifies the particular DRS behavior for this virtual machine.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDrsBehaviorInfo" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsGroup": { + "type": "object", + "properties": { + "vm_groups": { + "description": "List of VM Group details.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsGroupDetails" + } + }, + "host_groups": { + "description": "List of HOST Group details.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsGroupDetails" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsGroupDetails": { + "type": "object", + "properties": { + "name": { + "description": "Unique name of the group.", + "type": "string" + }, + "entities": { + "description": "List of VMs or Hosts belonging to the group.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "type": "string" + } + }, + "user_created": { + "description": "Flag to indicate whether the group is created by the user or the system.\nIf unset or empty, the value is skipped.", + "type": "boolean" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsPowerManagement": { + "type": "object", + "properties": { + "dpm_enabled": { + "description": "Flag indicating whether or not the service is enabled. This service can not be enabled, unless DRS is enabled as well.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "automation_level": { + "description": "Specifies the default VMware DPM behavior for hosts. This default behavior can be overridden on a per host.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDpmBehaviorInfo" + }, + "dpm_threshold": { + "description": "DPM Advanced options.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterOptionValue" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsProactiveHAConfig": { + "type": "object", + "properties": { + "enabled": { + "description": "Flag indicating whether or not the service is enabled. InfraUpdateHA will not be active, unless DRS is enabled as well.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "automation_level": { + "description": "Configured behavior. Values are of type BehaviorType.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsProactiveHAConfigBehaviorType" + }, + "remediation": { + "description": "Configured remediation for moderately degraded hosts. Values are of type RemediationType.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsProactiveHAConfigRemediationType" + }, + "providers": { + "description": "The list of health update providers configured for this cluster. Providers are identified by their id. If the provider list is empty, InfraUpdateHA will not be active.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsProactiveHAConfigBehaviorType": { + "type": "string", + "description": "The ProactiveHAConfig.BehaviorType enumerated type defines the behavior for executing the proposed DRS recommendations.", + "enum": [ + "MANUAL", + "AUTOMATED" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsProactiveHAConfigRemediationType": { + "type": "string", + "description": "The ProactiveHAConfig.RemediationType enumerated type defines the types of remediation behaviours that can be configured.", + "enum": [ + "QUARANTINE_MODE", + "MAINTENANCE_MODE" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsRule": { + "type": "object", + "properties": { + "vm_affinity_rules": { + "description": "Cluster-wide VM affinity rules.If this is set then AntiAffinityRule, DependencyRule, VmHostRule can not be set.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsAffinityRule" + } + }, + "vm_anti_affinity_rules": { + "description": "Cluster-wide VM anti affinity rules.If this is set then AntiAffinityRule, DependencyRule, VmHostRule can not be set.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsAffinityRule" + } + }, + "dependency_rule": { + "description": "Cluster-wide VM-to-VM dependency rules.If this is set then AffinityRule, AntiAffinityRule, VmHostRule can not be set.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsDependencyRule" + } + }, + "vm_host_rule": { + "description": "Cluster-wide VM-to-Host affinity rules.If this is set then AffinityRule, AntiAffinityRule, DependencyRule can not be set.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsVmHostRule" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsScaleSharesBehavior": { + "type": "string", + "description": "", + "enum": [ + "DISABLED", + "SCALE_CPU_AND_MEMORY_SHARES" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsStatus": { + "type": "string", + "description": "The Status enumeration defines a general \"health\" value for a managed entity.", + "enum": [ + "GRAY", + "GREEN", + "YELLOW", + "RED" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsVmHostRule": { + "type": "object", + "properties": { + "status": { + "description": "Flag to indicate whether or not the rule is currently satisfied.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterDrsStatus" + }, + "enabled": { + "description": "Flag to indicate whether or not the rule is enabled. Set this property when user configures the rule. The default value is false (disabled). If there is a rule conflict, the Server can override the setting to disable a rule.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "in_compliance": { + "description": "Flag to indicate if the rule is in compliance.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "name": { + "description": "Name of the rule.", + "type": "string" + }, + "mandatory": { + "description": "Flag to indicate whether compliance with this rule is mandatory or optional. The default value is false (optional).\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "user_created": { + "description": "Flag to indicate whether the rule is created by the user or the system.\nIf unset or empty, the value is skipped.", + "type": "boolean" + }, + "vm_group_name": { + "description": "Virtual group name.\nIf unset or empty, the value is skipped.", + "type": "string" + }, + "affine_host_group_name": { + "description": "Name of the affine host group. The affine host group identifies hosts on which VmHotRule#vmGroupName virtual machines can be powered-on.\nIf unset or empty, the value is skipped.", + "type": "string" + }, + "anti_affine_host_group_name": { + "description": "Name of the anti-affine host group. The anti-affine host group identifies hosts on which VmHotRule#vmGroupName virtual machines should not be powered-on.\nIf unset or empty, the value is skipped.", + "type": "string" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaAdmissionControl": { + "type": "object", + "properties": { + "host_failures_cluster_tolerates": { + "description": "Number of host failures that should be tolerated, still guaranteeing sufficient resources to restart virtual machines on available hosts. If not set, we assume 1.", + "type": "integer", + "format": "int64" + }, + "policy_type": { + "description": "", + "type": "string" + }, + "host_fail_over_slot_policy": { + "description": "This policy allows setting a fixed slot size", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFixedSizeSlotPolicy" + }, + "cluster_resource_percentage": { + "description": "", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaClusterResourcePercentage" + }, + "dedicated_failover_hosts": { + "description": "List of hosts dedicated for failover.", + "type": "array", + "items": { + "type": "string" + } + }, + "performance_degradation_vm_tolerate": { + "description": "Percentage of resource reduction that a cluster of VMs can tolerate in case of a failover.", + "type": "integer", + "format": "int64" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaClusterResourcePercentage": { + "type": "object", + "properties": { + "cpu": { + "description": "Reserved failover CPU capacity", + "type": "integer", + "format": "int64" + }, + "memory": { + "description": "Reserved failover Memory capacity", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "cpu", + "memory" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponses": { + "type": "object", + "properties": { + "host_monitoring": { + "description": "", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesServiceState" + }, + "default_vm_restart_priority": { + "description": "Restart priority for a virtual machine. \n If not specified at either the cluster level or the virtual machine level, this will default to medium. \n\n\n\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesRestartPriority" + }, + "restart_priority_condition_timeout": { + "description": "This setting is used to specify a maximum time the lower priority VMs should wait for the higher priority VMs to be ready. If the higher priority Vms are not ready by this time, then the lower priority VMs are restarted irrespective of the VM ready state. This timeout can be used to prevent the failover of lower priority VMs to be stuck infinitely. Timeout specified in seconds. To use cluster setting for a VM override, set to -1 in per-VM. setting. \n\n\nIf unset or empty, the value is skipped.", + "type": "integer", + "format": "int64" + }, + "additional_delay": { + "description": "After condition has been met, a mandatory delay before starting the next VM restart priority.", + "type": "integer", + "format": "int64" + }, + "host_isolation_response": { + "description": "Indicates whether or not the virtual machine should be powered off if a host determines that it is isolated from the rest of the compute resource. \n If not specified at either the cluster level or the virtual machine level, this will default to powerOff. \n\n\n\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesIsolationResponse" + }, + "datastore_with_pdl_failure_response": { + "description": "VM storage protection setting for storage failures categorized as Permenant Device Loss (PDL). PDL indicates storage device failure or LUN removal. In case of PDL, the failed datastore or device is unlikely to recover. The details of PDL are", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesStorageVmReaction" + }, + "apd_failure_response": { + "description": "VM storage protection setting for storage failures categorized as All Paths Down (APD). APD is a condition where a storage has become inaccessible for unknown reasons. It only indicates loss of connectivity and does not indicate storage device failure or LUN removal (Permanent Device Loss or PDL)", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesStorageVmReaction" + }, + "response_recovery": { + "description": "Action taken by VM Component Protection service for a powered on VM when APD condition clears after APD timeout. \n This property is meaningful only when vSphere HA is turned on. Valid values are specified by FailuresAndResponses.VmReactionOnAPDCleared. The default value is VmReactionOnAPDCleared#none for cluster setting and VmReactionOnAPDCleared#useClusterDefault for per-VM setting.\n", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesVmReactionOnAPDCleared" + }, + "response_delay": { + "description": "The time interval after an APD timeout has been declared and before VM Component Protection service will terminate the VM. The default value is 180 seconds if not specified. To use cluster setting for a VM override, set to -1 in per-VM setting.", + "type": "integer", + "format": "int64" + }, + "vm_monitoring": { + "description": "", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesVmMonitoringState" + }, + "vm_tools_monitoring_settings": { + "description": "", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaVmToolsMonitoringSettings" + } + }, + "required": [ + "datastore_with_pdl_failure_response", + "apd_failure_response" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesIsolationResponse": { + "type": "string", + "description": "The enum defines values that indicate whether or not the virtual machine should be powered off if a host determines that it is isolated from the rest of the cluster.", + "enum": [ + "NONE", + "POWER_OFF", + "SHUTDOWN", + "CLUSTER_ISOLATION_RESPONSE" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesRestartPriority": { + "type": "string", + "description": "The enum defines virtual machine restart priority values to resolve resource contention. The priority determines the preference that HA gives to a virtual machine if sufficient capacity is not available to power on all failed virtual machines. For example, high priority virtual machines on a host get preference over low priority virtual machines.", + "enum": [ + "DISABLED", + "LOWEST", + "LOW", + "MEDIUM", + "HIGH", + "HIGHEST", + "CLUSTER_RESTART_PRIORITY" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesServiceState": { + "type": "string", + "description": "Possible states of an HA service. All services support the disabled and enabled states.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesStorageVmReaction": { + "type": "string", + "description": "The VM policy settings that determine the response to storage failures.", + "enum": [ + "DISABLED", + "WARNING", + "RESTART_CONSERVATIVE", + "RESTART_AGGRESSIVE", + "CLUSTER_DEFAULT" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesVmMonitoringState": { + "type": "string", + "description": "The enum defines values that indicate the state of Virtual Machine Health Monitoring. Health Monitoring uses the vmTools (guest) and application agent heartbeat modules. You can configure HA to respond to heartbeat failures of either one or both modules. You can also disable the HA response to heartbeat failures.", + "enum": [ + "VM_MONITORING_DISABLED", + "VM_MONITORING_ONLY", + "VM_AND_APP_MONITORING" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesVmReactionOnAPDCleared": { + "type": "string", + "description": "If an APD condition clears after an APD timeout condition has been declared and before VM Component Protection service terminated the VM, the guestOS and application may no longer be operational.", + "enum": [ + "NONE", + "RESET", + "USE_CLUSTER_DEFAULT" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFixedSizeSlotPolicy": { + "type": "object", + "properties": { + "cpu": { + "description": "The cpu component of the slot size (in MHz)", + "type": "integer", + "format": "int64" + }, + "memory": { + "description": "The memory component of the slot size (in megabytes)", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "cpu", + "memory" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaHaVmOverrides": { + "type": "object", + "properties": { + "name": { + "description": "Reference to the virtual machine.", + "type": "string" + }, + "vm_restart_priority": { + "description": "Restart priority for a virtual machine.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesRestartPriority" + }, + "vm_additional_delay": { + "description": "After condition has been met, a mandatory delay before starting the next VM restart priority.", + "type": "integer", + "format": "int64" + }, + "vm_restart_priority_timeout": { + "description": "This setting is used to specify a maximum time the lower priority VMs should wait for the higher priority VMs to be ready. If the higher priority Vms are not ready by this time, then the lower priority VMs are restarted irrespective of the VM ready state. This timeout can be used to prevent the failover of lower priority VMs to be stuck infinitely.\nIf unset or empty, the value is skipped.", + "type": "integer", + "format": "int64" + }, + "vm_isolation_response": { + "description": "Indicates whether or not the virtual machine should be powered off if a host determines that it is isolated from the rest of the compute resource. \n If not specified at either the cluster level or the virtual machine level, this will default to powerOff. \n\n\n\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesIsolationResponse" + }, + "vm_datastore_with_pdl_failure_response": { + "description": "VM storage protection setting for storage failures categorized as Permenant Device Loss (PDL). PDL indicates storage device failure or LUN removal. In case of PDL, the failed datastore or device is unlikely to recover. The details of PDL are", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesStorageVmReaction" + }, + "vm_apd_failure_response": { + "description": "VM storage protection setting for storage failures categorized as All Paths Down (APD). APD is a condition where a storage has become inaccessible for unknown reasons. It only indicates loss of connectivity and does not indicate storage device failure or LUN removal (Permanent Device Loss or PDL)", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesStorageVmReaction" + }, + "vm_apd_failover_delay": { + "description": "The time interval after an APD timeout has been declared and before VM Component Protection service will terminate the VM. The default value is 180 seconds if not specified. To use cluster setting for a VM override, set to -1 in per-VM setting.", + "type": "integer", + "format": "int64" + }, + "vm_apd_response_recovery": { + "description": "Action taken by VM Component Protection service for a powered on VM when APD condition clears after APD timeout. This property is meaningful only when vSphere HA is turned on. Valid values are", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesVmReactionOnAPDCleared" + }, + "vm_monitoring": { + "description": "Virtual machine health monitoring is disabled. In this state, HA response to guest and application heartbeat failures are disabled.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponsesVmMonitoringState" + } + }, + "required": [ + "name", + "vm_datastore_with_pdl_failure_response", + "vm_apd_failure_response" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaHeartBeatDataStores": { + "type": "object", + "properties": { + "heartbeat_datastore_policy": { + "description": "", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaHeartBeatDataStoresHBDatastoreCandidate" + }, + "datastores": { + "description": "", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "heartbeat_datastore_policy" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaHeartBeatDataStoresHBDatastoreCandidate": { + "type": "string", + "description": "The policy to determine the candidates from which vCenter Server can choose heartbeat datastores.", + "enum": [ + "USER_SELECTED_DS", + "ALL_FEASIBLE_DS", + "ALL_FEASIBLE_DS_WITH_USER_PREFERENCE" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaVmToolsMonitoringSettings": { + "type": "object", + "properties": { + "enabled": { + "description": "Flag indicating whether or not the Virtual Machine Health Monitoring service is enabled. \n The Server does not use this property.\n", + "type": "boolean" + }, + "cluster_settings": { + "description": "Flag indicating whether to use the cluster settings or the per VM settings. \n The default value is true.\n", + "type": "boolean" + }, + "failure_interval": { + "description": "If no heartbeat has been received for at least the specified number of seconds, the virtual machine is declared as failed. \n The default value is 30.\n", + "type": "integer", + "format": "int64" + }, + "min_up_time": { + "description": "The number of seconds for the virtual machine's heartbeats to stabilize after the virtual machine has been powered on. This time should include the guest operating system boot-up time. The virtual machine monitoring will begin only after this period. \n The default value is 120.\n", + "type": "integer", + "format": "int64" + }, + "max_failures": { + "description": "Maximum number of failures and automated resets allowed during the time that VmToolsMonitoringSettings.max-failure-window specifies. If VmToolsMonitoringSettings.max-failure-window is -1 (no window), this represents the absolute number of failures after which automated response is stopped. \n If a virtual machine exceeds this threshold, in-depth problem analysis is usually needed. \n\n The default value is 3.\n", + "type": "integer", + "format": "int64" + }, + "max_failure_window": { + "description": "The number of seconds for the window during which up to VmToolsMonitoringSettings.max-failures resets can occur before automated responses stop. \n If set to -1, no failure window is specified. \n\n The default value is -1.\n", + "type": "integer", + "format": "int64" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaVsphereHA": { + "type": "object", + "properties": { + "enabled": { + "description": "HA Enabled or Disabled Flag to indicate whether or not vSphere HA feature is enabled.", + "type": "boolean" + }, + "failures_and_responses": { + "description": "Configuration settings for HA Failures and responses.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaFailuresAndResponses" + }, + "admission_control": { + "description": "Configuration settings for HA admission control.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaAdmissionControl" + }, + "heartbeat_datastores": { + "description": "Configuration settings for heart beat data store policy.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterHaHeartBeatDataStores" + }, + "advanced_options": { + "description": "Advanced settings.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterOptionValue" + } + } + }, + "required": [ + "enabled" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterOptionValue": { + "type": "object", + "properties": { + "key": { + "description": "The name of the option using dot notation to reflect the option's position in a hierarchy. For example, you might have an option called \"Ethernet\" and another option that is a child of that called \"Connection\". In this case, the key for the latter could be defined as \"Ethernet.Connection\"", + "type": "string" + }, + "value": { + "description": "The value of the option. The Any data object type enables you to define any value for the option. Typically, however, the value of an option is of type String or Integer.", + "type": "string" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryDatacenterDatacenter": { + "type": "object", + "properties": { + "name": { + "description": "Name of the datacenter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.datacenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.datacenter.", + "type": "string" + }, + "parent_path": { + "description": "Absolute path of the inventory object's parent.\nIf unset, then inventory object placed in root folder.", + "type": "string" + }, + "permissions": { + "description": "Permissions defined on the datacenter.\nIf unset, then no permissions defined on this inventory object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryPermission" + } + }, + "standalone_hosts": { + "description": "Host configuration on the datacenter.\nIf unset, then no hosts present in the datacenter.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "name" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreDatastore": { + "type": "object", + "properties": { + "name": { + "description": "The identifier of the datastore.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.datastore.", + "type": "string" + }, + "parent_path": { + "description": "Absolute path of the inventory object's parent.", + "type": "string" + }, + "summary": { + "description": "Summary of the datastore.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreSummary" + }, + "permissions": { + "description": "Permissions defined on the datastore.\nIf unset, then no permissions defined on this inventory object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryPermission" + } + } + }, + "required": [ + "name", + "parent_path" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreMaintenanceModeState": { + "type": "string", + "description": "The MaintenanceModeState enumerated type defines the maintenance mode states of the datastore.", + "enum": [ + "NORMAL", + "ENTERING_MAINTENANCE", + "IN_MAINTENANCE" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastorePodStorageDrsEntry": { + "type": "object", + "properties": { + "storage_drs_config": { + "description": "Storage DRS configuration.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreStorageDrsConfigInfo" + } + }, + "required": [ + "storage_drs_config" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreStorageDrsConfigInfo": { + "type": "object", + "properties": { + "pod_config": { + "description": "Pod-wide configuration information for the storage DRS service.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreStorageDrsPodConfigInfo" + } + }, + "required": [ + "pod_config" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreStorageDrsPodConfigInfo": { + "type": "object", + "properties": { + "enabled": { + "description": "Flag indicating whether or not storage DRS is enabled.", + "type": "boolean" + } + }, + "required": [ + "enabled" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreStoragePod": { + "type": "object", + "properties": { + "name": { + "description": "Identifier of the Storage Pod.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.storagepod. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.storagepod.", + "type": "string" + }, + "parent_path": { + "description": "Absolute path of the inventory object's parent.", + "type": "string" + }, + "pod_storage_drs_entry": { + "description": "Storage DRS related attributes of the Storage Pod.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastorePodStorageDrsEntry" + }, + "permissions": { + "description": "Permissions defined on the Storage Pod.\nIf unset, then no permissions defined on this inventory object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryPermission" + } + } + }, + "required": [ + "name", + "parent_path", + "pod_storage_drs_entry" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreSummary": { + "type": "object", + "properties": { + "capacity": { + "description": "Maximum capacity of this datastore, in bytes. This value is updated periodically by the server. It can be explicitly refreshed with the Refresh operation.", + "type": "integer", + "format": "int64" + }, + "multiple_host_access": { + "description": "More than one host in the datacenter has been configured with access to the datastore. This is only provided by VirtualCenter.\nIf unset, then the datastore not configured with access from more than one host.", + "type": "boolean" + }, + "type": { + "description": "Type of file system volume, such as VMFS or NFS.", + "type": "string" + }, + "maintenance_mode": { + "description": "The current maintenance mode state of the datastore.\nIf unset, then the current maintenance mode state of the datastore is set to normal.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreMaintenanceModeState" + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryFolderFolder": { + "type": "object", + "properties": { + "datastore": { + "description": "List of datastore folders.\nIf unset. then there are no datastore folders.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryFolderFolderDetails" + } + }, + "datacenter": { + "description": "List of datacenter folders.\nIf unset. then there are no datacenter folders.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryFolderFolderDetails" + } + }, + "vm": { + "description": "List of vm folders.\nIf unset. then there are no vm folders.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryFolderFolderDetails" + } + }, + "network": { + "description": "List of network folders.\nIf unset. then there are no network folders.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryFolderFolderDetails" + } + }, + "host": { + "description": "List of host folders.\nIf unset. then there are no host folders.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryFolderFolderDetails" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryFolderFolderDetails": { + "type": "object", + "properties": { + "name": { + "description": "Name of the vCenter Server folder.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.folder.", + "type": "string" + }, + "parent_path": { + "description": "Absolute path of the inventory object's parent.\nIf unset, then inventory object placed in root folder.", + "type": "string" + }, + "permissions": { + "description": "Permissions defined on the folder.\nIf unset, then no permissions defined on this inventory object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryPermission" + } + } + }, + "required": [ + "name" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryHostHostConfig": { + "type": "object", + "properties": { + "name": { + "description": "Name of the host", + "type": "string" + }, + "permissions": { + "description": "Permission on the host.\nIf unset, then no permissions defined on this inventory object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryPermission" + } + }, + "parent_path": { + "description": "Parent of this inventory object.\nIf unset, then inventory object placed in root folder.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryInventoryManagement": { + "type": "object", + "properties": { + "folders": { + "description": "List of Folders.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryFolderFolder" + }, + "datacenters": { + "description": "List of Datacenters.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryDatacenterDatacenter" + } + }, + "clusters": { + "description": "List of ClusterConfigurations.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryClusterClusterConfigInfo" + } + }, + "storage_pods": { + "description": "List of Datastore Clusters.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreStoragePod" + } + }, + "datastores": { + "description": "List of Datastores.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryDatastoreDatastore" + } + }, + "networks": { + "description": "List of standard networks.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryNetworkNetwork" + } + }, + "hosts": { + "description": "List of Hosts.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryHostHostConfig" + } + } + } + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryNetworkNetwork": { + "type": "object", + "properties": { + "name": { + "description": "Identifier of the network.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.vcenter.settings.v1.config.components.inventory.network.", + "type": "string" + }, + "parent_path": { + "description": "Absolute path of the inventory object's parent.", + "type": "string" + }, + "permissions": { + "description": "Permissions defined on the network.\nIf unset, then no permissions defined on this inventory object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryPermission" + } + } + }, + "required": [ + "name", + "parent_path" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryPermission": { + "type": "object", + "properties": { + "principal": { + "description": "User/Group name associated with the permission.", + "type": "string" + }, + "group": { + "description": "True if principal is a group.", + "type": "boolean" + }, + "propagate": { + "description": "True if permission can be propagated to child entities.", + "type": "boolean" + }, + "role_id": { + "description": "Role associated with the permission.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "principal", + "group", + "propagate", + "role_id" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolResourceAllocationInfo": { + "type": "object", + "properties": { + "reservation": { + "description": "Amount of resource that is guaranteed available to a resource pool. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB fo memory, and MHz for CPU.", + "type": "integer", + "format": "int64" + }, + "expandable_reservation": { + "description": "In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation.", + "type": "boolean" + }, + "limit": { + "description": "The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU.", + "type": "integer", + "format": "int64" + }, + "shares": { + "description": "Shares are used in case of resource contention.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolShares" + } + }, + "required": [ + "reservation", + "expandable_reservation", + "limit", + "shares" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolResourcePool": { + "type": "object", + "properties": { + "name": { + "description": "Name of the vCenter Server resource pool.", + "type": "string" + }, + "parent_path": { + "description": "Parent name for the resource pool.\nIf unset, then inventory object placed in root folder.", + "type": "string" + }, + "child_resource_pools": { + "description": "Identifiers of the child resource pools contained in this resource pool.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "type": "string" + } + }, + "vm": { + "description": "Identifiers of the virtual machines contained in this resource pool.\nIf unset or empty, the value is skipped.", + "type": "array", + "items": { + "type": "string" + } + }, + "config": { + "description": "Summary of the Resource pools.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolResourcePoolSummary" + }, + "permissions": { + "description": "Permission on the resourcepool.\nIf unset, then no permissions defined on this inventory object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryPermission" + } + } + }, + "required": [ + "name", + "config" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolResourcePoolSummary": { + "type": "object", + "properties": { + "cpu_allocation": { + "description": "Resource allocation information for CPU.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolResourceAllocationInfo" + }, + "memory_allocation": { + "description": "Resource allocation information for memory.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolResourceAllocationInfo" + } + }, + "required": [ + "cpu_allocation", + "memory_allocation" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolShares": { + "type": "object", + "properties": { + "level": { + "description": "The allocation level. It maps to a pre-determined set of numeric values for shares. If the shares value does not map to a predefined size, then the level is set as CUSTOM.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolSharesLevel" + }, + "shares": { + "description": "When Shares.level is set to CUSTOM, it is the number of shares allocated. Otherwise, this value is ignored. \n There is no unit for this value. It is a relative measure based on the settings for other resource pools.\n", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "level", + "shares" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryResourcepoolSharesLevel": { + "type": "string", + "description": "The Shares.Level enumerated type defines the possible values for the allocation level.", + "enum": [ + "LOW", + "NORMAL", + "HIGH", + "CUSTOM" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryauthorizationInventoryAuthorization": { + "type": "object", + "properties": { + "version": { + "description": "The version of the authorization model this configuration is applicable to.", + "type": "string" + }, + "service_provider_entities": { + "description": "Service provider managed entities configuration of the vCenter.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryauthorizationServiceProviderEntities" + } + }, + "required": [ + "version" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryauthorizationPermission": { + "type": "object", + "properties": { + "entity": { + "description": "Full path to the entity for which the permission is set. The entity must be either one of the service provider managed entities, or a child thereof.", + "type": "string" + }, + "principal": { + "description": "The principal for which the permission is set.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsAuthcommonPrincipal" + }, + "role_name": { + "description": "Name of a role in vCenter.", + "type": "string" + }, + "propagate": { + "description": "Whether this permission propagates to child objects.", + "type": "boolean" + } + }, + "required": [ + "entity", + "principal", + "role_name", + "propagate" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsInventoryauthorizationServiceProviderEntities": { + "type": "object", + "properties": { + "entities": { + "description": "List of full paths to the service provider managed entities inside the vCenter.", + "type": "array", + "items": { + "type": "string" + } + }, + "permissions": { + "description": "List of the inventory permissions to set inside the container.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryauthorizationPermission" + } + } + }, + "required": [ + "entities", + "permissions" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterDrsConfig": { + "type": "object", + "properties": { + "enabled": { + "description": "Flag indicating whether or not DRS service is enabled. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "boolean" + }, + "automation_level": { + "description": "Specifies the cluster-wide default DRS behavior for virtual machines. You can override the default behavior for a virtual machine. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset or empty, the value is skipped.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterDrsConfigDrsBehaviorInfo" + }, + "migration_threshold": { + "description": "Threshold for generated recommendations. DRS generates only those recommendations that are above the specified vmotionRate. Ratings vary from 1 to 5. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset or empty, the value is skipped.", + "type": "integer", + "format": "int64" + }, + "virtual_machine_automation": { + "description": "Flag that dictates whether DRS Behavior overrides for individual VMs. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "boolean" + } + }, + "required": [ + "enabled" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterDrsConfigDrsBehaviorInfo": { + "type": "string", + "description": "The DrsConfig.DrsBehaviorInfo enumerated type defines the automation levels that can be set on a DRS cluster. Warning: This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "MANUAL", + "PARTIALLY_AUTOMATED", + "FULLY_AUTOMATED" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterManagementCluster": { + "type": "object", + "properties": { + "name": { + "description": "Name of the management cluster which hosts the management VMs. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + }, + "parent_path": { + "description": "Absolute path from root folder to management cluster's parent. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + }, + "drs": { + "description": "Cluster-wide configuration of the vSphere DRS service. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterDrsConfig" + }, + "management_resourcepools": { + "description": "The management cluster provides dedicated resource pools for running the management virtual machines. Management cluster can can run workload VMs outside this resource pools. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterResourcePool" + } + } + }, + "required": [ + "name", + "parent_path", + "drs", + "management_resourcepools" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterManagementVirtualMachine": { + "type": "object", + "properties": { + "name": { + "description": "Name of the management virtual machine configuration. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + }, + "vm_type": { + "description": "Type of the management virtual machine. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterManagementVirtualMachineManagementVMType" + }, + "parent_path": { + "description": "Absolute path from root folder to management virtual machine parent vm folder. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + }, + "resource_config": { + "description": "Configuration of the management virtual machine. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset, then there is no configuration.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterResourceConfigSpec" + } + }, + "required": [ + "name", + "vm_type", + "parent_path" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterManagementVirtualMachineManagementVMType": { + "type": "string", + "description": "The ManagementVirtualMachine.ManagementVMType enumerated type defines the type of management virtual machine. Warning: This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "VCENTER", + "CLOUD_GATEWAY" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterResourceAllocationInfo": { + "type": "object", + "properties": { + "reservation": { + "description": "Amount of resource that is guaranteed available to a resource pool or a virtual machine. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB fo memory, and MHz for CPU. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "integer", + "format": "int64" + }, + "expandable_reservation": { + "description": "In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "boolean" + }, + "limit": { + "description": "The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "integer", + "format": "int64" + }, + "shares": { + "description": "Shares are used in case of resource contention. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterShares" + } + }, + "required": [ + "reservation", + "expandable_reservation", + "limit", + "shares" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterResourceConfigSpec": { + "type": "object", + "properties": { + "cpu_allocation": { + "description": "Resource allocation information for CPU. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterResourceAllocationInfo" + }, + "memory_allocation": { + "description": "Resource allocation information for memory. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterResourceAllocationInfo" + } + }, + "required": [ + "cpu_allocation", + "memory_allocation" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterResourcePool": { + "type": "object", + "properties": { + "name": { + "description": "Name of the vCenter Server resource pool. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + }, + "parent_path": { + "description": "Absolute path from root folder to resource pool's parent. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + }, + "config": { + "description": "Summary of the resource pool containing the resource spec. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterResourceConfigSpec" + }, + "vm": { + "description": "The management virtual machines contained in this resource pool. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset or empty, no virtual machine is expected to run in this resource pool..", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterManagementVirtualMachine" + } + } + }, + "required": [ + "name", + "parent_path", + "config" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterShares": { + "type": "object", + "properties": { + "level": { + "description": "The allocation level. It maps to a pre-determined set of numeric values for shares. If the shares value does not map to a predefined size, then the level is set as CUSTOM. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterSharesLevel" + }, + "shares": { + "description": "When Shares.level is set to CUSTOM, it is the number of shares allocated. Otherwise, this value is ignored. \n There is no unit for this value. It is a relative measure based on the settings for other resource pools.\n. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "level", + "shares" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsManagementclusterSharesLevel": { + "type": "string", + "description": "The Shares.Level enumerated type defines the possible values for the allocation level. Warning: This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "LOW", + "NORMAL", + "HIGH", + "CUSTOM" + ] + }, + "ApplianceVcenterSettingsV1ConfigComponentsVsphereuiconfigurationVsphereUIConfiguration": { + "type": "object", + "properties": { + "enable_IDP_configuration": { + "description": "Property to configure the IDPConfiguration view, with this enabled, user will be able to view and configure IDP", + "type": "boolean" + }, + "enable_cloud_admin_role_protection": { + "description": "Property to enable CloudAdminRoleProtection in the UI", + "type": "boolean" + } + } + }, + "ApplianceVcenterSettingsV1ConfigCreate": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigCreateSpec", + "description": "Specification of the profile to be created." + }, + "ApplianceVcenterSettingsV1ConfigCreateSpec": { + "type": "object", + "properties": { + "name": { + "description": "Name of the profile. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + }, + "description": { + "description": "Description of the profile. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset, the description will be empty.", + "type": "string" + }, + "desired_state": { + "description": "Defines the desired state. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1DesiredState" + } + }, + "required": [ + "name", + "desired_state" + ] + }, + "ApplianceVcenterSettingsV1ConfigInfo": { + "type": "object", + "properties": { + "profile": { + "description": "The identifier of the profile. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.vcenter.settings.v1.config.profile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.vcenter.settings.v1.config.profile.", + "type": "string" + }, + "version": { + "description": "Version of the profile. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.vcenter.settings.v1.config.version. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.vcenter.settings.v1.config.version.", + "type": "string" + }, + "name": { + "description": "Name of the profile. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + }, + "creation_time": { + "description": "Creation time of the profile. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string", + "format": "date-time" + }, + "owner": { + "description": "Owner of the profile, the one who created. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "type": "string" + }, + "description": { + "description": "Custom description provided by the user. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset description will be empty.", + "type": "string" + }, + "desired_state": { + "description": "The desired state. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1DesiredState" + } + }, + "required": [ + "profile", + "version", + "name", + "creation_time", + "owner", + "desired_state" + ] + }, + "ApplianceVcenterSettingsV1ConfigScanDesiredStateTask": { + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigScanSpec", + "description": "" + }, + "ApplianceVcenterSettingsV1ConfigScanSpec": { + "type": "object", + "properties": { + "message": { + "description": "Message for the scan. This may act as an identification for the scan operation. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset, the message will be empty.", + "type": "string" + }, + "desired_state": { + "description": "Defines the desired state. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1DesiredState" + } + }, + "required": [ + "desired_state" + ] + }, + "ApplianceVcenterSettingsV1DesiredState": { + "type": "object", + "properties": { + "appliance": { + "description": "Appliance Management component desired spec. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsApplmgmtApplianceManagement" + }, + "authmgmt": { + "description": "Authentication Management component desired spec. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsAuthmanagementAuthenticationManagement" + }, + "inventory": { + "description": "Inventory Configurations. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryInventoryManagement" + }, + "vsphereuiconfiguration": { + "description": "Clientcapabilities Configurations. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsVsphereuiconfigurationVsphereUIConfiguration" + }, + "invtauthmgmt": { + "description": "Inventory Authorization. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsInventoryauthorizationInventoryAuthorization" + }, + "managementcluster": { + "description": "Management Cluster Configurations. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nThis field is optional because it was added in a newer version than its parent node.", + "$ref": "#/components/schemas/ApplianceVcenterSettingsV1ConfigComponentsManagementclusterManagementCluster" + } + } + }, + "VapiStdErrorsAlreadyExists": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsError": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsErrorType": { + "type": "string", + "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.", + "enum": [ + "ERROR", + "ALREADY_EXISTS", + "ALREADY_IN_DESIRED_STATE", + "CANCELED", + "CONCURRENT_CHANGE", + "FEATURE_IN_USE", + "INTERNAL_SERVER_ERROR", + "INVALID_ARGUMENT", + "INVALID_ELEMENT_CONFIGURATION", + "INVALID_ELEMENT_TYPE", + "INVALID_REQUEST", + "NOT_ALLOWED_IN_CURRENT_STATE", + "NOT_FOUND", + "OPERATION_NOT_FOUND", + "RESOURCE_BUSY", + "RESOURCE_IN_USE", + "RESOURCE_INACCESSIBLE", + "SERVICE_UNAVAILABLE", + "TIMED_OUT", + "UNABLE_TO_ALLOCATE_RESOURCE", + "UNAUTHENTICATED", + "UNAUTHORIZED", + "UNEXPECTED_INPUT", + "UNSUPPORTED", + "UNVERIFIED_PEER" + ] + }, + "VapiStdErrorsInvalidArgument": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsNotAllowedInCurrentState": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsNotFound": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsServiceUnavailable": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsUnauthenticated": { + "type": "object", + "properties": { + "challenge": { + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.
For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"", + "type": "string" + }, + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdLocalizableMessage": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "default_message": { + "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.", + "type": "string" + }, + "args": { + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "params": { + "description": "Named arguments to be substituted into the message template.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/VapiStdLocalizationParam" + } + }, + "localized": { + "description": "Localized string value as per request requirements.", + "type": "string" + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "VapiStdLocalizationParam": { + "type": "object", + "properties": { + "s": { + "description": "{@term String} value associated with the parameter.", + "type": "string" + }, + "dt": { + "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.", + "type": "string", + "format": "date-time" + }, + "i": { + "description": "{@term long} value associated with the parameter.", + "type": "integer", + "format": "int64" + }, + "d": { + "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.", + "type": "number", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.", + "$ref": "#/components/schemas/VapiStdNestedLocalizableMessage" + }, + "format": { + "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.", + "$ref": "#/components/schemas/VapiStdLocalizationParamDateTimeFormat" + }, + "precision": { + "description": "Number of fractional digits to include in formatted {@term double} value.", + "type": "integer", + "format": "int64" + } + } + }, + "VapiStdLocalizationParamDateTimeFormat": { + "type": "string", + "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.", + "enum": [ + "SHORT_DATE", + "MED_DATE", + "LONG_DATE", + "FULL_DATE", + "SHORT_TIME", + "MED_TIME", + "LONG_TIME", + "FULL_TIME", + "SHORT_DATE_TIME", + "MED_DATE_TIME", + "LONG_DATE_TIME", + "FULL_DATE_TIME" + ] + }, + "VapiStdNestedLocalizableMessage": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "params": { + "description": "Named Arguments to be substituted into the message template.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/VapiStdLocalizationParam" + } + } + }, + "required": [ + "id" + ] + }, + "appliance.access.consolecli_resp": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "appliance.access.consolecli_set": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Console-based controlled CLI is enabled." + } + } + }, + "appliance.access.dcui_resp": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "appliance.access.dcui_set": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "DCUI is enabled." + } + } + }, + "appliance.access.shell.shell_config": { + "type": "object", + "properties": { + "enabled": { + "description": "Enabled can be set to true or false", + "type": "boolean" + }, + "timeout": { + "description": "The timeout (in seconds) specifies how long you enable the Shell access. The maximum timeout is 86400 seconds(1 day).", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "enabled", + "timeout" + ] + }, + "appliance.access.shell_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.access.shell.shell_config" + } + }, + "required": [ + "value" + ] + }, + "appliance.access.shell_set": { + "type": "object", + "properties": { + "config": { + "$ref": "#/components/schemas/appliance.access.shell.shell_config", + "description": "Shell configuration" + } + } + }, + "appliance.access.ssh_resp": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "appliance.access.ssh_set": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "SSH-based controlled CLI is enabled." + } + } + }, + "appliance.health.applmgmt_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "appliance.health.database.info": { + "type": "object", + "properties": { + "status": { + "description": "Database health status", + "$ref": "#/components/schemas/appliance.health.database.info.status" + }, + "messages": { + "description": "Messages describing any issues with the database, along with their severity.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.health.database.message" + } + } + }, + "required": [ + "status", + "messages" + ] + }, + "appliance.health.database.info.status": { + "type": "string", + "description": "The Database.Info.Status enumerated type describes the health of the database.", + "enum": [ + "UNHEALTHY", + "DEGRADED", + "HEALTHY" + ] + }, + "appliance.health.database.message": { + "type": "object", + "properties": { + "severity": { + "description": "Severity of the message.", + "$ref": "#/components/schemas/appliance.health.database.message.severity" + }, + "message": { + "description": "Message describing the issue with the database.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "severity", + "message" + ] + }, + "appliance.health.database.message.severity": { + "type": "string", + "description": "The MessageSeverity enumerated type defines the levels of severity for a message.", + "enum": [ + "ERROR", + "WARNING" + ] + }, + "appliance.health.database_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.health.database.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.health.databasestorage.health_level": { + "type": "string", + "description": "Databasestorage.HealthLevel enumerated type Defines service health levels.", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "appliance.health.databasestorage_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.health.databasestorage.health_level" + } + }, + "required": [ + "value" + ] + }, + "appliance.health.load.health_level": { + "type": "string", + "description": "Load.HealthLevel enumerated type Defines health levels.", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "appliance.health.load_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.health.load.health_level" + } + }, + "required": [ + "value" + ] + }, + "appliance.health.mem.health_level": { + "type": "string", + "description": "Mem.HealthLevel enumerated type Defines health levels.", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "appliance.health.mem_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.health.mem.health_level" + } + }, + "required": [ + "value" + ] + }, + "appliance.health.messages_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.notification" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.health.softwarepackages.health_level": { + "type": "string", + "description": "Softwarepackages.HealthLevel enumerated type Defines health levels.", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "appliance.health.softwarepackages_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.health.softwarepackages.health_level" + } + }, + "required": [ + "value" + ] + }, + "appliance.health.storage.health_level": { + "type": "string", + "description": "Storage.HealthLevel enumerated type Defines health levels.", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "appliance.health.storage_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.health.storage.health_level" + } + }, + "required": [ + "value" + ] + }, + "appliance.health.swap.health_level": { + "type": "string", + "description": "Swap.HealthLevel enumerated type Defines health levels.", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "appliance.health.swap_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.health.swap.health_level" + } + }, + "required": [ + "value" + ] + }, + "appliance.health.system.health_level": { + "type": "string", + "description": "System.HealthLevel enumerated type Defines health levels.", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "appliance.health.system.lastcheck_resp": { + "type": "object", + "properties": { + "value": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "value" + ] + }, + "appliance.health.system_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.health.system.health_level" + } + }, + "required": [ + "value" + ] + }, + "appliance.health_check_settings.setting_spec": { + "type": "object", + "properties": { + "db_health_check_state_manual_backup": { + "description": "Health check state of database during manual backup with this option set, the health status of the particular health check will be reported", + "type": "boolean" + }, + "db_health_check_state_scheduled_backup": { + "description": "Health check state of database during schedule backup with this option set, the health status of the particular health check will be reported", + "type": "boolean" + } + }, + "required": [ + "db_health_check_state_manual_backup", + "db_health_check_state_scheduled_backup" + ] + }, + "appliance.health_check_settings.update_spec": { + "type": "object", + "properties": { + "db_health_check_state_manual_backup": { + "description": "Health check state of database during manual backup with this option set, the health status of the particular health check will be enabled\nIf unset the current state will remain unchanged.", + "type": "boolean" + }, + "db_health_check_state_scheduled_backup": { + "description": "Health check state of database during schedule backup with this option set, the health status of the particular health check will be enabled\nIf unset the current state will remain unchanged.", + "type": "boolean" + } + } + }, + "appliance.health_check_settings_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.health_check_settings.setting_spec" + } + }, + "required": [ + "value" + ] + }, + "appliance.health_check_settings_update": { + "type": "object", + "properties": { + "health_settings": { + "$ref": "#/components/schemas/appliance.health_check_settings.update_spec", + "description": "" + } + } + }, + "appliance.local_accounts.config": { + "type": "object", + "properties": { + "password": { + "description": "Password", + "type": "string", + "format": "password" + }, + "old_password": { + "description": "Old password of the user (required in case of the password change, not required if superAdmin user changes the password of the other user)\nIf unset, user may not have password set.", + "type": "string", + "format": "password" + }, + "full_name": { + "description": "Full name of the user\nIf unset, user will have no fullname.", + "type": "string" + }, + "email": { + "description": "Email address of the local account\nIf unset, user will have no email.", + "type": "string" + }, + "roles": { + "description": "User roles\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: appliance.roles. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: appliance.roles.", + "type": "array", + "items": { + "type": "string" + } + }, + "enabled": { + "description": "Flag indicating if the account is enabled\nIf unset, defaults to True", + "type": "boolean" + }, + "password_expires": { + "description": "Flag indicating if the account password expires\nIf unset, defaults to True.", + "type": "boolean" + }, + "password_expires_at": { + "description": "Date when the account's password will expire\nIf unset, will be taken from system defaults (see local-accounts/policy).", + "type": "string", + "format": "date-time" + }, + "inactive_after_password_expiration": { + "description": "Flag indicating if the account will be locked after password expiration\nIf unset, defaults to True.", + "type": "boolean" + }, + "days_after_password_expiration": { + "description": "Number of days after password expiration before the account will be locked\nIf unset, will be taken from system defaults (see local-accounts/policy).", + "type": "integer", + "format": "int64" + }, + "min_days_between_password_change": { + "description": "Minimum number of days between password change\nIf unset, will be taken from system defaults (see local-accounts/policy).", + "type": "integer", + "format": "int64" + }, + "max_days_between_password_change": { + "description": "Maximum number of days between password change\nIf unset, will be taken from system defaults (see local-accounts/policy).", + "type": "integer", + "format": "int64" + }, + "warn_days_before_password_expiration": { + "description": "Number of days of warning before password expires\nIf unset, will be taken from system defaults (see local-accounts/policy).", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "password", + "roles" + ] + }, + "appliance.local_accounts.info": { + "type": "object", + "properties": { + "fullname": { + "description": "Full name of the user\nIf unset, the value was never set.", + "type": "string" + }, + "email": { + "description": "Email address of the local account\nIf unset, the value was never set.", + "type": "string" + }, + "roles": { + "description": "User roles\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: appliance.roles. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: appliance.roles.", + "type": "array", + "items": { + "type": "string" + } + }, + "enabled": { + "description": "Flag indicating if the account is enabled", + "type": "boolean" + }, + "has_password": { + "description": "Is the user password set.", + "type": "boolean" + }, + "last_password_change": { + "description": "Date and time password was changed.\nIf unset, the password was never set.", + "type": "string", + "format": "date-time" + }, + "password_expires_at": { + "description": "Date when the account's password will expire\nIf unset, the password never expires.", + "type": "string", + "format": "date-time" + }, + "inactive_at": { + "description": "Date and time account will be locked after password expiration.\nIf unset, account will not be locked.", + "type": "string", + "format": "date-time" + }, + "min_days_between_password_change": { + "description": "Minimum number of days between password change\nIf unset, pasword can be changed any time.", + "type": "integer", + "format": "int64" + }, + "max_days_between_password_change": { + "description": "Maximum number of days between password change\nIf unset, password never expires.", + "type": "integer", + "format": "int64" + }, + "warn_days_before_password_expiration": { + "description": "Number of days of warning before password expires\nIf unset, a user is never warned.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "roles", + "enabled", + "has_password" + ] + }, + "appliance.local_accounts.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.local_accounts.policy.info": { + "type": "object", + "properties": { + "max_days": { + "description": "Maximum number of days a password may be used. If the password is older than this, a password change will be forced.\nIf unset then the restriction will be ignored.", + "type": "integer", + "format": "int64" + }, + "min_days": { + "description": "Minimum number of days allowed between password changes. Any password changes attempted sooner than this will be rejected.\nIf unset then the restriction will be ignored.", + "type": "integer", + "format": "int64" + }, + "warn_days": { + "description": "Number of days warning given before a password expires. A zero means warning is given only upon the day of expiration.\nIf unset then no warning will be provided.", + "type": "integer", + "format": "int64" + } + } + }, + "appliance.local_accounts.policy_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.local_accounts.policy.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.local_accounts.policy_set": { + "type": "object", + "properties": { + "policy": { + "$ref": "#/components/schemas/appliance.local_accounts.policy.info", + "description": "Global password policy" + } + } + }, + "appliance.local_accounts.update_config": { + "type": "object", + "properties": { + "password": { + "description": "Password\nIf unset, value will not be changed", + "type": "string", + "format": "password" + }, + "old_password": { + "description": "Old password of the user (required in case of the password change, not required if superAdmin user changes the password of the other user)\nIf unset, user may not have password set.", + "type": "string", + "format": "password" + }, + "full_name": { + "description": "Full name of the user\nIf unset, value will not be changed", + "type": "string" + }, + "email": { + "description": "Email address of the local account\nIf unset, value will not be changed", + "type": "string" + }, + "roles": { + "description": "User roles\nIf unset, value will not be changed\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: appliance.roles. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: appliance.roles.", + "type": "array", + "items": { + "type": "string" + } + }, + "enabled": { + "description": "Flag indicating if the account is enabled\nIf unset, value will not be changed", + "type": "boolean" + }, + "password_expires": { + "description": "Flag indicating if the account password expires\nIf unset, value will not be changed", + "type": "boolean" + }, + "password_expires_at": { + "description": "Date when the account's password will expire\nIf unset, value will not be changed", + "type": "string", + "format": "date-time" + }, + "inactive_after_password_expiration": { + "description": "Flag indicating if the account will be locked after password expiration\nIf unset, value will not be changed", + "type": "boolean" + }, + "days_after_password_expiration": { + "description": "Number of days after password expiration before the account will be locked\nIf unset, value will not be changed", + "type": "integer", + "format": "int64" + }, + "min_days_between_password_change": { + "description": "Minimum number of days between password change\nIf unset, value will not be changed", + "type": "integer", + "format": "int64" + }, + "max_days_between_password_change": { + "description": "Maximum number of days between password change\nIf unset, value will not be changed", + "type": "integer", + "format": "int64" + }, + "warn_days_before_password_expiration": { + "description": "Number of days of warning before password expires\nIf unset, value will not be changed", + "type": "integer", + "format": "int64" + } + } + }, + "appliance.local_accounts_create": { + "type": "object", + "properties": { + "config": { + "$ref": "#/components/schemas/appliance.local_accounts.config", + "description": "User configuration" + } + } + }, + "appliance.local_accounts_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.local_accounts.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.local_accounts_set": { + "type": "object", + "properties": { + "config": { + "$ref": "#/components/schemas/appliance.local_accounts.config", + "description": "User configuration" + } + } + }, + "appliance.local_accounts_update": { + "type": "object", + "properties": { + "config": { + "$ref": "#/components/schemas/appliance.local_accounts.update_config", + "description": "User configuration" + } + } + }, + "appliance.logging.forwarding.config": { + "type": "object", + "properties": { + "hostname": { + "description": "FQDN or IP address of the logging server to which messages are forwarded.", + "type": "string" + }, + "port": { + "description": "The port on which the remote logging server is listening for forwarded log messages.", + "type": "integer", + "format": "int64" + }, + "protocol": { + "description": "Transport protocol used to forward log messages.", + "$ref": "#/components/schemas/appliance.logging.forwarding.protocol" + } + }, + "required": [ + "hostname", + "port", + "protocol" + ] + }, + "appliance.logging.forwarding.connection_status": { + "type": "object", + "properties": { + "hostname": { + "description": "FQDN or IP address of the configured remote logging servers.", + "type": "string" + }, + "state": { + "description": "State of the configured remote logging server.", + "$ref": "#/components/schemas/appliance.logging.forwarding.connection_status.state" + }, + "message": { + "description": "Message associated with the state of the configured remote logging server.\nIf unset, there is no message to be shown.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "hostname", + "state" + ] + }, + "appliance.logging.forwarding.connection_status.state": { + "type": "string", + "description": "The Forwarding.ConnectionStatus.State enumerated type defines the state values that a remote logging server can be in.", + "enum": [ + "UP", + "DOWN", + "UNKNOWN" + ] + }, + "appliance.logging.forwarding.protocol": { + "type": "string", + "description": "The Forwarding.Protocol enumerated type defines transport protocols for outbound log messages.", + "enum": [ + "TLS", + "UDP", + "TCP" + ] + }, + "appliance.logging.forwarding.test_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.logging.forwarding.connection_status" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.logging.forwarding_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.logging.forwarding.config" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.logging.forwarding_set": { + "type": "object", + "properties": { + "cfg_list": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.logging.forwarding.config" + }, + "description": "The cfgList is a list of Config structure that contains the log message forwarding rules in terms of the host, port, protocol of the log message." + } + } + }, + "appliance.logging.forwarding_test": { + "type": "object", + "properties": { + "send_test_message": { + "type": "boolean", + "description": "Flag specifying whether a default test message should be sent to the configured logging servers.\nIf unset, no test message will be sent to the configured remote logging servers." + } + } + }, + "appliance.monitoring.function_type": { + "type": "string", + "description": "Monitoring.FunctionType enumerated type Defines aggregation function", + "enum": [ + "COUNT", + "MAX", + "AVG", + "MIN" + ] + }, + "appliance.monitoring.interval_type": { + "type": "string", + "description": "Monitoring.IntervalType enumerated type Defines interval between the values in hours and mins, for which aggregation will apply", + "enum": [ + "MINUTES30", + "HOURS2", + "MINUTES5", + "DAY1", + "HOURS6" + ] + }, + "appliance.monitoring.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.monitoring.monitored_item" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.monitoring.monitored_item": { + "type": "object", + "properties": { + "id": { + "description": "monitored item ID Ex: CPU, MEMORY\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.monitoring. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.monitoring.", + "type": "string" + }, + "name": { + "description": "monitored item name Ex: \"Network write speed\"", + "type": "string" + }, + "units": { + "description": "Y-axis label EX: \"Mbps\", \"%\"", + "type": "string" + }, + "category": { + "description": "category Ex: network, storage etc", + "type": "string" + }, + "instance": { + "description": "instance name Ex: eth0", + "type": "string" + }, + "description": { + "description": "monitored item description Ex: applmgmt.mon.descr.net.rx.packetRate.eth0", + "type": "string" + } + }, + "required": [ + "id", + "name", + "units", + "category", + "instance", + "description" + ] + }, + "appliance.monitoring.monitored_item_data": { + "type": "object", + "properties": { + "name": { + "description": "Monitored item IDs Ex: CPU, MEMORY, STORAGE_TOTAL\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.monitoring. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.monitoring.", + "type": "string" + }, + "interval": { + "description": "interval between values in hours, minutes", + "$ref": "#/components/schemas/appliance.monitoring.interval_type" + }, + "function": { + "description": "aggregation function", + "$ref": "#/components/schemas/appliance.monitoring.function_type" + }, + "start_time": { + "description": "Start time in UTC", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "End time in UTC", + "type": "string", + "format": "date-time" + }, + "data": { + "description": "list of values", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "name", + "interval", + "function", + "start_time", + "end_time", + "data" + ] + }, + "appliance.monitoring.monitored_item_data_request": { + "type": "object", + "properties": { + "names": { + "description": "monitored item IDs Ex: CPU, MEMORY\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: appliance.monitoring. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: appliance.monitoring.", + "type": "array", + "items": { + "type": "string" + } + }, + "interval": { + "description": "interval between values in hours, minutes", + "$ref": "#/components/schemas/appliance.monitoring.interval_type" + }, + "function": { + "description": "aggregation function", + "$ref": "#/components/schemas/appliance.monitoring.function_type" + }, + "start_time": { + "description": "Start time in UTC", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "End time in UTC", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "names", + "interval", + "function", + "start_time", + "end_time" + ] + }, + "appliance.monitoring.query_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.monitoring.monitored_item_data" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.monitoring_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.monitoring.monitored_item" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.DNS_info": { + "type": "object", + "properties": { + "mode": { + "description": "DNS mode.", + "$ref": "#/components/schemas/appliance.networking.DNS_info.DNS_mode" + }, + "hostname": { + "description": "Hostname.", + "type": "string" + }, + "servers": { + "description": "Servers.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "mode", + "hostname", + "servers" + ] + }, + "appliance.networking.DNS_info.DNS_mode": { + "type": "string", + "description": "The Networking.DnsInfo.DnsMode enumerated type describes the source of DNS servers.", + "enum": [ + "DHCP", + "STATIC" + ] + }, + "appliance.networking.change_spec": { + "type": "object", + "properties": { + "hostname": { + "description": "New hostname to assign to the management network of vCenter appliance", + "type": "string" + }, + "SSO_user": { + "description": "vCenter Server SSO administrator username", + "type": "string" + }, + "SSO_password": { + "description": "vCenter Server SSO administrator Password", + "type": "string", + "format": "password" + }, + "dns": { + "description": "DNS Configuration to set for the machine\nIf unset DNS settings will not be changed", + "$ref": "#/components/schemas/appliance.networking.dns.servers.DNS_server_config" + }, + "ipv4": { + "description": "IPv4 Configuration to set for the machine\nIf unset IPv4 settings will not be changed", + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv4.config" + }, + "ipv6": { + "description": "IPv6 Configuration to set for the machine\nIf unset IPv6 settings will not be changed", + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv6.config" + } + }, + "required": [ + "hostname", + "SSO_user", + "SSO_password" + ] + }, + "appliance.networking.change_task_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.dns.domains.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.dns.domains_add": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "Domain to add." + } + } + }, + "appliance.networking.dns.domains_set": { + "type": "object", + "properties": { + "domains": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of domains." + } + } + }, + "appliance.networking.dns.hostname.message": { + "type": "object", + "properties": { + "message": { + "description": "message", + "type": "string" + }, + "result": { + "description": "result of the test", + "$ref": "#/components/schemas/appliance.networking.dns.hostname.message_status" + } + }, + "required": [ + "message", + "result" + ] + }, + "appliance.networking.dns.hostname.message_status": { + "type": "string", + "description": "Hostname.MessageStatus enumerated type Individual test result", + "enum": [ + "failure", + "success" + ] + }, + "appliance.networking.dns.hostname.test_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.networking.dns.hostname.test_status_info" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.dns.hostname.test_status": { + "type": "string", + "description": "Hostname.TestStatus enumerated type Health indicator", + "enum": [ + "orange", + "green", + "red" + ] + }, + "appliance.networking.dns.hostname.test_status_info": { + "type": "object", + "properties": { + "status": { + "description": "Overall status of tests run.", + "$ref": "#/components/schemas/appliance.networking.dns.hostname.test_status" + }, + "messages": { + "description": "messages", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.networking.dns.hostname.message" + } + } + }, + "required": [ + "status", + "messages" + ] + }, + "appliance.networking.dns.hostname_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.dns.hostname_set": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "FQDN." + } + } + }, + "appliance.networking.dns.hostname_test": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "FQDN." + } + } + }, + "appliance.networking.dns.servers.DNS_server_config": { + "type": "object", + "properties": { + "mode": { + "description": "Define how to determine the DNS servers. Leave the servers argument empty if the mode argument is \"DHCP\". Set the servers argument to a comma-separated list of DNS servers if the mode argument is \"static\". The DNS server are assigned from the specified list.", + "$ref": "#/components/schemas/appliance.networking.dns.servers.DNS_server_mode" + }, + "servers": { + "description": "List of the currently used DNS servers.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "mode", + "servers" + ] + }, + "appliance.networking.dns.servers.DNS_server_mode": { + "type": "string", + "description": "Servers.DNSServerMode enumerated type Describes DNS Server source (DHCP,static)", + "enum": [ + "dhcp", + "is_static" + ] + }, + "appliance.networking.dns.servers.message": { + "type": "object", + "properties": { + "message": { + "description": "message", + "type": "string" + }, + "result": { + "description": "result of the test", + "$ref": "#/components/schemas/appliance.networking.dns.servers.message_status" + } + }, + "required": [ + "message", + "result" + ] + }, + "appliance.networking.dns.servers.message_status": { + "type": "string", + "description": "Servers.MessageStatus enumerated type Individual test result", + "enum": [ + "failure", + "success" + ] + }, + "appliance.networking.dns.servers.test_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.networking.dns.servers.test_status_info" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.dns.servers.test_status": { + "type": "string", + "description": "Servers.TestStatus enumerated type Health indicator", + "enum": [ + "orange", + "green", + "red" + ] + }, + "appliance.networking.dns.servers.test_status_info": { + "type": "object", + "properties": { + "status": { + "description": "Overall status of tests run.", + "$ref": "#/components/schemas/appliance.networking.dns.servers.test_status" + }, + "messages": { + "description": "messages", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.networking.dns.servers.message" + } + } + }, + "required": [ + "status", + "messages" + ] + }, + "appliance.networking.dns.servers_add": { + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "DNS server." + } + } + }, + "appliance.networking.dns.servers_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.networking.dns.servers.DNS_server_config" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.dns.servers_set": { + "type": "object", + "properties": { + "config": { + "$ref": "#/components/schemas/appliance.networking.dns.servers.DNS_server_config", + "description": "DNS server configuration." + } + } + }, + "appliance.networking.dns.servers_test": { + "type": "object", + "properties": { + "servers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "DNS servers." + } + } + }, + "appliance.networking.firewall.inbound.policy": { + "type": "string", + "description": "Inbound.Policy enumerated type Defines firewall rule policies.", + "enum": [ + "IGNORE", + "ACCEPT", + "REJECT", + "RETURN" + ] + }, + "appliance.networking.firewall.inbound.rule": { + "type": "object", + "properties": { + "address": { + "description": "IPv4 or IPv6 address.", + "type": "string" + }, + "prefix": { + "description": "CIDR prefix used to mask address. For example, an IPv4 prefix of 24 ignores the low-order 8 bits of address.", + "type": "integer", + "format": "int64" + }, + "policy": { + "description": "The allow or deny policy of this rule.", + "$ref": "#/components/schemas/appliance.networking.firewall.inbound.policy" + }, + "interface_name": { + "description": "The interface to which this rule applies. An empty string indicates that the rule applies to all interfaces.", + "type": "string" + } + }, + "required": [ + "address", + "prefix", + "policy" + ] + }, + "appliance.networking.firewall.inbound_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.networking.firewall.inbound.rule" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.firewall.inbound_set": { + "type": "object", + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.networking.firewall.inbound.rule" + }, + "description": "List of address-based firewall rules." + } + } + }, + "appliance.networking.info": { + "type": "object", + "properties": { + "dns": { + "description": "DNS configuration.", + "$ref": "#/components/schemas/appliance.networking.DNS_info" + }, + "interfaces": { + "description": "Interface configuration as a key-value map where key is a network interface name, for example, \"nic0\".\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: appliance.networking.interfaces. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: appliance.networking.interfaces.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/appliance.networking.interfaces.interface_info" + } + } + } + } + }, + "required": [ + "dns", + "interfaces" + ] + }, + "appliance.networking.interfaces.interface_info": { + "type": "object", + "properties": { + "name": { + "description": "Interface name, for example, \"nic0\", \"nic1\".", + "type": "string" + }, + "status": { + "description": "Interface status.", + "$ref": "#/components/schemas/appliance.networking.interfaces.interface_status" + }, + "mac": { + "description": "MAC address. For example 00:0C:29:94:BB:5A.", + "type": "string" + }, + "ipv4": { + "description": "IPv4 Address information.\nipv4 This field will be unset if IPv4 is not enabled.", + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv4.info" + }, + "ipv6": { + "description": "IPv6 Address information.\nipv6 This field will be unset if IPv6 is not enabled.", + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv6.info" + } + }, + "required": [ + "name", + "status", + "mac" + ] + }, + "appliance.networking.interfaces.interface_status": { + "type": "string", + "description": "Interfaces.InterfaceStatus enumerated type Defines interface status", + "enum": [ + "down", + "up" + ] + }, + "appliance.networking.interfaces.ipv4.config": { + "type": "object", + "properties": { + "mode": { + "description": "The Address assignment mode.", + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv4.mode" + }, + "address": { + "description": "The IPv4 address, for example, \"10.20.80.191\".\nThis field is optional and it is only relevant when the value of Ipv4.Config.mode is STATIC.", + "type": "string" + }, + "prefix": { + "description": "The IPv4 CIDR prefix, for example, 24. See http://www.oav.net/mirrors/cidr.html for netmask-to-prefix conversion.\nThis field is optional and it is only relevant when the value of Ipv4.Config.mode is STATIC.", + "type": "integer", + "format": "int64" + }, + "default_gateway": { + "description": "The IPv4 address of the default gateway. This configures the global default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.\nIf unset, the defaultGateway was never set.", + "type": "string" + } + }, + "required": [ + "mode" + ] + }, + "appliance.networking.interfaces.ipv4.info": { + "type": "object", + "properties": { + "configurable": { + "description": "The specified network interface is configurable or not.", + "type": "boolean" + }, + "mode": { + "description": "The Address assignment mode.", + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv4.mode" + }, + "address": { + "description": "The IPv4 address, for example, \"10.20.80.191\".\nThis field is optional and it is only relevant when the value of Ipv4.Info.mode is one of STATIC or DHCP.", + "type": "string" + }, + "prefix": { + "description": "The IPv4 CIDR prefix, for example, 24. See http://www.oav.net/mirrors/cidr.html for netmask-to-prefix conversion.\nThis field is optional and it is only relevant when the value of Ipv4.Info.mode is one of STATIC or DHCP.", + "type": "integer", + "format": "int64" + }, + "default_gateway": { + "description": "The IPv4 address of the default gateway. This configures the global default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.\nThis field is optional and it is only relevant when the value of Ipv4.Info.mode is one of STATIC or DHCP.", + "type": "string" + } + }, + "required": [ + "configurable", + "mode" + ] + }, + "appliance.networking.interfaces.ipv4.mode": { + "type": "string", + "description": "The Ipv4.Mode enumerated type defines different IPv4 address assignment modes.", + "enum": [ + "DHCP", + "STATIC", + "UNCONFIGURED" + ] + }, + "appliance.networking.interfaces.ipv4_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv4.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.interfaces.ipv4_set": { + "type": "object", + "properties": { + "config": { + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv4.config", + "description": "The IPv4 Network configuration to set." + } + } + }, + "appliance.networking.interfaces.ipv6.address": { + "type": "object", + "properties": { + "address": { + "description": "The IPv6 address, for example, fc00:10:20:83:20c:29ff:fe94:bb5a.", + "type": "string" + }, + "prefix": { + "description": "The IPv6 CIDR prefix, for example, 64.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "address", + "prefix" + ] + }, + "appliance.networking.interfaces.ipv6.address_info": { + "type": "object", + "properties": { + "origin": { + "description": "The Origin of the IPv6 address. For more information, see RFC 4293.", + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv6.origin" + }, + "status": { + "description": "The Status of the IPv6 address. For more information, see RFC 4293.", + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv6.status" + }, + "address": { + "description": "The IPv6 address, for example, fc00:10:20:83:20c:29ff:fe94:bb5a.", + "type": "string" + }, + "prefix": { + "description": "The IPv6 CIDR prefix, for example, 64.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "origin", + "status", + "address", + "prefix" + ] + }, + "appliance.networking.interfaces.ipv6.config": { + "type": "object", + "properties": { + "dhcp": { + "description": "An address will be assigned by a DHCP server.", + "type": "boolean" + }, + "autoconf": { + "description": "An address will be assigned by Stateless Address Autoconfiguration (SLAAC).", + "type": "boolean" + }, + "addresses": { + "description": "The list of addresses to be statically assigned.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv6.address" + } + }, + "default_gateway": { + "description": "The default gateway for static IP address assignment. This configures the global IPv6 default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.", + "type": "string" + } + }, + "required": [ + "dhcp", + "autoconf", + "addresses", + "default_gateway" + ] + }, + "appliance.networking.interfaces.ipv6.info": { + "type": "object", + "properties": { + "dhcp": { + "description": "DHCP is on.", + "type": "boolean" + }, + "autoconf": { + "description": "Stateless Address Autoconfiguration (SLAAC) is on.", + "type": "boolean" + }, + "addresses": { + "description": "List of addresses with their origins and statuses.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv6.address_info" + } + }, + "default_gateway": { + "description": "The default gateway for static IP address assignment. This configures the global IPv6 default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.", + "type": "string" + }, + "configurable": { + "description": "Is NIC configurable or not.", + "type": "boolean" + } + }, + "required": [ + "dhcp", + "autoconf", + "addresses", + "default_gateway", + "configurable" + ] + }, + "appliance.networking.interfaces.ipv6.origin": { + "type": "string", + "description": "The Ipv6.Origin enumerated type defines IPv6 address origin values.", + "enum": [ + "DHCP", + "RANDOM", + "MANUAL", + "LINKLAYER", + "OTHER" + ] + }, + "appliance.networking.interfaces.ipv6.status": { + "type": "string", + "description": "The Ipv6.Status enumerated type defines IPv6 address status values. See RFC 4293.", + "enum": [ + "TENTATIVE", + "UNKNOWN", + "INACCESSIBLE", + "INVALID", + "DUPLICATE", + "PREFERRED", + "DEPRECATED", + "OPTIMISTIC" + ] + }, + "appliance.networking.interfaces.ipv6_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv6.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.interfaces.ipv6_set": { + "type": "object", + "properties": { + "config": { + "$ref": "#/components/schemas/appliance.networking.interfaces.ipv6.config", + "description": "The IPv6 configuration." + } + } + }, + "appliance.networking.interfaces.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.networking.interfaces.interface_info" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.interfaces_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.networking.interfaces.interface_info" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.no_proxy_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.no_proxy_set": { + "type": "object", + "properties": { + "servers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of strings representing servers to bypass proxy. A server can be a FQDN, IP address, FQDN:port or IP:port combinations." + } + } + }, + "appliance.networking.proxy.config": { + "type": "object", + "properties": { + "server": { + "description": "URL of the proxy server", + "type": "string" + }, + "port": { + "description": "Port to connect to the proxy server. In a 'get' call, indicates the port connected to the proxy server. In a 'set' call, specifies the port to connect to the proxy server. A value of -1 indicates the default port.", + "type": "integer", + "format": "int64" + }, + "username": { + "description": "Username for proxy server.\nOnly set if proxy requires username.", + "type": "string" + }, + "password": { + "description": "Password for proxy server.\nOnly set if proxy requires password.", + "type": "string", + "format": "password" + }, + "enabled": { + "description": "In the result of the #get and #list operations this field indicates whether proxying is enabled for a particular protocol. In the input to the test and set operations this field specifies whether proxying should be enabled for a particular protocol.", + "type": "boolean" + } + }, + "required": [ + "server", + "port", + "enabled" + ] + }, + "appliance.networking.proxy.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "$ref": "#/components/schemas/appliance.networking.proxy.protocol" + }, + "value": { + "$ref": "#/components/schemas/appliance.networking.proxy.config" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.proxy.protocol": { + "type": "string", + "description": "Proxy.Protocol enumerated type defines the protocols for which proxying is supported.", + "enum": [ + "HTTP", + "HTTPS", + "FTP" + ] + }, + "appliance.networking.proxy.server_status": { + "type": "string", + "description": "Proxy.ServerStatus enumerated type defines the status of the server associated with the test run.", + "enum": [ + "SERVER_REACHABLE", + "SERVER_UNREACHABLE" + ] + }, + "appliance.networking.proxy.test_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.networking.proxy.test_result" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.proxy.test_result": { + "type": "object", + "properties": { + "status": { + "description": "Status of the proxy server indicating whether the proxy server is reachable.", + "$ref": "#/components/schemas/appliance.networking.proxy.server_status" + }, + "message": { + "description": "Message associated with status.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "status", + "message" + ] + }, + "appliance.networking.proxy_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.networking.proxy.config" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking.proxy_set": { + "type": "object", + "properties": { + "config": { + "$ref": "#/components/schemas/appliance.networking.proxy.config", + "description": "Proxy configuration for the specific protocol." + } + } + }, + "appliance.networking.proxy_test": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "A hostname, IPv4 or Ipv6 address." + }, + "config": { + "$ref": "#/components/schemas/appliance.networking.proxy.config", + "description": "Proxy configuration to test." + } + } + }, + "appliance.networking.update_spec": { + "type": "object", + "properties": { + "ipv6_enabled": { + "description": "IPv6 Enabled or not\nIf unspecified, leaves the current state of Ipv6.", + "type": "boolean" + } + } + }, + "appliance.networking_change_task": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/appliance.networking.change_spec", + "description": "Information required to change the hostname." + } + } + }, + "appliance.networking_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.networking.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.networking_update": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/appliance.networking.update_spec", + "description": "update spec with optional boolean value" + } + } + }, + "appliance.notification": { + "type": "object", + "properties": { + "id": { + "description": "The notification id.", + "type": "string" + }, + "time": { + "description": "The time the notification was raised/found.\nOnly if the time information is available.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "The notification message.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "resolution": { + "description": "The resolution message, if any.\nOnly set for warnings and errors.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "id", + "message" + ] + }, + "appliance.notifications": { + "type": "object", + "properties": { + "info": { + "description": "Info notification messages reported.\nOnly set if an info was reported by the appliance task.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.notification" + } + }, + "warnings": { + "description": "Warning notification messages reported.\nOnly set if an warning was reported by the appliance task.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.notification" + } + }, + "errors": { + "description": "Error notification messages reported.\nOnly set if an error was reported by the appliance task.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.notification" + } + } + } + }, + "appliance.ntp.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "id in message bundle", + "type": "string" + }, + "default_message": { + "description": "text in english", + "type": "string" + }, + "args": { + "description": "nested data", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "appliance.ntp.server_status": { + "type": "string", + "description": "Ntp.ServerStatus enumerated type Status of server during test", + "enum": [ + "SERVER_REACHABLE", + "SERVER_UNREACHABLE" + ] + }, + "appliance.ntp.test_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.ntp.test_run_status" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.ntp.test_run_status": { + "type": "object", + "properties": { + "server": { + "description": "Server name associated with the test run.", + "type": "string" + }, + "status": { + "description": "Server status", + "$ref": "#/components/schemas/appliance.ntp.server_status" + }, + "message": { + "description": "Message associated with status", + "$ref": "#/components/schemas/appliance.ntp.localizable_message" + } + }, + "required": [ + "server", + "status", + "message" + ] + }, + "appliance.ntp_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.ntp_set": { + "type": "object", + "properties": { + "servers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of host names or ip addresses of ntp servers." + } + } + }, + "appliance.ntp_test": { + "type": "object", + "properties": { + "servers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of host names or IP addresses of NTP servers." + } + } + }, + "appliance.recovery.backup.backup_request": { + "type": "object", + "properties": { + "parts": { + "description": "a list of optional parts. Run backup parts APIs to get list of optional parts and description", + "type": "array", + "items": { + "type": "string" + } + }, + "backup_password": { + "description": "a password for a backup piece The backupPassword must adhere to the following password requirements: At least 8 characters, cannot be more than 20 characters in length. At least 1 uppercase letter. At least 1 lowercase letter. At least 1 numeric digit. At least 1 special character (i.e. any character not in [0-9,a-z,A-Z]). Only visible ASCII characters (for example, no space).\nbackupPassword If no password then the piece will not be encrypted", + "type": "string", + "format": "password" + }, + "location_type": { + "description": "a type of location", + "$ref": "#/components/schemas/appliance.recovery.backup.location_type" + }, + "location": { + "description": "path or url", + "type": "string" + }, + "location_user": { + "description": "username for location\nlocationUser User name for this location if login is required.", + "type": "string" + }, + "location_password": { + "description": "password for location\nlocationPassword Password for the specified user if login is required at this location.", + "type": "string", + "format": "password" + }, + "comment": { + "description": "Custom comment\ncomment an optional comment", + "type": "string" + }, + "fast_backup": { + "description": "Option to enable Postgres DB/ VCDB fast backup. Setting this true might have performace impact\nIf unset backup will proceed at slow rate", + "type": "boolean" + } + }, + "required": [ + "parts", + "location_type", + "location" + ] + }, + "appliance.recovery.backup.job.backup_job_status": { + "type": "object", + "properties": { + "id": { + "description": "TimeStamp based ID.", + "type": "string" + }, + "state": { + "description": "The state of the backup job.", + "$ref": "#/components/schemas/appliance.recovery.backup.job.backup_restore_process_state" + }, + "messages": { + "description": "List of messages.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.localizable_message" + } + }, + "progress": { + "description": "Progress of the job in percentage.", + "type": "integer", + "format": "int64" + }, + "start_time": { + "description": "Time when the backup was started.", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "Time when the backup was finished.\nIf unset end time is None until backup is finished.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "state", + "messages", + "progress", + "start_time" + ] + }, + "appliance.recovery.backup.job.backup_request": { + "type": "object", + "properties": { + "parts": { + "description": "List of optional parts that will be included in the backup. Use the Parts.list operation to get information about the supported parts.", + "type": "array", + "items": { + "type": "string" + } + }, + "backup_password": { + "description": "Password for a backup piece. The backupPassword must adhere to the following password requirements: At least 8 characters, cannot be more than 20 characters in length. At least 1 uppercase letter. At least 1 lowercase letter. At least 1 numeric digit. At least 1 special character (i.e. any character not in [0-9,a-z,A-Z]). Only visible ASCII characters (for example, no space).\nbackupPassword If no password then the piece will not be encrypted", + "type": "string", + "format": "password" + }, + "location_type": { + "description": "Type of backup location.", + "$ref": "#/components/schemas/appliance.recovery.backup.job.location_type" + }, + "location": { + "description": "Path or URL of the backup location.", + "type": "string" + }, + "location_user": { + "description": "Username for the given location.\nIf unset authentication will not be used for the specified location.", + "type": "string" + }, + "location_password": { + "description": "Password for the given location.\nIf unset authentication will not be used for the specified location.", + "type": "string", + "format": "password" + }, + "comment": { + "description": "Custom comment provided by the user.\nIf unset comment will be empty.", + "type": "string" + }, + "fast_backup": { + "description": "Option to enable Postgres DB/ VCDB fast backup Setting this true might have performace impact\nIf unset backup will proceed at slow rate", + "type": "boolean" + } + }, + "required": [ + "parts", + "location_type", + "location" + ] + }, + "appliance.recovery.backup.job.backup_restore_process_state": { + "type": "string", + "description": "The Job.BackupRestoreProcessState enumerated type defines the possible states of a backup/restore process.", + "enum": [ + "FAILED", + "INPROGRESS", + "NONE", + "SUCCEEDED" + ] + }, + "appliance.recovery.backup.job.cancel_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.return_result" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.job.create_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.backup_job_status" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.job.details.build_info": { + "type": "object", + "properties": { + "version_name": { + "description": "Appliance product type, for example 6.8.2 GA", + "type": "string" + }, + "version": { + "description": "Appliance version, for example 6.8.2.10000", + "type": "string" + }, + "build_number": { + "description": "Build Number of the appliance", + "type": "string" + } + }, + "required": [ + "version_name", + "version", + "build_number" + ] + }, + "appliance.recovery.backup.job.details.filter_spec": { + "type": "object", + "properties": { + "jobs": { + "description": "Identifiers of backup jobs that can match the filter.\nIf unset the filter will match all the backup jobs.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: appliance.recovery.backup.job. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: appliance.recovery.backup.job.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "appliance.recovery.backup.job.details.info": { + "type": "object", + "properties": { + "location": { + "description": "URL of the backup location.", + "type": "string", + "format": "uri" + }, + "duration": { + "description": "Time in seconds since the backup job was started or the time it took to complete the backup job.\nThis field is optional and it is only relevant when the value of CommonInfo#status is one of SUCCEEDED, FAILED, or RUNNING.", + "type": "integer", + "format": "int64" + }, + "size": { + "description": "Size of the backup data transferred to remote location.\nThis field is optional and it is only relevant when the value of CommonInfo#status is one of SUCCEEDED, FAILED, or RUNNING.", + "type": "integer", + "format": "int64" + }, + "progress": { + "description": "Progress of the job.\nThis field is optional and it is only relevant when the value of CommonInfo#status is one of SUCCEEDED, FAILED, or RUNNING.", + "$ref": "#/components/schemas/cis.task.progress" + }, + "location_user": { + "description": "The username for the remote backup location.", + "type": "string" + }, + "type": { + "description": "Type of the backup job. Indicates whether the backup was started manually or as a scheduled backup.", + "$ref": "#/components/schemas/appliance.recovery.backup.job.details.type" + }, + "messages": { + "description": "List of any info/warning/error messages returned by the backup job.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "build": { + "description": "Information about the build of the appliance.\nThis field is optional because it was added in a newer version than its parent node.", + "$ref": "#/components/schemas/appliance.recovery.backup.job.details.build_info" + }, + "description": { + "description": "Description of the operation associated with the task.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "service": { + "description": "Identifier of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.service.", + "type": "string" + }, + "operation": { + "description": "Identifier of the operation associated with the task.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.operation.", + "type": "string" + }, + "parent": { + "description": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.task. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.task.", + "type": "string" + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\nThis field will be unset if the operation has no target or multiple targets.", + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + }, + "status": { + "description": "Status of the operation associated with the task.", + "$ref": "#/components/schemas/cis.task.status" + }, + "cancelable": { + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.", + "type": "boolean" + }, + "error": { + "description": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info.result).", + "type": "string" + }, + "start_time": { + "description": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of SUCCEEDED or FAILED.", + "type": "string", + "format": "date-time" + }, + "user": { + "description": "Name of the user who performed the operation.\nThis field will be unset if the operation is performed by the system.", + "type": "string" + } + }, + "required": [ + "location", + "location_user", + "type", + "messages", + "description", + "service", + "operation", + "status", + "cancelable" + ] + }, + "appliance.recovery.backup.job.details.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.details.info" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.job.details.type": { + "type": "string", + "description": "The Details.Type enumerated type defines the type of backup job.", + "enum": [ + "SCHEDULED", + "MANUAL" + ] + }, + "appliance.recovery.backup.job.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.job.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "Id in message bundle.", + "type": "string" + }, + "default_message": { + "description": "Text in english.", + "type": "string" + }, + "args": { + "description": "Nested data.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "appliance.recovery.backup.job.location_type": { + "type": "string", + "description": "The Job.LocationType enumerated type defines the type of destination location for backup/restore. You specify the location type when you create a backup job. See Job.BackupRequest.", + "enum": [ + "FTP", + "HTTP", + "FTPS", + "HTTPS", + "SCP", + "SFTP", + "NFS", + "SMB" + ] + }, + "appliance.recovery.backup.job.return_result": { + "type": "object", + "properties": { + "status": { + "description": "Status of the cancel operation.", + "$ref": "#/components/schemas/appliance.recovery.backup.job.return_status" + }, + "messages": { + "description": "List of messages.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.localizable_message" + } + } + }, + "required": [ + "status", + "messages" + ] + }, + "appliance.recovery.backup.job.return_status": { + "type": "string", + "description": "The Job.ReturnStatus enumerated type defines the return type for the cancel operation. You specify the return status when you return the result of cancel job. See Job.ReturnResult.", + "enum": [ + "FAIL", + "WARNING", + "OK" + ] + }, + "appliance.recovery.backup.job_create": { + "type": "object", + "properties": { + "piece": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.backup_request", + "description": "BackupRequest Structure" + } + } + }, + "appliance.recovery.backup.job_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.backup_job_status" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "id in message bundle", + "type": "string" + }, + "default_message": { + "description": "text in english", + "type": "string" + }, + "args": { + "description": "nested data", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "appliance.recovery.backup.location_spec": { + "type": "object", + "properties": { + "location": { + "description": "Backup location URL.", + "type": "string", + "format": "uri" + }, + "location_user": { + "description": "Username for the given location.\nIf unset authentication will not be used.", + "type": "string" + }, + "location_password": { + "description": "Password for the given location.\nIf unset authentication will not be used.", + "type": "string", + "format": "password" + } + }, + "required": [ + "location" + ] + }, + "appliance.recovery.backup.location_type": { + "type": "string", + "description": "Backup.LocationType enumerated type Defines type of all locations for backup/restore", + "enum": [ + "FTP", + "HTTP", + "FTPS", + "HTTPS", + "SCP", + "SFTP", + "NFS", + "SMB" + ] + }, + "appliance.recovery.backup.parts.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.recovery.backup.parts.part" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.parts.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "id in message bundle", + "type": "string" + }, + "default_message": { + "description": "text in english", + "type": "string" + }, + "args": { + "description": "nested data", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "appliance.recovery.backup.parts.part": { + "type": "object", + "properties": { + "id": { + "description": "part ID\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.recovery.backup.parts. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.recovery.backup.parts.", + "type": "string" + }, + "name": { + "description": "part name id in message bundle", + "$ref": "#/components/schemas/appliance.recovery.backup.parts.localizable_message" + }, + "description": { + "description": "part description id in message bundle", + "$ref": "#/components/schemas/appliance.recovery.backup.parts.localizable_message" + }, + "selected_by_default": { + "description": "Is this part selected by default in the user interface.", + "type": "boolean" + }, + "optional": { + "description": "Is this part optional.", + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "description", + "selected_by_default", + "optional" + ] + }, + "appliance.recovery.backup.parts_resp": { + "type": "object", + "properties": { + "value": { + "type": "integer", + "format": "int64" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.return_result": { + "type": "object", + "properties": { + "status": { + "description": "Check status", + "$ref": "#/components/schemas/appliance.recovery.backup.return_status" + }, + "messages": { + "description": "List of messages", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.recovery.backup.localizable_message" + } + } + }, + "required": [ + "status", + "messages" + ] + }, + "appliance.recovery.backup.return_status": { + "type": "string", + "description": "Backup.ReturnStatus enumerated type Defines the state of precheck", + "enum": [ + "FAIL", + "WARNING", + "OK" + ] + }, + "appliance.recovery.backup.schedules.create_spec": { + "type": "object", + "properties": { + "parts": { + "description": "List of optional parts to be backed up. Use the Parts.list operation to get information about the supported parts.\nIf unset all the optional parts will not be backed up.", + "type": "array", + "items": { + "type": "string" + } + }, + "backup_password": { + "description": "Password for a backup piece. The backupPassword must adhere to the following password requirements: At least 8 characters, cannot be more than 20 characters in length. At least 1 uppercase letter. At least 1 lowercase letter. At least 1 numeric digit. At least 1 special character (i.e. any character not in [0-9,a-z,A-Z]). Only visible ASCII characters (for example, no space).\nIf unset the backup piece will not be encrypted.", + "type": "string", + "format": "password" + }, + "location": { + "description": "URL of the backup location.", + "type": "string", + "format": "uri" + }, + "location_user": { + "description": "Username for the given location.\nIf unset authentication will not be used for the specified location.", + "type": "string" + }, + "location_password": { + "description": "Password for the given location.\nIf unset authentication will not be used for the specified location.", + "type": "string", + "format": "password" + }, + "enable": { + "description": "Enable or disable a schedule.\nIf unset the schedule will be enabled.", + "type": "boolean" + }, + "recurrence_info": { + "description": "Recurrence information for the schedule.\nIf unset backup job will not be scheduled. See Schedules.RecurrenceInfo", + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.recurrence_info" + }, + "retention_info": { + "description": "Retention information for the schedule.\nIf unset all the completed backup jobs will be retained forever. See Schedules.RetentionInfo", + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.retention_info" + } + }, + "required": [ + "location" + ] + }, + "appliance.recovery.backup.schedules.day_of_week": { + "type": "string", + "description": "The Schedules.DayOfWeek enumerated type defines the set of days when backup can be scheduled. The days can be specified as a list of individual days. You specify the days when you set the recurrence for a schedule. See Schedules.RecurrenceInfo.days.", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "appliance.recovery.backup.schedules.info": { + "type": "object", + "properties": { + "parts": { + "description": "List of optional parts that will be included in backups based on this schedule details. Use the Parts.list operation to get information about the supported parts.", + "type": "array", + "items": { + "type": "string" + } + }, + "location": { + "description": "URL of the backup location.", + "type": "string", + "format": "uri" + }, + "location_user": { + "description": "Username for the given location.\nIf unset location user will not be used.", + "type": "string" + }, + "enable": { + "description": "Enable or disable a schedule, by default when created a schedule will be enabled.", + "type": "boolean" + }, + "recurrence_info": { + "description": "Recurrence information for the schedule.\nIf unset backup job is not scheduled. See Schedules.RecurrenceInfo", + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.recurrence_info" + }, + "retention_info": { + "description": "Retention information for the schedule.\nIf unset all the completed backup jobs are retained forever. See Schedules.RetentionInfo", + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.retention_info" + } + }, + "required": [ + "parts", + "location", + "enable" + ] + }, + "appliance.recovery.backup.schedules.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.info" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.schedules.recurrence_info": { + "type": "object", + "properties": { + "minute": { + "description": "Minute when backup should run.", + "type": "integer", + "format": "int64" + }, + "hour": { + "description": "Hour when backup should run. The hour should be specified in 24-hour clock format.", + "type": "integer", + "format": "int64" + }, + "days": { + "description": "Day of week when the backup should be run. Days can be specified as list of days.\nIf unset the backup will be run everyday.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.day_of_week" + } + } + }, + "required": [ + "minute", + "hour" + ] + }, + "appliance.recovery.backup.schedules.retention_info": { + "type": "object", + "properties": { + "max_count": { + "description": "Number of backups which should be retained. If retention is not set, all the backups will be retained forever.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "max_count" + ] + }, + "appliance.recovery.backup.schedules.run_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.backup.job.backup_job_status" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.schedules.update_spec": { + "type": "object", + "properties": { + "parts": { + "description": "List of optional parts. Use the Parts.list operation to get information about the supported parts.\nIf unset the value will not be changed.", + "type": "array", + "items": { + "type": "string" + } + }, + "backup_password": { + "description": "Password for a backup piece. The backupPassword must adhere to the following password requirements: At least 8 characters, cannot be more than 20 characters in length. At least 1 uppercase letter. At least 1 lowercase letter. At least 1 numeric digit. At least 1 special character (i.e. any character not in [0-9,a-z,A-Z]). Only visible ASCII characters (for example, no space).\nIf unset the value will not be changed.", + "type": "string", + "format": "password" + }, + "location": { + "description": "URL of the backup location.\nIf unset the value will not be changed.", + "type": "string", + "format": "uri" + }, + "location_user": { + "description": "Username for the given location.\nIf unset the value will not be changed.", + "type": "string" + }, + "location_password": { + "description": "Password for the given location.\nIf unset the value will not be changed.", + "type": "string", + "format": "password" + }, + "enable": { + "description": "Enable or disable a schedule.\nIf unset the value will not be changed.", + "type": "boolean" + }, + "recurrence_info": { + "description": "Recurrence information for the schedule.\nIf unset the infomration will not be changed. See Schedules.RecurrenceInfo", + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.recurrence_info" + }, + "retention_info": { + "description": "Retention information for the schedule.\nIf unset the information will not be changed. See Schedules.RetentionInfo", + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.retention_info" + } + } + }, + "appliance.recovery.backup.schedules_create": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.create_spec", + "description": "CreateSpec Structure" + } + } + }, + "appliance.recovery.backup.schedules_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.schedules_run": { + "type": "object", + "properties": { + "comment": { + "type": "string", + "description": "field that specifies the description for the backup.\nIf unset the backup will have an empty comment." + } + } + }, + "appliance.recovery.backup.schedules_update": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/appliance.recovery.backup.schedules.update_spec", + "description": "UpdateSpec Structure" + } + } + }, + "appliance.recovery.backup.system_name.archive.filter_spec": { + "type": "object", + "properties": { + "start_timestamp": { + "description": "Backup must have been taken on or after this time to match the filter.\nIf unset the filter will match oldest backups.", + "type": "string", + "format": "date-time" + }, + "end_timestamp": { + "description": "Backup must have been taken on or before this time to match the filter.\nIf unset the filter will match most recent backups.", + "type": "string", + "format": "date-time" + }, + "comment_substring": { + "description": "Backup comment must contain this string to match the filter.\nIf unset the filter will match backups with any comment.", + "type": "string" + }, + "max_results": { + "description": "Limit result to a max count of most recent backups.\nIf unset it defaults to 128.", + "type": "integer", + "format": "int64" + } + } + }, + "appliance.recovery.backup.system_name.archive.info": { + "type": "object", + "properties": { + "timestamp": { + "description": "Time when this backup was completed.", + "type": "string", + "format": "date-time" + }, + "location": { + "description": "Backup location URL.", + "type": "string", + "format": "uri" + }, + "parts": { + "description": "List of parts included in the backup.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the appliance represented by the backup.", + "type": "string" + }, + "system_name": { + "description": "The system name identifier of the appliance represented by the backup.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.recovery.backup.system_name. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.recovery.backup.system_name.", + "type": "string" + }, + "comment": { + "description": "Custom comment added by the user for this backup.", + "type": "string" + } + }, + "required": [ + "timestamp", + "location", + "parts", + "version", + "system_name", + "comment" + ] + }, + "appliance.recovery.backup.system_name.archive.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.recovery.backup.system_name.archive.summary" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.system_name.archive.summary": { + "type": "object", + "properties": { + "archive": { + "description": "Backup archive identifier.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.recovery.backup.system_name.archive. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.recovery.backup.system_name.archive.", + "type": "string" + }, + "timestamp": { + "description": "Time when this backup was started.", + "type": "string", + "format": "date-time" + }, + "version": { + "description": "The version of the appliance represented by the backup archive.", + "type": "string" + }, + "comment": { + "description": "Custom comment added by the user for this backup.", + "type": "string" + } + }, + "required": [ + "archive", + "timestamp", + "version", + "comment" + ] + }, + "appliance.recovery.backup.system_name.archive_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.backup.system_name.archive.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.system_name.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup.validate_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.backup.return_result" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.backup_validate": { + "type": "object", + "properties": { + "piece": { + "$ref": "#/components/schemas/appliance.recovery.backup.backup_request", + "description": "BackupRequest Structure" + } + } + }, + "appliance.recovery.info": { + "type": "object", + "properties": { + "supported": { + "description": "Is recovery supported in this appliance.", + "type": "boolean" + } + }, + "required": [ + "supported" + ] + }, + "appliance.recovery.reconciliation.job.create_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.reconciliation.job.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.reconciliation.job.create_spec": { + "type": "object", + "properties": { + "sso_admin_user_name": { + "description": "Administrators username for SSO.\nIf unset SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required.", + "type": "string" + }, + "sso_admin_user_password": { + "description": "Password for SSO admin user.\nIf unset SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required.", + "type": "string", + "format": "password" + }, + "ignore_warnings": { + "description": "Flag indicating whether warnings should be ignored during reconciliation.\nIf unset, validation warnings will fail the reconciliation operation.", + "type": "boolean" + } + } + }, + "appliance.recovery.reconciliation.job.info": { + "type": "object", + "properties": { + "description": { + "description": "Description of the operation associated with the task.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "service": { + "description": "Name of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.recovery.reconciliation.job. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.recovery.reconciliation.job.", + "type": "string" + }, + "operation": { + "description": "Name of the operation associated with the task.", + "type": "string" + }, + "parent": { + "description": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.recovery.reconciliation.job. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.recovery.reconciliation.job.", + "type": "string" + }, + "target": { + "description": "Identifier of the target resource the operation modifies.\nThis field will be unset if the task has multiple targets or no target.", + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + }, + "status": { + "description": "Status of the operation associated with the task.", + "$ref": "#/components/schemas/appliance.recovery.reconciliation.job.status" + }, + "cancelable": { + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\nIf unset, the operation cannot be canceled.", + "type": "boolean" + }, + "error": { + "description": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info#result).", + "type": "string" + }, + "start_time": { + "description": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of Job.Info.status is one of RUNNING, SUCCEEDED, or FAILED.", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of Job.Info.status is one of SUCCEEDED or FAILED.", + "type": "string", + "format": "date-time" + }, + "messages": { + "description": "A list of localized messages.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "progress": { + "description": "The progress of the job as a percentage.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "description", + "service", + "operation", + "status", + "messages", + "progress" + ] + }, + "appliance.recovery.reconciliation.job.status": { + "type": "string", + "description": "The Job.Status enumerated type defines the status values that can be reported for an operation.", + "enum": [ + "NONE", + "RUNNING", + "SUCCEEDED", + "FAILED" + ] + }, + "appliance.recovery.reconciliation.job_create": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/appliance.recovery.reconciliation.job.create_spec", + "description": "CreateSpec Structure" + } + } + }, + "appliance.recovery.reconciliation.job_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.reconciliation.job.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.restore.job.backup_restore_process_state": { + "type": "string", + "description": "Job.BackupRestoreProcessState enumerated type Defines state of backup/restore process", + "enum": [ + "FAILED", + "INPROGRESS", + "NONE", + "SUCCEEDED" + ] + }, + "appliance.recovery.restore.job.cancel_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.restore.job.return_result" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.restore.job.create_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.restore.job.restore_job_status" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.restore.job.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "id in message bundle", + "type": "string" + }, + "default_message": { + "description": "text in english", + "type": "string" + }, + "args": { + "description": "nested data", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "appliance.recovery.restore.job.location_type": { + "type": "string", + "description": "Job.LocationType enumerated type Defines type of all locations for backup/restore", + "enum": [ + "FTP", + "HTTP", + "FTPS", + "HTTPS", + "SCP", + "SFTP", + "NFS", + "SMB" + ] + }, + "appliance.recovery.restore.job.restore_job_status": { + "type": "object", + "properties": { + "state": { + "description": "process state", + "$ref": "#/components/schemas/appliance.recovery.restore.job.backup_restore_process_state" + }, + "messages": { + "description": "list of messages", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.recovery.restore.job.localizable_message" + } + }, + "progress": { + "description": "percentage complete", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "state", + "messages", + "progress" + ] + }, + "appliance.recovery.restore.job.restore_request": { + "type": "object", + "properties": { + "backup_password": { + "description": "a password for a backup piece\nbackupPassword If no password then the piece will not be decrypted", + "type": "string", + "format": "password" + }, + "location_type": { + "description": "a type of location", + "$ref": "#/components/schemas/appliance.recovery.restore.job.location_type" + }, + "location": { + "description": "path or url", + "type": "string" + }, + "location_user": { + "description": "username for location\nlocationUser User name for this location if login is required.", + "type": "string" + }, + "location_password": { + "description": "password for location\nlocationPassword Password for the specified user if login is required at this location.", + "type": "string", + "format": "password" + }, + "sso_admin_user_name": { + "description": "Administrators Username for SSO.\nIf unset SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required.", + "type": "string" + }, + "sso_admin_user_password": { + "description": "The password for SSO admin user.\nIf unset SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required.", + "type": "string", + "format": "password" + }, + "ignore_warnings": { + "description": "The flag to ignore warnings during restore\nIf unset, validation warnings will fail the restore operation", + "type": "boolean" + } + }, + "required": [ + "location_type", + "location" + ] + }, + "appliance.recovery.restore.job.return_result": { + "type": "object", + "properties": { + "status": { + "description": "Check status", + "$ref": "#/components/schemas/appliance.recovery.restore.job.return_status" + }, + "messages": { + "description": "List of messages", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.recovery.restore.job.localizable_message" + } + } + }, + "required": [ + "status", + "messages" + ] + }, + "appliance.recovery.restore.job.return_status": { + "type": "string", + "description": "Job.ReturnStatus enumerated type Defines the state of precheck", + "enum": [ + "FAIL", + "WARNING", + "OK" + ] + }, + "appliance.recovery.restore.job_create": { + "type": "object", + "properties": { + "piece": { + "$ref": "#/components/schemas/appliance.recovery.restore.job.restore_request", + "description": "RestoreRequest Structure" + } + } + }, + "appliance.recovery.restore.job_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.restore.job.restore_job_status" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.restore.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "id in message bundle", + "type": "string" + }, + "default_message": { + "description": "text in english", + "type": "string" + }, + "args": { + "description": "nested data", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "appliance.recovery.restore.location_type": { + "type": "string", + "description": "Restore.LocationType enumerated type Defines type of all locations for backup/restore", + "enum": [ + "FTP", + "HTTP", + "FTPS", + "HTTPS", + "SCP", + "SFTP", + "NFS", + "SMB" + ] + }, + "appliance.recovery.restore.metadata": { + "type": "object", + "properties": { + "timestamp": { + "description": "Time when this backup was completed.", + "type": "string", + "format": "date-time" + }, + "parts": { + "description": "List of parts included in the backup.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "VCSA version", + "type": "string" + }, + "boxname": { + "description": "Box name is PNID/ FQDN etc", + "type": "string" + }, + "sso_login_required": { + "description": "Is SSO login required for the vCenter server.\nThis field is optional because it was added in a newer version than its parent node.", + "type": "boolean" + }, + "comment": { + "description": "Custom comment", + "type": "string" + }, + "applicable": { + "description": "Does the VCSA match the deployment type, network properties and version of backed up VC", + "type": "boolean" + }, + "messages": { + "description": "Any messages if the backup is not aplicable", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.recovery.restore.localizable_message" + } + } + }, + "required": [ + "timestamp", + "parts", + "version", + "boxname", + "comment", + "applicable", + "messages" + ] + }, + "appliance.recovery.restore.restore_request": { + "type": "object", + "properties": { + "backup_password": { + "description": "a password for a backup piece\nbackupPassword If no password then the piece will not be decrypted", + "type": "string", + "format": "password" + }, + "location_type": { + "description": "a type of location", + "$ref": "#/components/schemas/appliance.recovery.restore.location_type" + }, + "location": { + "description": "path or url", + "type": "string" + }, + "location_user": { + "description": "username for location\nlocationUser User name for this location if login is required.", + "type": "string" + }, + "location_password": { + "description": "password for location\nlocationPassword Password for the specified user if login is required at this location.", + "type": "string", + "format": "password" + }, + "sso_admin_user_name": { + "description": "Administrators username for SSO.\nIf unset SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required.", + "type": "string" + }, + "sso_admin_user_password": { + "description": "The password for SSO admin user.\nIf unset SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required.", + "type": "string", + "format": "password" + } + }, + "required": [ + "location_type", + "location" + ] + }, + "appliance.recovery.restore.validate_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.restore.metadata" + } + }, + "required": [ + "value" + ] + }, + "appliance.recovery.restore_validate": { + "type": "object", + "properties": { + "piece": { + "$ref": "#/components/schemas/appliance.recovery.restore.restore_request", + "description": "RestoreRequest Structure" + } + } + }, + "appliance.recovery_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.recovery.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.services.info": { + "type": "object", + "properties": { + "description": { + "description": "Service description", + "type": "string" + }, + "state": { + "description": "Running State", + "$ref": "#/components/schemas/appliance.services.state" + } + }, + "required": [ + "description", + "state" + ] + }, + "appliance.services.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/appliance.services.info" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "appliance.services.state": { + "type": "string", + "description": "The Services.State enumerated type defines valid Run State for services.", + "enum": [ + "STARTING", + "STOPPING", + "STARTED", + "STOPPED" + ] + }, + "appliance.services_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.services.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.shutdown.shutdown_config": { + "type": "object", + "properties": { + "shutdown_time": { + "description": "Shutdown time.\nshutdownTime Optional value of pending shutdown time", + "type": "string", + "format": "date-time" + }, + "action": { + "description": "The pending shutdown operation. The string values for pending operations can be 'poweroff', 'reboot' or ''.", + "type": "string" + }, + "reason": { + "description": "The reason behind the shutdown action", + "type": "string" + } + }, + "required": [ + "action", + "reason" + ] + }, + "appliance.shutdown_poweroff": { + "type": "object", + "properties": { + "delay": { + "type": "integer", + "format": "int64", + "description": "Minutes after which poweroff should start. If 0 is specified, poweroff will start immediately." + }, + "reason": { + "type": "string", + "description": "Reason for peforming poweroff." + } + } + }, + "appliance.shutdown_reboot": { + "type": "object", + "properties": { + "delay": { + "type": "integer", + "format": "int64", + "description": "Minutes after which reboot should start. If 0 is specified, reboot will start immediately." + }, + "reason": { + "type": "string", + "description": "Reason for peforming reboot." + } + } + }, + "appliance.shutdown_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.shutdown.shutdown_config" + } + }, + "required": [ + "value" + ] + }, + "appliance.subtask_info": { + "type": "object", + "properties": { + "progress": { + "description": "Progress of the operation.\nThis field is optional and it is only relevant when the value of CommonInfo#status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.", + "$ref": "#/components/schemas/cis.task.progress" + }, + "result": { + "description": "Result of the operation. If an operation reports partial results before it completes, this field could be set before the CommonInfo#status has the value SUCCEEDED. The value could change as the operation progresses.\nThis field will be unset if result is not available at the current step of the operation.", + "$ref": "#/components/schemas/appliance.notifications" + }, + "description": { + "description": "Description of the operation associated with the task.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "service": { + "description": "Identifier of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.service.", + "type": "string" + }, + "operation": { + "description": "Identifier of the operation associated with the task.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.operation.", + "type": "string" + }, + "parent": { + "description": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.task. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.task.", + "type": "string" + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\nThis field will be unset if the operation has no target or multiple targets.", + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + }, + "status": { + "description": "Status of the operation associated with the task.", + "$ref": "#/components/schemas/cis.task.status" + }, + "cancelable": { + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.", + "type": "boolean" + }, + "error": { + "description": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info.result).", + "type": "string" + }, + "start_time": { + "description": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of SUCCEEDED or FAILED.", + "type": "string", + "format": "date-time" + }, + "user": { + "description": "Name of the user who performed the operation.\nThis field will be unset if the operation is performed by the system.", + "type": "string" + } + }, + "required": [ + "description", + "service", + "operation", + "status", + "cancelable" + ] + }, + "appliance.system.storage.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.system.storage.storage_mapping" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.system.storage.resize_ex_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/appliance.system.storage.storage_change" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "appliance.system.storage.storage_change": { + "type": "object", + "properties": { + "old_size": { + "description": "Original size of the partition in MB.", + "type": "integer", + "format": "int64" + }, + "new_size": { + "description": "Nedw size of the partition in MB.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "old_size", + "new_size" + ] + }, + "appliance.system.storage.storage_mapping": { + "type": "object", + "properties": { + "disk": { + "description": "The disk number in the vSphere Web Client.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.system.storage. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.system.storage.", + "type": "string" + }, + "partition": { + "description": "Storage partition name.", + "type": "string" + }, + "description": { + "description": "Description of partition\nThis field is optional because it was added in a newer version than its parent node.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "disk", + "partition" + ] + }, + "appliance.system.time.system_time_struct": { + "type": "object", + "properties": { + "seconds_since_epoch": { + "description": "seconds since the epoch", + "type": "number", + "format": "double" + }, + "date": { + "description": "date format: Thu 07-31-2014", + "type": "string" + }, + "time": { + "description": "time format: 18:18:32", + "type": "string" + }, + "timezone": { + "description": "timezone", + "type": "string" + } + }, + "required": [ + "seconds_since_epoch", + "date", + "time", + "timezone" + ] + }, + "appliance.system.time.timezone_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "appliance.system.time.timezone_set": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Time zone name." + } + } + }, + "appliance.system.time_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.system.time.system_time_struct" + } + }, + "required": [ + "value" + ] + }, + "appliance.system.uptime_resp": { + "type": "object", + "properties": { + "value": { + "type": "number", + "format": "double" + } + }, + "required": [ + "value" + ] + }, + "appliance.system.version.version_struct": { + "type": "object", + "properties": { + "version": { + "description": "Appliance version.", + "type": "string" + }, + "product": { + "description": "Appliance name.", + "type": "string" + }, + "build": { + "description": "Appliance build number.", + "type": "string" + }, + "type": { + "description": "Type of product. Same product can have different deployment options, which is represented by type.", + "type": "string" + }, + "summary": { + "description": "Summary of patch (empty string, if the appliance has not been patched)", + "type": "string" + }, + "releasedate": { + "description": "Release date of patch (empty string, if the appliance has not been patched)", + "type": "string" + }, + "install_time": { + "description": "Display the date and time when this system was first installed. Value will not change on subsequent updates.", + "type": "string" + } + }, + "required": [ + "version", + "product", + "build", + "type", + "summary", + "releasedate", + "install_time" + ] + }, + "appliance.system.version_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.system.version.version_struct" + } + }, + "required": [ + "value" + ] + }, + "appliance.task_info": { + "type": "object", + "properties": { + "progress": { + "description": "Progress of the task.\nThis field is optional and it is only relevant when the value of CommonInfo#status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.", + "$ref": "#/components/schemas/cis.task.progress" + }, + "subtask_order": { + "description": "List of tasks that make up this appliance task in the order they are being run.", + "type": "array", + "items": { + "type": "string" + } + }, + "subtasks": { + "description": "Information about the subtasks that this appliance task consists of.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/appliance.subtask_info" + } + } + } + }, + "description": { + "description": "Description of the operation associated with the task.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "service": { + "description": "Identifier of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.service.", + "type": "string" + }, + "operation": { + "description": "Identifier of the operation associated with the task.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.operation.", + "type": "string" + }, + "parent": { + "description": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.task. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.task.", + "type": "string" + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\nThis field will be unset if the operation has no target or multiple targets.", + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + }, + "status": { + "description": "Status of the operation associated with the task.", + "$ref": "#/components/schemas/cis.task.status" + }, + "cancelable": { + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.", + "type": "boolean" + }, + "error": { + "description": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info.result).", + "type": "string" + }, + "start_time": { + "description": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of SUCCEEDED or FAILED.", + "type": "string", + "format": "date-time" + }, + "user": { + "description": "Name of the user who performed the operation.\nThis field will be unset if the operation is performed by the system.", + "type": "string" + } + }, + "required": [ + "subtask_order", + "subtasks", + "description", + "service", + "operation", + "status", + "cancelable" + ] + }, + "appliance.timesync.time_sync_mode": { + "type": "string", + "description": "The Timesync.TimeSyncMode enumerated type defines time synchronization modes", + "enum": [ + "DISABLED", + "NTP", + "HOST" + ] + }, + "appliance.timesync_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.timesync.time_sync_mode" + } + }, + "required": [ + "value" + ] + }, + "appliance.timesync_set": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/appliance.timesync.time_sync_mode", + "description": "Time synchronization mode." + } + } + }, + "appliance.update.common_info.category": { + "type": "string", + "description": "The CommonInfo.Category enumerated type defines update type", + "enum": [ + "SECURITY", + "FIX", + "UPDATE", + "UPGRADE" + ] + }, + "appliance.update.common_info.priority": { + "type": "string", + "description": "The CommonInfo.Priority enumerated type defines the update installation priority recommendations.", + "enum": [ + "HIGH", + "MEDIUM", + "LOW" + ] + }, + "appliance.update.common_info.severity": { + "type": "string", + "description": "The CommonInfo.Severity enumerated type defines the severity of the issues fixed in the update.", + "enum": [ + "CRITICAL", + "IMPORTANT", + "MODERATE", + "LOW" + ] + }, + "appliance.update.info": { + "type": "object", + "properties": { + "state": { + "description": "State of the appliance update.", + "$ref": "#/components/schemas/appliance.update.state" + }, + "task": { + "description": "The running or completed update task.", + "$ref": "#/components/schemas/appliance.task_info" + }, + "version": { + "description": "Version of base appliance if state is UP_TO_DATE Version of update being staged or installed if state is INSTALL_IN_PROGRESS or STAGE_IN_PROGRESS Version of update staged if state is UPDATES_PENDING Version of update failed if state is INSTALL_FAILED or ROLLBACK_IN_PROGRESS", + "type": "string" + }, + "latest_query_time": { + "description": "Timestamp of latest query to update repository.\nIf unset the update was never queried", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "state", + "version" + ] + }, + "appliance.update.pending.info": { + "type": "object", + "properties": { + "name": { + "description": "Name of the update.", + "type": "string" + }, + "contents": { + "description": "List of the 1. issues addressed since previous/current version 2. new features/improvements", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "services_will_be_stopped": { + "description": "List of the services that will be stopped and restarted during the update installation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.update.service_info" + } + }, + "eulas": { + "description": "List of EULAs. This list has multiple entries and can be dynamic based on what we are actually installing.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "staged": { + "description": "Is the update staged", + "type": "boolean" + }, + "knowledge_base": { + "description": "URL for the knowledge base article describing this update.", + "type": "string", + "format": "uri" + }, + "description": { + "description": "Description of the update. The short information what this update is. E.g. \"Update2 for vCenter Server Appliance 6.5\"", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "priority": { + "description": "Update priority", + "$ref": "#/components/schemas/appliance.update.common_info.priority" + }, + "severity": { + "description": "Update severity", + "$ref": "#/components/schemas/appliance.update.common_info.severity" + }, + "update_type": { + "description": "Update category", + "$ref": "#/components/schemas/appliance.update.common_info.category" + }, + "release_date": { + "description": "Update release date.", + "type": "string", + "format": "date-time" + }, + "reboot_required": { + "description": "Flag indicating whether reboot is required after update.", + "type": "boolean" + }, + "size": { + "description": "Download Size of update in Megabytes.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "name", + "contents", + "services_will_be_stopped", + "eulas", + "staged", + "knowledge_base", + "description", + "priority", + "severity", + "update_type", + "release_date", + "reboot_required", + "size" + ] + }, + "appliance.update.pending.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.update.summary" + } + } + }, + "required": [ + "value" + ] + }, + "appliance.update.pending.precheck_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.update.pending.precheck_result" + } + }, + "required": [ + "value" + ] + }, + "appliance.update.pending.precheck_result": { + "type": "object", + "properties": { + "check_time": { + "description": "Time when this precheck was run", + "type": "string", + "format": "date-time" + }, + "estimated_time_to_install": { + "description": "Rough estimate of time to install the update (minutes).\nestimatedTimeToInstall If unset N/A", + "type": "integer", + "format": "int64" + }, + "estimated_time_to_rollback": { + "description": "Rough estimate of time to rollback the update (minutes).\nestimatedTimeToRollback If unset N/A", + "type": "integer", + "format": "int64" + }, + "reboot_required": { + "description": "Is reboot required to install the update.", + "type": "boolean" + }, + "issues": { + "description": "Lists of the issues and warnings\nissues If unset N/A", + "$ref": "#/components/schemas/appliance.notifications" + }, + "questions": { + "description": "List of questions that must be answered to install the update.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.update.pending.question" + } + } + }, + "required": [ + "check_time", + "reboot_required", + "questions" + ] + }, + "appliance.update.pending.question": { + "type": "object", + "properties": { + "data_item": { + "description": "ID of the data item\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: applicance.update.pending.dataitem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: applicance.update.pending.dataitem.", + "type": "string" + }, + "text": { + "description": "Label for the item to be used in GUI/CLI", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "description": { + "description": "Description of the item", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "type": { + "description": "How this field shoudl be represented in GUI or CLI", + "$ref": "#/components/schemas/appliance.update.pending.question.input_type" + }, + "allowed_values": { + "description": "List of allowed values\nallowedValues If unset any value is valid.", + "type": "array", + "items": { + "type": "string" + } + }, + "regexp": { + "description": "Regexp to validate the input\nregexp If unset no validation will be performed.", + "type": "string" + }, + "default_answer": { + "description": "Default answer\ndefaultAnswer If unset then there is no default answer, so an explicit answer must be provided", + "type": "string" + } + }, + "required": [ + "data_item", + "text", + "description", + "type" + ] + }, + "appliance.update.pending.question.input_type": { + "type": "string", + "description": "The Pending.Question.InputType enumerated type defines representation of field fields in GUI or CLI", + "enum": [ + "PLAIN_TEXT", + "BOOLEAN", + "PASSWORD" + ] + }, + "appliance.update.pending.source_type": { + "type": "string", + "description": "The Pending.SourceType enumerated type defines the supported types of sources of updates.", + "enum": [ + "LAST_CHECK", + "LOCAL", + "LOCAL_AND_ONLINE" + ] + }, + "appliance.update.pending.validate_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.notifications" + } + }, + "required": [ + "value" + ] + }, + "appliance.update.pending_install": { + "type": "object", + "properties": { + "user_data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "description": "map of user provided data with IDs\nThe key in the parameter map must be an identifier for the resource type: applicance.update.pending.dataitem." + } + } + }, + "appliance.update.pending_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.update.pending.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.update.pending_stage_and_install": { + "type": "object", + "properties": { + "user_data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "description": "map of user provided data with IDs\nThe key in the parameter map must be an identifier for the resource type: applicance.update.pending.dataitem." + } + } + }, + "appliance.update.pending_validate": { + "type": "object", + "properties": { + "user_data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "description": "map of user provided data with IDs\nThe key in the parameter map must be an identifier for the resource type: applicance.update.pending.dataitem." + } + } + }, + "appliance.update.policy.config": { + "type": "object", + "properties": { + "custom_URL": { + "description": "Current appliance update repository URL.\nIf unset then default URL is assumed", + "type": "string" + }, + "username": { + "description": "Username for the update repository\nIf unset username will not be used to login", + "type": "string" + }, + "password": { + "description": "Password for the update repository\npassword If unset password will not be used to login", + "type": "string", + "format": "password" + }, + "check_schedule": { + "description": "Schedule when the automatic check will be run.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.update.policy.time" + } + }, + "auto_stage": { + "description": "Automatically stage the latest update if available.", + "type": "boolean" + }, + "certificate_check": { + "description": "Indicates whether certificates will be checked during patching. \n Warning: Setting this field to false will result in an insecure connection to update repository which can potentially put the appliance security at risk.\n\ncertificateCheck If unset the certificate checks are enabled.", + "type": "boolean" + } + }, + "required": [ + "check_schedule", + "auto_stage" + ] + }, + "appliance.update.policy.day_of_week": { + "type": "string", + "description": "The Policy.DayOfWeek enumerated type defines the set of days", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "appliance.update.policy.info": { + "type": "object", + "properties": { + "custom_URL": { + "description": "Current appliance update custom repository URL.\nIf unset update is checked at defaut URL.", + "type": "string" + }, + "default_URL": { + "description": "Current appliance update default repository URL.", + "type": "string" + }, + "username": { + "description": "Username for the update repository\nIf unset username will not be used to login", + "type": "string" + }, + "check_schedule": { + "description": "Schedule when the automatic check will be run.", + "type": "array", + "items": { + "$ref": "#/components/schemas/appliance.update.policy.time" + } + }, + "auto_stage": { + "description": "Automatically stage the latest update if available.", + "type": "boolean" + }, + "auto_update": { + "description": "Is the appliance updated automatically. If set the appliance may ignore the check schedule or auto-stage settings.", + "type": "boolean" + }, + "manual_control": { + "description": "Whether API client should allow the user to start update manually", + "type": "boolean" + }, + "certificate_check": { + "description": "Indicates whether certificates will be checked during patching. \n Warning: If this field is set to false, an insecure connection is made to the update repository which can potentially put the appliance security at risk.\n", + "type": "boolean" + } + }, + "required": [ + "default_URL", + "check_schedule", + "auto_stage", + "auto_update", + "manual_control", + "certificate_check" + ] + }, + "appliance.update.policy.time": { + "type": "object", + "properties": { + "day": { + "description": "weekday to check for updates.", + "$ref": "#/components/schemas/appliance.update.policy.day_of_week" + }, + "hour": { + "description": "Hour: 0-24", + "type": "integer", + "format": "int64" + }, + "minute": { + "description": "Minute: 0-59", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "day", + "hour", + "minute" + ] + }, + "appliance.update.policy_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.update.policy.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.update.policy_set": { + "type": "object", + "properties": { + "policy": { + "$ref": "#/components/schemas/appliance.update.policy.config", + "description": "Info structure containing the policy for the appliance update." + } + } + }, + "appliance.update.service_info": { + "type": "object", + "properties": { + "service": { + "description": "Service ID\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.service.", + "type": "string" + }, + "description": { + "description": "Service description", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "service", + "description" + ] + }, + "appliance.update.staged.info": { + "type": "object", + "properties": { + "staging_complete": { + "description": "Is staging complete", + "type": "boolean" + }, + "version": { + "description": "Version in form of X.Y.Z.P. e.g. 6.5.1.5400\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.update.pending. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.update.pending.", + "type": "string" + }, + "name": { + "description": "Name of the update.", + "type": "string" + }, + "description": { + "description": "Description of the update. The short information what this update is. E.g. \"Update2 for vCenter Server Appliance 6.5\"", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "priority": { + "description": "Update priority", + "$ref": "#/components/schemas/appliance.update.common_info.priority" + }, + "severity": { + "description": "Update severity", + "$ref": "#/components/schemas/appliance.update.common_info.severity" + }, + "update_type": { + "description": "Update category", + "$ref": "#/components/schemas/appliance.update.common_info.category" + }, + "release_date": { + "description": "Update release date.", + "type": "string", + "format": "date-time" + }, + "reboot_required": { + "description": "Flag indicating whether reboot is required after update.", + "type": "boolean" + }, + "size": { + "description": "Download Size of update in Megabytes.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "staging_complete", + "version", + "name", + "description", + "priority", + "severity", + "update_type", + "release_date", + "reboot_required", + "size" + ] + }, + "appliance.update.staged_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.update.staged.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.update.state": { + "type": "string", + "description": "The Update.State enumerated type defines the various states the appliance update can be in.", + "enum": [ + "UP_TO_DATE", + "UPDATES_PENDING", + "STAGE_IN_PROGRESS", + "INSTALL_IN_PROGRESS", + "INSTALL_FAILED", + "ROLLBACK_IN_PROGRESS" + ] + }, + "appliance.update.summary": { + "type": "object", + "properties": { + "version": { + "description": "Version in form of X.Y.Z.P. e.g. 6.5.1.5400\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: appliance.update.pending. When operations return a value of this structure as a result, the field will be an identifier for the resource type: appliance.update.pending.", + "type": "string" + }, + "name": { + "description": "Name of the update.", + "type": "string" + }, + "description": { + "description": "Description of the update. The short information what this update is. E.g. \"Update2 for vCenter Server Appliance 6.5\"", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "priority": { + "description": "Update priority", + "$ref": "#/components/schemas/appliance.update.common_info.priority" + }, + "severity": { + "description": "Update severity", + "$ref": "#/components/schemas/appliance.update.common_info.severity" + }, + "update_type": { + "description": "Update category", + "$ref": "#/components/schemas/appliance.update.common_info.category" + }, + "release_date": { + "description": "Update release date.", + "type": "string", + "format": "date-time" + }, + "reboot_required": { + "description": "Flag indicating whether reboot is required after update.", + "type": "boolean" + }, + "size": { + "description": "Download Size of update in Megabytes.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "version", + "name", + "description", + "priority", + "severity", + "update_type", + "release_date", + "reboot_required", + "size" + ] + }, + "appliance.update_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.update.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.vmon.service.health": { + "type": "string", + "description": "The Service.Health enumerated type defines the possible values for health of a service.", + "enum": [ + "DEGRADED", + "HEALTHY", + "HEALTHY_WITH_WARNINGS" + ] + }, + "appliance.vmon.service.info": { + "type": "object", + "properties": { + "name_key": { + "description": "Service name key. Can be used to lookup resource bundle", + "type": "string" + }, + "description_key": { + "description": "Service description key. Can be used to lookup resource bundle", + "type": "string" + }, + "startup_type": { + "description": "Startup Type.", + "$ref": "#/components/schemas/appliance.vmon.service.startup_type" + }, + "state": { + "description": "Running State.", + "$ref": "#/components/schemas/appliance.vmon.service.state" + }, + "health": { + "description": "Health of service.\nThis field is optional and it is only relevant when the value of Service.Info.state is STARTED.", + "$ref": "#/components/schemas/appliance.vmon.service.health" + }, + "health_messages": { + "description": "Localizable messages associated with the health of the service\nThis field is optional and it is only relevant when the value of Service.Info.state is STARTED.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + } + }, + "required": [ + "name_key", + "description_key", + "startup_type", + "state" + ] + }, + "appliance.vmon.service.list_details_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/appliance.vmon.service.info" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "appliance.vmon.service.startup_type": { + "type": "string", + "description": "The Service.StartupType enumerated type defines valid Startup Type for services managed by vMon.", + "enum": [ + "MANUAL", + "AUTOMATIC", + "DISABLED" + ] + }, + "appliance.vmon.service.state": { + "type": "string", + "description": "The Service.State enumerated type defines valid Run State for services.", + "enum": [ + "STARTING", + "STOPPING", + "STARTED", + "STOPPED" + ] + }, + "appliance.vmon.service.update_spec": { + "type": "object", + "properties": { + "startup_type": { + "description": "Startup Type\nIf unspecified, leaves value unchanged.", + "$ref": "#/components/schemas/appliance.vmon.service.startup_type" + } + } + }, + "appliance.vmon.service_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/appliance.vmon.service.info" + } + }, + "required": [ + "value" + ] + }, + "appliance.vmon.service_update": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/appliance.vmon.service.update_spec", + "description": "Service Update specification." + } + } + }, + "cis.task.progress": { + "type": "object", + "properties": { + "total": { + "description": "Total amount of the work for the operation.", + "type": "integer", + "format": "int64" + }, + "completed": { + "description": "The amount of work completed for the operation. The value can only be incremented.", + "type": "integer", + "format": "int64" + }, + "message": { + "description": "Message about the work progress.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "total", + "completed", + "message" + ] + }, + "cis.task.status": { + "type": "string", + "description": "The Status enumerated type defines the status values that can be reported for an operation.", + "enum": [ + "PENDING", + "RUNNING", + "BLOCKED", + "SUCCEEDED", + "FAILED" + ] + }, + "vapi.std.dynamic_ID": { + "type": "object", + "properties": { + "type": { + "description": "The type of resource being identified (for example {@code com.acme.Person}).
{@term Services} that contain {@term operations} for creating and deleting resources typically contain a {@term constant} specifying the resource type for the resources being created and deleted. The API metamodel metadata {@term services} include a {@term service} that allows retrieving all the known resource types.", + "type": "string" + }, + "id": { + "description": "The identifier for a resource whose type is specified by {@link #type}.", + "type": "string" + } + }, + "required": [ + "type", + "id" + ] + }, + "vapi.std.errors.already_exists": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.already_exists_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.already_exists" + } + } + }, + "vapi.std.errors.already_in_desired_state": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.already_in_desired_state_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.already_in_desired_state" + } + } + }, + "vapi.std.errors.error": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.error.type": { + "type": "string", + "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.", + "enum": [ + "ERROR", + "ALREADY_EXISTS", + "ALREADY_IN_DESIRED_STATE", + "CANCELED", + "CONCURRENT_CHANGE", + "FEATURE_IN_USE", + "INTERNAL_SERVER_ERROR", + "INVALID_ARGUMENT", + "INVALID_ELEMENT_CONFIGURATION", + "INVALID_ELEMENT_TYPE", + "INVALID_REQUEST", + "NOT_ALLOWED_IN_CURRENT_STATE", + "NOT_FOUND", + "OPERATION_NOT_FOUND", + "RESOURCE_BUSY", + "RESOURCE_IN_USE", + "RESOURCE_INACCESSIBLE", + "SERVICE_UNAVAILABLE", + "TIMED_OUT", + "UNABLE_TO_ALLOCATE_RESOURCE", + "UNAUTHENTICATED", + "UNAUTHORIZED", + "UNEXPECTED_INPUT", + "UNSUPPORTED", + "UNVERIFIED_PEER" + ] + }, + "vapi.std.errors.error_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + }, + "vapi.std.errors.feature_in_use": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.feature_in_use_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.feature_in_use" + } + } + }, + "vapi.std.errors.invalid_argument": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.invalid_argument_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + }, + "vapi.std.errors.not_allowed_in_current_state": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.not_allowed_in_current_state_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + }, + "vapi.std.errors.not_found": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.not_found_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + }, + "vapi.std.errors.resource_busy": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.resource_busy_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.resource_busy" + } + } + }, + "vapi.std.errors.timed_out": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.timed_out_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.timed_out" + } + } + }, + "vapi.std.errors.unable_to_allocate_resource": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unable_to_allocate_resource_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unable_to_allocate_resource" + } + } + }, + "vapi.std.errors.unauthenticated": { + "type": "object", + "properties": { + "challenge": { + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.
For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"", + "type": "string" + }, + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unauthenticated_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + }, + "vapi.std.errors.unauthorized": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unauthorized_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + }, + "vapi.std.errors.unsupported": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unsupported_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unsupported" + } + } + }, + "vapi.std.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "default_message": { + "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.", + "type": "string" + }, + "args": { + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "params": { + "description": "Named arguments to be substituted into the message template.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.localization_param" + } + } + } + }, + "localized": { + "description": "Localized string value as per request requirements.", + "type": "string" + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "vapi.std.localization_param": { + "type": "object", + "properties": { + "s": { + "description": "{@term String} value associated with the parameter.", + "type": "string" + }, + "dt": { + "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.", + "type": "string", + "format": "date-time" + }, + "i": { + "description": "{@term long} value associated with the parameter.", + "type": "integer", + "format": "int64" + }, + "d": { + "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.", + "type": "number", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.", + "$ref": "#/components/schemas/vapi.std.nested_localizable_message" + }, + "format": { + "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.", + "$ref": "#/components/schemas/vapi.std.localization_param.date_time_format" + }, + "precision": { + "description": "Number of fractional digits to include in formatted {@term double} value.", + "type": "integer", + "format": "int64" + } + } + }, + "vapi.std.localization_param.date_time_format": { + "type": "string", + "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.", + "enum": [ + "SHORT_DATE", + "MED_DATE", + "LONG_DATE", + "FULL_DATE", + "SHORT_TIME", + "MED_TIME", + "LONG_TIME", + "FULL_TIME", + "SHORT_DATE_TIME", + "MED_DATE_TIME", + "LONG_DATE_TIME", + "FULL_DATE_TIME" + ] + }, + "vapi.std.nested_localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "params": { + "description": "Named Arguments to be substituted into the message template.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.localization_param" + } + } + } + } + }, + "required": [ + "id" + ] + } + } + } +} \ No newline at end of file diff --git a/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/cis.json b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/cis.json new file mode 100644 index 0000000..4b89242 --- /dev/null +++ b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/cis.json @@ -0,0 +1,3555 @@ +{ + "openapi": "3.0.0", + "info": { + "description": "", + "title": "cis", + "version": "2.0.0" + }, + "paths": { + "/rest/cis/tasks": { + "get": { + "tags": [ + "tasks" + ], + "summary": "Returns information about at most 1000 visible (subject to permission checks) tasks matching the Tasks.FilterSpec. All tasks must be in the same provider.", + "parameters": [ + { + "in": "query", + "name": "filter_spec.tasks", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Identifiers of tasks that can match the filter.\nThis field may be unset if Tasks.FilterSpec.services is specified. Currently all tasks must be from the same provider. If unset or empty, tasks with any identifier will match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: cis.task. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: cis.task." + }, + { + "in": "query", + "name": "filter_spec.services", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Identifiers of services. Tasks created by operations in these services match the filter (see CommonInfo.service).\nThis field may be unset if Tasks.FilterSpec.tasks is specified. Currently all services must be from the same provider. If this field is unset or empty, tasks for any service will match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vapi.service. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vapi.service." + }, + { + "in": "query", + "name": "filter_spec.operations", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Identifiers of operations. Tasks created by these operations match the filter (see CommonInfo.operation). \n Note that an operation identifier by itself is not globally unique. To filter on an operation, the identifier of the service interface containing the operation should also be specified in Tasks.FilterSpec.services.\n\nIf unset or empty, tasks associated with any operation will match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vapi.operation." + }, + { + "in": "query", + "name": "filter_spec.status", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "PENDING", + "RUNNING", + "BLOCKED", + "SUCCEEDED", + "FAILED" + ] + } + }, + "description": "Status that a task must have to match the filter (see CommonInfo.status).\nIf unset or empty, tasks with any status match the filter." + }, + { + "in": "query", + "name": "filter_spec.targets", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "description": "The type of resource being identified (for example {@code com.acme.Person}).
{@term Services} that contain {@term operations} for creating and deleting resources typically contain a {@term constant} specifying the resource type for the resources being created and deleted. The API metamodel metadata {@term services} include a {@term service} that allows retrieving all the known resource types.", + "type": "string" + }, + "id": { + "description": "The identifier for a resource whose type is specified by {@link #type}.", + "type": "string" + } + }, + "required": [ + "type", + "id" + ] + } + }, + "description": "Identifiers of the targets the operation for the associated task created or was performed on (see CommonInfo.target).\nIf unset or empty, tasks associated with operations on any target match the filter.", + "required": false + }, + { + "in": "query", + "name": "filter_spec.users", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Users who must have initiated the operation for the associated task to match the filter (see CommonInfo.user).\nIf unset or empty, tasks associated with operations initiated by any user match the filter.", + "required": false + }, + { + "in": "query", + "name": "result_spec.return_all", + "schema": { + "type": "boolean" + }, + "description": "If true, all data, including operation-specific data, will be returned, otherwise only the data described in Info will be returned.\nIf unset, only the data described in Info will be returned." + }, + { + "in": "query", + "name": "result_spec.exclude_result", + "schema": { + "type": "boolean" + }, + "description": "If true, the result will not be included in the task information, otherwise it will be included.\nIf unset, the result of the operation will be included in the task information." + } + ], + "responses": { + "200": { + "description": "Map of task identifier to information about the task.\nThe key in the result map will be an identifier for the resource type: cis.task.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tasks.list_resp" + } + } + } + }, + "400": { + "description": "if a task's state cannot be accessed or over 1000 tasks matching the Tasks.FilterSpec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.service_unavailable" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/cis/tasks/{task}": { + "get": { + "tags": [ + "tasks" + ], + "summary": "Returns information about a task.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "task", + "description": "Task identifier.\nThe parameter must be an identifier for the resource type: cis.task.", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "spec.return_all", + "schema": { + "type": "boolean" + }, + "description": "If true, all data, including operation-specific data, will be returned, otherwise only the data described in Info will be returned.\nIf unset, only the data described in Info will be returned." + }, + { + "in": "query", + "name": "spec.exclude_result", + "schema": { + "type": "boolean" + }, + "description": "If true, the result will not be included in the task information, otherwise it will be included.\nIf unset, the result of the operation will be included in the task information." + } + ], + "responses": { + "200": { + "description": "Information about the specified task.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tasks_resp" + } + } + } + }, + "400": { + "description": "if the task's state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + } + }, + "404": { + "description": "if the task is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.service_unavailable" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/cis/tasks/{task}?action=cancel": { + "post": { + "tags": [ + "tasks" + ], + "summary": "Cancel a running operation associated with the task. This is the best effort attempt. Operation may not be cancelled anymore once it reaches certain stage.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "task", + "description": "Task identifier.\nThe parameter must be an identifier for the resource type: cis.task.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if the task is not cancelable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unsupported" + } + } + } + }, + "404": { + "description": "if the task is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.service_unavailable" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "cancel" + } + }, + "/rest/com/vmware/cis/session": { + "post": { + "tags": [ + "session" + ], + "summary": "Creates a session with the API. This is the equivalent of login. This {@term operation} exchanges user credentials supplied in the security context for a session token that is to be used for authenticating subsequent calls.
To authenticate subsequent calls clients are expected to include the session token. For REST API calls the HTTP {@code vmware-api-session-id} header field should be used for this.", + "parameters": [], + "responses": { + "200": { + "description": "Newly created session token to be used for authenticating further requests.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.session.create_resp" + } + } + } + }, + "401": { + "description": "if the session creation fails due to request specific issues. Due to the security nature of the API the details of the error are not disclosed.
Please check the following preconditions if using a SAML token to authenticate:
A session token is expected as part of the request.
", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "if the session id is missing from the request or the corresponding session object cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "503": { + "description": "if session deletion fails due to server specific issues, for example connection to a back end component is failing. Due to the security nature of this API further details will not be disclosed in the {@term error}. Please refer to component health information, administrative logs and product specific documentation for possible causes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.service_unavailable" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/cis/session?~action=get": { + "post": { + "tags": [ + "session" + ], + "summary": "Returns information about the current session. This {@term operation} expects a valid session token to be supplied.
A side effect of invoking this {@term operation} may be a change to the session's last accessed time to the current time if this is supported by the session implementation. Invoking any other {@term operation} in the API will also update the session's last accessed time.
This API is meant to serve the needs of various front end projects that may want to display the name of the user. Examples of this include various web based user interfaces and logging facilities.", + "parameters": [], + "responses": { + "200": { + "description": "Information about the session.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.session_resp" + } + } + } + }, + "401": { + "description": "if the session id is missing from the request or the corresponding session object cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "503": { + "description": "if session retrieval fails due to server specific issues e.g. connection to back end component is failing. Due to the security nature of this API further details will not be disclosed in the error. Please refer to component health information, administrative logs and product specific documentation for possible causes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.service_unavailable" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/com/vmware/cis/tagging/category": { + "get": { + "tags": [ + "tagging/category" + ], + "summary": "Enumerates the categories in the system. To invoke this operation, you need the read privilege on the individual categories. The list will only contain those categories for which you have read privileges.", + "parameters": [], + "responses": { + "200": { + "description": "The list of resource identifiers for the categories in the system.\nThe result will contain identifiers for the resource type: cis.tagging.Category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.category.list_resp" + } + } + } + } + }, + "operationId": "list" + }, + "post": { + "tags": [ + "tagging/category" + ], + "summary": "Creates a category. To invoke this operation, you need the create category privilege.", + "parameters": [], + "responses": { + "200": { + "description": "The identifier of the created category.\nThe result will be an identifier for the resource type: cis.tagging.Category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.category.create_resp" + } + } + } + }, + "400": { + "description": "if any of the information in the createSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to create a category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.category_create" + } + } + }, + "/rest/com/vmware/cis/tagging/category/id:{category_id}": { + "delete": { + "tags": [ + "tagging/category" + ], + "summary": "Deletes an existing category. To invoke this operation, you need the delete privilege on the category.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "category_id", + "description": "The identifier of category to be deleted.\nThe parameter must be an identifier for the resource type: cis.tagging.Category.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to delete the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "delete" + }, + "get": { + "tags": [ + "tagging/category" + ], + "summary": "Fetches the category information for the given category identifier. In order to view the category information, you need the read privilege on the category.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "category_id", + "description": "The identifier of the input category.\nThe parameter must be an identifier for the resource type: cis.tagging.Category.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The CategoryModel that corresponds to categoryId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.category_resp" + } + } + } + }, + "404": { + "description": "if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to read the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "tagging/category" + ], + "summary": "Updates an existing category. To invoke this operation, you need the edit privilege on the category.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "category_id", + "description": "The identifier of the category to be updated.\nThe parameter must be an identifier for the resource type: cis.tagging.Category.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if any of the information in the updateSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + }, + "404": { + "description": "if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to update the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.category_update" + } + } + }, + "/rest/com/vmware/cis/tagging/category/id:{category_id}?~action=add-to-used-by": { + "post": { + "tags": [ + "tagging/category" + ], + "summary": "Adds the usedByEntity to the CategoryModel.used-by subscribers set for the specified category. If the usedByEntity is already in the set, then this becomes an idempotent no-op. To invoke this operation, you need the modify CategoryModel.used-by privilege on the category.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "category_id", + "description": "The identifier of the input category.\nThe parameter must be an identifier for the resource type: cis.tagging.Category.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to add an entity to the CategoryModel.used-by field.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "add_to_used_by", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.category_add_to_used_by" + } + } + }, + "/rest/com/vmware/cis/tagging/category/id:{category_id}?~action=remove-from-used-by": { + "post": { + "tags": [ + "tagging/category" + ], + "summary": "Removes the usedByEntity from the CategoryModel.used-by subscribers set. If the usedByEntity is not using this category, then this becomes a no-op. To invoke this operation, you need the modify CategoryModel.used-by privilege on the category.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "category_id", + "description": "The identifier of the input category.\nThe parameter must be an identifier for the resource type: cis.tagging.Category.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to remove an entity from the CategoryModel.used-by field.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "remove_from_used_by", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.category_remove_from_used_by" + } + } + }, + "/rest/com/vmware/cis/tagging/category/id:{category_id}?~action=revoke-propagating-permissions": { + "post": { + "tags": [ + "tagging/category" + ], + "summary": "Revokes all propagating permissions on the given category. You should then attach a direct permission with tagging privileges on the given category. To invoke this operation, you need category related privileges (direct or propagating) on the concerned category.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "category_id", + "description": "The identifier of the input category.\nThe parameter must be an identifier for the resource type: cis.tagging.Category.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to revoke propagating permissions on the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "revoke_propagating_permissions" + } + }, + "/rest/com/vmware/cis/tagging/category?~action=list-used-categories": { + "post": { + "tags": [ + "tagging/category" + ], + "summary": "Enumerates all categories for which the usedByEntity is part of the CategoryModel.used-by subscribers set. To invoke this operation, you need the read privilege on the individual categories.", + "parameters": [], + "responses": { + "200": { + "description": "The list of resource identifiers for the categories in the system that are used by usedByEntity.\nThe result will contain identifiers for the resource type: cis.tagging.Category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.category.list_used_categories_resp" + } + } + } + } + }, + "operationId": "list_used_categories", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.category_list_used_categories" + } + } + }, + "/rest/com/vmware/cis/tagging/tag": { + "post": { + "tags": [ + "tagging/tag" + ], + "summary": "Creates a tag. To invoke this operation, you need the create tag privilege on the input category.", + "parameters": [], + "responses": { + "200": { + "description": "The identifier of the created tag.\nThe result will be an identifier for the resource type: cis.tagging.Tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag.create_resp" + } + } + } + }, + "400": { + "description": "if any of the input information in the createSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + }, + "404": { + "description": "if the category for in the given createSpec does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to create tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_create" + } + }, + "get": { + "tags": [ + "tagging/tag" + ], + "summary": "Enumerates the tags in the system. To invoke this operation, you need read privilege on the individual tags. The list will only contain tags for which you have read privileges.", + "parameters": [], + "responses": { + "200": { + "description": "The list of resource identifiers for the tags in the system.\nThe result will contain identifiers for the resource type: cis.tagging.Tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag.list_resp" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=attach": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Attaches the given tag to the input object. The tag needs to meet the cardinality (CategoryModel.cardinality) and associability (CategoryModel.associable-types) criteria in order to be eligible for attachment. If the tag is already attached to the object, then this operation is a no-op and an error will not be thrown. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on the object.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the input tag is not eligible to be attached to this object or if the objectId is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to attach the tag or do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "attach", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_attach" + } + } + }, + "/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=attach-tag-to-multiple-objects": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Attaches the given tag to the input objects. If a tag is already attached to the object, then the individual operation is a no-op and an error will not be added to TagAssociation.BatchResult.error-messages. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on each object.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The outcome of the batch operation and the list of error messages (TagAssociation.BatchResult.error-messages) describing attachment failures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association.attach_tag_to_multiple_objects_resp" + } + } + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the attach tag privilege on the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "attach_tag_to_multiple_objects", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_attach_tag_to_multiple_objects" + } + } + }, + "/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=detach": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Detaches the tag from the given object. If the tag is already removed from the object, then this operation is a no-op and an error will not be thrown. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on the object.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to detach the tag or do not have the privilege to read the given object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "detach", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_detach" + } + } + }, + "/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=detach-tag-from-multiple-objects": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Detaches the given tag from the input objects. If a tag is already removed from the object, then the individual operation is a no-op and an error will not be added to TagAssociation.BatchResult.error-messages. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on each object.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The outcome of the batch operation and the list of error messages (TagAssociation.BatchResult.error-messages) describing detachment failures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association.detach_tag_from_multiple_objects_resp" + } + } + } + }, + "404": { + "description": "if the tag for the given tag does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the attach tag privilege on the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "detach_tag_from_multiple_objects", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_detach_tag_from_multiple_objects" + } + } + }, + "/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=list-attached-objects": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Fetches the list of attached objects for the given tag. To invoke this operation, you need the read privilege on the input tag. Only those objects for which you have the read privilege will be returned.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The list of attached object identifiers.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association.list_attached_objects_resp" + } + } + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to read the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "list_attached_objects" + } + }, + "/rest/com/vmware/cis/tagging/tag-association?~action=attach-multiple-tags-to-object": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Attaches the given tags to the input object. If a tag is already attached to the object, then the individual operation is a no-op and an error will not be added to TagAssociation.BatchResult.error-messages. To invoke this operation, you need the read privilege on the object and the attach tag privilege on each tag.", + "parameters": [], + "responses": { + "200": { + "description": "The outcome of the batch operation and the list of error messages (TagAssociation.BatchResult.error-messages) describing attachment failures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association.attach_multiple_tags_to_object_resp" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "attach_multiple_tags_to_object", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_attach_multiple_tags_to_object" + } + } + }, + "/rest/com/vmware/cis/tagging/tag-association?~action=detach-multiple-tags-from-object": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Detaches the given tags from the input object. If a tag is already removed from the object, then the individual operation is a no-op and an error will not be added to TagAssociation.BatchResult.error-messages. To invoke this operation, you need the read privilege on the object and the attach tag privilege each tag.", + "parameters": [], + "responses": { + "200": { + "description": "The outcome of the batch operation and the list of error messages (TagAssociation.BatchResult.error-messages) describing detachment failures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association.detach_multiple_tags_from_object_resp" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "detach_multiple_tags_from_object", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_detach_multiple_tags_from_object" + } + } + }, + "/rest/com/vmware/cis/tagging/tag-association?~action=list-attachable-tags": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Fetches the list of attachable tags for the given object, omitting the tags that have already been attached. Criteria for attachability is calculated based on tagging cardinality (CategoryModel.cardinality) and associability (CategoryModel.associable-types) constructs. To invoke this operation, you need the read privilege on the input object. The list will only contain those tags for which you have read privileges.", + "parameters": [], + "responses": { + "200": { + "description": "The list of tag identifiers that are eligible to be attached to the given object.\nThe result will contain identifiers for the resource type: cis.tagging.Tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association.list_attachable_tags_resp" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "list_attachable_tags", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_list_attachable_tags" + } + } + }, + "/rest/com/vmware/cis/tagging/tag-association?~action=list-attached-objects-on-tags": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Fetches the list of TagAssociation.TagToObjects describing the input tag identifiers and the objects they are attached to. To invoke this operation, you need the read privilege on each input tag. The TagAssociation.TagToObjects.object-ids will only contain those objects for which you have the read privilege.", + "parameters": [], + "responses": { + "200": { + "description": "The list of the tag identifiers to all object identifiers that each tag is attached to.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association.list_attached_objects_on_tags_resp" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "list_attached_objects_on_tags", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_list_attached_objects_on_tags" + } + } + }, + "/rest/com/vmware/cis/tagging/tag-association?~action=list-attached-tags": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Fetches the list of tags attached to the given object. To invoke this operation, you need the read privilege on the input object. The list will only contain those tags for which you have the read privileges.", + "parameters": [], + "responses": { + "200": { + "description": "The list of all tag identifiers that correspond to the tags attached to the given object.\nThe result will contain identifiers for the resource type: cis.tagging.Tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association.list_attached_tags_resp" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "list_attached_tags", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_list_attached_tags" + } + } + }, + "/rest/com/vmware/cis/tagging/tag-association?~action=list-attached-tags-on-objects": { + "post": { + "tags": [ + "tagging/tag_association" + ], + "summary": "Fetches the list of TagAssociation.ObjectToTags describing the input object identifiers and the tags attached to each object. To invoke this operation, you need the read privilege on each input object. The TagAssociation.ObjectToTags.tag-ids will only contain those tags for which you have the read privilege.", + "parameters": [], + "responses": { + "200": { + "description": "The list of the object identifiers to all tag identifiers that are attached to that object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association.list_attached_tags_on_objects_resp" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "list_attached_tags_on_objects", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_association_list_attached_tags_on_objects" + } + } + }, + "/rest/com/vmware/cis/tagging/tag/id:{category_id}?~action=list-tags-for-category": { + "post": { + "tags": [ + "tagging/tag" + ], + "summary": "Enumerates all tags for the given category. To invoke this operation, you need the read privilege on the given category and the individual tags in that category.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "category_id", + "description": "The identifier of the input category.\nThe parameter must be an identifier for the resource type: cis.tagging.Category.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The list of resource identifiers for the tags in the given input category.\nThe result will contain identifiers for the resource type: cis.tagging.Tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag.list_tags_for_category_resp" + } + } + } + }, + "404": { + "description": "if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to read the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "list_tags_for_category" + } + }, + "/rest/com/vmware/cis/tagging/tag/id:{tag_id}": { + "delete": { + "tags": [ + "tagging/tag" + ], + "summary": "Deletes an existing tag. To invoke this operation, you need the delete privilege on the tag.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to delete the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + } + }, + "operationId": "delete" + }, + "patch": { + "tags": [ + "tagging/tag" + ], + "summary": "Updates an existing tag. To invoke this operation, you need the edit privilege on the tag.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if any of the input information in the updateSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to update the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_update" + } + }, + "get": { + "tags": [ + "tagging/tag" + ], + "summary": "Fetches the tag information for the given tag identifier. To invoke this operation, you need the read privilege on the tag in order to view the tag info.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The TagModel that corresponds to tagId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_resp" + } + } + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if the user does not have the privilege to read the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/com/vmware/cis/tagging/tag/id:{tag_id}?~action=add-to-used-by": { + "post": { + "tags": [ + "tagging/tag" + ], + "summary": "Adds the usedByEntity to the TagModel.used-by subscribers set. If the usedByEntity is already in the set, then this becomes a no-op. To invoke this operation, you need the modify TagModel.used-by privilege on the tag.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to add an entity to the TagModel.used-by field.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "add_to_used_by", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_add_to_used_by" + } + } + }, + "/rest/com/vmware/cis/tagging/tag/id:{tag_id}?~action=remove-from-used-by": { + "post": { + "tags": [ + "tagging/tag" + ], + "summary": "Removes the usedByEntity from the TagModel.used-by subscribers set. If the usedByEntity is not using this tag, then this becomes a no-op. To invoke this operation, you need modify TagModel.used-by privilege on the tag.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to remove an entity from the TagModel.used-by field.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "remove_from_used_by", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_remove_from_used_by" + } + } + }, + "/rest/com/vmware/cis/tagging/tag/id:{tag_id}?~action=revoke-propagating-permissions": { + "post": { + "tags": [ + "tagging/tag" + ], + "summary": "Revokes all propagating permissions on the given tag. You should then attach a direct permission with tagging privileges on the given tag. To invoke this operation, you need tag related privileges (direct or propagating) on the concerned tag.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "tag_id", + "description": "The identifier of the input tag.\nThe parameter must be an identifier for the resource type: cis.tagging.Tag.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if you do not have the privilege to revoke propagating permissions on the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "revoke_propagating_permissions" + } + }, + "/rest/com/vmware/cis/tagging/tag?~action=list-used-tags": { + "post": { + "tags": [ + "tagging/tag" + ], + "summary": "Enumerates all tags for which the usedByEntity is part of the TagModel.used-by subscribers set. To invoke this operation, you need the read privilege on the individual tags.", + "parameters": [], + "responses": { + "200": { + "description": "The list of resource identifiers for the tags in the system that are used by usedByEntity.\nThe result will contain identifiers for the resource type: cis.tagging.Tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag.list_used_tags_resp" + } + } + } + } + }, + "operationId": "list_used_tags", + "requestBody": { + "$ref": "#/components/requestBodies/cis.tagging.tag_list_used_tags" + } + } + } + }, + "components": { + "requestBodies": { + "cis.tagging.category_add_to_used_by": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.category_add_to_used_by" + } + } + } + }, + "cis.tagging.category_create": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.category_create" + } + } + } + }, + "cis.tagging.category_list_used_categories": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.category_list_used_categories" + } + } + } + }, + "cis.tagging.category_remove_from_used_by": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.category_remove_from_used_by" + } + } + } + }, + "cis.tagging.category_update": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.category_update" + } + } + } + }, + "cis.tagging.tag_add_to_used_by": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_add_to_used_by" + } + } + } + }, + "cis.tagging.tag_association_attach": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_attach" + } + } + } + }, + "cis.tagging.tag_association_attach_multiple_tags_to_object": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_attach_multiple_tags_to_object" + } + } + } + }, + "cis.tagging.tag_association_attach_tag_to_multiple_objects": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_attach_tag_to_multiple_objects" + } + } + } + }, + "cis.tagging.tag_association_detach": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_detach" + } + } + } + }, + "cis.tagging.tag_association_detach_multiple_tags_from_object": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_detach_multiple_tags_from_object" + } + } + } + }, + "cis.tagging.tag_association_detach_tag_from_multiple_objects": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_detach_tag_from_multiple_objects" + } + } + } + }, + "cis.tagging.tag_association_list_attachable_tags": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_list_attachable_tags" + } + } + } + }, + "cis.tagging.tag_association_list_attached_objects_on_tags": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_list_attached_objects_on_tags" + } + } + } + }, + "cis.tagging.tag_association_list_attached_tags": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_list_attached_tags" + } + } + } + }, + "cis.tagging.tag_association_list_attached_tags_on_objects": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_association_list_attached_tags_on_objects" + } + } + } + }, + "cis.tagging.tag_create": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_create" + } + } + } + }, + "cis.tagging.tag_list_used_tags": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_list_used_tags" + } + } + } + }, + "cis.tagging.tag_remove_from_used_by": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_remove_from_used_by" + } + } + } + }, + "cis.tagging.tag_update": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cis.tagging.tag_update" + } + } + } + } + }, + "schemas": { + "cis.session.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string", + "format": "password" + } + }, + "required": [ + "value" + ] + }, + "cis.session.info": { + "type": "object", + "properties": { + "user": { + "description": "Fully qualified name of the end user that created the session, for example Administrator@vsphere.local. A typical use case for this information is in Graphical User Interfaces (GUI) or logging systems to visualize the identity of the current user.", + "type": "string" + }, + "created_time": { + "description": "Time when the session was created.", + "type": "string", + "format": "date-time" + }, + "last_accessed_time": { + "description": "Last time this session was used by passing the session token for invoking an API.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "user", + "created_time", + "last_accessed_time" + ] + }, + "cis.session_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/cis.session.info" + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.category.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.category.create_spec": { + "type": "object", + "properties": { + "name": { + "description": "The display name of the category.", + "type": "string" + }, + "description": { + "description": "The description of the category.", + "type": "string" + }, + "cardinality": { + "description": "The associated cardinality (Cardinality) of the category.", + "$ref": "#/components/schemas/cis.tagging.category_model.cardinality" + }, + "associable_types": { + "description": "Object types to which this category's tags can be attached.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "category_id": { + "description": "If unset an identifier will be generated by the server\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.tagging.Category. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.tagging.Category.", + "type": "string" + } + }, + "required": [ + "name", + "description", + "cardinality", + "associable_types" + ] + }, + "cis.tagging.category.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.category.list_used_categories_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.category.update_spec": { + "type": "object", + "properties": { + "name": { + "description": "The display name of the category.\nIf unset the name will not be modified.", + "type": "string" + }, + "description": { + "description": "The description of the category.\nIf unset the description will not be modified.", + "type": "string" + }, + "cardinality": { + "description": "The associated cardinality (Cardinality) of the category.\nIf unset the cardinality will not be modified.", + "$ref": "#/components/schemas/cis.tagging.category_model.cardinality" + }, + "associable_types": { + "description": "Object types to which this category's tags can be attached. \n The set of associable types cannot be updated incrementally. For example, if Category.UpdateSpec.associable-types originally contains {A,B,C} and you want to add D, then you need to pass {A,B,C,D} in your update specification. You also cannot remove any item from this set. For example, if you have {A,B,C}, then you cannot remove say {A} from it. Similarly, if you start with an empty set, then that implies that you can tag any object and hence you cannot later pass say {A}, because that would be restricting the type of objects you want to tag. Thus, associable types can only grow and not shrink.\n\nIf unset the associable types will not be modified.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "cis.tagging.category_add_to_used_by": { + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": "The name of the user to be added to the CategoryModel.used-by set." + } + } + }, + "cis.tagging.category_create": { + "type": "object", + "properties": { + "create_spec": { + "$ref": "#/components/schemas/cis.tagging.category.create_spec", + "description": "Specification for the new category to be created." + } + } + }, + "cis.tagging.category_list_used_categories": { + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": "The field on which the results will be filtered." + } + } + }, + "cis.tagging.category_model": { + "type": "object", + "properties": { + "id": { + "description": "The unique identifier of the category.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.tagging.Category. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.tagging.Category.", + "type": "string" + }, + "name": { + "description": "The display name of the category.", + "type": "string" + }, + "description": { + "description": "The description of the category.", + "type": "string" + }, + "cardinality": { + "description": "The associated cardinality (Cardinality) of the category.", + "$ref": "#/components/schemas/cis.tagging.category_model.cardinality" + }, + "associable_types": { + "description": "The types of objects that the tags in this category can be attached to. If the set is empty, then tags can be attached to all types of objects. This field works only for objects that reside in Inventory Service (IS). For non IS objects, this check is not performed today and hence a tag can be attached to any non IS object.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "used_by": { + "description": "The set of users that can use this category. To add users to this, you need to have the edit privilege on the category. Similarly, to unsubscribe from this category, you need the edit privilege on the category. You should not modify other users subscription from this set.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "name", + "description", + "cardinality", + "associable_types", + "used_by" + ] + }, + "cis.tagging.category_model.cardinality": { + "type": "string", + "description": "The CategoryModel.Cardinality enumerated type defines the number of tags in a category that can be assigned to an object.", + "enum": [ + "SINGLE", + "MULTIPLE" + ] + }, + "cis.tagging.category_remove_from_used_by": { + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": "The name of the user to be removed from the CategoryModel.used-by set." + } + } + }, + "cis.tagging.category_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/cis.tagging.category_model" + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.category_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/cis.tagging.category.update_spec", + "description": "Specification to update the category." + } + } + }, + "cis.tagging.tag.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag.create_spec": { + "type": "object", + "properties": { + "name": { + "description": "The display name of the tag. The name must be unique within its category.", + "type": "string" + }, + "description": { + "description": "The description of the tag.", + "type": "string" + }, + "category_id": { + "description": "The unique identifier of the parent category in which this tag will be created.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.tagging.Category. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.tagging.Category.", + "type": "string" + }, + "tag_id": { + "description": "If unset an identifier will be generated by the server\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.tagging.Tag. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.tagging.Tag.", + "type": "string" + } + }, + "required": [ + "name", + "description", + "category_id" + ] + }, + "cis.tagging.tag.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag.list_tags_for_category_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag.list_used_tags_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag.update_spec": { + "type": "object", + "properties": { + "name": { + "description": "The display name of the tag.\nIf unset the name will not be modified.", + "type": "string" + }, + "description": { + "description": "The description of the tag.\nIf unset the description will not be modified.", + "type": "string" + } + } + }, + "cis.tagging.tag_add_to_used_by": { + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": "The name of the user to be added to the TagModel.used-by set." + } + } + }, + "cis.tagging.tag_association.attach_multiple_tags_to_object_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/cis.tagging.tag_association.batch_result" + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_association.attach_tag_to_multiple_objects_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/cis.tagging.tag_association.batch_result" + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_association.batch_result": { + "type": "object", + "properties": { + "success": { + "description": "This is true if the batch operation completed without any errors. Otherwise it is false and all or some operations have failed.", + "type": "boolean" + }, + "error_messages": { + "description": "The list of error messages.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + } + }, + "required": [ + "success", + "error_messages" + ] + }, + "cis.tagging.tag_association.detach_multiple_tags_from_object_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/cis.tagging.tag_association.batch_result" + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_association.detach_tag_from_multiple_objects_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/cis.tagging.tag_association.batch_result" + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_association.list_attachable_tags_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_association.list_attached_objects_on_tags_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/cis.tagging.tag_association.tag_to_objects" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_association.list_attached_objects_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_association.list_attached_tags_on_objects_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/cis.tagging.tag_association.object_to_tags" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_association.list_attached_tags_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_association.object_to_tags": { + "type": "object", + "properties": { + "object_id": { + "description": "The identifier of the object.", + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + }, + "tag_ids": { + "description": "The identifiers of the related tags.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: cis.tagging.Tag. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: cis.tagging.Tag.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "object_id", + "tag_ids" + ] + }, + "cis.tagging.tag_association.tag_to_objects": { + "type": "object", + "properties": { + "tag_id": { + "description": "The identifier of the tag.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.tagging.Tag. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.tagging.Tag.", + "type": "string" + }, + "object_ids": { + "description": "The identifiers of the related objects.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + } + } + }, + "required": [ + "tag_id", + "object_ids" + ] + }, + "cis.tagging.tag_association_attach": { + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID", + "description": "The identifier of the input object." + } + } + }, + "cis.tagging.tag_association_attach_multiple_tags_to_object": { + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID", + "description": "The identifier of the input object." + }, + "tag_ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The identifiers of the input tags.\nThe parameter must contain identifiers for the resource type: cis.tagging.Tag." + } + } + }, + "cis.tagging.tag_association_attach_tag_to_multiple_objects": { + "type": "object", + "properties": { + "object_ids": { + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + }, + "description": "The identifiers of the input objects." + } + } + }, + "cis.tagging.tag_association_detach": { + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID", + "description": "The identifier of the input object." + } + } + }, + "cis.tagging.tag_association_detach_multiple_tags_from_object": { + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID", + "description": "The identifier of the input object." + }, + "tag_ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The identifiers of the input tags.\nThe parameter must contain identifiers for the resource type: cis.tagging.Tag." + } + } + }, + "cis.tagging.tag_association_detach_tag_from_multiple_objects": { + "type": "object", + "properties": { + "object_ids": { + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + }, + "description": "The identifiers of the input objects." + } + } + }, + "cis.tagging.tag_association_list_attachable_tags": { + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID", + "description": "The identifier of the input object." + } + } + }, + "cis.tagging.tag_association_list_attached_objects_on_tags": { + "type": "object", + "properties": { + "tag_ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The identifiers of the input tags.\nThe parameter must contain identifiers for the resource type: cis.tagging.Tag." + } + } + }, + "cis.tagging.tag_association_list_attached_tags": { + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID", + "description": "The identifier of the input object." + } + } + }, + "cis.tagging.tag_association_list_attached_tags_on_objects": { + "type": "object", + "properties": { + "object_ids": { + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + }, + "description": "The identifiers of the input objects." + } + } + }, + "cis.tagging.tag_create": { + "type": "object", + "properties": { + "create_spec": { + "$ref": "#/components/schemas/cis.tagging.tag.create_spec", + "description": "Specification for the new tag to be created." + } + } + }, + "cis.tagging.tag_list_used_tags": { + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": "The field on which the results will be filtered." + } + } + }, + "cis.tagging.tag_model": { + "type": "object", + "properties": { + "id": { + "description": "The unique identifier of the tag.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.tagging.Tag. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.tagging.Tag.", + "type": "string" + }, + "category_id": { + "description": "The identifier of the parent category in which this tag will be created.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.tagging.Category. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.tagging.Category.", + "type": "string" + }, + "name": { + "description": "The display name of the tag.", + "type": "string" + }, + "description": { + "description": "The description of the tag.", + "type": "string" + }, + "used_by": { + "description": "The set of users that can use this tag. To add users to this, you need to have the edit privilege on the tag. Similarly, to unsubscribe from this tag, you need the edit privilege on the tag. You should not modify other users subscription from this set.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "category_id", + "name", + "description", + "used_by" + ] + }, + "cis.tagging.tag_remove_from_used_by": { + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": "The name of the user to be removed from the TagModel.used-by set." + } + } + }, + "cis.tagging.tag_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/cis.tagging.tag_model" + } + }, + "required": [ + "value" + ] + }, + "cis.tagging.tag_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/cis.tagging.tag.update_spec", + "description": "Specification to update the tag." + } + } + }, + "cis.task.info": { + "type": "object", + "properties": { + "progress": { + "description": "Progress of the operation.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.", + "$ref": "#/components/schemas/cis.task.progress" + }, + "result": { + "description": "Result of the operation. If an operation reports partial results before it completes, this field could be set before the CommonInfo.status has the value SUCCEEDED. The value could change as the operation progresses.\nThis field will be unset if the operation does not return a result or if the result is not available at the current step of the operation.", + "type": "object" + }, + "description": { + "description": "Description of the operation associated with the task.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "service": { + "description": "Identifier of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.service.", + "type": "string" + }, + "operation": { + "description": "Identifier of the operation associated with the task.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.operation.", + "type": "string" + }, + "parent": { + "description": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.task. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.task.", + "type": "string" + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\nThis field will be unset if the operation has no target or multiple targets.", + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + }, + "status": { + "description": "Status of the operation associated with the task.", + "$ref": "#/components/schemas/cis.task.status" + }, + "cancelable": { + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.", + "type": "boolean" + }, + "error": { + "description": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info.result).", + "type": "string" + }, + "start_time": { + "description": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of SUCCEEDED or FAILED.", + "type": "string", + "format": "date-time" + }, + "user": { + "description": "Name of the user who performed the operation.\nThis field will be unset if the operation is performed by the system.", + "type": "string" + } + }, + "required": [ + "description", + "service", + "operation", + "status", + "cancelable" + ] + }, + "cis.task.progress": { + "type": "object", + "properties": { + "total": { + "description": "Total amount of the work for the operation.", + "type": "integer", + "format": "int64" + }, + "completed": { + "description": "The amount of work completed for the operation. The value can only be incremented.", + "type": "integer", + "format": "int64" + }, + "message": { + "description": "Message about the work progress.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "total", + "completed", + "message" + ] + }, + "cis.task.status": { + "type": "string", + "enum": [ + "PENDING", + "RUNNING", + "BLOCKED", + "SUCCEEDED", + "FAILED" + ] + }, + "cis.tasks.filter_spec": { + "type": "object", + "properties": { + "tasks": { + "description": "Identifiers of tasks that can match the filter.\nThis field may be unset if Tasks.FilterSpec.services is specified. Currently all tasks must be from the same provider. If unset or empty, tasks with any identifier will match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: cis.task. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: cis.task.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "services": { + "description": "Identifiers of services. Tasks created by operations in these services match the filter (see CommonInfo.service).\nThis field may be unset if Tasks.FilterSpec.tasks is specified. Currently all services must be from the same provider. If this field is unset or empty, tasks for any service will match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vapi.service. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vapi.service.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "operations": { + "description": "Identifiers of operations. Tasks created by these operations match the filter (see CommonInfo.operation). \n Note that an operation identifier by itself is not globally unique. To filter on an operation, the identifier of the service interface containing the operation should also be specified in Tasks.FilterSpec.services.\n\nIf unset or empty, tasks associated with any operation will match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vapi.operation.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "status": { + "description": "Status that a task must have to match the filter (see CommonInfo.status).\nIf unset or empty, tasks with any status match the filter.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/components/schemas/cis.task.status" + } + }, + "targets": { + "description": "Identifiers of the targets the operation for the associated task created or was performed on (see CommonInfo.target).\nIf unset or empty, tasks associated with operations on any target match the filter.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.dynamic_ID" + } + }, + "users": { + "description": "Users who must have initiated the operation for the associated task to match the filter (see CommonInfo.user).\nIf unset or empty, tasks associated with operations initiated by any user match the filter.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "cis.tasks.get_spec": { + "type": "object", + "properties": { + "return_all": { + "description": "If true, all data, including operation-specific data, will be returned, otherwise only the data described in Info will be returned.\nIf unset, only the data described in Info will be returned.", + "type": "boolean" + }, + "exclude_result": { + "description": "If true, the result will not be included in the task information, otherwise it will be included.\nIf unset, the result of the operation will be included in the task information.", + "type": "boolean" + } + } + }, + "cis.tasks.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/cis.task.info" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "cis.tasks_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/cis.task.info" + } + }, + "required": [ + "value" + ] + }, + "vapi.std.dynamic_ID": { + "type": "object", + "properties": { + "type": { + "description": "The type of resource being identified (for example {@code com.acme.Person}).
{@term Services} that contain {@term operations} for creating and deleting resources typically contain a {@term constant} specifying the resource type for the resources being created and deleted. The API metamodel metadata {@term services} include a {@term service} that allows retrieving all the known resource types.", + "type": "string" + }, + "id": { + "description": "The identifier for a resource whose type is specified by {@link #type}.", + "type": "string" + } + }, + "required": [ + "type", + "id" + ] + }, + "vapi.std.errors.already_exists": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.already_exists_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.already_exists" + } + } + }, + "vapi.std.errors.error": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.error.type": { + "type": "string", + "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.", + "enum": [ + "ERROR", + "ALREADY_EXISTS", + "ALREADY_IN_DESIRED_STATE", + "CANCELED", + "CONCURRENT_CHANGE", + "FEATURE_IN_USE", + "INTERNAL_SERVER_ERROR", + "INVALID_ARGUMENT", + "INVALID_ELEMENT_CONFIGURATION", + "INVALID_ELEMENT_TYPE", + "INVALID_REQUEST", + "NOT_ALLOWED_IN_CURRENT_STATE", + "NOT_FOUND", + "OPERATION_NOT_FOUND", + "RESOURCE_BUSY", + "RESOURCE_IN_USE", + "RESOURCE_INACCESSIBLE", + "SERVICE_UNAVAILABLE", + "TIMED_OUT", + "UNABLE_TO_ALLOCATE_RESOURCE", + "UNAUTHENTICATED", + "UNAUTHORIZED", + "UNEXPECTED_INPUT", + "UNSUPPORTED", + "UNVERIFIED_PEER" + ] + }, + "vapi.std.errors.error_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + }, + "vapi.std.errors.invalid_argument": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.invalid_argument_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + }, + "vapi.std.errors.not_allowed_in_current_state": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.not_allowed_in_current_state_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + }, + "vapi.std.errors.not_found": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.not_found_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + }, + "vapi.std.errors.resource_inaccessible": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.resource_inaccessible_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + }, + "vapi.std.errors.service_unavailable": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.service_unavailable_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.service_unavailable" + } + } + }, + "vapi.std.errors.unauthenticated": { + "type": "object", + "properties": { + "challenge": { + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.
For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"", + "type": "string" + }, + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unauthenticated_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + }, + "vapi.std.errors.unauthorized": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unauthorized_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + }, + "vapi.std.errors.unsupported": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unsupported_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unsupported" + } + } + }, + "vapi.std.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "default_message": { + "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.", + "type": "string" + }, + "args": { + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "params": { + "description": "Named arguments to be substituted into the message template.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.localization_param" + } + } + } + }, + "localized": { + "description": "Localized string value as per request requirements.", + "type": "string" + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "vapi.std.localization_param": { + "type": "object", + "properties": { + "s": { + "description": "{@term String} value associated with the parameter.", + "type": "string" + }, + "dt": { + "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.", + "type": "string", + "format": "date-time" + }, + "i": { + "description": "{@term long} value associated with the parameter.", + "type": "integer", + "format": "int64" + }, + "d": { + "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.", + "type": "number", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.", + "$ref": "#/components/schemas/vapi.std.nested_localizable_message" + }, + "format": { + "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.", + "$ref": "#/components/schemas/vapi.std.localization_param.date_time_format" + }, + "precision": { + "description": "Number of fractional digits to include in formatted {@term double} value.", + "type": "integer", + "format": "int64" + } + } + }, + "vapi.std.localization_param.date_time_format": { + "type": "string", + "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.", + "enum": [ + "SHORT_DATE", + "MED_DATE", + "LONG_DATE", + "FULL_DATE", + "SHORT_TIME", + "MED_TIME", + "LONG_TIME", + "FULL_TIME", + "SHORT_DATE_TIME", + "MED_DATE_TIME", + "LONG_DATE_TIME", + "FULL_DATE_TIME" + ] + }, + "vapi.std.nested_localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "params": { + "description": "Named Arguments to be substituted into the message template.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.localization_param" + } + } + } + } + }, + "required": [ + "id" + ] + } + } + } +} \ No newline at end of file diff --git a/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/content.json b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/content.json new file mode 100644 index 0000000..0716b11 --- /dev/null +++ b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/content.json @@ -0,0 +1,6535 @@ +{ + "openapi": "3.0.0", + "info": { + "description": "VMware vSphere\u00ae Content Library empowers vSphere Admins to effectively manage VM templates, vApps, ISO images and scripts with ease.", + "title": "content", + "version": "2.0.0" + }, + "paths": { + "/api/content/security-policies": { + "get": { + "tags": [ + "security_policies" + ], + "summary": "Returns the list of security policies.", + "parameters": [], + "responses": { + "200": { + "description": "List of security policies.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContentSecurityPoliciesInfo" + } + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/content/trusted-certificates": { + "post": { + "tags": [ + "trusted_certificates" + ], + "summary": "Adds a certificate to content library trust store.
This API has to be invoked separately for each certificate block - (BEGIN_CERTIFICATE ... END_CERTIFICATE)", + "parameters": [], + "responses": { + "201": { + "description": "ID of the certificates added. The certificate ID will be unique for each certificate. If the certificate already exists, existing ID is returned.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/ContentTrustedCertificatesCreate" + } + }, + "get": { + "tags": [ + "trusted_certificates" + ], + "summary": "Returns {@name ListResult} {@term structure}. All content library's trusted certificates.", + "parameters": [], + "responses": { + "200": { + "description": "{@name ListResult} containing trusted certificates.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContentTrustedCertificatesListResult" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/content/trusted-certificates/{certificate}": { + "get": { + "tags": [ + "trusted_certificates" + ], + "summary": "Retrieves a trusted certificate for a given certificate id.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "certificate", + "description": "id of the trusted certificate.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "{@link Info} instance that corresponds to the {@param.name certificate}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContentTrustedCertificatesInfo" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "if a trusted certificate does not exist for given id.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "trusted_certificates" + ], + "summary": "Deletes the trusted certificate from content library's trust store for a given identifier.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "certificate", + "description": "id of the trusted certificate.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "if the trusted certificate specified by {@param.name certificate} could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/content/configuration": { + "patch": { + "tags": [ + "configuration" + ], + "summary": "Updates the configuration. The update is incremental. Any {@term field} in the {@link ConfigurationModel} {@term structure} that is {@term unset} will not be modified. Note that this update {@term operation} doesn't guarantee an atomic change of all the properties. In the case of a system crash or failure, some of the properties could be left unchanged while others may be updated.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if one of the configuration properties is not within the proper range.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/content.configuration_update" + } + } + }, + "/rest/com/vmware/content/configuration?~action=get": { + "post": { + "tags": [ + "configuration" + ], + "summary": "Retrieves the current configuration values.", + "parameters": [], + "responses": { + "200": { + "description": "The {@link ConfigurationModel} instance representing the configuration of the Content Library Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.configuration_resp" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/com/vmware/content/library": { + "get": { + "tags": [ + "library" + ], + "summary": "Returns the identifiers of all libraries of any type in the Content Library.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term list} of all identifiers of all libraries in the Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.list_resp" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/content/library/id:{library_id}": { + "get": { + "tags": [ + "library" + ], + "summary": "Returns a given {@link LibraryModel}.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the library to return.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link LibraryModel} instance with the specified {@param.name libraryId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library_resp" + } + } + } + }, + "404": { + "description": "if the specified library does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "library" + ], + "summary": "Updates the properties of a library.
This is an incremental update to the library. Any {@term field} in the {@link LibraryModel} {@term structure} that is {@term unset} will not be modified.
This {@term operation} will only update the common properties for all library types. This will not, for example, update the {@link LibraryModel#publishInfo} of a local library, nor the {@link LibraryModel#subscriptionInfo} of a subscribed library. Specific properties are updated in {@link LocalLibrary#update} and {@link SubscribedLibrary#update}.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the library to update.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library associated with {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@param.name updateSpec} is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/content.library_update" + } + } + }, + "/rest/com/vmware/content/library/item": { + "get": { + "tags": [ + "library/item" + ], + "summary": "Returns the identifiers of all items in the given library.", + "parameters": [ + { + "in": "query", + "name": "library_id", + "description": "Identifier of the library whose items should be returned.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of identifiers of the items in the library specified by {@param.name libraryId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.list_resp" + } + } + } + }, + "404": { + "description": "if the library associated with {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + }, + "post": { + "tags": [ + "library/item" + ], + "summary": "Creates a new library item.
A new library item is created without any content. After creation, content can be added through the {@link UpdateSession} and {@link File} {@term services}.
A library item cannot be created in a subscribed library.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the new library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.create_resp" + } + } + } + }, + "404": { + "description": "if the {@link ItemModel#libraryId} property of {@param.name createSpec} refers to a library that does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if there is already a library item with same name in the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.already_exists" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item_create" + } + } + }, + "/rest/com/vmware/content/library/item/download-session": { + "get": { + "tags": [ + "library/item/download_session" + ], + "summary": "Lists the identifiers of the download sessions created by the calling user. Optionally may filter by library item.", + "parameters": [ + { + "required": false, + "in": "query", + "name": "library_item_id", + "description": "Library item identifier on which to filter results.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of identifiers of all download sessions created by the calling user.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.download_session.list_resp" + } + } + } + }, + "404": { + "description": "if a library item identifier is given for an item which does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + }, + "post": { + "tags": [ + "library/item/download_session" + ], + "summary": "Creates a new download session.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the new download session being created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.download_session.create_resp" + } + } + } + }, + "400": { + "description": "if the session specification is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + }, + "404": { + "description": "if the library item targeted by the download does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.download_session_create" + } + } + }, + "/rest/com/vmware/content/library/item/download-session/id:{download_session_id}": { + "get": { + "tags": [ + "library/item/download_session" + ], + "summary": "Gets the download session with the specified identifier, including the most up-to-date status information for the session.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "download_session_id", + "description": "Identifier of the download session to retrieve.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link DownloadSessionModel} instance with the given {@param.name downloadSessionId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.download_session_resp" + } + } + } + }, + "404": { + "description": "if no download session with the given {@param.name downloadSessionId} exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "library/item/download_session" + ], + "summary": "Deletes a download session. This removes the session and all information associated with it.
Removing a download session leaves any current transfers for that session in an indeterminate state (there is no guarantee that the transfers will be able to complete). However there will no longer be a means of inspecting the status of those downloads except by seeing the effect on the library item.
Download sessions for which there is no download activity or which are complete will automatically be expired and then deleted after a period of time.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "download_session_id", + "description": "Identifier of the download session to be deleted.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the download session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/content/library/item/download-session/id:{download_session_id}?~action=cancel": { + "post": { + "tags": [ + "library/item/download_session" + ], + "summary": "Cancels the download session. This {@term operation} will abort any ongoing transfers and invalidate transfer urls that the client may be downloading from.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "download_session_id", + "description": "Identifer of the download session that should be canceled.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if no download session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the download session is not in the {@link DownloadSessionModel.State#ACTIVE} state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "cancel" + } + }, + "/rest/com/vmware/content/library/item/download-session/id:{download_session_id}?~action=fail": { + "post": { + "tags": [ + "library/item/download_session" + ], + "summary": "Terminates the download session with a client specified error message.
This is useful in transmitting client side failures (for example, not being able to download a file) to the server side.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "download_session_id", + "description": "Identifier of the download session to fail.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the download session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the download session is not in the {@link DownloadSessionModel.State#ACTIVE} state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "fail", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.download_session_fail" + } + } + }, + "/rest/com/vmware/content/library/item/download-session/id:{download_session_id}?~action=keep-alive": { + "post": { + "tags": [ + "library/item/download_session" + ], + "summary": "Keeps a download session alive. This operation is allowed only if the session is in the {@link DownloadSessionModel.State#ACTIVE} state.
If there is no activity for a download session for a certain period of time, the download session will expire. The download session expiration timeout is configurable in the Content Library Service system configuration. The default is five minutes. Invoking this {@term operation} enables a client to specifically extend the lifetime of an active download session.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "download_session_id", + "description": "Identifier of the download session whose lifetime should be extended.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if no download session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the download session is not in the {@link DownloadSessionModel.State#ACTIVE} state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "keep_alive", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.download_session_keep_alive" + } + } + }, + "/rest/com/vmware/content/library/item/downloadsession/file": { + "get": { + "tags": [ + "library/item/downloadsession/file" + ], + "summary": "Lists the information of all the files in the library item associated with the download session.", + "parameters": [ + { + "in": "query", + "name": "download_session_id", + "description": "Identifier of the download session.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of {@link File.Info} instances.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.downloadsession.file.list_resp" + } + } + } + }, + "404": { + "description": "if the download session associated with {@param.name downloadSessionId} doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/content/library/item/downloadsession/file/id:{download_session_id}?~action=get": { + "post": { + "tags": [ + "library/item/downloadsession/file" + ], + "summary": "Retrieves file download information for a specific file.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "download_session_id", + "description": "Identifier of the download session.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link Info} instance containing the status of the file and its download link if available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.downloadsession.file_resp" + } + } + } + }, + "404": { + "description": "if the download session associated with {@param.name downloadSessionId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if there is no file with the specified {@param.name fileName}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "get", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.downloadsession.file_get" + } + } + }, + "/rest/com/vmware/content/library/item/downloadsession/file/id:{download_session_id}?~action=prepare": { + "post": { + "tags": [ + "library/item/downloadsession/file" + ], + "summary": "Requests a file to be prepared for download.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "download_session_id", + "description": "Identifier of the download session.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "File information containing the status of the request and the download link to the file.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.downloadsession.file.prepare_resp" + } + } + } + }, + "404": { + "description": "if the download session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if there is no file with the specified {@param.name fileName}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + }, + "403": { + "description": "if the the download session wasn't created with the ContentLibrary.ReadStorage privilege and the caller requested a {@link EndpointType#DIRECT} endpoint type.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "prepare", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.downloadsession.file_prepare" + } + } + }, + "/rest/com/vmware/content/library/item/file": { + "get": { + "tags": [ + "library/item/file" + ], + "summary": "Lists all of the files that are stored within a given library item.", + "parameters": [ + { + "in": "query", + "name": "library_item_id", + "description": "Identifier of the library item whose files should be listed.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of all of the files that are stored within the given library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.file.list_resp" + } + } + } + }, + "404": { + "description": "if {@param.name libraryItemId} refers to a library item that does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/content/library/item/file/id:{library_item_id}?~action=get": { + "post": { + "tags": [ + "library/item/file" + ], + "summary": "Retrieves the information for a single file in a library item by its name.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item whose file information should be returned.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link Info} object with information on the specified file.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.file_resp" + } + } + } + }, + "404": { + "description": "if {@param.name libraryItemId} refers to a library item that does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.file_get" + } + } + }, + "/rest/com/vmware/content/library/item/id:{library_item_id}": { + "get": { + "tags": [ + "library/item" + ], + "summary": "Returns the {@link ItemModel} with the given identifier.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to return.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link ItemModel} instance with the given {@param.name libraryItemId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item_resp" + } + } + } + }, + "404": { + "description": "if no item with the given {@param.name libraryItemId} exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "library/item" + ], + "summary": "Updates the specified properties of a library item.
This is an incremental update to the library item. {@term Fields} that are {@term unset} in the update specification are left unchanged.
This {@term operation} cannot update a library item that is a member of a subscribed library. Those items must be updated in the source published library and synchronized to the subscribed library.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to update.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library item specified by {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if there is already a library item with same name in the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.already_exists" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item_update" + } + }, + "delete": { + "tags": [ + "library/item" + ], + "summary": "Deletes a library item.
This {@term operation} will immediately remove the item from the library that owns it. The content of the item will be asynchronously removed from the storage backings. The content deletion can be tracked with a task. In the event that the task fails, an administrator may need to manually remove the files from the storage backing.
This {@term operation} cannot be used to delete a library item that is a member of a subscribed library. Removing an item from a subscribed library requires deleting the item from the original published local library and syncing the subscribed library.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to delete.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if the library item contains a virtual machine template and a virtual machine is checked out of the library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "if the library item with the specified {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/content/library/item/id:{library_item_id}?~action=publish": { + "post": { + "tags": [ + "library/item" + ], + "summary": "Publishes the library item to specified subscriptions of the library. If no subscriptions are specified, then publishes the library item to all subscriptions of the library.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Library item identifier.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "If the library item specified by {@param.name libraryItemId} does not belong to a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "If the library item specified by {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "If the user that requested the {@term operation} cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "If the user that requested the {@term operation} is not authorized to perform the {@term operation}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "publish", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item_publish" + } + } + }, + "/rest/com/vmware/content/library/item/id:{source_library_item_id}?~action=copy": { + "post": { + "tags": [ + "library/item" + ], + "summary": "Copies a library item.
Copying a library item allows a duplicate to be made within the same or different library. The copy occurs by first creating a new library item, whose identifier is returned. The content of the library item is then copied asynchronously. This copy can be tracked as a task.
If the copy fails, Content Library Service will roll back the copy by deleting any content that was already copied, and removing the new library item. A failure during rollback may require manual cleanup by an administrator.
A library item cannot be copied into a subscribed library.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "source_library_item_id", + "description": "Identifier of the existing library item from which the content will be copied.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The identifier of the new library item into which the content is being copied.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.copy_resp" + } + } + } + }, + "404": { + "description": "if the library item with {@param.name sourceLibraryItemId} does not exist, or if the library referenced by the {@link ItemModel#libraryId} property of {@param.name destinationCreateSpec} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the content of the source library item specified by {@param.name sourceLibraryItemId}, or the content of the target library specified by the library ID (see {@link ItemModel#libraryId}) property of {@param.name destinationCreateSpec} has been deleted from the storage backings (see {@link LibraryModel#storageBackings}) associated with it.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "copy", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item_copy" + } + } + }, + "/rest/com/vmware/content/library/item/storage": { + "get": { + "tags": [ + "library/item/storage" + ], + "summary": "Lists all storage items for a given library item.", + "parameters": [ + { + "in": "query", + "name": "library_item_id", + "description": "Identifier of the library item whose storage information should be listed.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of all storage items for a given library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.storage.list_resp" + } + } + } + }, + "404": { + "description": "if the specified library item does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/content/library/item/storage/id:{library_item_id}?~action=get": { + "post": { + "tags": [ + "library/item/storage" + ], + "summary": "Retrieves the storage information for a specific file in a library item.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item whose storage information should be retrieved.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of all the storage items for the given file within the given library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.storage_resp" + } + } + } + }, + "404": { + "description": "if the specified library item does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.storage_get" + } + } + }, + "/rest/com/vmware/content/library/item/update-session": { + "get": { + "tags": [ + "library/item/update_session" + ], + "summary": "Lists the identifiers of the update session created by the calling user. Optionally may filter by library item.", + "parameters": [ + { + "required": false, + "in": "query", + "name": "library_item_id", + "description": "Optional library item identifier on which to filter results.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of identifiers of all update sessions created by the calling user.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.update_session.list_resp" + } + } + } + }, + "404": { + "description": "if a library item identifier is given for an item which does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + }, + "post": { + "tags": [ + "library/item/update_session" + ], + "summary": "Creates a new update session. An update session is used to make modifications to a library item. Modifications are not visible to other clients unless the session is completed and all necessary files have been received.
Content Library Service allows only one single update session to be active for a specific library item.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the new update session being created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.update_session.create_resp" + } + } + } + }, + "400": { + "description": "if there is another update session on the same library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.resource_busy" + } + } + } + }, + "404": { + "description": "if the item targeted for update does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.update_session_create" + } + } + }, + "/rest/com/vmware/content/library/item/update-session/id:{update_session_id}": { + "get": { + "tags": [ + "library/item/update_session" + ], + "summary": "Gets the update session with the specified identifier, including the most up-to-date status information for the session.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifier of the update session to retrieve.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link UpdateSessionModel} instance with the given {@param.name updateSessionId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.update_session_resp" + } + } + } + }, + "404": { + "description": "if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "library/item/update_session" + ], + "summary": "Updates the properties of an update session.
This is an incremental update to the update session. Any {@term field} in the {@link UpdateSessionModel} {@term structure} that is {@term unset} will not be modified.
This {@term operation} will only update the property {@link UpdateSessionModel#warningBehavior} of the update session. This will not, for example, update the {@link UpdateSessionModel#libraryItemId} or {@link UpdateSessionModel#state} of an update session.
This {@term operation} requires the session to be in the {@link UpdateSessionModel.State#ACTIVE} state.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifer of the update session that should be updated.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the update session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the update session specification is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.update_session_update" + } + }, + "delete": { + "tags": [ + "library/item/update_session" + ], + "summary": "Deletes an update session. This removes the session and all information associated with it.
Removing an update session leaves any current transfers for that session in an indeterminate state (there is no guarantee that the server will terminate the transfers, or that the transfers can be completed). However there will no longer be a means of inspecting the status of those uploads except by seeing the effect on the library item.
Update sessions for which there is no upload activity or which are complete will automatically be deleted after a period of time.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifer of the update session to delete.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the update session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the update session is in the {@link UpdateSessionModel.State#ACTIVE} state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=cancel": { + "post": { + "tags": [ + "library/item/update_session" + ], + "summary": "Cancels the update session and sets its state to {@link UpdateSessionModel.State#CANCELED}. This {@term operation} will free up any temporary resources currently associated with the session.
This {@term operation} is not allowed if the session has been already completed.
Cancelling an update session will cancel any in progress transfers (either uploaded by the client or pulled by the server). Any content that has been already received will be scheduled for deletion.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifier of the update session that should be canceled.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "cancel" + } + }, + "/rest/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=complete": { + "post": { + "tags": [ + "library/item/update_session" + ], + "summary": "Completes the update session. This indicates that the client has finished making all the changes required to the underlying library item. If the client is pushing the content to the server, the library item will be updated once this call returns. If the server is pulling the content, the call may return before the changes become visible. In that case, the client can track the session to know when the server is done.
This {@term operation} requires the session to be in the {@link UpdateSessionModel.State#ACTIVE} state.
Depending on the type of the library item associated with this session, a type adapter may be invoked to verify the validity of the files uploaded. The user can explicitly validate the session before completing the session by using the {@link content.library.item.updatesession.File#validate} {@term operation}.
Modifications are not visible to other clients unless the session is completed and all necessary files have been received.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifier of the update session that should be completed.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state, or if some of the files that will be uploaded by the client aren't received correctly.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "complete" + } + }, + "/rest/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=fail": { + "post": { + "tags": [ + "library/item/update_session" + ], + "summary": "Terminates the update session with a client specified error message.
This is useful in transmitting client side failures (for example, not being able to access a file) to the server side.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifier of the update session to fail.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the update session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "fail", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.update_session_fail" + } + } + }, + "/rest/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=keep-alive": { + "post": { + "tags": [ + "library/item/update_session" + ], + "summary": "Keeps an update session alive.
If there is no activity for an update session after a period of time, the update session will expire, then be deleted. The update session expiration timeout is configurable in the Content Library Service system configuration. The default is five minutes. Invoking this {@term operation} enables a client to specifically extend the lifetime of the update session.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifier of the update session whose lifetime should be extended.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "keep_alive", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.update_session_keep_alive" + } + } + }, + "/rest/com/vmware/content/library/item/updatesession/file": { + "get": { + "tags": [ + "library/item/updatesession/file" + ], + "summary": "Lists all files in the library item associated with the update session.", + "parameters": [ + { + "in": "query", + "name": "update_session_id", + "description": "Identifier of the update session.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of the files in the library item associated with the update session. This {@term list} may be empty if the caller has removed all the files as part of this session (in which case completing the update session will result in an empty library item).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.updatesession.file.list_resp" + } + } + } + }, + "404": { + "description": "if the update session doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=add": { + "post": { + "tags": [ + "library/item/updatesession/file" + ], + "summary": "Requests file content to be changed (either created, or updated). Depending on the source type of the file, this {@term operation} will either return an upload endpoint where the client can push the content, or the server will pull from the provided source endpoint. If a file with the same name already exists in this session, this {@term operation} will be used to update the content of the existing file.
When importing a file directly from storage, where the source endpoint is a file or datastore URI, you will need to have the ContentLibrary.ReadStorage privilege on the library item. If the file is located in the same directory as the library storage backing folder, the server will move the file instead of copying it, thereby allowing instantaneous import of files for efficient backup and restore scenarios. In all other cases, a copy is performed rather than a move.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifier of the update session to be modified.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "An {@link Info} {@term structure} containing upload links as well as server side state tracking the transfer of the file.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.updatesession.file.add_resp" + } + } + } + }, + "400": { + "description": "if the content of the library item associated with the update session has been deleted from the storage backings (see {@link LibraryModel#storageBackings}) associated with it.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "if the update session doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "403": { + "description": "if the caller doesn't have ContentLibrary.ReadStorage privilege on the library item of the update session and source type {@link SourceType#PULL} is requested for a file or datastore source endpoint (that is, not HTTP or HTTPs based endpoint).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "add", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.updatesession.file_add" + } + } + }, + "/rest/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=get": { + "post": { + "tags": [ + "library/item/updatesession/file" + ], + "summary": "Retrieves information about a specific file in the snapshot of the library item at the time when the update session was created.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifier of the update session.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the file.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.updatesession.file_resp" + } + } + } + }, + "404": { + "description": "if the update session doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the file doesn't exist in the library item associated with the update session.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "get", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.updatesession.file_get" + } + } + }, + "/rest/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=remove": { + "post": { + "tags": [ + "library/item/updatesession/file" + ], + "summary": "Requests a file to be removed. The file will only be effectively removed when the update session is completed.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifier of the update session.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the update session doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the file doesn't exist in the library item associated with the update session.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "remove", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item.updatesession.file_remove" + } + } + }, + "/rest/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=validate": { + "post": { + "tags": [ + "library/item/updatesession/file" + ], + "summary": "Validates the files in the update session with the referenced identifier and ensures all necessary files are received. In the case where a file is missing, this {@term operation} will return its name in the {@link ValidationResult#missingFiles} set. The user can add the missing files and try re-validating. For other type of errors, {@link ValidationResult#invalidFiles} will contain the list of invalid files.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "update_session_id", + "description": "Identifier of the update session to validate.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "A validation result containing missing files or invalid files and the reason why they are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.updatesession.file.validate_resp" + } + } + } + }, + "404": { + "description": "if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state, or if some of the files that will be uploaded by the client aren't received correctly.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "validate" + } + }, + "/rest/com/vmware/content/library/item?~action=find": { + "post": { + "tags": [ + "library/item" + ], + "summary": "Returns identifiers of all the visible (as determined by authorization policy) library items matching the requested {@link Item.FindSpec}.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term list} of identifiers of all the visible library items matching the given {@param.name spec}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.find_resp" + } + } + } + }, + "400": { + "description": "if no properties are specified in the {@param.name spec}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "find", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.item_find" + } + } + }, + "/rest/com/vmware/content/library/subscribed-item/id:{library_item_id}?~action=evict": { + "post": { + "tags": [ + "library/subscribed_item" + ], + "summary": "Evicts the cached content of a library item in a subscribed library.
This {@term operation} allows the cached content of a library item to be removed to free up storage capacity. This {@term operation} will only work when a library item is synchronized on-demand. When a library is not synchronized on-demand, it always attempts to keep its cache up-to-date with the published source. Evicting the library item will set {@link ItemModel#cached} to false.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item whose content should be evicted.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library item specified by {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the content of the library item specified by {@param.name libraryItemId} has been deleted from the storage backings (see {@link LibraryModel#storageBackings}) associated with it.
For instance, this {@term error) is reported on evicting a library item in an on-demand subscribed library that was restored from backup, and the library item was deleted after backup, thus resulting in its content being deleted from the associated storage backings. In this scenario, the metadata of the library item is present on a restore, while its content has been deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "evict" + } + }, + "/rest/com/vmware/content/library/subscribed-item/id:{library_item_id}?~action=sync": { + "post": { + "tags": [ + "library/subscribed_item" + ], + "summary": "Forces the synchronization of an individual library item in a subscribed library.
Synchronizing an individual item will update that item's metadata from the remote source. If the source library item on the remote library has been deleted, this {@term operation} will delete the library item from the subscribed library as well.
The default behavior of the synchronization is determined by the {@link SubscriptionInfo} of the library which owns the library item.
This {@term operation} will return immediately and create an asynchronous task to perform the synchronization.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to synchronize.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library item specified by {@param.name libraryItemId} could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the content of the library item specified by {@param.name libraryItemId} has been deleted from the storage backings (see {@link LibraryModel#storageBackings}) associated with it.
For instance, this {@term error) is reported on synchronizing a library item in a subscribed library that was restored from backup, and the library item was deleted after backup, thus resulting in its content being deleted from the associated storage backings. In this scenario, the metadata of the library item is present on a restore, while its content has been deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "sync", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.subscribed_item_sync" + } + } + }, + "/rest/com/vmware/content/library/subscriptions": { + "get": { + "tags": [ + "library/subscriptions" + ], + "summary": "Lists the subscriptions of the published library.", + "parameters": [ + { + "in": "query", + "name": "library", + "description": "Identifier of the published library.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "List of commonly used information about subscriptions of the published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.subscriptions.list_resp" + } + } + } + }, + "400": { + "description": "If the library specified by {@param.name library} is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "If the library specified by {@param.name library} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "If the user that requested the {@term operation} cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "If the user that requested the {@term operation} is not authorized to perform the {@term operation}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/content/library/subscriptions/id:{library}": { + "patch": { + "tags": [ + "library/subscriptions" + ], + "summary": "Updates the specified subscription of the published library.
This is an incremental update to the subscription. Except for the {@link UpdateSpecPlacement} {@term structure}, {@term fields} that are {@term unset} in the update specification will be left unchanged. If {@param.name spec#subscribedLibraryPlacement} is specified, all {@term fields} of the current subscribed library placement will be replaced by this placement.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library", + "description": "Identifier of the published library.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "If the library specified by {@param.name library} is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "If the library specified by {@param.name library} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "If the user that requested the {@term operation} cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "If the user that requested the {@term operation} is not authorized to perform the {@term operation}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.subscriptions_update" + } + }, + "post": { + "tags": [ + "library/subscriptions" + ], + "summary": "Creates a subscription of the published library.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library", + "description": "Identifier of the published library.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Subscription identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.subscriptions.create_resp" + } + } + } + }, + "400": { + "description": "If the library specified by {@param.name library} is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "If the library specified by {@param.name library} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "If the user that requested the {@term operation} cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "If the user that requested the {@term operation} is not authorized to perform the {@term operation}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.subscriptions_create" + } + } + }, + "/rest/com/vmware/content/library/subscriptions/id:{library}?~action=delete": { + "post": { + "tags": [ + "library/subscriptions" + ], + "summary": "Deletes the specified subscription of the published library. The subscribed library associated with the subscription will not be deleted.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library", + "description": "Identifier of the published library.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "If the library specified by {@param.name library} is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "If the library specified by {@param.name library} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "If the user that requested the {@term operation} cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "If the user that requested the {@term operation} is not authorized to perform the {@term operation}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "delete", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.subscriptions_delete" + } + } + }, + "/rest/com/vmware/content/library/subscriptions/id:{library}?~action=get": { + "post": { + "tags": [ + "library/subscriptions" + ], + "summary": "Returns information about the specified subscription of the published library.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library", + "description": "Identifier of the published library.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the subscription.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.subscriptions_resp" + } + } + } + }, + "400": { + "description": "If the library specified by {@param.name library} is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "If the library specified by {@param.name library} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "If the user that requested the {@term operation} cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "If the user that requested the {@term operation} is not authorized to perform the {@term operation}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "get", + "requestBody": { + "$ref": "#/components/requestBodies/content.library.subscriptions_get" + } + } + }, + "/rest/com/vmware/content/library?~action=find": { + "post": { + "tags": [ + "library" + ], + "summary": "Returns a list of all the visible (as determined by authorization policy) libraries matching the requested {@link Library.FindSpec}.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term list} of identifiers of all the visible libraries matching the given {@param.name spec}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.find_resp" + } + } + } + }, + "400": { + "description": "if no properties are specified in the {@param.name spec}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "find", + "requestBody": { + "$ref": "#/components/requestBodies/content.library_find" + } + } + }, + "/rest/com/vmware/content/local-library": { + "get": { + "tags": [ + "local_library" + ], + "summary": "Returns the identifiers of all local libraries in the Content Library.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term list} of identifiers of all local libraries in the Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.local_library.list_resp" + } + } + } + } + }, + "operationId": "list" + }, + "post": { + "tags": [ + "local_library" + ], + "summary": "Creates a new local library.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the newly created {@link LibraryModel}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.local_library.create_resp" + } + } + } + }, + "400": { + "description": "if using multiple storage backings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unsupported" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/content.local_library_create" + } + } + }, + "/rest/com/vmware/content/local-library/id:{library_id}": { + "get": { + "tags": [ + "local_library" + ], + "summary": "Returns a given local library.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the local library to return.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link LibraryModel} instance associated with {@param.name libraryId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.local_library_resp" + } + } + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the library specified by {@param.name libraryId} is not a local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "local_library" + ], + "summary": "Updates the properties of a local library.
This is an incremental update to the local library. {@term Fields} that are {@term unset} in the update specification will be left unchanged.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the local library to update.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@link LibraryModel#version} of {@param.name updateSpec} is not equal to the current version of the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.concurrent_change" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/content.local_library_update" + } + }, + "delete": { + "tags": [ + "local_library" + ], + "summary": "Deletes the specified local library.
Deleting a local library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the local library to delete.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if the library contains a library item that cannot be deleted in its current state. For example, the library item contains a virtual machine template and a virtual machine is checked out of the library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/content/local-library/id:{library_id}?~action=publish": { + "post": { + "tags": [ + "local_library" + ], + "summary": "Publishes the library to specified subscriptions. If no subscriptions are specified, then publishes the library to all its subscriptions.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the published library.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "If the library specified by {@param.name libraryId} is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "If the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "If the user that requested the {@term operation} cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "If the user that requested the {@term operation} is not authorized to perform the {@term operation}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + } + }, + "operationId": "publish", + "requestBody": { + "$ref": "#/components/requestBodies/content.local_library_publish" + } + } + }, + "/rest/com/vmware/content/subscribed-library": { + "post": { + "tags": [ + "subscribed_library" + ], + "summary": "Creates a new subscribed library.
Once created, the subscribed library will be empty. If the {@link LibraryModel#subscriptionInfo} property is set, the Content Library Service will attempt to synchronize to the remote source. This is an asynchronous operation so the content of the published library may not immediately appear.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the newly created subscribed library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.subscribed_library.create_resp" + } + } + } + }, + "400": { + "description": "if subscribing to a published library which cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/content.subscribed_library_create" + } + }, + "get": { + "tags": [ + "subscribed_library" + ], + "summary": "Returns the identifiers of all subscribed libraries in the Content Library.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term list} of identifiers of all subscribed libraries in the Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.subscribed_library.list_resp" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/content/subscribed-library/id:{library_id}": { + "patch": { + "tags": [ + "subscribed_library" + ], + "summary": "Updates the properties of a subscribed library.
This is an incremental update to the subscribed library. {@term Fields} that are {@term unset} in the update specification will be left unchanged.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the subscribed library to update.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@link LibraryModel#version} of {@param.name updateSpec} is not equal to the current version of the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.concurrent_change" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/content.subscribed_library_update" + } + }, + "delete": { + "tags": [ + "subscribed_library" + ], + "summary": "Deletes the specified subscribed library.
Deleting a subscribed library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the subscribed library to delete.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if the library referenced by {@param.name libraryId} is not a subscribed library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + }, + "404": { + "description": "if the library referenced by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "delete" + }, + "get": { + "tags": [ + "subscribed_library" + ], + "summary": "Returns a given subscribed library.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the subscribed library to return.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link LibraryModel} instance that corresponds to {@param.name libraryId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.subscribed_library_resp" + } + } + } + }, + "404": { + "description": "if the library associated with {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the library associated with {@param.name libraryId} is not a subscribed library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/com/vmware/content/subscribed-library/id:{library_id}?~action=evict": { + "post": { + "tags": [ + "subscribed_library" + ], + "summary": "Evicts the cached content of an on-demand subscribed library.
This {@term operation} allows the cached content of a subscribed library to be removed to free up storage capacity. This {@term operation} will only work when a subscribed library is synchronized on-demand.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the subscribed library whose content should be evicted.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the library specified by {@param.name libraryId} does not synchronize on-demand, or if the content of the library specified by {@param.name libraryId} has been deleted from the storage backings (see {@link LibraryModel#storageBackings}) associated with it.
For instance, this {@term error) is reported on evicting an on-demand subscribed library that was restored from backup, and the library was deleted after the backup was taken, thus resulting in its content being deleted from the associated storage backings. In this scenario, the metadata of the library is present on a restore, while its content has been deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "evict" + } + }, + "/rest/com/vmware/content/subscribed-library/id:{library_id}?~action=sync": { + "post": { + "tags": [ + "subscribed_library" + ], + "summary": "Forces the synchronization of the subscribed library.
Synchronizing a subscribed library forcefully with this {@term operation} will perform the same synchronization behavior as would run periodically for the library. The {@link SubscriptionInfo#onDemand} setting is respected. Calling this {@term operation} on a library that is already in the process of synchronizing will have no effect.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the subscribed library to synchronize.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the published library cannot be contacted or found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + } + } + }, + "operationId": "sync" + } + }, + "/rest/com/vmware/content/subscribed-library?~action=probe": { + "post": { + "tags": [ + "subscribed_library" + ], + "summary": "Probes remote library subscription information, including URL, SSL certificate and password. The resulting {@link ProbeResult} {@term structure} describes whether or not the subscription configuration is successful.", + "parameters": [], + "responses": { + "200": { + "description": "The subscription info probe result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.subscribed_library.probe_resp" + } + } + } + } + }, + "operationId": "probe", + "requestBody": { + "$ref": "#/components/requestBodies/content.subscribed_library_probe" + } + } + }, + "/rest/com/vmware/content/type": { + "get": { + "tags": [ + "type" + ], + "summary": "Returns a {@term list} of {@link Info} instances which describe the type support plugins in a Content Library.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term list} of {@link Info} instances which describe the type support plugins in a Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.type.list_resp" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/content/library/item/{library_item}/changes": { + "get": { + "tags": [ + "library/item/changes" + ], + "summary": "Returns commonly used information about the content changes made to a library item.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item", + "description": "Library item identifier.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "List of commonly used information about the library item changes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.changes.list_resp" + } + } + } + }, + "404": { + "description": "if the library item is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "if the user that requested the {@term operation} cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "400": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/content/library/item/{library_item}/changes/{version}": { + "get": { + "tags": [ + "library/item/changes" + ], + "summary": "Returns information about a library item change.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item", + "description": "Library item identifer.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "version", + "description": "Library item version.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the specified library item change.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content.library.item.changes_resp" + } + } + } + }, + "404": { + "description": "if the library item or version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "401": { + "description": "if the user that requested the {@term operation} cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + } + }, + "403": { + "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + } + }, + "400": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get" + } + } + }, + "components": { + "requestBodies": { + "ContentTrustedCertificatesCreate": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContentTrustedCertificatesCreate" + } + } + } + } + }, + "schemas": { + "ContentSecurityPoliciesInfo": { + "type": "object", + "properties": { + "policy": { + "description": "Identifier of the security policy", + "type": "string" + }, + "name": { + "description": "Name of the security policy", + "type": "string" + }, + "item_type_rules": { + "description": "Map of content library item type and rule types The rules can be associated with a security policy. When the security policy is applied to a content library, these rules will be used to validate specific item type.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/ContentSecurityRuleType" + } + } + }, + "required": [ + "policy", + "name", + "item_type_rules" + ] + }, + "ContentSecurityRuleType": { + "type": "string", + "description": "The {@name SecurityRuleType} {@term enumerated type} defines the security rules which can be applied to different item types.", + "enum": [ + "OVF_STRICT_VERIFICATION" + ] + }, + "ContentTrustedCertificatesCreate": { + "$ref": "#/components/schemas/ContentTrustedCertificatesCreateSpec", + "description": "Specification for the certificate to be added to content library trust store." + }, + "ContentTrustedCertificatesCreateSpec": { + "type": "object", + "properties": { + "cert_text": { + "description": "A certText is the certificate in Base64 encoded PEM format. The input must be a single line string with escape sequence for new-lines.", + "type": "string" + } + }, + "required": [ + "cert_text" + ] + }, + "ContentTrustedCertificatesInfo": { + "type": "object", + "properties": { + "cert_text": { + "description": "A certificate in Base64 encoding", + "type": "string" + } + }, + "required": [ + "cert_text" + ] + }, + "ContentTrustedCertificatesListResult": { + "type": "object", + "properties": { + "certificates": { + "description": "List of certificates.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ContentTrustedCertificatesSummary" + } + } + }, + "required": [ + "certificates" + ] + }, + "ContentTrustedCertificatesSummary": { + "type": "object", + "properties": { + "certificate": { + "description": "Unique identifier for the certificate. It is the TrustStore alias of the certificate. The alias is the SHA256 hash of the raw certificate data.", + "type": "string" + }, + "cert_text": { + "description": "Certificate in Base64 encoded PEM format..", + "type": "string" + } + }, + "required": [ + "certificate", + "cert_text" + ] + }, + "VapiStdErrorsError": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsErrorType": { + "type": "string", + "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.", + "enum": [ + "ERROR", + "ALREADY_EXISTS", + "ALREADY_IN_DESIRED_STATE", + "CANCELED", + "CONCURRENT_CHANGE", + "FEATURE_IN_USE", + "INTERNAL_SERVER_ERROR", + "INVALID_ARGUMENT", + "INVALID_ELEMENT_CONFIGURATION", + "INVALID_ELEMENT_TYPE", + "INVALID_REQUEST", + "NOT_ALLOWED_IN_CURRENT_STATE", + "NOT_FOUND", + "OPERATION_NOT_FOUND", + "RESOURCE_BUSY", + "RESOURCE_IN_USE", + "RESOURCE_INACCESSIBLE", + "SERVICE_UNAVAILABLE", + "TIMED_OUT", + "UNABLE_TO_ALLOCATE_RESOURCE", + "UNAUTHENTICATED", + "UNAUTHORIZED", + "UNEXPECTED_INPUT", + "UNSUPPORTED", + "UNVERIFIED_PEER" + ] + }, + "VapiStdErrorsNotFound": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsUnauthenticated": { + "type": "object", + "properties": { + "challenge": { + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.
For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"", + "type": "string" + }, + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdLocalizableMessage": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "default_message": { + "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.", + "type": "string" + }, + "args": { + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "params": { + "description": "Named arguments to be substituted into the message template.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/VapiStdLocalizationParam" + } + }, + "localized": { + "description": "Localized string value as per request requirements.", + "type": "string" + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "VapiStdLocalizationParam": { + "type": "object", + "properties": { + "s": { + "description": "{@term String} value associated with the parameter.", + "type": "string" + }, + "dt": { + "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.", + "type": "string", + "format": "date-time" + }, + "i": { + "description": "{@term long} value associated with the parameter.", + "type": "integer", + "format": "int64" + }, + "d": { + "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.", + "type": "number", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.", + "$ref": "#/components/schemas/VapiStdNestedLocalizableMessage" + }, + "format": { + "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.", + "$ref": "#/components/schemas/VapiStdLocalizationParamDateTimeFormat" + }, + "precision": { + "description": "Number of fractional digits to include in formatted {@term double} value.", + "type": "integer", + "format": "int64" + } + } + }, + "VapiStdLocalizationParamDateTimeFormat": { + "type": "string", + "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.", + "enum": [ + "SHORT_DATE", + "MED_DATE", + "LONG_DATE", + "FULL_DATE", + "SHORT_TIME", + "MED_TIME", + "LONG_TIME", + "FULL_TIME", + "SHORT_DATE_TIME", + "MED_DATE_TIME", + "LONG_DATE_TIME", + "FULL_DATE_TIME" + ] + }, + "VapiStdNestedLocalizableMessage": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "params": { + "description": "Named Arguments to be substituted into the message template.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/VapiStdLocalizationParam" + } + } + }, + "required": [ + "id" + ] + }, + "content.configuration_model": { + "type": "object", + "properties": { + "automatic_sync_enabled": { + "description": "Whether automatic synchronization is enabled.
When automatic synchronization is enabled, the Content Library Service will automatically synchronize all subscribed libraries on a daily basis. Subscribed libraries with the {@link SubscriptionInfo#automaticSyncEnabled} flag turned on will be synchronized every hour between {@link #automaticSyncStartHour} and {@link #automaticSyncStopHour}.", + "type": "boolean" + }, + "automatic_sync_start_hour": { + "description": "The hour at which the automatic synchronization will start. This value is between 0 (midnight) and 23 inclusive.", + "type": "integer", + "format": "int64" + }, + "automatic_sync_stop_hour": { + "description": "The hour at which the automatic synchronization will stop. Any active synchronization operation will continue to run, however no new synchronization operations will be triggered after the stop hour. This value is between 0 (midnight) and 23 inclusive.", + "type": "integer", + "format": "int64" + }, + "maximum_concurrent_item_syncs": { + "description": "The maximum allowed number of library items to synchronize concurrently from remote libraries. This must be a positive number. The service may not be able to guarantee the requested concurrency if there is no available capacity.
This setting is global across all subscribed libraries.", + "type": "integer", + "format": "int64" + } + } + }, + "content.configuration_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.configuration_model" + } + }, + "required": [ + "value" + ] + }, + "content.configuration_update": { + "type": "object", + "properties": { + "model": { + "$ref": "#/components/schemas/content.configuration_model", + "description": "The {@link ConfigurationModel} specifying the settings to update." + } + } + }, + "content.library.find_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.find_spec": { + "type": "object", + "properties": { + "name": { + "description": "Name of the library to search. The name is case-insensitive. See {@link LibraryModel#name}.", + "type": "string" + }, + "type": { + "description": "Library type to search. See {@link LibraryModel#type}.", + "$ref": "#/components/schemas/content.library_model.library_type" + } + } + }, + "content.library.item.cert_verification_status": { + "type": "string", + "description": "The {@name CertVerificationStatus} {@term enumerated type} defines the certificate verification status of a library item. Currently applicable only to ovf item type", + "enum": [ + "NOT_AVAILABLE", + "VERIFIED", + "INTERNAL", + "VERIFICATION_FAILURE", + "VERIFICATION_IN_PROGRESS", + "UNTRUSTED" + ] + }, + "content.library.item.certificate_verification_info": { + "type": "object", + "properties": { + "status": { + "description": "The certificate verification status of item.", + "$ref": "#/components/schemas/content.library.item.cert_verification_status" + }, + "cert_chain": { + "description": "A certificate in base64 encoding.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "status" + ] + }, + "content.library.item.changes.info": { + "type": "object", + "properties": { + "time": { + "description": "The date and time when the item content was changed.", + "type": "string", + "format": "date-time" + }, + "user": { + "description": "The user who made the content change.", + "type": "string" + }, + "message": { + "description": "The full message describing the content change.", + "type": "string" + } + }, + "required": [ + "time" + ] + }, + "content.library.item.changes.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.changes.summary" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.changes.summary": { + "type": "object", + "properties": { + "version": { + "description": "The version of the library item.", + "type": "string" + }, + "time": { + "description": "The date and time when the item content was changed.", + "type": "string", + "format": "date-time" + }, + "user": { + "description": "The user who made the content change.", + "type": "string" + }, + "short_message": { + "description": "The short message describing the content change. The message is truncated to the first 80 characters or first non-leading newline character, whichever length is shorter.", + "type": "string" + } + }, + "required": [ + "version", + "time" + ] + }, + "content.library.item.changes_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item.changes.info" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.copy_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.destination_spec": { + "type": "object", + "properties": { + "subscription": { + "description": "Identifier of the subscription associated with the subscribed library.", + "type": "string" + } + }, + "required": [ + "subscription" + ] + }, + "content.library.item.download_session.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.download_session.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.download_session_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated by the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/content.library.item.download_session_model", + "description": "Specification for the new download session to be created." + } + } + }, + "content.library.item.download_session_fail": { + "type": "object", + "properties": { + "client_error_message": { + "type": "string", + "description": "Client side error message. This can be useful in providing some extra details about the client side failure. Note that the message won't be translated to the user's locale." + } + } + }, + "content.library.item.download_session_keep_alive": { + "type": "object", + "properties": { + "progress": { + "type": "integer", + "format": "int64", + "description": "Optional update to the progress property of the session. If specified, the new progress should be greater then the current progress. See {@link DownloadSessionModel#clientProgress}." + } + } + }, + "content.library.item.download_session_model": { + "type": "object", + "properties": { + "id": { + "description": "The identifier of this download session.", + "type": "string" + }, + "library_item_id": { + "description": "The identifier of the library item whose content is being downloaded.", + "type": "string" + }, + "library_item_content_version": { + "description": "The content version of the library item whose content is being downloaded. This value is the {@link ItemModel#contentVersion} at the time when the session is created for the library item.", + "type": "string" + }, + "error_message": { + "description": "If the session is in the {@link State#ERROR} status this property will have more details about the error.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "client_progress": { + "description": "The progress that has been made with the download. This property is to be updated by the client during the download process to indicate the progress of its work in completing the download. The initial progress is 0 until updated by the client. The maximum value is 100, which indicates that the download is complete.", + "type": "integer", + "format": "int64" + }, + "state": { + "description": "The current state ({@enum.values State}) of the download session.", + "$ref": "#/components/schemas/content.library.item.download_session_model.state" + }, + "expiration_time": { + "description": "Indicates the time after which the session will expire. The session is guaranteed not to expire before this time.", + "type": "string", + "format": "date-time" + } + } + }, + "content.library.item.download_session_model.state": { + "type": "string", + "description": "The state of the download session.", + "enum": [ + "ACTIVE", + "CANCELED", + "ERROR" + ] + }, + "content.library.item.download_session_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item.download_session_model" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.downloadsession.file.endpoint_type": { + "type": "string", + "description": "The {@name EndpointType} {@term enumerated type} defines the types of endpoints used to download the file.", + "enum": [ + "HTTPS", + "DIRECT" + ] + }, + "content.library.item.downloadsession.file.info": { + "type": "object", + "properties": { + "name": { + "description": "The name of the file.", + "type": "string" + }, + "size": { + "description": "The file size, in bytes.", + "type": "integer", + "format": "int64" + }, + "bytes_transferred": { + "description": "The number of bytes that have been transferred by the server so far for making this file prepared for download. This value may stay at zero till the client starts downloading the file.", + "type": "integer", + "format": "int64" + }, + "status": { + "description": "The preparation status ({@enum.values PrepareStatus}) of the file.", + "$ref": "#/components/schemas/content.library.item.downloadsession.file.prepare_status" + }, + "download_endpoint": { + "description": "Endpoint at which the file is available for download. The value is valid only when the {@link #status} is {@link File.PrepareStatus#PREPARED}.", + "$ref": "#/components/schemas/content.library.item.transfer_endpoint" + }, + "checksum_info": { + "description": "The checksum information of the file. When the download is complete, you can retrieve the checksum from the {@link File#get} {@term operation} to verify the checksum for the downloaded file.", + "$ref": "#/components/schemas/content.library.item.file.checksum_info" + }, + "error_message": { + "description": "Error message for a failed preparation when the prepare status is {@link File.PrepareStatus#ERROR}.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "name", + "bytes_transferred", + "status" + ] + }, + "content.library.item.downloadsession.file.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.downloadsession.file.info" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.downloadsession.file.prepare_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item.downloadsession.file.info" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.downloadsession.file.prepare_status": { + "type": "string", + "description": "The {@name PrepareStatus} {@term enumerated type} defines the state of the file in preparation for download.", + "enum": [ + "UNPREPARED", + "PREPARE_REQUESTED", + "PREPARING", + "PREPARED", + "ERROR" + ] + }, + "content.library.item.downloadsession.file_get": { + "type": "object", + "properties": { + "file_name": { + "type": "string", + "description": "Name of the file requested." + } + } + }, + "content.library.item.downloadsession.file_prepare": { + "type": "object", + "properties": { + "file_name": { + "type": "string", + "description": "Name of the file requested for download." + }, + "endpoint_type": { + "$ref": "#/components/schemas/content.library.item.downloadsession.file.endpoint_type", + "description": "Endpoint type request, one of {@enum.values EndpointType}. This will determine the type of the {@link File.Info#downloadEndpoint} that is generated when the file is prepared. The {@link EndpointType#DIRECT} is only available to users who have the ContentLibrary.ReadStorage privilege." + } + } + }, + "content.library.item.downloadsession.file_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item.downloadsession.file.info" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.file.checksum_algorithm": { + "type": "string", + "description": "The {@name ChecksumAlgorithm} {@term enumerated type} defines the valid checksum algorithms.", + "enum": [ + "SHA1", + "MD5", + "SHA256", + "SHA512" + ] + }, + "content.library.item.file.checksum_info": { + "type": "object", + "properties": { + "algorithm": { + "description": "The checksum algorithm ({@enum.values ChecksumAlgorithm}) used to calculate the checksum.", + "$ref": "#/components/schemas/content.library.item.file.checksum_algorithm" + }, + "checksum": { + "description": "The checksum value calculated with {@link #algorithm}.", + "type": "string" + } + }, + "required": [ + "checksum" + ] + }, + "content.library.item.file.info": { + "type": "object", + "properties": { + "checksum_info": { + "description": "A checksum for validating the content of the file.
This value can be used to verify that a transfer was completed without errors.", + "$ref": "#/components/schemas/content.library.item.file.checksum_info" + }, + "name": { + "description": "The name of the file.
This value will be unique within the library item for each file. It cannot be an empty string.", + "type": "string" + }, + "size": { + "description": "The file size, in bytes. The file size is the storage used and not the uploaded or provisioned size. For example, when uploading a disk to a datastore, the amount of storage that the disk consumes may be different from the disk file size. When the file is not cached, the size is 0.", + "type": "integer", + "format": "int64" + }, + "cached": { + "description": "Indicates whether the file is on disk or not.", + "type": "boolean" + }, + "version": { + "description": "The version of this file; incremented when a new copy of the file is uploaded.", + "type": "string" + } + }, + "required": [ + "name", + "size", + "cached", + "version" + ] + }, + "content.library.item.file.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.file.info" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.file_get": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the file in the library item whose information should be returned." + } + } + }, + "content.library.item.file_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item.file.info" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.find_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.find_spec": { + "type": "object", + "properties": { + "name": { + "description": "The name of the library item. The name is case-insensitive. See {@link ItemModel#name}.", + "type": "string" + }, + "library_id": { + "description": "The identifier of the library containing the item. See {@link ItemModel#libraryId}.", + "type": "string" + }, + "source_id": { + "description": "The identifier of the library item as reported by the publisher. See {@link ItemModel#sourceId}.", + "type": "string" + }, + "type": { + "description": "The type of the library item. The type is case-insensitive. See {@link ItemModel#type}.", + "type": "string" + }, + "cached": { + "description": "Whether the item is cached. Possible values are 'true' or 'false'. See {@link ItemModel#cached}.", + "type": "boolean" + } + } + }, + "content.library.item.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.storage.info": { + "type": "object", + "properties": { + "storage_backing": { + "description": "The storage backing on which this object resides. This might not be the same as the default storage backing associated with the library.", + "$ref": "#/components/schemas/content.library.storage_backing" + }, + "storage_uris": { + "description": "URIs that identify the file on the storage backing.
These URIs may be specific to the backing and may need interpretation by the client. A client that understands a URI scheme in this list may use that URI to directly access the file on the storage backing. This can provide high-performance support for file manipulation.", + "type": "array", + "items": { + "type": "string", + "format": "uri" + } + }, + "checksum_info": { + "description": "A checksum for validating the content of the file.
This value can be used to verify that a transfer was completed without errors.", + "$ref": "#/components/schemas/content.library.item.file.checksum_info" + }, + "name": { + "description": "The name of the file.
This value will be unique within the library item for each file. It cannot be an empty string.", + "type": "string" + }, + "size": { + "description": "The file size, in bytes. The file size is the storage used and not the uploaded or provisioned size. For example, when uploading a disk to a datastore, the amount of storage that the disk consumes may be different from the disk file size. When the file is not cached, the size is 0.", + "type": "integer", + "format": "int64" + }, + "cached": { + "description": "Indicates whether the file is on disk or not.", + "type": "boolean" + }, + "version": { + "description": "The version of this file; incremented when a new copy of the file is uploaded.", + "type": "string" + } + }, + "required": [ + "storage_backing", + "storage_uris", + "name", + "size", + "cached", + "version" + ] + }, + "content.library.item.storage.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.storage.info" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.storage_get": { + "type": "object", + "properties": { + "file_name": { + "type": "string", + "description": "Name of the file for which the storage information should be listed." + } + } + }, + "content.library.item.storage_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.storage.info" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.transfer_endpoint": { + "type": "object", + "properties": { + "uri": { + "description": "Transfer endpoint URI. The supported URI schemes are: {@code http}, {@code https}, and {@code ds}.
An endpoint URI with the {@code ds} scheme specifies the location of the file on the datastore. The format of the datastore URI is:
When the transfer endpoint is a datastore location, the server can import the file directly from the storage backing without the overhead of streaming over HTTP.", + "type": "string", + "format": "uri" + }, + "ssl_certificate_thumbprint": { + "description": "Thumbprint of the expected SSL certificate for this endpoint. Only used for HTTPS connections. The thumbprint is the SHA-1 hash of the DER encoding of the remote endpoint's SSL certificate. If set, the remote endpoint's SSL certificate is only accepted if it matches this thumbprint, and no other certificate validation is performed.", + "type": "string" + } + }, + "required": [ + "uri" + ] + }, + "content.library.item.transfer_status": { + "type": "string", + "description": "The {@name TransferStatus} {@term enumerated type} defines the transfer state of a file.", + "enum": [ + "WAITING_FOR_TRANSFER", + "TRANSFERRING", + "READY", + "VALIDATING", + "ERROR" + ] + }, + "content.library.item.update_session.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.update_session.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.update_session_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "Unique token generated by the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/content.library.item.update_session_model", + "description": "Specification for the new update session to be created." + } + } + }, + "content.library.item.update_session_fail": { + "type": "object", + "properties": { + "client_error_message": { + "type": "string", + "description": "Client side error message. This can be useful in providing some extra details about the client side failure. Note that the message won't be translated to the user's locale." + } + } + }, + "content.library.item.update_session_keep_alive": { + "type": "object", + "properties": { + "client_progress": { + "type": "integer", + "format": "int64", + "description": "Optional update to the progress property of the session. If specified, the new progress should be greater then the current progress. See {@link UpdateSessionModel#clientProgress}." + } + } + }, + "content.library.item.update_session_model": { + "type": "object", + "properties": { + "id": { + "description": "The identifier of this update session.", + "type": "string" + }, + "library_item_id": { + "description": "The identifier of the library item to which content will be uploaded or removed.", + "type": "string" + }, + "library_item_content_version": { + "description": "The content version of the library item whose content is being modified. This value is the {@link ItemModel#contentVersion} at the time when the session is created for the library item.", + "type": "string" + }, + "error_message": { + "description": "If the session is in the {@link State#ERROR} status this property will have more details about the error.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "client_progress": { + "description": "The progress that has been made with the upload. This property is to be updated by the client during the upload process to indicate the progress of its work in completing the upload. The initial progress is 0 until updated by the client. The maximum value is 100, which indicates that the update is complete.", + "type": "integer", + "format": "int64" + }, + "state": { + "description": "The current state ({@enum.values State}) of the update session.", + "$ref": "#/components/schemas/content.library.item.update_session_model.state" + }, + "expiration_time": { + "description": "Indicates the time after which the session will expire. The session is guaranteed not to expire earlier than this time.", + "type": "string", + "format": "date-time" + }, + "preview_info": { + "description": "A preview of the files currently being uploaded in the session. This property will be set only when the session is in the {@link State#ACTIVE}.", + "$ref": "#/components/schemas/content.library.item.updatesession.preview_info" + }, + "warning_behavior": { + "description": "Indicates the update session behavior if warnings are raised in the session preview. Any warning which is raised by session preview but not ignored by the client will, by default, fail the update session.", + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.updatesession.warning_behavior" + } + } + } + }, + "content.library.item.update_session_model.state": { + "type": "string", + "description": "The state of an update session.", + "enum": [ + "ACTIVE", + "DONE", + "ERROR", + "CANCELED" + ] + }, + "content.library.item.update_session_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item.update_session_model" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.update_session_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/content.library.item.update_session_model", + "description": "Specification for the new property values to be set on the update session." + } + } + }, + "content.library.item.updatesession.certificate_info": { + "type": "object", + "properties": { + "issuer": { + "description": "Certificate issuer. For example: /C=US/ST=California/L=Palo Alto/O=VMware, Inc.", + "type": "string" + }, + "subject": { + "description": "Certificate subject. For example: C=US/ST=Massachusetts/L=Hopkinton/O=EMC Corporation/OU=EMC Avamar/CN=EMC Corporation.", + "type": "string" + }, + "self_signed": { + "description": "Whether the certificate is self-signed.", + "type": "boolean" + }, + "x509": { + "description": "The X509 representation of the certificate.", + "type": "string" + } + }, + "required": [ + "issuer", + "subject", + "self_signed", + "x509" + ] + }, + "content.library.item.updatesession.file.add_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item.updatesession.file.info" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.updatesession.file.add_spec": { + "type": "object", + "properties": { + "name": { + "description": "The name of the file being uploaded.", + "type": "string" + }, + "source_type": { + "description": "The source type ({@enum.values SourceType}) from which the file content will be retrieved.", + "$ref": "#/components/schemas/content.library.item.updatesession.file.source_type" + }, + "source_endpoint": { + "description": "Location from which the Content Library Service will fetch the file, rather than requiring a client to upload the file.", + "$ref": "#/components/schemas/content.library.item.transfer_endpoint" + }, + "size": { + "description": "The file size, in bytes.", + "type": "integer", + "format": "int64" + }, + "checksum_info": { + "description": "The checksum of the file. If specified, the server will verify the checksum once the file is received. If there is a mismatch, the upload will fail. For ova files, this value should not be set.", + "$ref": "#/components/schemas/content.library.item.file.checksum_info" + } + }, + "required": [ + "name", + "source_type" + ] + }, + "content.library.item.updatesession.file.info": { + "type": "object", + "properties": { + "name": { + "description": "The name of the file.", + "type": "string" + }, + "source_type": { + "description": "The source type ({@enum.values SourceType}) from which the file is being retrieved. This may be {@link SourceType#NONE} if the file is not being changed.", + "$ref": "#/components/schemas/content.library.item.updatesession.file.source_type" + }, + "size": { + "description": "The file size, in bytes as received by the server. This {@term field} is guaranteed to be set when the server has completely received the file.", + "type": "integer", + "format": "int64" + }, + "checksum_info": { + "description": "The checksum information of the file received by the server.", + "$ref": "#/components/schemas/content.library.item.file.checksum_info" + }, + "source_endpoint": { + "description": "A source endpoint from which to retrieve the file.", + "$ref": "#/components/schemas/content.library.item.transfer_endpoint" + }, + "upload_endpoint": { + "description": "An upload endpoint to which the client can push the content.", + "$ref": "#/components/schemas/content.library.item.transfer_endpoint" + }, + "bytes_transferred": { + "description": "The number of bytes of this file that have been received by the server.", + "type": "integer", + "format": "int64" + }, + "status": { + "description": "The transfer status ({@enum.values TransferStatus}) of this file.", + "$ref": "#/components/schemas/content.library.item.transfer_status" + }, + "error_message": { + "description": "Details about the transfer error.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "keep_in_storage": { + "description": "Whether or not the file will be kept in storage upon update session completion. The flag is true for most files, and false for metadata files such as manifest and certificate file of update session with library item type OVF. Any file with {@link Info#keepInStorage} set to false will not show up in the list of files returned from {@link content.library.item.File#list} upon update session completion.", + "type": "boolean" + } + }, + "required": [ + "name", + "source_type", + "bytes_transferred", + "status" + ] + }, + "content.library.item.updatesession.file.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.updatesession.file.info" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.item.updatesession.file.source_type": { + "type": "string", + "description": "The {@name SourceType} {@term enumerated type} defines how the file content is retrieved.", + "enum": [ + "NONE", + "PUSH", + "PULL" + ] + }, + "content.library.item.updatesession.file.validate_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item.updatesession.file.validation_result" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.updatesession.file.validation_error": { + "type": "object", + "properties": { + "name": { + "description": "The name of the file.", + "type": "string" + }, + "error_message": { + "description": "A message indicating why the file was considered invalid.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "required": [ + "name", + "error_message" + ] + }, + "content.library.item.updatesession.file.validation_result": { + "type": "object", + "properties": { + "has_errors": { + "description": "Whether the validation was succesful or not. In case of errors, the {@link #missingFiles} and {@link #invalidFiles} will contain at least one entry.", + "type": "boolean" + }, + "missing_files": { + "description": "A {@term set} containing the names of the files that are required but the client hasn't added.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "invalid_files": { + "description": "A {@term list} containing the files that have been identified as invalid and details about the error.", + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.updatesession.file.validation_error" + } + } + }, + "required": [ + "has_errors", + "missing_files", + "invalid_files" + ] + }, + "content.library.item.updatesession.file_add": { + "type": "object", + "properties": { + "file_spec": { + "$ref": "#/components/schemas/content.library.item.updatesession.file.add_spec", + "description": "Specification for the file that needs to be added or updated. This includes whether the client wants to push the content or have the server pull it." + } + } + }, + "content.library.item.updatesession.file_get": { + "type": "object", + "properties": { + "file_name": { + "type": "string", + "description": "Name of the file." + } + } + }, + "content.library.item.updatesession.file_remove": { + "type": "object", + "properties": { + "file_name": { + "type": "string", + "description": "Name of the file to be removed." + } + } + }, + "content.library.item.updatesession.file_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item.updatesession.file.info" + } + }, + "required": [ + "value" + ] + }, + "content.library.item.updatesession.preview_info": { + "type": "object", + "properties": { + "state": { + "description": "Indicates the state of the preview of the update session.", + "$ref": "#/components/schemas/content.library.item.updatesession.preview_info.state" + }, + "certificate_info": { + "description": "The certificate information of the signed update session content.", + "$ref": "#/components/schemas/content.library.item.updatesession.certificate_info" + }, + "warnings": { + "description": "The list of warnings raised for this update session. Any warning which is not ignored by the client will, by default, fail the update session during session complete operation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.updatesession.preview_warning_info" + } + }, + "cert_chain": { + "description": "Certificate chain in base64 format.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "state" + ] + }, + "content.library.item.updatesession.preview_info.state": { + "type": "string", + "description": "The {@name State} {@term enumerated type} defines the state of the update session's preview.", + "enum": [ + "UNAVAILABLE", + "NOT_APPLICABLE", + "PREPARING", + "AVAILABLE" + ] + }, + "content.library.item.updatesession.preview_warning_info": { + "type": "object", + "properties": { + "type": { + "description": "The warning type raised during preview of the update session.", + "$ref": "#/components/schemas/content.library.item.updatesession.warning_type" + }, + "message": { + "description": "The message specifying more details about the warning.", + "$ref": "#/components/schemas/vapi.std.localizable_message" + }, + "ignored": { + "description": "Indicates if this warning will be ignored during session complete operation.", + "type": "boolean" + } + }, + "required": [ + "type", + "message", + "ignored" + ] + }, + "content.library.item.updatesession.warning_behavior": { + "type": "object", + "properties": { + "type": { + "description": "The warning type which may be raised during the update session.", + "$ref": "#/components/schemas/content.library.item.updatesession.warning_type" + }, + "ignored": { + "description": "Indicates if this warning will be ignored during session complete operation.", + "type": "boolean" + } + }, + "required": [ + "type", + "ignored" + ] + }, + "content.library.item.updatesession.warning_type": { + "type": "string", + "description": "The {@name WarningType} {@term enumerated type} defines the warnings which can be raised during the update session.", + "enum": [ + "SELF_SIGNED_CERTIFICATE", + "EXPIRED_CERTIFICATE", + "NOT_YET_VALID_CERTIFICATE", + "UNTRUSTED_CERTIFICATE" + ] + }, + "content.library.item_copy": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated on the client for each copy request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent copy." + }, + "destination_create_spec": { + "$ref": "#/components/schemas/content.library.item_model", + "description": "Specification for the new library item to be created." + } + } + }, + "content.library.item_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/content.library.item_model", + "description": "Specification that defines the properties of the new library item." + } + } + }, + "content.library.item_find": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/content.library.item.find_spec", + "description": "Specification describing what properties to filter on." + } + } + }, + "content.library.item_model": { + "type": "object", + "properties": { + "id": { + "description": "A unique identifier for this library item.", + "type": "string" + }, + "library_id": { + "description": "The identifier of the {@link LibraryModel} to which this item belongs.", + "type": "string" + }, + "content_version": { + "description": "The latest version of the file content list of this library item.", + "type": "string" + }, + "creation_time": { + "description": "The date and time when this library item was created.", + "type": "string", + "format": "date-time" + }, + "description": { + "description": "A human-readable description for this library item.", + "type": "string" + }, + "last_modified_time": { + "description": "The date and time when the metadata for this library item was last changed.
This {@term field} is affected by changes to the properties or file content of this item. It is not modified by changes to the tags of the item, or by changes to the library which owns this item.", + "type": "string", + "format": "date-time" + }, + "last_sync_time": { + "description": "The date and time when this library item was last synchronized.
This {@term field} is updated every time a synchronization is triggered on the library item, including when a synchronization is triggered on the library to which this item belongs. The value is {@term unset} for a library item that belongs to a local library.", + "type": "string", + "format": "date-time" + }, + "metadata_version": { + "description": "A version number for the metadata of this library item.
This value is incremented with each change to the metadata of this item. Changes to name, description, and so on will increment this value. The value is not incremented by changes to the content or tags of the item or the library which owns it.", + "type": "string" + }, + "name": { + "description": "A human-readable name for this library item.
The name may not be {@term unset} or an empty string. The name does not have to be unique, even within the same library.", + "type": "string" + }, + "cached": { + "description": "The status that indicates whether the library item is on disk or not. The library item is cached when all its files are on disk.", + "type": "boolean" + }, + "size": { + "description": "The library item size, in bytes. The size is the sum of the size used on the storage backing for all the files in the item. When the library item is not cached, the size is 0.", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "An optional type identifier which indicates the type adapter plugin to use.
This {@term field} may be set to a non-empty string value that corresponds to an identifier supported by a type adapter plugin present in the Content Library Service. A type adapter plugin, if present for the specified type, can provide additional information and services around the item content. A type adapter can guide the upload process by creating file entries that are in need of being uploaded to complete an item.
The types and plugins supported by the Content Library Service can be queried using the {@link Type} {@term service}.", + "type": "string" + }, + "version": { + "description": "A version number that is updated on metadata changes. This value is used to validate update requests to provide optimistic concurrency of changes.
This value represents a number that is incremented every time library item properties, such as name or description, are changed. It is not incremented by changes to the file content of the library item, including adding or removing files. It is also not affected by tagging the library item.", + "type": "string" + }, + "source_id": { + "description": "The identifier of the {@link ItemModel} to which this item is synchronized to if the item belongs to a subscribed library. The value is {@term unset} for a library item that belongs to a local library.", + "type": "string" + }, + "security_compliance": { + "description": "Shows the security compliance of {@link ItemModel}.", + "type": "boolean" + }, + "certificate_verification_info": { + "description": "Certificate verification status and {@link ItemModel}'s signing certificate . Currently, this field is available only in following cases 1. This item belongs to a secure content library 2. The item is of type ovf.", + "$ref": "#/components/schemas/content.library.item.certificate_verification_info" + } + } + }, + "content.library.item_publish": { + "type": "object", + "properties": { + "force_sync_content": { + "type": "boolean", + "description": "Whether to synchronize file content as well as metadata. This {@term parameter} applies only if the subscription is on-demand." + }, + "subscriptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.item.destination_spec" + }, + "description": "The list of subscriptions to publish this library item to." + } + } + }, + "content.library.item_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.item_model" + } + }, + "required": [ + "value" + ] + }, + "content.library.item_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/content.library.item_model", + "description": "Specification of the properties to set." + } + } + }, + "content.library.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.optimization_info": { + "type": "object", + "properties": { + "optimize_remote_publishing": { + "description": "If set to {@code true} then library would be optimized for remote publishing.
Turn it on if remote publishing is dominant use case for this library. Remote publishing means here that publisher and subscribers are not the part of the same {@name Vcenter} SSO domain.
Any optimizations could be done as result of turning on this optimization during library creation. For example, library content could be stored in different format but optimizations are not limited to just storage format.
Note, that value of this toggle could be set only during creation of the library and you would need to migrate your library in case you need to change this value (optimize the library for different use case).", + "type": "boolean" + } + } + }, + "content.library.publish_info": { + "type": "object", + "properties": { + "authentication_method": { + "description": "Indicates how a subscribed library should authenticate ({@enum.values AuthenticationMethod}) to the published library endpoint.", + "$ref": "#/components/schemas/content.library.publish_info.authentication_method" + }, + "published": { + "description": "Whether the local library is published.", + "type": "boolean" + }, + "publish_url": { + "description": "The URL to which the library metadata is published by the Content Library Service.
This value can be used to set the {@link SubscriptionInfo#subscriptionUrl} property when creating a subscribed library.", + "type": "string", + "format": "uri" + }, + "user_name": { + "description": "The username to require for authentication.", + "type": "string" + }, + "password": { + "description": "The new password to require for authentication.", + "type": "string", + "format": "password" + }, + "current_password": { + "description": "The current password to verify. This {@term field} is available starting in vSphere 6.7.", + "type": "string", + "format": "password" + }, + "persist_json_enabled": { + "description": "Whether library and library item metadata are persisted in the storage backing as JSON files. This flag only applies if the local library is published.
Enabling JSON persistence allows you to synchronize a subscribed library manually instead of over HTTP. You copy the local library content and metadata to another storage backing manually and then create a subscribed library referencing the location of the library JSON file in the {@link SubscriptionInfo#subscriptionUrl}. When the subscribed library's storage backing matches the subscription URL, files do not need to be copied to the subscribed library.
For a library backed by a datastore, the library JSON file will be stored at the path contentlib-{library_id}/lib.json on the datastore.
For a library backed by a remote file system, the library JSON file will be stored at {library_id}/lib.json in the remote file system path.", + "type": "boolean" + } + } + }, + "content.library.publish_info.authentication_method": { + "type": "string", + "description": "The {@name AuthenticationMethod} {@term enumerated type} indicates how a subscribed library should authenticate to the published library endpoint.", + "enum": [ + "BASIC", + "NONE" + ] + }, + "content.library.source_info": { + "type": "object", + "properties": { + "source_library": { + "description": "Identifier of the published library.", + "type": "string" + }, + "subscription": { + "description": "Identifier of the subscription associated with the subscribed library.", + "type": "string" + } + } + }, + "content.library.storage_backing": { + "type": "object", + "properties": { + "type": { + "description": "Type ({@enum.values Type}) of {@link StorageBacking}.", + "$ref": "#/components/schemas/content.library.storage_backing.type" + }, + "datastore_id": { + "description": "Identifier of the datastore used to store the content in the library.", + "type": "string" + }, + "storage_uri": { + "description": "URI identifying the location used to store the content in the library.
The following URI formats are supported:
vSphere 6.5
vSphere 6.0 Update 1
vSphere 6.0
If this is set to {@code true}, then the library item's metadata will be synchronized but the item's content (its files) will not be synchronized. The Content Library Service will synchronize the content upon request only. This can cause the first use of the content to have a noticeable delay.
Items without synchronized content can be forcefully synchronized in advance using the {@link SubscribedItem#sync} call with {@param.name forceSyncContent} set to true. Once content has been synchronized, the content can removed with the {@link SubscribedItem#evict} call.
If this value is set to {@code false}, all content will be synchronized in advance.", + "type": "boolean" + }, + "password": { + "description": "The password to use when authenticating.
The password must be set when using a password-based authentication method; empty strings are not allowed.", + "type": "string", + "format": "password" + }, + "ssl_thumbprint": { + "description": "An optional SHA-1 hash of the SSL certificate for the remote endpoint.
If this value is defined the SSL certificate will be verified by comparing it to the SSL thumbprint. The SSL certificate must verify against the thumbprint. When specified, the standard certificate chain validation behavior is not used. The certificate chain is validated normally if this value is {@term unset}.", + "type": "string" + }, + "subscription_url": { + "description": "The URL of the endpoint where the metadata for the remotely published library is being served.
This URL can be the {@link PublishInfo#publishUrl} of the published library (for example, https://server/path/lib.json).
If the source content comes from a published library with {@link PublishInfo#persistJsonEnabled}, the subscription URL can be a URL pointing to the library JSON file on a datastore or remote file system. The supported formats are:
vSphere 6.5
vSphere 6.0
When you specify a DS subscription URL, the datastore must be on the same vCenter Server as the subscribed library. When you specify an NFS or SMB subscription URL, the {@link StorageBacking#storageUri} of the subscribed library must be on the same remote file server and should share a common parent path with the subscription URL.", + "type": "string", + "format": "uri" + }, + "user_name": { + "description": "The username to use when authenticating.
The username must be set when using a password-based authentication method. Empty strings are allowed for usernames.", + "type": "string" + }, + "source_info": { + "description": "Information about the source published library. This {@term field} will be set for a subscribed library which is associated with a subscription of the published library.", + "$ref": "#/components/schemas/content.library.source_info" + } + } + }, + "content.library.subscription_info.authentication_method": { + "type": "string", + "description": "Indicate how the subscribed library should authenticate with the published library endpoint.", + "enum": [ + "BASIC", + "NONE" + ] + }, + "content.library.subscriptions.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "content.library.subscriptions.create_spec": { + "type": "object", + "properties": { + "subscribed_library": { + "description": "Specification for the subscribed library to be associated with the subscription.", + "$ref": "#/components/schemas/content.library.subscriptions.create_spec_subscribed_library" + } + }, + "required": [ + "subscribed_library" + ] + }, + "content.library.subscriptions.create_spec_new_subscribed_library": { + "type": "object", + "properties": { + "name": { + "description": "Name of the subscribed library.", + "type": "string" + }, + "description": { + "description": "Description of the subscribed library.", + "type": "string" + }, + "storage_backings": { + "description": "The list of default storage backings for this library.
The list must contain exactly one storage backing. Multiple default storage locations are not currently supported but may become supported in future releases.", + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.storage_backing" + } + }, + "automatic_sync_enabled": { + "description": "Specifies whether the library should participate in automatic library synchronization.", + "type": "boolean" + }, + "on_demand": { + "description": "Specifies whether a library item's content will be synchronized only on demand.", + "type": "boolean" + } + }, + "required": [ + "name", + "storage_backings", + "automatic_sync_enabled", + "on_demand" + ] + }, + "content.library.subscriptions.create_spec_placement": { + "type": "object", + "properties": { + "folder": { + "description": "Virtual machine folder into which the virtual machine template should be placed.", + "type": "string" + }, + "cluster": { + "description": "Cluster onto which the virtual machine template should be placed. If {@name #cluster} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #cluster}. If {@name #cluster} and {@name #host} are both specified, {@name #host} must be a member of {@name #cluster}.", + "type": "string" + }, + "resource_pool": { + "description": "Resource pool into which the virtual machine template should be placed. If {@name #host} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #host}. If {@name #cluster} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #cluster}.", + "type": "string" + }, + "host": { + "description": "Host onto which the virtual machine template should be placed. If {@name #host} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #host}. If {@name #host} and {@name #cluster} are both specified, {@name #host} must be a member of {@name #cluster}.", + "type": "string" + }, + "network": { + "description": "Network that backs the virtual Ethernet adapters in the virtual machine template.", + "type": "string" + } + } + }, + "content.library.subscriptions.create_spec_subscribed_library": { + "type": "object", + "properties": { + "target": { + "description": "Specifies whether the target subscribed library should be newly created or an existing subscribed library should be used.", + "$ref": "#/components/schemas/content.library.subscriptions.create_spec_subscribed_library.target" + }, + "new_subscribed_library": { + "description": "Specification for creating a new subscribed library associated with the subscription.", + "$ref": "#/components/schemas/content.library.subscriptions.create_spec_new_subscribed_library" + }, + "subscribed_library": { + "description": "Identifier of the existing subscribed library to associate with the subscription. Only the subscribed libraries for which {@link SubscriptionInfo#subscriptionUrl} property is set to the {@link PublishInfo#publishUrl} of the published library can be associated with the subscription.", + "type": "string" + }, + "location": { + "description": "Location of the subscribed library relative to the published library.", + "$ref": "#/components/schemas/content.library.subscriptions.location" + }, + "vcenter": { + "description": "Specification for the subscribed library's vCenter Server instance.", + "$ref": "#/components/schemas/content.library.subscriptions.create_spec_vcenter" + }, + "placement": { + "description": "Placement specification for the virtual machine template library items on the subscribed library.", + "$ref": "#/components/schemas/content.library.subscriptions.create_spec_placement" + } + }, + "required": [ + "target", + "location" + ] + }, + "content.library.subscriptions.create_spec_subscribed_library.target": { + "type": "string", + "description": "The {@name Target} {@term enumerated type} defines the options related to the target subscribed library which will be associated with the subscription.", + "enum": [ + "CREATE_NEW", + "USE_EXISTING" + ] + }, + "content.library.subscriptions.create_spec_vcenter": { + "type": "object", + "properties": { + "hostname": { + "description": "The hostname of the subscribed library's vCenter Server.", + "type": "string" + }, + "https_port": { + "description": "The HTTPS port of the vCenter Server instance where the subscribed library exists.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "hostname" + ] + }, + "content.library.subscriptions.info": { + "type": "object", + "properties": { + "subscribed_library": { + "description": "Identifier of the subscribed library associated with the subscription.", + "type": "string" + }, + "subscribed_library_name": { + "description": "Name of the subscribed library associated with the subscription.", + "type": "string" + }, + "subscribed_library_location": { + "description": "Location of the subscribed library relative to the published library.", + "$ref": "#/components/schemas/content.library.subscriptions.location" + }, + "subscribed_library_vcenter": { + "description": "Information about the vCenter Server instance where the subscribed library exists.", + "$ref": "#/components/schemas/content.library.subscriptions.vcenter_info" + }, + "subscribed_library_placement": { + "description": "Placement information about the subscribed library's virtual machine template items.", + "$ref": "#/components/schemas/content.library.subscriptions.placement_info" + } + }, + "required": [ + "subscribed_library", + "subscribed_library_name", + "subscribed_library_location", + "subscribed_library_placement" + ] + }, + "content.library.subscriptions.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.subscriptions.summary" + } + } + }, + "required": [ + "value" + ] + }, + "content.library.subscriptions.location": { + "type": "string", + "description": "The {@name Location} {@term enumerated type} defines the location of subscribed library relative to the published library.", + "enum": [ + "LOCAL", + "REMOTE" + ] + }, + "content.library.subscriptions.placement_info": { + "type": "object", + "properties": { + "folder": { + "description": "Virtual machine folder into which the virtual machine template should be placed.", + "type": "string" + }, + "cluster": { + "description": "Cluster onto which the virtual machine template should be placed.", + "type": "string" + }, + "resource_pool": { + "description": "Resource pool into which the virtual machine template should be placed.", + "type": "string" + }, + "host": { + "description": "Host onto which the virtual machine template should be placed. If {@name #host} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #host}. If {@name #host} and {@name #cluster} are both specified, {@name #host} must be a member of {@name #cluster}.", + "type": "string" + }, + "network": { + "description": "Network that backs the virtual Ethernet adapters in the virtual machine template.", + "type": "string" + } + } + }, + "content.library.subscriptions.summary": { + "type": "object", + "properties": { + "subscription": { + "description": "Identifier of the subscription.", + "type": "string" + }, + "subscribed_library": { + "description": "Identifier of the subscribed library.", + "type": "string" + }, + "subscribed_library_name": { + "description": "Name of the subscribed library.", + "type": "string" + }, + "subscribed_library_vcenter_hostname": { + "description": "Hostname of the vCenter instance where the subscribed library exists.", + "type": "string" + } + }, + "required": [ + "subscription", + "subscribed_library", + "subscribed_library_name" + ] + }, + "content.library.subscriptions.update_spec": { + "type": "object", + "properties": { + "subscribed_library_vcenter": { + "description": "Specification for the subscribed library's vCenter Server instance.", + "$ref": "#/components/schemas/content.library.subscriptions.update_spec_vcenter" + }, + "subscribed_library_placement": { + "description": "Placement specification for the virtual machine template items of the subscribed library. Updating this information will only affect new or updated items, existing items will not be moved. The entire placement configuration of the subscribed library will replaced by the new specification.", + "$ref": "#/components/schemas/content.library.subscriptions.update_spec_placement" + } + } + }, + "content.library.subscriptions.update_spec_placement": { + "type": "object", + "properties": { + "folder": { + "description": "Virtual machine folder into which the virtual machine template should be placed.", + "type": "string" + }, + "cluster": { + "description": "Cluster onto which the virtual machine template should be placed. If {@name #cluster} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #cluster}. If {@name #cluster} and {@name #host} are both specified, {@name #host} must be a member of {@name #cluster}. If {@name #resourcePool} or {@name #host} is specified, it is recommended that this {@term field} be {@term unset}.", + "type": "string" + }, + "resource_pool": { + "description": "Resource pool into which the virtual machine template should be placed.", + "type": "string" + }, + "host": { + "description": "Host onto which the virtual machine template should be placed. If {@name #host} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #host}. If {@name #host} and {@name #cluster} are both specified, {@name #host} must be a member of {@name #cluster}.", + "type": "string" + }, + "network": { + "description": "Network that backs the virtual Ethernet adapters in the virtual machine template.", + "type": "string" + } + } + }, + "content.library.subscriptions.update_spec_vcenter": { + "type": "object", + "properties": { + "hostname": { + "description": "The hostname of the subscribed library's vCenter Server.", + "type": "string" + }, + "https_port": { + "description": "The HTTPS port of the vCenter Server instance where the subscribed library exists.", + "type": "integer", + "format": "int64" + } + } + }, + "content.library.subscriptions.vcenter_info": { + "type": "object", + "properties": { + "hostname": { + "description": "Hostname of the vCenter Server instance where the subscribed library exists.", + "type": "string" + }, + "https_port": { + "description": "The HTTPS port of the vCenter Server instance where the subscribed library exists.", + "type": "integer", + "format": "int64" + }, + "server_guid": { + "description": "The unique identifier of the vCenter Server where the subscribed library exists.", + "type": "string" + } + }, + "required": [ + "hostname", + "server_guid" + ] + }, + "content.library.subscriptions_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "spec": { + "$ref": "#/components/schemas/content.library.subscriptions.create_spec", + "description": "Specification for the subscription." + } + } + }, + "content.library.subscriptions_delete": { + "type": "object", + "properties": { + "subscription": { + "type": "string", + "description": "Subscription identifier." + } + } + }, + "content.library.subscriptions_get": { + "type": "object", + "properties": { + "subscription": { + "type": "string", + "description": "Identifier of the subscription." + } + } + }, + "content.library.subscriptions_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library.subscriptions.info" + } + }, + "required": [ + "value" + ] + }, + "content.library.subscriptions_update": { + "type": "object", + "properties": { + "subscription": { + "type": "string", + "description": "subscription identifier." + }, + "spec": { + "$ref": "#/components/schemas/content.library.subscriptions.update_spec", + "description": "Specification of the new property values to set on the subscription." + } + } + }, + "content.library_find": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/content.library.find_spec", + "description": "Specification describing what properties to filter on." + } + } + }, + "content.library_model": { + "type": "object", + "properties": { + "id": { + "description": "An identifier which uniquely identifies this {@name LibraryModel}.", + "type": "string" + }, + "creation_time": { + "description": "The date and time when this library was created.", + "type": "string", + "format": "date-time" + }, + "description": { + "description": "A human-readable description for this library.", + "type": "string" + }, + "last_modified_time": { + "description": "The date and time when this library was last updated.
This {@term field} is updated automatically when the library properties are changed. This {@term field} is not affected by adding, removing, or modifying a library item or its content within the library. Tagging the library or syncing the subscribed library does not alter this {@term field}.", + "type": "string", + "format": "date-time" + }, + "last_sync_time": { + "description": "The date and time when this library was last synchronized.
This {@term field} applies only to subscribed libraries. It is updated every time a synchronization is triggered on the library. The value is {@term unset} for a local library.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "The name of the library.
A Library is identified by a human-readable name. Library names cannot be undefined or an empty string. Names do not have to be unique.", + "type": "string" + }, + "storage_backings": { + "description": "The list of default storage backings which are available for this library.
A {@link StorageBacking} defines a default storage location which can be used to store files for library items in this library. Some library items, for instance, virtual machine template items, support files that may be distributed across various storage backings. One or more item files may or may not be located on the default storage backing.
Multiple default storage locations are not currently supported but may become supported in future releases.", + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.storage_backing" + } + }, + "type": { + "description": "The type ({@enum.values LibraryModel.LibraryType}) of this library.
This value can be used to determine what additional services and information can be available for this library. This {@term field} is not used for the {@code create} and {@code update} {@term operations}. It will always be present in the result of a {@code get} {@term operation}.", + "$ref": "#/components/schemas/content.library_model.library_type" + }, + "optimization_info": { + "description": "Defines various optimizations and optimization parameters applied to this library.", + "$ref": "#/components/schemas/content.library.optimization_info" + }, + "version": { + "description": "A version number which is updated on metadata changes. This value allows clients to detect concurrent updates and prevent accidental clobbering of data.
This value represents a number which is incremented every time library properties, such as name or description, are changed. It is not incremented by changes to a library item within the library, including adding or removing items. It is also not affected by tagging the library.", + "type": "string" + }, + "publish_info": { + "description": "Defines how this library is published so that it can be subscribed to by a remote subscribed library.
The {@link PublishInfo} defines where and how the metadata for this local library is accessible. A local library is only published publically if {@link PublishInfo#published} is {@code true}.", + "$ref": "#/components/schemas/content.library.publish_info" + }, + "subscription_info": { + "description": "Defines the subscription behavior for this Library.
The {@link SubscriptionInfo} defines how this subscribed library synchronizes to a remote source. Setting the value will determine the remote source to which the library synchronizes, and how. Changing the subscription will result in synchronizing to a new source. If the new source differs from the old one, the old library items and data will be lost. Setting {@link SubscriptionInfo#automaticSyncEnabled} to false will halt subscription but will not remove existing cached data.", + "$ref": "#/components/schemas/content.library.subscription_info" + }, + "server_guid": { + "description": "The unique identifier of the vCenter server where the library exists.", + "type": "string" + }, + "security_policy_id": { + "description": "Represents the security policy applied to this library.
Setting the {@term field} will make the library secure. This field is ignored in {@code update} {@term operation} if {@link #unsetSecurityPolicyId} is set to {@code true}.", + "type": "string" + }, + "unset_security_policy_id": { + "description": "This represents the intent of the change to {@link #securityPolicyId} in {@code update} {@term operation}.
If this field is set to {@code true}, any security policy applied to the library will be removed. If this field is set to {@code false}, any security policy applied to library will be changed to the value specified in {@link #securityPolicyId}, if any.", + "type": "boolean" + } + } + }, + "content.library_model.library_type": { + "type": "string", + "description": "The {@name LibraryType} {@term enumerated type} defines the type of a {@link LibraryModel}.
The type of a library can be used to determine which additional services can be performed with a library.", + "enum": [ + "LOCAL", + "SUBSCRIBED" + ] + }, + "content.library_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library_model" + } + }, + "required": [ + "value" + ] + }, + "content.library_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/content.library_model", + "description": "Specification of the new property values to set on the library." + } + } + }, + "content.local_library.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "content.local_library.destination_spec": { + "type": "object", + "properties": { + "subscription": { + "description": "Identifier of the subscription associated with the subscribed library.", + "type": "string" + } + }, + "required": [ + "subscription" + ] + }, + "content.local_library.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "content.local_library_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/content.library_model", + "description": "Specification for the new local library." + } + } + }, + "content.local_library_publish": { + "type": "object", + "properties": { + "subscriptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.local_library.destination_spec" + }, + "description": "The list of subscriptions to publish this library to." + } + } + }, + "content.local_library_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library_model" + } + }, + "required": [ + "value" + ] + }, + "content.local_library_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/content.library_model", + "description": "Specification of the new property values to set on the local library." + } + } + }, + "content.security_rule_type": { + "type": "string", + "description": "The {@name SecurityRuleType} {@term enumerated type} defines the security rules which can be applied to different item types.", + "enum": [ + "OVF_STRICT_VERIFICATION" + ] + }, + "content.subscribed_library.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "content.subscribed_library.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "content.subscribed_library.probe_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.subscribed_library.probe_result" + } + }, + "required": [ + "value" + ] + }, + "content.subscribed_library.probe_result": { + "type": "object", + "properties": { + "status": { + "description": "The status of probe result. This will be one of {@enum.values Status}.", + "$ref": "#/components/schemas/content.subscribed_library.probe_result.status" + }, + "ssl_thumbprint": { + "description": "The SSL thumbprint for the remote endpoint.", + "type": "string" + }, + "error_messages": { + "description": "If the probe result is in an error status, this {@term field} will contain the detailed error messages.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + } + }, + "required": [ + "status", + "error_messages" + ] + }, + "content.subscribed_library.probe_result.status": { + "type": "string", + "description": "The {@name Status} {@term enumerated type} defines the error status constants for the probe result.", + "enum": [ + "SUCCESS", + "INVALID_URL", + "TIMED_OUT", + "HOST_NOT_FOUND", + "RESOURCE_NOT_FOUND", + "INVALID_CREDENTIALS", + "CERTIFICATE_ERROR", + "UNKNOWN_ERROR" + ] + }, + "content.subscribed_library_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "Unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/content.library_model", + "description": "Specification for the new subscribed library." + } + } + }, + "content.subscribed_library_probe": { + "type": "object", + "properties": { + "subscription_info": { + "$ref": "#/components/schemas/content.library.subscription_info", + "description": "The subscription info to be probed." + } + } + }, + "content.subscribed_library_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/content.library_model" + } + }, + "required": [ + "value" + ] + }, + "content.subscribed_library_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/content.library_model", + "description": "Specification of the new property values to set on the subscribed library." + } + } + }, + "content.type.info": { + "type": "object", + "properties": { + "description": { + "description": "A description of the type support offered by the plugin.", + "type": "string" + }, + "name": { + "description": "The name of the plugin which provides the type support.", + "type": "string" + }, + "type": { + "description": "The type which the plugin supports.
To upload a library item of the type supported by the plugin, the {@link ItemModel#type} {@term field} of the item should be set to this value.", + "type": "string" + }, + "vendor": { + "description": "The name of the vendor who created the type support plugin.", + "type": "string" + }, + "version": { + "description": "The version number of the type support plugin.", + "type": "string" + }, + "supported_rules": { + "description": "List of security rules which can be applied to this item type.", + "type": "array", + "items": { + "$ref": "#/components/schemas/content.security_rule_type" + } + } + }, + "required": [ + "description", + "name", + "type", + "vendor", + "version" + ] + }, + "content.type.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/content.type.info" + } + } + }, + "required": [ + "value" + ] + }, + "vapi.std.errors.already_exists": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.already_exists_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.already_exists" + } + } + }, + "vapi.std.errors.concurrent_change": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.concurrent_change_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.concurrent_change" + } + } + }, + "vapi.std.errors.error": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.error.type": { + "type": "string", + "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.", + "enum": [ + "ERROR", + "ALREADY_EXISTS", + "ALREADY_IN_DESIRED_STATE", + "CANCELED", + "CONCURRENT_CHANGE", + "FEATURE_IN_USE", + "INTERNAL_SERVER_ERROR", + "INVALID_ARGUMENT", + "INVALID_ELEMENT_CONFIGURATION", + "INVALID_ELEMENT_TYPE", + "INVALID_REQUEST", + "NOT_ALLOWED_IN_CURRENT_STATE", + "NOT_FOUND", + "OPERATION_NOT_FOUND", + "RESOURCE_BUSY", + "RESOURCE_IN_USE", + "RESOURCE_INACCESSIBLE", + "SERVICE_UNAVAILABLE", + "TIMED_OUT", + "UNABLE_TO_ALLOCATE_RESOURCE", + "UNAUTHENTICATED", + "UNAUTHORIZED", + "UNEXPECTED_INPUT", + "UNSUPPORTED", + "UNVERIFIED_PEER" + ] + }, + "vapi.std.errors.error_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + }, + "vapi.std.errors.invalid_argument": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.invalid_argument_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + }, + "vapi.std.errors.invalid_element_configuration": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.invalid_element_configuration_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_configuration" + } + } + }, + "vapi.std.errors.invalid_element_type": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.invalid_element_type_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + }, + "vapi.std.errors.not_allowed_in_current_state": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.not_allowed_in_current_state_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + }, + "vapi.std.errors.not_found": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.not_found_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + }, + "vapi.std.errors.resource_busy": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.resource_busy_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.resource_busy" + } + } + }, + "vapi.std.errors.resource_inaccessible": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.resource_inaccessible_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + }, + "vapi.std.errors.unauthenticated": { + "type": "object", + "properties": { + "challenge": { + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.
For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"", + "type": "string" + }, + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unauthenticated_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unauthenticated" + } + } + }, + "vapi.std.errors.unauthorized": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unauthorized_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unauthorized" + } + } + }, + "vapi.std.errors.unsupported": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unsupported_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unsupported" + } + } + }, + "vapi.std.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "default_message": { + "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.", + "type": "string" + }, + "args": { + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "params": { + "description": "Named arguments to be substituted into the message template.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.localization_param" + } + } + } + }, + "localized": { + "description": "Localized string value as per request requirements.", + "type": "string" + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "vapi.std.localization_param": { + "type": "object", + "properties": { + "s": { + "description": "{@term String} value associated with the parameter.", + "type": "string" + }, + "dt": { + "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.", + "type": "string", + "format": "date-time" + }, + "i": { + "description": "{@term long} value associated with the parameter.", + "type": "integer", + "format": "int64" + }, + "d": { + "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.", + "type": "number", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.", + "$ref": "#/components/schemas/vapi.std.nested_localizable_message" + }, + "format": { + "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.", + "$ref": "#/components/schemas/vapi.std.localization_param.date_time_format" + }, + "precision": { + "description": "Number of fractional digits to include in formatted {@term double} value.", + "type": "integer", + "format": "int64" + } + } + }, + "vapi.std.localization_param.date_time_format": { + "type": "string", + "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.", + "enum": [ + "SHORT_DATE", + "MED_DATE", + "LONG_DATE", + "FULL_DATE", + "SHORT_TIME", + "MED_TIME", + "LONG_TIME", + "FULL_TIME", + "SHORT_DATE_TIME", + "MED_DATE_TIME", + "LONG_DATE_TIME", + "FULL_DATE_TIME" + ] + }, + "vapi.std.nested_localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "params": { + "description": "Named Arguments to be substituted into the message template.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.localization_param" + } + } + } + } + }, + "required": [ + "id" + ] + } + } + } +} \ No newline at end of file diff --git a/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/contentinternal.json b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/contentinternal.json new file mode 100644 index 0000000..23fe46c --- /dev/null +++ b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/contentinternal.json @@ -0,0 +1,5343 @@ +{ + "openapi": "3.0.0", + "info": { + "description": "", + "title": "contentinternal", + "version": "2.0.0" + }, + "paths": { + "/rest/com/vmware/contentinternal/admin/vcloudair/vcenter": { + "get": { + "tags": [ + "admin/vcloudair/vcenter" + ], + "summary": "Returns identifiers of all vCenter Servers in the Content Library.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term set} of identifiers of all vCenter Servers in the Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.admin.vcloudair.vcenter.list_resp" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/contentinternal/admin/vcloudair/vcenter/id:{vcenter_id}": { + "patch": { + "tags": [ + "admin/vcloudair/vcenter" + ], + "summary": "Update a vCenter Server.
This is an incremental update to the vCenter Server. {@term fields} that are {@term unset} in the update specification will be left unchanged.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "vcenter_id", + "description": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the specified vCenter Server specified by {@name vcenterId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the provided vCenter Server is inaccessible.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.admin.vcloudair.vcenter_update" + } + }, + "get": { + "tags": [ + "admin/vcloudair/vcenter" + ], + "summary": "Retrieves the specified vCenter Server information.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "vcenter_id", + "description": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link Info} instance representing the specified vCenter ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.admin.vcloudair.vcenter_resp" + } + } + } + }, + "404": { + "description": "if the vCenter Server associated with {@param.name vcenterId} does not exist in the Content Library Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/com/vmware/contentinternal/admin/vcloudair/vcenter/id:{vcenter_id}?~action=remove": { + "post": { + "tags": [ + "admin/vcloudair/vcenter" + ], + "summary": "Remove the specified vCenter Server from the Content Library Service.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "vcenter_id", + "description": "Identifier of the vCenter Server to be removed.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the vCenter Server associated with {@param.name vcenterId} does not exist in the Content Library Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "remove" + } + }, + "/rest/com/vmware/contentinternal/admin/vcloudair/vcenter?~action=add": { + "post": { + "tags": [ + "admin/vcloudair/vcenter" + ], + "summary": "Add a vCenter Server.
The add operation is idempotent, it always returns the same ID given the same addSpec.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the added vCenter Server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.admin.vcloudair.vcenter.add_resp" + } + } + } + }, + "400": { + "description": "if the provided vCenter server already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.already_exists" + } + } + } + } + }, + "operationId": "add", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.admin.vcloudair.vcenter_add" + } + } + }, + "/rest/com/vmware/contentinternal/cls-activation-service?~action=cancel": { + "post": { + "tags": [ + "cls_activation_service" + ], + "summary": "Cancels an invocation.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + } + }, + "operationId": "cancel", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.cls_activation_service_cancel" + } + } + }, + "/rest/com/vmware/contentinternal/cls-configuration-service": { + "put": { + "tags": [ + "cls_configuration_service" + ], + "summary": "Sets the configuration value with the given configuration name.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the configuration cannot be found by the given name", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the given configuration value is invalid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.cls_configuration_service_set" + } + }, + "get": { + "tags": [ + "cls_configuration_service" + ], + "summary": "Lists all configurations for content library service", + "parameters": [], + "responses": { + "200": { + "description": "list of all content library configurations in (name, value) pair", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_configuration_service.list_resp" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/contentinternal/cls-configuration-service?~action=get": { + "post": { + "tags": [ + "cls_configuration_service" + ], + "summary": "Returns a configuration value with the given configuration name.", + "parameters": [], + "responses": { + "200": { + "description": "configuration value in String", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_configuration_service_resp" + } + } + } + }, + "404": { + "description": "if the configuration cannot be found by the given name", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.cls_configuration_service_get" + } + } + }, + "/rest/com/vmware/contentinternal/cls-stress-service": { + "put": { + "tags": [ + "cls_stress_service" + ], + "summary": "Sets a key-value pair. Will override any predefined value.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.cls_stress_service_set" + } + } + }, + "/rest/com/vmware/contentinternal/cls-stress-service/all": { + "put": { + "tags": [ + "cls_stress_service" + ], + "summary": "Sets a key-value pairs. Will override any predefined values.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + } + }, + "operationId": "set_all", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.cls_stress_service_set_all" + } + } + }, + "/rest/com/vmware/contentinternal/cls-stress-service?~action=get": { + "post": { + "tags": [ + "cls_stress_service" + ], + "summary": "Returns the value corresponding to the input key if it exists. Otherwise, null.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_stress_service_resp" + } + } + } + } + }, + "operationId": "get", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.cls_stress_service_get" + } + } + }, + "/rest/com/vmware/contentinternal/cls-stress-service?~action=get-all": { + "post": { + "tags": [ + "cls_stress_service" + ], + "summary": "Returns all the defined key-value pairs.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_stress_service.get_all_resp" + } + } + } + } + }, + "operationId": "get_all" + } + }, + "/rest/com/vmware/contentinternal/cls-stress-service?~action=reset": { + "post": { + "tags": [ + "cls_stress_service" + ], + "summary": "Reset all settings to their default values.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + } + }, + "operationId": "reset" + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service": { + "get": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Get all the diagnostic counters for ClService.", + "parameters": [], + "responses": { + "200": { + "description": "Map of diagnostic counters keyed by counter/component name.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.list_resp" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=clear": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Clears diagnostics for given opId.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + } + }, + "operationId": "clear", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.diagnostics.cls_diagnostic_service_clear" + } + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=clear-all": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Clears diagnostics for all opId.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + } + }, + "operationId": "clear_all" + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=garbage-collect": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Force a garbage collect. This can make the memory usage statistics returned by getDiagnosticValues more stable but has durn CPU cycles.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + } + }, + "operationId": "garbage_collect" + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=get": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Get diagnostics for a given opId.", + "parameters": [], + "responses": { + "200": { + "description": "ApiCallDiagnostics for given opId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service_resp" + } + } + } + }, + "404": { + "description": "if there are no diagnostics available for given OpId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.diagnostics.cls_diagnostic_service_get" + } + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=get-diagnostics-values": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Get all diagnostic values.
", + "parameters": [], + "responses": { + "200": { + "description": "json representation of a map keyed by provider name to values. The values can be arbitrarily an arbitrarily nested datastructure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.get_diagnostics_values_resp" + } + } + } + } + }, + "operationId": "get_diagnostics_values" + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=test-activity-framework": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Run basic tests for AF for ClService.", + "parameters": [], + "responses": { + "200": { + "description": "TestResult describing the result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_activity_framework_resp" + } + } + } + } + }, + "operationId": "test_activity_framework" + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=test-component-manager-connectivity": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Run test to check Component Manager connectivity from ClService", + "parameters": [], + "responses": { + "200": { + "description": "TestResult describing the result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_component_manager_connectivity_resp" + } + } + } + } + }, + "operationId": "test_component_manager_connectivity" + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=test-database-connectivity": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Run database connectivity test for the ClService.", + "parameters": [], + "responses": { + "200": { + "description": "TestResult describing the result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_database_connectivity_resp" + } + } + } + } + }, + "operationId": "test_database_connectivity" + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=test-echo": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Run echo test against the ClService.", + "parameters": [], + "responses": { + "200": { + "description": "TestResult describing the result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_echo_resp" + } + } + } + } + }, + "operationId": "test_echo", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.diagnostics.cls_diagnostic_service_test_echo" + } + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=test-inventory-service-connectivity": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Run test to check Inventory Service connectivity from ClService.", + "parameters": [], + "responses": { + "200": { + "description": "TestResult describing the result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_inventory_service_connectivity_resp" + } + } + } + } + }, + "operationId": "test_inventory_service_connectivity" + } + }, + "/rest/com/vmware/contentinternal/diagnostics/cls-diagnostic-service?~action=test-virtual-center-connectivity": { + "post": { + "tags": [ + "diagnostics/cls_diagnostic_service" + ], + "summary": "Run test to check VC connectivity from ClService.", + "parameters": [], + "responses": { + "200": { + "description": "TestResult desribing the result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_virtual_center_connectivity_resp" + } + } + } + } + }, + "operationId": "test_virtual_center_connectivity" + } + }, + "/rest/com/vmware/contentinternal/inv-query-service?~action=query": { + "post": { + "tags": [ + "inv_query_service" + ], + "summary": "Query the inventory service for all documents associated with the given ID.", + "parameters": [], + "responses": { + "200": { + "description": "the model object associated with the given ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.inv_query_service.query_resp" + } + } + } + }, + "404": { + "description": "if the document cannot be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the specified binding class has not been registered with the publishing framework", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "query", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.inv_query_service_query" + } + } + }, + "/rest/com/vmware/contentinternal/inv-query-service?~action=query-xml": { + "post": { + "tags": [ + "inv_query_service" + ], + "summary": "Query the inventory service for all XML documents associated with the given ID.", + "parameters": [], + "responses": { + "200": { + "description": "the XML document associated with the given ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.inv_query_service.query_xml_resp" + } + } + } + }, + "404": { + "description": "if the document cannot be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the specified binding class has not been registered with the publishing framework", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "query_xml", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.inv_query_service_query_xml" + } + } + }, + "/rest/com/vmware/contentinternal/inv-query-service?~action=synchronized-query": { + "post": { + "tags": [ + "inv_query_service" + ], + "summary": "Query the inventory service for all documents associated with the given ID. This query waits until the item has been published with the given change type.", + "parameters": [], + "responses": { + "200": { + "description": "the XML document associated with the given ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.inv_query_service.synchronized_query_resp" + } + } + } + }, + "404": { + "description": "if the document cannot be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the specified binding class has not been registered with the publishing framework", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "synchronized_query", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.inv_query_service_synchronized_query" + } + } + }, + "/rest/com/vmware/contentinternal/inv-query-service?~action=synchronized-query-xml": { + "post": { + "tags": [ + "inv_query_service" + ], + "summary": "Query the inventory service for all XML documents associated with the given ID. This query waits until the item has been published with the given change type.", + "parameters": [], + "responses": { + "200": { + "description": "the XML document associated with the given ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.inv_query_service.synchronized_query_xml_resp" + } + } + } + }, + "404": { + "description": "if the document cannot be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the specified binding class has not been registered with the publishing framework", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "synchronized_query_xml", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.inv_query_service_synchronized_query_xml" + } + } + }, + "/rest/com/vmware/contentinternal/library/metadata": { + "get": { + "tags": [ + "library/metadata" + ], + "summary": "Lists all metadata associated with the library. If no metadata is found, the method will return an empty list.", + "parameters": [ + { + "in": "query", + "name": "library_id", + "description": "the ID of the library", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the list of metadata info associated with the library", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.library.metadata.list_resp" + } + } + } + }, + "404": { + "description": "if the library cannot be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the metadata service is disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/contentinternal/library/metadata/id:{library_id}": { + "post": { + "tags": [ + "library/metadata" + ], + "summary": "Adds the list of metadata key/value pairs to a library. If the key on this library already exists, this {@term operation} will override the old value with the new one. Existing metadata of other keys on the library will remain unchanged.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "the ID of the library", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library cannot be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the metadata service is disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.library.metadata_create" + } + }, + "delete": { + "tags": [ + "library/metadata" + ], + "summary": "Removes metadata from the library. If the library doesn't have such a key from the list, this call will be a no-op. If specific keys are not provided, all metadata for the library is removed.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "the ID of the library", + "schema": { + "type": "string" + } + }, + { + "required": false, + "items": { + "type": "string" + }, + "in": "query", + "name": "keys", + "description": "the keys to remove", + "schema": { + "type": "array" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library cannot be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the metadata service is disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/contentinternal/library/metadata/id:{library_id}?~action=get": { + "post": { + "tags": [ + "library/metadata" + ], + "summary": "Gets the metadata info associated with this key on the library. If no key is defined this {@term operation} will return null.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "the ID of the library", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the metadata info associated with this key", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.library.metadata_resp" + } + } + } + }, + "404": { + "description": "if the library cannot be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the metadata service is disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + } + } + }, + "operationId": "get", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.library.metadata_get" + } + } + }, + "/rest/com/vmware/contentinternal/local/library": { + "post": { + "tags": [ + "local/library" + ], + "summary": "Creates a new local library.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the newly created {@link Library}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library.create_resp" + } + } + } + }, + "400": { + "description": "if using multiple storage backings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unsupported" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.local.library_create" + } + }, + "get": { + "tags": [ + "local/library" + ], + "summary": "Returns the identifiers of all local libraries in the Content Library.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term list} of identifiers of all local libraries in the Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library.list_resp" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/contentinternal/local/library/id:{library_id}": { + "patch": { + "tags": [ + "local/library" + ], + "summary": "Updates the properties of a local library.
This is an incremental update to the local library. {@term Fields} that are {@term unset} in the update specification will be left unchanged.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the local library to update.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@param.name updateSpec} is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.local.library_update" + } + }, + "get": { + "tags": [ + "local/library" + ], + "summary": "Returns a given local library.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the local library to return.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link Library} instance associated with {@param.name libraryId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library_resp" + } + } + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the library specified by {@param.name libraryId} is not a local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "local/library" + ], + "summary": "Deletes the specified local library.
Deleting a local library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the local library to delete.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if the library specified by {@param.name libraryId} is not a local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/contentinternal/local/library/item": { + "post": { + "tags": [ + "local/library/item" + ], + "summary": "Creates a new library item in a local library.
A new library item is created without any content. After creation, content can be added through the {@link UpdateSession} and {@link File} {@term services}.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the new library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library.item.create_resp" + } + } + } + }, + "404": { + "description": "if the {@link CreateSpec#libraryId} property of {@param.name createSpec} refers to a library that does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@link CreateSpec#libraryId} property of {@param.name createSpec} is not a local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.local.library.item_create" + } + }, + "get": { + "tags": [ + "local/library/item" + ], + "summary": "Returns the identifiers of all items in the given library.", + "parameters": [ + { + "in": "query", + "name": "library_id", + "description": "Identifier of the library whose items should be returned.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of identifiers of the items in the library specified by {@param.name libraryId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library.item.list_resp" + } + } + } + }, + "404": { + "description": "if the library associated with {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/contentinternal/local/library/item/id:{library_item_id}": { + "patch": { + "tags": [ + "local/library/item" + ], + "summary": "Updates the properties of a library item.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to update.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the item associated with {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.local.library.item_update" + } + }, + "get": { + "tags": [ + "local/library/item" + ], + "summary": "Returns the library item with the given identifier.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to return.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link Info} instance that corresponds to the {@param.name libraryItemId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library.item_resp" + } + } + } + }, + "404": { + "description": "if the item associated with {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@param.name libraryItemId} is not an item in a local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "local/library/item" + ], + "summary": "Deletes the specified library item.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to delete.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if the {@param.name libraryItemId} is not an item in a local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + }, + "404": { + "description": "if the item associated with {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/contentinternal/replication/group": { + "post": { + "tags": [ + "replication/group" + ], + "summary": "Creates a replication group with the specified {@param.name createSpec}.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier for the replication group.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.create_resp" + } + } + } + }, + "400": { + "description": "if the {@link CreateSpec#localLibrary} propery of {@param.name createSpec} does not refer to a local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.replication.group_create" + } + }, + "get": { + "tags": [ + "replication/group" + ], + "summary": "Returns the identifiers of all replication groups in the Content Library.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term list} of identifiers of all replication groups in the Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.list_resp" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/contentinternal/replication/group/id:{replication_group_id}": { + "get": { + "tags": [ + "replication/group" + ], + "summary": "Returns the information associated with the replication group and all its members.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "replication_group_id", + "description": "Identifier of the replication group", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link Info} instance that corresponds to {@param.name replicationGroupId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group_resp" + } + } + } + }, + "404": { + "description": "if the replication group with the specified {@param.name replicationGroupId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "replication/group" + ], + "summary": "Updates the properties of the replication group.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "replication_group_id", + "description": "Identifier of the replication group to update.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the replication group identified by {@param.name replicationGroupId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@param.name updateSpec} is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.replication.group_update" + } + }, + "delete": { + "tags": [ + "replication/group" + ], + "summary": "Deletes a replication group. Members in the group have to be deleted before the group can be deleted.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "replication_group_id", + "description": "Identifier of the replication group to delete", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the replication group with the specified {@param.name replicationGroupId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the replication group is not empty and contains group members.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/rest/com/vmware/contentinternal/replication/group/library/id:{library_id}": { + "get": { + "tags": [ + "replication/group/library" + ], + "summary": "Returns the library with the given identifier on the specific node.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the replicated library to return.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link Info} instance that corresponds to {@param.name libraryId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library_resp" + } + } + } + }, + "404": { + "description": "if the library associated with {@param.name libraryId} could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@param.name libraryId} is not a replicated library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "replication/group/library" + ], + "summary": "Updates the properties of a master library. This operation triggers replication if {@link Service.Info#autoReplicate} is set.
This is an incremental update to the replicated library. {@term Fields} that are {@term unset} in the update specification will be left unchanged.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_id", + "description": "Identifier of the master replicated library to update.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the library specified by {@param.name libraryId} could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@param.name libraryId} is not specified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.replication.group.library_update" + } + } + }, + "/rest/com/vmware/contentinternal/replication/group/library/item": { + "get": { + "tags": [ + "replication/group/library/item" + ], + "summary": "Returns the identifiers of all items in the given library.", + "parameters": [ + { + "in": "query", + "name": "library_id", + "description": "Identifier of the library whose items should be returned.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of identifiers of the items in the library specified by {@param.name libraryId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item.list_resp" + } + } + } + }, + "404": { + "description": "if the library associated with {@param.name libraryId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@param.name libraryId} is not a replicated library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + } + }, + "operationId": "list" + }, + "post": { + "tags": [ + "replication/group/library/item" + ], + "summary": "Creates a new library item in a master library of a replication group.
A new library item is created without any content. After creation, content can be added through the {@link UpdateSession} and {@link File} {@term services}.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the new library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item.create_resp" + } + } + } + }, + "404": { + "description": "if the {@link CreateSpec#libraryId} property of {@param.name createSpec} refers to a library that does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@link CreateSpec#libraryId} property of {@param.name createSpec} is not a master library instance in a replicated library group. TODO: introduce an atomic create and udpate API", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.replication.group.library.item_create" + } + } + }, + "/rest/com/vmware/contentinternal/replication/group/library/item/id:{library_item_id}": { + "delete": { + "tags": [ + "replication/group/library/item" + ], + "summary": "Deletes the specified library item. This item will be removed from all replica instances in the next replication cycle.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to delete.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "if the {@param.name libraryId} is not specified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + }, + "404": { + "description": "if the item associated with {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "delete" + }, + "get": { + "tags": [ + "replication/group/library/item" + ], + "summary": "Returns the library item with the given identifier.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to return.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@link Info} instance that corresponds to the {@param.name libraryItemId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item_resp" + } + } + } + }, + "404": { + "description": "if the item associated with {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@param.name libraryId} is not specified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "replication/group/library/item" + ], + "summary": "Updates the properties of a library item.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "library_item_id", + "description": "Identifier of the library item to update.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the item associated with {@param.name libraryItemId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the {@param.name libraryId} is not specified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.replication.group.library.item_update" + } + } + }, + "/rest/com/vmware/contentinternal/replication/group/library/item/status/id:{replication_group_id}": { + "get": { + "tags": [ + "replication/group/library/item/status" + ], + "summary": "Gets the replication status of library items in the given replication group.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "replication_group_id", + "description": "Identifier of the replication group.", + "schema": { + "type": "string" + } + }, + { + "required": false, + "items": { + "type": "string" + }, + "in": "query", + "name": "item_ids", + "description": "", + "schema": { + "type": "array" + } + } + ], + "responses": { + "200": { + "description": "Replication status for items in the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item.status_resp" + } + } + } + }, + "404": { + "description": "if the replication group specified by {@param.name replicationGroupId} could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/com/vmware/contentinternal/replication/group/library/status": { + "get": { + "tags": [ + "replication/group/library/status" + ], + "summary": "Lists status of all libraries in the replication group. Cached status information for other members in the replication group is provided when availble.", + "parameters": [ + { + "in": "query", + "name": "replication_group_id", + "description": "Identifier of the replication group", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Status information for libraries in replication group", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.status.list_resp" + } + } + } + }, + "404": { + "description": "if the replication group specified by {@param.name replicationGroupId} cannot not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/contentinternal/replication/group/library/status/id:{replication_group_member_id}": { + "get": { + "tags": [ + "replication/group/library/status" + ], + "summary": "Gets the Status information of the library associated with the specified replication group member.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "replication_group_member_id", + "description": "Member ID whose status to return", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Status information for the given member library", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.status_resp" + } + } + } + }, + "404": { + "description": "if the replication group member specified by {@param.name replicationGroupMemberId} cannot be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/com/vmware/contentinternal/replication/group/member": { + "get": { + "tags": [ + "replication/group/member" + ], + "summary": "Returns the identifiers of all members in the given replication group.", + "parameters": [ + { + "in": "query", + "name": "replication_group_id", + "description": "Identifier of the replication group whose members should be returned.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The {@term list} of identifiers of the members in the replication group specified by {@param.name replicationGroupId}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.member.list_resp" + } + } + } + }, + "404": { + "description": "if the replication group associated with {@param.name replicationGroupId} could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "list" + }, + "post": { + "tags": [ + "replication/group/member" + ], + "summary": "Creates a master or replica member in the replication group. A replica library is asynchronously created at the specified {@param.name createSpec#replicaCreateSpec#clsEndpoint} location.", + "parameters": [], + "responses": { + "200": { + "description": "Identifier of the newly created replication group member.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.member.create_resp" + } + } + } + }, + "404": { + "description": "if the {@param.name replicationGroupId} is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the CLS endpoint specified in {@param.name createSpec} is not accessible.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.replication.group.member_create" + } + } + }, + "/rest/com/vmware/contentinternal/replication/group/member/id:{member_id}": { + "delete": { + "tags": [ + "replication/group/member" + ], + "summary": "Deletes the given member and the associated library from the replication group. The master replication group member can only be deleted after all replica group members are deleted.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "member_id", + "description": "Replication group member to delete.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "400": { + "description": "on attempting to delete the master member in a group with replica members.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + } + }, + "404": { + "description": "if the replication group member identified by {@param.name memberId} cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "delete" + }, + "get": { + "tags": [ + "replication/group/member" + ], + "summary": "Gets information about the given replication group member.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "member_id", + "description": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the replication group member.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.member_resp" + } + } + } + }, + "404": { + "description": "if the replication group member with the given identifier could not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + } + }, + "/rest/com/vmware/contentinternal/replication/group/member?~action=find": { + "post": { + "tags": [ + "replication/group/member" + ], + "summary": "Returns a list of replication group members matching the requested {@link Library.FindSpec}.", + "parameters": [], + "responses": { + "200": { + "description": "The {@term list} of information of all the replication group members matching the given {@param.name spec}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.member.find_resp" + } + } + } + }, + "400": { + "description": "temporary exception until the API is implemented.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.unsupported" + } + } + } + } + }, + "operationId": "find", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.replication.group.member_find" + } + } + }, + "/rest/com/vmware/contentinternal/replication/group/member?~action=replicate": { + "post": { + "tags": [ + "replication/group/member" + ], + "summary": "Replicates content to the specified replica member.This {@term operation} does not do anything when invoked on a master member.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + }, + "404": { + "description": "if the member specified by {@param.name memberId} does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + }, + "400": { + "description": "if the replica library associated with {@param.name memberId} is not accessible.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + } + } + }, + "operationId": "replicate", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.replication.group.member_replicate" + } + } + }, + "/rest/com/vmware/contentinternal/replication/replica-library/id:{replication_group_id}": { + "post": { + "tags": [ + "replication/replica_library" + ], + "summary": "Creates a subscribed library with the given spec and marks it as belonging to the specified replication group.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "replication_group_id", + "description": "Replication group that the library belongs to", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Identifier of the newly created library", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.replica_library.create_resp" + } + } + } + }, + "400": { + "description": "if the master library cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/contentinternal.replication.replica_library_create" + } + } + }, + "/rest/com/vmware/contentinternal/restore?~action=restore": { + "post": { + "tags": [ + "restore" + ], + "summary": "Triggers workflow to reconcile the Content Library database with the storage backing.", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + } + }, + "operationId": "restore" + } + }, + "/rest/com/vmware/contentinternal/task": { + "get": { + "tags": [ + "task" + ], + "summary": "Return tasks according to query specification", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.task.list_resp" + } + } + } + }, + "400": { + "description": "if the query spec was invalid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + } + } + }, + "operationId": "list" + } + }, + "/rest/com/vmware/contentinternal/task/id:{id}?~action=cancel": { + "post": { + "tags": [ + "task" + ], + "summary": "Cancel a task", + "parameters": [ + { + "required": true, + "in": "path", + "name": "id", + "description": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": {} + } + } + }, + "operationId": "cancel" + } + }, + "/rest/com/vmware/contentinternal/task/id:{task_id}": { + "get": { + "tags": [ + "task" + ], + "summary": "Get detailed information of a given task", + "parameters": [ + { + "required": true, + "in": "path", + "name": "task_id", + "description": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.task_resp" + } + } + } + }, + "404": { + "description": "if the specified library does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + } + } + }, + "operationId": "get" + } + } + }, + "components": { + "requestBodies": { + "contentinternal.admin.vcloudair.vcenter_add": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.admin.vcloudair.vcenter_add" + } + } + } + }, + "contentinternal.admin.vcloudair.vcenter_update": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.admin.vcloudair.vcenter_update" + } + } + } + }, + "contentinternal.cls_activation_service_cancel": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_activation_service_cancel" + } + } + } + }, + "contentinternal.cls_configuration_service_get": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_configuration_service_get" + } + } + } + }, + "contentinternal.cls_configuration_service_set": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_configuration_service_set" + } + } + } + }, + "contentinternal.cls_stress_service_get": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_stress_service_get" + } + } + } + }, + "contentinternal.cls_stress_service_set": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_stress_service_set" + } + } + } + }, + "contentinternal.cls_stress_service_set_all": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.cls_stress_service_set_all" + } + } + } + }, + "contentinternal.diagnostics.cls_diagnostic_service_clear": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service_clear" + } + } + } + }, + "contentinternal.diagnostics.cls_diagnostic_service_get": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service_get" + } + } + } + }, + "contentinternal.diagnostics.cls_diagnostic_service_test_echo": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service_test_echo" + } + } + } + }, + "contentinternal.inv_query_service_query": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.inv_query_service_query" + } + } + } + }, + "contentinternal.inv_query_service_query_xml": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.inv_query_service_query_xml" + } + } + } + }, + "contentinternal.inv_query_service_synchronized_query": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.inv_query_service_synchronized_query" + } + } + } + }, + "contentinternal.inv_query_service_synchronized_query_xml": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.inv_query_service_synchronized_query_xml" + } + } + } + }, + "contentinternal.library.metadata_create": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.library.metadata_create" + } + } + } + }, + "contentinternal.library.metadata_get": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.library.metadata_get" + } + } + } + }, + "contentinternal.local.library.item_create": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library.item_create" + } + } + } + }, + "contentinternal.local.library.item_update": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library.item_update" + } + } + } + }, + "contentinternal.local.library_create": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library_create" + } + } + } + }, + "contentinternal.local.library_update": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.local.library_update" + } + } + } + }, + "contentinternal.replication.group.library.item_create": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item_create" + } + } + } + }, + "contentinternal.replication.group.library.item_update": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item_update" + } + } + } + }, + "contentinternal.replication.group.library_update": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.library_update" + } + } + } + }, + "contentinternal.replication.group.member_create": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.member_create" + } + } + } + }, + "contentinternal.replication.group.member_find": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.member_find" + } + } + } + }, + "contentinternal.replication.group.member_replicate": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group.member_replicate" + } + } + } + }, + "contentinternal.replication.group_create": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group_create" + } + } + } + }, + "contentinternal.replication.group_update": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.group_update" + } + } + } + }, + "contentinternal.replication.replica_library_create": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/contentinternal.replication.replica_library_create" + } + } + } + } + }, + "schemas": { + "content.library.optimization_info": { + "type": "object", + "properties": { + "optimize_remote_publishing": { + "description": "If set to {@code true} then library would be optimized for remote publishing.
Turn it on if remote publishing is dominant use case for this library. Remote publishing means here that publisher and subscribers are not the part of the same {@name Vcenter} SSO domain.
Any optimizations could be done as result of turning on this optimization during library creation. For example, library content could be stored in different format but optimizations are not limited to just storage format.
Note, that value of this toggle could be set only during creation of the library and you would need to migrate your library in case you need to change this value (optimize the library for different use case).", + "type": "boolean" + } + } + }, + "content.library.publish_info": { + "type": "object", + "properties": { + "authentication_method": { + "description": "Indicates how a subscribed library should authenticate ({@enum.values AuthenticationMethod}) to the published library endpoint.", + "$ref": "#/components/schemas/content.library.publish_info.authentication_method" + }, + "published": { + "description": "Whether the local library is published.", + "type": "boolean" + }, + "publish_url": { + "description": "The URL to which the library metadata is published by the Content Library Service.
This value can be used to set the {@link SubscriptionInfo#subscriptionUrl} property when creating a subscribed library.", + "type": "string", + "format": "uri" + }, + "user_name": { + "description": "The username to require for authentication.", + "type": "string" + }, + "password": { + "description": "The new password to require for authentication.", + "type": "string", + "format": "password" + }, + "current_password": { + "description": "The current password to verify. This {@term field} is available starting in vSphere 6.7.", + "type": "string", + "format": "password" + }, + "persist_json_enabled": { + "description": "Whether library and library item metadata are persisted in the storage backing as JSON files. This flag only applies if the local library is published.
Enabling JSON persistence allows you to synchronize a subscribed library manually instead of over HTTP. You copy the local library content and metadata to another storage backing manually and then create a subscribed library referencing the location of the library JSON file in the {@link SubscriptionInfo#subscriptionUrl}. When the subscribed library's storage backing matches the subscription URL, files do not need to be copied to the subscribed library.
For a library backed by a datastore, the library JSON file will be stored at the path contentlib-{library_id}/lib.json on the datastore.
For a library backed by a remote file system, the library JSON file will be stored at {library_id}/lib.json in the remote file system path.", + "type": "boolean" + } + } + }, + "content.library.publish_info.authentication_method": { + "type": "string", + "description": "The {@name AuthenticationMethod} {@term enumerated type} indicates how a subscribed library should authenticate to the published library endpoint.", + "enum": [ + "BASIC", + "NONE" + ] + }, + "content.library.source_info": { + "type": "object", + "properties": { + "source_library": { + "description": "Identifier of the published library.", + "type": "string" + }, + "subscription": { + "description": "Identifier of the subscription associated with the subscribed library.", + "type": "string" + } + } + }, + "content.library.storage_backing": { + "type": "object", + "properties": { + "type": { + "description": "Type ({@enum.values Type}) of {@link StorageBacking}.", + "$ref": "#/components/schemas/content.library.storage_backing.type" + }, + "datastore_id": { + "description": "Identifier of the datastore used to store the content in the library.", + "type": "string" + }, + "storage_uri": { + "description": "URI identifying the location used to store the content in the library.
The following URI formats are supported:
vSphere 6.5
vSphere 6.0 Update 1
vSphere 6.0
If this is set to {@code true}, then the library item's metadata will be synchronized but the item's content (its files) will not be synchronized. The Content Library Service will synchronize the content upon request only. This can cause the first use of the content to have a noticeable delay.
Items without synchronized content can be forcefully synchronized in advance using the {@link SubscribedItem#sync} call with {@param.name forceSyncContent} set to true. Once content has been synchronized, the content can removed with the {@link SubscribedItem#evict} call.
If this value is set to {@code false}, all content will be synchronized in advance.", + "type": "boolean" + }, + "password": { + "description": "The password to use when authenticating.
The password must be set when using a password-based authentication method; empty strings are not allowed.", + "type": "string", + "format": "password" + }, + "ssl_thumbprint": { + "description": "An optional SHA-1 hash of the SSL certificate for the remote endpoint.
If this value is defined the SSL certificate will be verified by comparing it to the SSL thumbprint. The SSL certificate must verify against the thumbprint. When specified, the standard certificate chain validation behavior is not used. The certificate chain is validated normally if this value is {@term unset}.", + "type": "string" + }, + "subscription_url": { + "description": "The URL of the endpoint where the metadata for the remotely published library is being served.
This URL can be the {@link PublishInfo#publishUrl} of the published library (for example, https://server/path/lib.json).
If the source content comes from a published library with {@link PublishInfo#persistJsonEnabled}, the subscription URL can be a URL pointing to the library JSON file on a datastore or remote file system. The supported formats are:
vSphere 6.5
vSphere 6.0
When you specify a DS subscription URL, the datastore must be on the same vCenter Server as the subscribed library. When you specify an NFS or SMB subscription URL, the {@link StorageBacking#storageUri} of the subscribed library must be on the same remote file server and should share a common parent path with the subscription URL.", + "type": "string", + "format": "uri" + }, + "user_name": { + "description": "The username to use when authenticating.
The username must be set when using a password-based authentication method. Empty strings are allowed for usernames.", + "type": "string" + }, + "source_info": { + "description": "Information about the source published library. This {@term field} will be set for a subscribed library which is associated with a subscription of the published library.", + "$ref": "#/components/schemas/content.library.source_info" + } + } + }, + "content.library.subscription_info.authentication_method": { + "type": "string", + "description": "Indicate how the subscribed library should authenticate with the published library endpoint.", + "enum": [ + "BASIC", + "NONE" + ] + }, + "content.library_model": { + "type": "object", + "properties": { + "id": { + "description": "An identifier which uniquely identifies this {@name LibraryModel}.", + "type": "string" + }, + "creation_time": { + "description": "The date and time when this library was created.", + "type": "string", + "format": "date-time" + }, + "description": { + "description": "A human-readable description for this library.", + "type": "string" + }, + "last_modified_time": { + "description": "The date and time when this library was last updated.
This {@term field} is updated automatically when the library properties are changed. This {@term field} is not affected by adding, removing, or modifying a library item or its content within the library. Tagging the library or syncing the subscribed library does not alter this {@term field}.", + "type": "string", + "format": "date-time" + }, + "last_sync_time": { + "description": "The date and time when this library was last synchronized.
This {@term field} applies only to subscribed libraries. It is updated every time a synchronization is triggered on the library. The value is {@term unset} for a local library.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "The name of the library.
A Library is identified by a human-readable name. Library names cannot be undefined or an empty string. Names do not have to be unique.", + "type": "string" + }, + "storage_backings": { + "description": "The list of default storage backings which are available for this library.
A {@link StorageBacking} defines a default storage location which can be used to store files for library items in this library. Some library items, for instance, virtual machine template items, support files that may be distributed across various storage backings. One or more item files may or may not be located on the default storage backing.
Multiple default storage locations are not currently supported but may become supported in future releases.", + "type": "array", + "items": { + "$ref": "#/components/schemas/content.library.storage_backing" + } + }, + "type": { + "description": "The type ({@enum.values LibraryModel.LibraryType}) of this library.
This value can be used to determine what additional services and information can be available for this library. This {@term field} is not used for the {@code create} and {@code update} {@term operations}. It will always be present in the result of a {@code get} {@term operation}.", + "$ref": "#/components/schemas/content.library_model.library_type" + }, + "optimization_info": { + "description": "Defines various optimizations and optimization parameters applied to this library.", + "$ref": "#/components/schemas/content.library.optimization_info" + }, + "version": { + "description": "A version number which is updated on metadata changes. This value allows clients to detect concurrent updates and prevent accidental clobbering of data.
This value represents a number which is incremented every time library properties, such as name or description, are changed. It is not incremented by changes to a library item within the library, including adding or removing items. It is also not affected by tagging the library.", + "type": "string" + }, + "publish_info": { + "description": "Defines how this library is published so that it can be subscribed to by a remote subscribed library.
The {@link PublishInfo} defines where and how the metadata for this local library is accessible. A local library is only published publically if {@link PublishInfo#published} is {@code true}.", + "$ref": "#/components/schemas/content.library.publish_info" + }, + "subscription_info": { + "description": "Defines the subscription behavior for this Library.
The {@link SubscriptionInfo} defines how this subscribed library synchronizes to a remote source. Setting the value will determine the remote source to which the library synchronizes, and how. Changing the subscription will result in synchronizing to a new source. If the new source differs from the old one, the old library items and data will be lost. Setting {@link SubscriptionInfo#automaticSyncEnabled} to false will halt subscription but will not remove existing cached data.", + "$ref": "#/components/schemas/content.library.subscription_info" + }, + "server_guid": { + "description": "The unique identifier of the vCenter server where the library exists.", + "type": "string" + }, + "security_policy_id": { + "description": "Represents the security policy applied to this library.
Setting the {@term field} will make the library secure. This field is ignored in {@code update} {@term operation} if {@link #unsetSecurityPolicyId} is set to {@code true}.", + "type": "string" + }, + "unset_security_policy_id": { + "description": "This represents the intent of the change to {@link #securityPolicyId} in {@code update} {@term operation}.
If this field is set to {@code true}, any security policy applied to the library will be removed. If this field is set to {@code false}, any security policy applied to library will be changed to the value specified in {@link #securityPolicyId}, if any.", + "type": "boolean" + } + } + }, + "content.library_model.library_type": { + "type": "string", + "description": "The {@name LibraryType} {@term enumerated type} defines the type of a {@link LibraryModel}.
The type of a library can be used to determine which additional services can be performed with a library.", + "enum": [ + "LOCAL", + "SUBSCRIBED" + ] + }, + "contentinternal.admin.vcloudair.vcenter.add_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.admin.vcloudair.vcenter.add_spec": { + "type": "object", + "properties": { + "server_url": { + "description": "The url that can be used to login into the vCenter Server by the Content Library Service.
Empty strings are not allowed for serverUrls.", + "type": "string", + "format": "uri" + }, + "user_name": { + "description": "The username to use when authenticating.
Empty strings are not allowed for usernames.", + "type": "string" + }, + "password": { + "description": "The password to use when authenticating.
Empty strings are not allowed for passwords.", + "type": "string", + "format": "password" + } + }, + "required": [ + "server_url", + "user_name", + "password" + ] + }, + "contentinternal.admin.vcloudair.vcenter.info": { + "type": "object", + "properties": { + "server_url": { + "description": "The server url that the Content Library Service can use to login into the vCenter Server.", + "type": "string", + "format": "uri" + }, + "user_name": { + "description": "The username to use when authenticating.", + "type": "string" + }, + "version": { + "description": "The version of the vCenter Server.", + "type": "string" + }, + "connected": { + "description": "The connection status of the vCenter Server.
The connection status can either true or false.", + "type": "boolean" + } + }, + "required": [ + "server_url", + "user_name", + "version", + "connected" + ] + }, + "contentinternal.admin.vcloudair.vcenter.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.admin.vcloudair.vcenter.update_spec": { + "type": "object", + "properties": { + "server_url": { + "description": "The url that can be used to login into the vCenter Server by the Content Library Service.", + "type": "string", + "format": "uri" + }, + "user_name": { + "description": "The username to use when authenticating.", + "type": "string" + }, + "password": { + "description": "The password to use when authenticating.", + "type": "string", + "format": "password" + } + } + }, + "contentinternal.admin.vcloudair.vcenter_add": { + "type": "object", + "properties": { + "add_spec": { + "$ref": "#/components/schemas/contentinternal.admin.vcloudair.vcenter.add_spec", + "description": "Specification for the vCenter Server to be added." + } + } + }, + "contentinternal.admin.vcloudair.vcenter_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.admin.vcloudair.vcenter.info" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.admin.vcloudair.vcenter_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/contentinternal.admin.vcloudair.vcenter.update_spec", + "description": "Specification of vCenter Server to be updated" + } + } + }, + "contentinternal.cls_activation_service_cancel": { + "type": "object", + "properties": { + "activation_id": { + "type": "string", + "description": "the activationId supplied in the invocation to be canceled." + } + } + }, + "contentinternal.cls_configuration_service.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.cls_configuration_service_get": { + "type": "object", + "properties": { + "config_name": { + "type": "string", + "description": "Name of the configuration" + } + } + }, + "contentinternal.cls_configuration_service_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.cls_configuration_service_set": { + "type": "object", + "properties": { + "config_name": { + "type": "string", + "description": "Name of the configuration" + }, + "config_value": { + "type": "string", + "description": "Value of the configuration" + } + } + }, + "contentinternal.cls_stress_service.get_all_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.cls_stress_service_get": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "" + } + } + }, + "contentinternal.cls_stress_service_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.cls_stress_service_set": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "" + }, + "value": { + "type": "string", + "description": "" + } + } + }, + "contentinternal.cls_stress_service_set_all": { + "type": "object", + "properties": { + "settings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "description": "" + } + } + }, + "contentinternal.diagnostics.cls_diagnostic_service.get_diagnostics_values_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.diagnostics.cls_diagnostic_service.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/contentinternal.diagnostics.model.sampled_value" + } + } + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.diagnostics.cls_diagnostic_service.test_activity_framework_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_result" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.diagnostics.cls_diagnostic_service.test_component_manager_connectivity_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_result" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.diagnostics.cls_diagnostic_service.test_database_connectivity_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_result" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.diagnostics.cls_diagnostic_service.test_echo_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_result" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.diagnostics.cls_diagnostic_service.test_inventory_service_connectivity_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_result" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.diagnostics.cls_diagnostic_service.test_result": { + "type": "object", + "properties": { + "success": { + "description": "boolean indicating the result of test. True = success, False = failure.", + "type": "boolean" + }, + "msg": { + "description": "Output message from teh test.", + "type": "string" + }, + "error": { + "description": "Error describing the details of the failure. This field is only valid if success=False.", + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + }, + "contentinternal.diagnostics.cls_diagnostic_service.test_virtual_center_connectivity_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.diagnostics.cls_diagnostic_service.test_result" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.diagnostics.cls_diagnostic_service_clear": { + "type": "object", + "properties": { + "op_id": { + "type": "string", + "description": "Operation id of the API call." + } + } + }, + "contentinternal.diagnostics.cls_diagnostic_service_get": { + "type": "object", + "properties": { + "op_id": { + "type": "string", + "description": "Operation id of the API call." + } + } + }, + "contentinternal.diagnostics.cls_diagnostic_service_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.diagnostics.model.api_call_diagnostics" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.diagnostics.cls_diagnostic_service_test_echo": { + "type": "object", + "properties": { + "msg": { + "type": "string", + "description": "Input message." + } + } + }, + "contentinternal.diagnostics.model.api_call_diagnostics": { + "type": "object", + "properties": { + "api_name": { + "description": "name of the API", + "type": "string" + }, + "op_id": { + "description": "Operation Id uniquely identifying a given API call. This is a client supplied uuid.", + "type": "string" + }, + "component_counters": { + "description": "Represents counters for specific component. The key represents specific component counter name and value represents either the count or string value for the counter.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + }, + "required": [ + "api_name", + "op_id", + "component_counters" + ] + }, + "contentinternal.diagnostics.model.sample": { + "type": "object", + "properties": { + "value": { + "description": "Value of the sample", + "type": "integer", + "format": "int64" + }, + "info": { + "description": "Information about the sample", + "type": "string" + }, + "timestamp": { + "description": "Timestamp value when the sample was taken. Value represents number of milliseconds since January 1, 1970, 00:00:00 GMT.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "value", + "info", + "timestamp" + ] + }, + "contentinternal.diagnostics.model.sampled_value": { + "type": "object", + "properties": { + "key": { + "description": "Name of this metric for logging purposes. The key contains component name and counter name.", + "type": "string" + }, + "mean": { + "description": "Mean value of all collected samples", + "type": "number", + "format": "double" + }, + "avg": { + "description": "avg value of all collected samples", + "type": "number", + "format": "double" + }, + "sum": { + "description": "sum of all collected samples", + "type": "number", + "format": "double" + }, + "count": { + "description": "total count of samples", + "type": "integer", + "format": "int64" + }, + "max": { + "description": "max value of all collected samples", + "type": "number", + "format": "double" + }, + "min": { + "description": "min value of all collected samples", + "type": "number", + "format": "double" + }, + "latest": { + "description": "latest sample", + "$ref": "#/components/schemas/contentinternal.diagnostics.model.sample" + } + }, + "required": [ + "key", + "mean", + "avg", + "sum", + "count", + "max", + "min", + "latest" + ] + }, + "contentinternal.inv_query_service.query_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.inv_query_service.query_xml_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.inv_query_service.synchronized_query_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.inv_query_service.synchronized_query_xml_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.inv_query_service_query": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID used to generate the resource ID to query the inventory service. This is the vAPI ID of the object (e.g. urn:cl:lib:{UUID} for a content library)" + }, + "binding_class": { + "type": "string", + "description": "The fully qualified vAPI binding class name of the object." + } + } + }, + "contentinternal.inv_query_service_query_xml": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID used to generate the resource ID to query the inventory service. This is the vAPI ID of the object (e.g. urn:cl:lib:{UUID} for a content library)" + }, + "binding_class": { + "type": "string", + "description": "The fully qualified vAPI binding class name of the object." + } + } + }, + "contentinternal.inv_query_service_synchronized_query": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID used to generate the resource ID to query the inventory service. This is the vAPI ID of the object (e.g. urn:cl:lib:{UUID} for a content library)" + }, + "binding_class": { + "type": "string", + "description": "The fully qualified vAPI binding class name of the object." + } + } + }, + "contentinternal.inv_query_service_synchronized_query_xml": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID used to generate the resource ID to query the inventory service. This is the vAPI ID of the object (e.g. urn:cl:lib:{UUID} for a content library)" + }, + "binding_class": { + "type": "string", + "description": "The fully qualified vAPI binding class name of the object." + } + } + }, + "contentinternal.library.item.info": { + "type": "object", + "properties": { + "id": { + "description": "A unique identifier for this library item.", + "type": "string" + }, + "library_id": { + "description": "The identifier of the {@link Library.Info} to which this item belongs.", + "type": "string" + }, + "name": { + "description": "A human-readable name for this library item.
The name may not be {@term unset} or an empty string. The name does not have to be unique, even within the same library.", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library item.", + "type": "string" + }, + "metadata_version": { + "description": "A version number which is updated on item name, description or metadata changes.
This value is incremented with each change to the metadata of this item. Changes to name, description, and so on will increment this value. The value is not incremented by changes to the content of the item or the library which owns it.", + "type": "string" + }, + "content_version": { + "description": "The version of the file content list of this library item.", + "type": "string" + }, + "creation": { + "description": "The date and time when this library item was created.", + "type": "string", + "format": "date-time" + }, + "modified": { + "description": "The date and time when the metadata for this library item was last changed.
This {@term field} is affected by changes to the properties or file content of this item. It is not modified by changes to the metadata of the item, or by changes to the library which owns this item.", + "type": "string", + "format": "date-time" + }, + "size": { + "description": "The library item size, in bytes. The size is the sum of the size used on the storage backing for all the files in the item. When the library item is not cached, the size is 0.", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "A type identifier which indicates the type adapter plugin to use.", + "type": "string" + } + }, + "required": [ + "id", + "library_id", + "name", + "metadata_version", + "content_version", + "creation", + "modified", + "size", + "type" + ] + }, + "contentinternal.library.metadata.info": { + "type": "object", + "properties": { + "key": { + "description": "The key for this metadata. This uniquely identifies the metadata within a library.", + "type": "string" + }, + "value": { + "description": "The value associated with the metadata {@link #key}.", + "type": "string" + } + }, + "required": [ + "key" + ] + }, + "contentinternal.library.metadata.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.library.metadata.info" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.library.metadata_create": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.library.metadata.info" + }, + "description": "the list of metadata key/value pairs to add to the library" + } + } + }, + "contentinternal.library.metadata_get": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "the key to lookup" + } + } + }, + "contentinternal.library.metadata_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.library.metadata.info" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.library.storage": { + "type": "object", + "properties": { + "storage_uri": { + "description": "URI for the storage. TODO: provide a Storage service to generate the Storage URI for the different storage backing types.
Some examples of accepted URI formats are:
A Library is identified by a human-readable name. Library names cannot be undefined or an empty string. Names do not have to be unique.", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library.", + "type": "string" + }, + "storage_locations": { + "description": "The list of storage locations which are available for this library.
A {@link Storage} defines a storage location which can be used to store files for the library items in this library. Multiple storage locations are not currently supported but may become supported in future releases.", + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.library.storage" + } + } + }, + "required": [ + "name", + "storage_locations" + ] + }, + "contentinternal.local.library.info": { + "type": "object", + "properties": { + "storage_locations": { + "description": "The list of storage locations which are available for this library.
A {@link Storage} defines a storage location which can be used to store files for the library items in this library. Multiple storage locations are not currently supported but may become supported in future releases.", + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.library.storage" + } + }, + "id": { + "description": "An identifier which uniquely identifies this {@name Library}.", + "type": "string" + }, + "name": { + "description": "The name of the library.", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library.", + "type": "string" + }, + "type": { + "description": "The type ({@enum.values Type}) of this library.
This value can be used to determine what additional services and information are available for this library.", + "$ref": "#/components/schemas/contentinternal.library.type" + }, + "creation": { + "description": "The date and time when this library was created.", + "type": "string", + "format": "date-time" + }, + "modified": { + "description": "The date and time when this library was last updated.
This {@term field} is updated automatically when the library properties are changed. This {@term field} is not affected by adding, removing, or modifying a library item or its content within the library.", + "type": "string", + "format": "date-time" + }, + "metadata_version": { + "description": "A version number which is updated on library name, description or metadata changes.
This value represents a number which is incremented every time library properties, such as name, description or metadata are changed. It is not incremented by changes to a library item within the library, including adding or removing items.", + "type": "string" + } + }, + "required": [ + "storage_locations", + "id", + "name", + "type", + "creation", + "modified", + "metadata_version" + ] + }, + "contentinternal.local.library.item.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.local.library.item.create_spec": { + "type": "object", + "properties": { + "library_id": { + "description": "The identifier of the local library to create the item in.", + "type": "string" + }, + "name": { + "description": "A human-readable name for this library item.
The name may not be {@term unset} or an empty string. The name does not have to be unique, even within the same library.", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library item.", + "type": "string" + }, + "type": { + "description": "An optional type identifier which indicates the type adapter plugin to use.
This {@term field} may be set to a non-empty string value that corresponds to an identifier supported by a type adapter plugin present in the Content Library Service. A type adapter plugin, if present for the specified type, can provide additional information and services around the item content. A type adapter can guide the upload process by creating file entries that are in need of being uploaded to complete an item.
The types and plugins supported by the Content Library Service can be queried using the {@link Type} {@term service}. If the type is left unspecified, or if the type is specified but does not have a corresponding type support plugin, then the type of the library item is considered to be generic and all data is treated as generic files.", + "type": "string" + } + }, + "required": [ + "library_id", + "name" + ] + }, + "contentinternal.local.library.item.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.local.library.item.update_spec": { + "type": "object", + "properties": { + "name": { + "description": "A name for this library item.
", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library item.
", + "type": "string" + } + } + }, + "contentinternal.local.library.item_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/contentinternal.local.library.item.create_spec", + "description": "Specification that defines the properties of the new library item." + } + } + }, + "contentinternal.local.library.item_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.library.item.info" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.local.library.item_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/contentinternal.local.library.item.update_spec", + "description": "Specification of the new property values to set on the library item." + } + } + }, + "contentinternal.local.library.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.local.library.update_spec": { + "type": "object", + "properties": { + "name": { + "description": "A name for this library.
", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library.
", + "type": "string" + } + } + }, + "contentinternal.local.library_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/contentinternal.local.library.create_spec", + "description": "Specification for the new local library." + } + } + }, + "contentinternal.local.library_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.local.library.info" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.local.library_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/contentinternal.local.library.update_spec", + "description": "Specification of the new property values to set on the local library." + } + } + }, + "contentinternal.replication.group.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.create_spec": { + "type": "object", + "properties": { + "name": { + "description": "The name of the replication group.
A replication group is identified by a human-readable name. Group names cannot be undefined or an empty string. Names do not have to be unique.", + "type": "string" + }, + "description": { + "description": "A human-readable description for this replication group.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "contentinternal.replication.group.info": { + "type": "object", + "properties": { + "id": { + "description": "An identifer which uniquely identifies the replication group. This is also used to identify all libraries in the group.", + "type": "string" + }, + "name": { + "description": "The name of the replication group.", + "type": "string" + }, + "description": { + "description": "A human-readable description for this replication group.", + "type": "string" + }, + "version": { + "description": "A version number that is updated every time the group membership changes.", + "type": "string" + } + }, + "required": [ + "id", + "name", + "version" + ] + }, + "contentinternal.replication.group.library.info": { + "type": "object", + "properties": { + "replication_group_id": { + "description": "Identifier of the replication group that the library belongs to.", + "type": "string" + }, + "is_master": { + "description": "Indicates whether the library is a master library the group.", + "type": "boolean" + }, + "master_library_uri": { + "description": "URI of the master library that the replica belongs to. This is {@term unset} for a master library.", + "type": "string", + "format": "uri" + }, + "storages": { + "description": "The list of storage locations which are available for this library.
A {@link Storage} defines a storage location which can be used to store files for the library items in this library. Multiple storage locations are not currently supported but may become supported in future releases.", + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.library.storage" + } + }, + "id": { + "description": "An identifier which uniquely identifies this {@name Library}.", + "type": "string" + }, + "name": { + "description": "The name of the library.", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library.", + "type": "string" + }, + "type": { + "description": "The type ({@enum.values Type}) of this library.
This value can be used to determine what additional services and information are available for this library.", + "$ref": "#/components/schemas/contentinternal.library.type" + }, + "creation": { + "description": "The date and time when this library was created.", + "type": "string", + "format": "date-time" + }, + "modified": { + "description": "The date and time when this library was last updated.
This {@term field} is updated automatically when the library properties are changed. This {@term field} is not affected by adding, removing, or modifying a library item or its content within the library.", + "type": "string", + "format": "date-time" + }, + "metadata_version": { + "description": "A version number which is updated on library name, description or metadata changes.
This value represents a number which is incremented every time library properties, such as name, description or metadata are changed. It is not incremented by changes to a library item within the library, including adding or removing items.", + "type": "string" + } + }, + "required": [ + "replication_group_id", + "is_master", + "master_library_uri", + "storages", + "id", + "name", + "type", + "creation", + "modified", + "metadata_version" + ] + }, + "contentinternal.replication.group.library.item.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.library.item.create_spec": { + "type": "object", + "properties": { + "library_id": { + "description": "The identifier of the replicated library to create the item in.", + "type": "string" + }, + "name": { + "description": "A human-readable name for this library item.
The name may not be {@term unset} or an empty string. The name does not have to be unique, even within the same library.", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library item.", + "type": "string" + }, + "type": { + "description": "An optional type identifier which indicates the type adapter plugin to use.
This {@term field} may be set to a non-empty string value that corresponds to an identifier supported by a type adapter plugin present in the Content Library Service. A type adapter plugin, if present for the specified type, can provide additional information and services around the item content. A type adapter can guide the upload process by creating file entries that are in need of being uploaded to complete an item.
The types and plugins supported by the Content Library Service can be queried using the {@link Type} {@term service}. If the type is left unspecified, or if the type is specified but does not have a corresponding type support plugin, then the type of the library item is considered to be generic and all data is treated as generic files.", + "type": "string" + } + }, + "required": [ + "library_id", + "name" + ] + }, + "contentinternal.replication.group.library.item.info": { + "type": "object", + "properties": { + "is_master": { + "description": "Indicates whether the item belongs to a master library.", + "type": "boolean" + }, + "source_id": { + "description": "The identifier of the {@link Item} to which this item is synchronized to if the item belongs to a replica library. The value is {@term unset} for a library item that belongs to a master library.", + "type": "string" + }, + "id": { + "description": "A unique identifier for this library item.", + "type": "string" + }, + "library_id": { + "description": "The identifier of the {@link Library.Info} to which this item belongs.", + "type": "string" + }, + "name": { + "description": "A human-readable name for this library item.
The name may not be {@term unset} or an empty string. The name does not have to be unique, even within the same library.", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library item.", + "type": "string" + }, + "metadata_version": { + "description": "A version number which is updated on item name, description or metadata changes.
This value is incremented with each change to the metadata of this item. Changes to name, description, and so on will increment this value. The value is not incremented by changes to the content of the item or the library which owns it.", + "type": "string" + }, + "content_version": { + "description": "The version of the file content list of this library item.", + "type": "string" + }, + "creation": { + "description": "The date and time when this library item was created.", + "type": "string", + "format": "date-time" + }, + "modified": { + "description": "The date and time when the metadata for this library item was last changed.
This {@term field} is affected by changes to the properties or file content of this item. It is not modified by changes to the metadata of the item, or by changes to the library which owns this item.", + "type": "string", + "format": "date-time" + }, + "size": { + "description": "The library item size, in bytes. The size is the sum of the size used on the storage backing for all the files in the item. When the library item is not cached, the size is 0.", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "A type identifier which indicates the type adapter plugin to use.", + "type": "string" + } + }, + "required": [ + "is_master", + "id", + "library_id", + "name", + "metadata_version", + "content_version", + "creation", + "modified", + "size", + "type" + ] + }, + "contentinternal.replication.group.library.item.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.library.item.status.info": { + "type": "object", + "properties": { + "item_id": { + "description": "", + "type": "string" + }, + "global_item_id": { + "description": "Global identifier for the item across the replication group. This can be used to uniquely identify items originating from the same master. This information will be synced to the replica as part of the metadata sync. This ID is generated by the Content Library service on item creation and is immutable.", + "type": "string" + }, + "library_id": { + "description": "", + "type": "string" + }, + "replication_group_id": { + "description": "", + "type": "string" + }, + "replication_group_member_id": { + "description": "", + "type": "string" + }, + "is_master": { + "description": "Specifies if the item belongs to a master library in the replication group.", + "type": "boolean" + }, + "metadata_version": { + "description": "A version number for the metadata of this library item.
This value is incremented with each change to the metadata of this item. Changes to name, description, and so on will increment this value. The value is not incremented by changes to the content or tags of the item or the library which owns it.", + "type": "string" + }, + "content_version": { + "description": "The version of the file content list of this library item.", + "type": "string" + }, + "state": { + "description": "State of the most recent operation on the replica.", + "$ref": "#/components/schemas/contentinternal.replication.group.library.item.status.info.state" + }, + "errors": { + "description": "List of possible errors associated with the most recent operation performed on the replica instance.
This field is unset if the last operation was successful.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + }, + "required": [ + "item_id", + "global_item_id", + "library_id", + "replication_group_id", + "replication_group_member_id", + "is_master", + "metadata_version", + "content_version", + "state", + "errors" + ] + }, + "contentinternal.replication.group.library.item.status.info.state": { + "type": "string", + "description": "State of the replication operation on the library item.", + "enum": [ + "REPLICATING", + "REPLICATED", + "FAILED_REPLICATION" + ] + }, + "contentinternal.replication.group.library.item.status_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item.status.info" + } + } + } + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.library.item.update_spec": { + "type": "object", + "properties": { + "name": { + "description": "A name for this library item.
", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library item.
", + "type": "string" + }, + "type": { + "description": "An optional type identifier which indicates the type adapter plugin to use.
", + "type": "string" + } + } + }, + "contentinternal.replication.group.library.item_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item.create_spec", + "description": "Specification that defines the properties of the new library item." + } + } + }, + "contentinternal.replication.group.library.item_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item.info" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.library.item_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.item.update_spec", + "description": "Specification of the new property values to set on the library item." + } + } + }, + "contentinternal.replication.group.library.status.info": { + "type": "object", + "properties": { + "replication_group_id": { + "description": "Identifier of the replication group that the library belongs to.", + "type": "string" + }, + "replication_group_member_id": { + "description": "Identifier for the replication group member.", + "type": "string" + }, + "library_id": { + "description": "Identifier of the library. This field is unset until the replica member library is created.", + "type": "string" + }, + "is_master": { + "description": "Specifies if the library is the master library in the replication group", + "type": "boolean" + }, + "last_replication": { + "description": "The date and time when the member was last replicated.", + "type": "string", + "format": "date-time" + }, + "state": { + "description": "State of the most recent operation on the library.", + "$ref": "#/components/schemas/contentinternal.replication.group.library.status.info.state" + }, + "error": { + "description": "Error associated with the most recent operation performed on the replica instance.
This field is unset if the last operation was successful. This field is also {@operation unset} on the master instance. TODO [pkota]: Discriminated unions need not be Optional", + "type": "string" + } + }, + "required": [ + "replication_group_id", + "replication_group_member_id", + "is_master", + "state" + ] + }, + "contentinternal.replication.group.library.status.info.state": { + "type": "string", + "description": "Enum describing the various states of the replica library. This only applies to operations invoked directly on the library.", + "enum": [ + "PRE_CREATION", + "CREATING", + "CREATED", + "FAILED_CREATION", + "REPLICATING", + "REPLICATED", + "FAILED_REPLICATION", + "DELETING", + "FAILED_DELETION" + ] + }, + "contentinternal.replication.group.library.status.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.status.info" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.library.status_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.status.info" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.library.update_spec": { + "type": "object", + "properties": { + "name": { + "description": "A name for this library.
", + "type": "string" + }, + "description": { + "description": "A human-readable description for this library.
", + "type": "string" + }, + "version": { + "description": "A version number which is updated on metadata changes.
", + "type": "string" + } + } + }, + "contentinternal.replication.group.library_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.info" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.library_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/contentinternal.replication.group.library.update_spec", + "description": "Specification of the new property values to set on the master replicated library." + } + } + }, + "contentinternal.replication.group.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.member.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.member.create_spec": { + "type": "object", + "properties": { + "replication_group_id": { + "description": "Identifier of the replication group to create the members in.", + "type": "string" + }, + "type": { + "description": "", + "$ref": "#/components/schemas/contentinternal.replication.group.member.type" + }, + "library_id": { + "description": "Creates a master replica member. The given library is the master library in the replication group.", + "type": "string" + }, + "cls_endpoint": { + "description": "CLS endpoint of the replica.", + "type": "string", + "format": "uri" + }, + "storage_locations": { + "description": "The list of storage locations which are available for this library.
A {@link Storage} defines a storage location which can be used to store files for the library items in this library. Multiple storage locations are not currently supported but may become supported in future releases.", + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.library.storage" + } + } + }, + "required": [ + "replication_group_id", + "type" + ] + }, + "contentinternal.replication.group.member.find_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.replication.group.member.info" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.member.find_spec": { + "type": "object", + "properties": { + "replication_group_id": { + "description": "Identifier of the replication group.", + "type": "string" + }, + "is_master": { + "description": "Indicates whether the {@link operation} should filter for master replication group members.", + "type": "boolean" + } + }, + "required": [ + "replication_group_id", + "is_master" + ] + }, + "contentinternal.replication.group.member.info": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the replication group member", + "type": "string" + }, + "replication_group_id": { + "description": "Identifier of the replication group that the member belongs to.", + "type": "string" + }, + "type": { + "description": "", + "$ref": "#/components/schemas/contentinternal.replication.group.member.type" + }, + "library_id": { + "description": "Identifier of the library in the member instance.", + "type": "string" + }, + "cls_endpoint": { + "description": "CLS endpoint of the member.", + "type": "string", + "format": "uri" + }, + "storage_locations": { + "description": "The list of storage locations which are available for this member.", + "type": "array", + "items": { + "$ref": "#/components/schemas/contentinternal.library.storage" + } + }, + "last_replication": { + "description": "The date and time when the member was last replicated.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "replication_group_id", + "type" + ] + }, + "contentinternal.replication.group.member.list_resp": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.member.type": { + "type": "string", + "description": "The type of replica member.", + "enum": [ + "MASTER", + "REPLICA" + ] + }, + "contentinternal.replication.group.member_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/contentinternal.replication.group.member.create_spec", + "description": "Information used to create a replication group member." + } + } + }, + "contentinternal.replication.group.member_find": { + "type": "object", + "properties": { + "find_spec": { + "$ref": "#/components/schemas/contentinternal.replication.group.member.find_spec", + "description": "" + } + } + }, + "contentinternal.replication.group.member_replicate": { + "type": "object", + "properties": { + "member_id": { + "type": "string", + "description": "Identifier of the replication group member to invoke the operation on." + } + } + }, + "contentinternal.replication.group.member_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.replication.group.member.info" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group.update_spec": { + "type": "object", + "properties": { + "name": { + "description": "A name for this replication group.
", + "type": "string" + }, + "description": { + "description": "A human-readable description for this replication group.
", + "type": "string" + } + } + }, + "contentinternal.replication.group_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." + }, + "create_spec": { + "$ref": "#/components/schemas/contentinternal.replication.group.create_spec", + "description": "" + } + } + }, + "contentinternal.replication.group_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/contentinternal.replication.group.info" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.group_update": { + "type": "object", + "properties": { + "update_spec": { + "$ref": "#/components/schemas/contentinternal.replication.group.update_spec", + "description": "Specification of the new property values to set on the replication group." + } + } + }, + "contentinternal.replication.replica_library.create_resp": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.replication.replica_library_create": { + "type": "object", + "properties": { + "client_token": { + "type": "string", + "description": "A unique token used to guarantee idempotency." + }, + "create_spec": { + "$ref": "#/components/schemas/content.library_model", + "description": "Library creation spec" + } + } + }, + "contentinternal.task.list_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/vcenter.task.result_data" + } + }, + "required": [ + "value" + ] + }, + "contentinternal.task_resp": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/vcenter.task.task_info" + } + }, + "required": [ + "value" + ] + }, + "vapi.std.errors.already_exists": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.already_exists_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.already_exists" + } + } + }, + "vapi.std.errors.error": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.error.type": { + "type": "string", + "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.", + "enum": [ + "ERROR", + "ALREADY_EXISTS", + "ALREADY_IN_DESIRED_STATE", + "CANCELED", + "CONCURRENT_CHANGE", + "FEATURE_IN_USE", + "INTERNAL_SERVER_ERROR", + "INVALID_ARGUMENT", + "INVALID_ELEMENT_CONFIGURATION", + "INVALID_ELEMENT_TYPE", + "INVALID_REQUEST", + "NOT_ALLOWED_IN_CURRENT_STATE", + "NOT_FOUND", + "OPERATION_NOT_FOUND", + "RESOURCE_BUSY", + "RESOURCE_IN_USE", + "RESOURCE_INACCESSIBLE", + "SERVICE_UNAVAILABLE", + "TIMED_OUT", + "UNABLE_TO_ALLOCATE_RESOURCE", + "UNAUTHENTICATED", + "UNAUTHORIZED", + "UNEXPECTED_INPUT", + "UNSUPPORTED", + "UNVERIFIED_PEER" + ] + }, + "vapi.std.errors.error_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.error" + } + } + }, + "vapi.std.errors.invalid_argument": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.invalid_argument_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_argument" + } + } + }, + "vapi.std.errors.invalid_element_type": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.invalid_element_type_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type" + } + } + }, + "vapi.std.errors.not_allowed_in_current_state": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.not_allowed_in_current_state_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state" + } + } + }, + "vapi.std.errors.not_found": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.not_found_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.not_found" + } + } + }, + "vapi.std.errors.resource_inaccessible": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.resource_inaccessible_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible" + } + } + }, + "vapi.std.errors.unsupported": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/vapi.std.localizable_message" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/vapi.std.errors.error.type" + } + }, + "required": [ + "messages" + ] + }, + "vapi.std.errors.unsupported_error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.errors.unsupported" + } + } + }, + "vapi.std.localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "default_message": { + "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.", + "type": "string" + }, + "args": { + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "params": { + "description": "Named arguments to be substituted into the message template.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.localization_param" + } + } + } + }, + "localized": { + "description": "Localized string value as per request requirements.", + "type": "string" + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "vapi.std.localization_param": { + "type": "object", + "properties": { + "s": { + "description": "{@term String} value associated with the parameter.", + "type": "string" + }, + "dt": { + "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.", + "type": "string", + "format": "date-time" + }, + "i": { + "description": "{@term long} value associated with the parameter.", + "type": "integer", + "format": "int64" + }, + "d": { + "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.", + "type": "number", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.", + "$ref": "#/components/schemas/vapi.std.nested_localizable_message" + }, + "format": { + "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.", + "$ref": "#/components/schemas/vapi.std.localization_param.date_time_format" + }, + "precision": { + "description": "Number of fractional digits to include in formatted {@term double} value.", + "type": "integer", + "format": "int64" + } + } + }, + "vapi.std.localization_param.date_time_format": { + "type": "string", + "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.", + "enum": [ + "SHORT_DATE", + "MED_DATE", + "LONG_DATE", + "FULL_DATE", + "SHORT_TIME", + "MED_TIME", + "LONG_TIME", + "FULL_TIME", + "SHORT_DATE_TIME", + "MED_DATE_TIME", + "LONG_DATE_TIME", + "FULL_DATE_TIME" + ] + }, + "vapi.std.nested_localizable_message": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "params": { + "description": "Named Arguments to be substituted into the message template.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/vapi.std.localization_param" + } + } + } + } + }, + "required": [ + "id" + ] + } + } + } +} \ No newline at end of file diff --git a/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/esx.json b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/esx.json new file mode 100644 index 0000000..6608f02 --- /dev/null +++ b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/esx.json @@ -0,0 +1,13383 @@ +{ + "openapi": "3.0.0", + "info": { + "description": "", + "title": "esx", + "version": "2.0.0" + }, + "paths": { + "/api/esx/hcl/compatibility-data/status": { + "get": { + "tags": [ + "hcl/compatibility_data" + ], + "summary": "Provides information about the compatibility data located on the vCenter Appliance.", + "parameters": [], + "responses": { + "200": { + "description": "Information about the compatibility data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxHclCompatibilityDataStatus" + } + } + } + }, + "400": { + "description": "if there is no compatibility data on the vCenter executing the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/hcl/compatibility-data?action=download&vmw-task=true": { + "post": { + "tags": [ + "hcl/compatibility_data" + ], + "summary": "Replaces the local compatibility data with the latest version found from VMware official source.", + "parameters": [], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "if there is compatibility data update in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "update$task" + } + }, + "/api/esx/hcl/hosts/{host}/compatibility-releases": { + "get": { + "tags": [ + "hcl/hosts/compatibility_releases" + ], + "summary": "Lists the locally available ESXi releases for a given host that can be used to generate a compatiblity report. Each host has its own list of supported releases depending on its current release.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "host", + "description": "Contains the MoID identifying the ESXi host.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Available releases for compatibility for a specified host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReleasesEsxiCompatibilityReleases" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "if the provided host is not supported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnsupported" + } + } + } + }, + "404": { + "description": "if no host with the given MoID can be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/hcl/hosts/{host}/compatibility-report": { + "get": { + "tags": [ + "hcl/hosts/compatibility_report" + ], + "summary": "Returns the last generated hardware compatibility report for the given host.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "host", + "description": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReportResult" + } + } + } + }, + "404": { + "description": "if there is no report generated for the given host. This operation does not check if the host id is valid or it exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/hcl/hosts/{host}/compatibility-report?vmw-task=true": { + "post": { + "tags": [ + "hcl/hosts/compatibility_report" + ], + "summary": "Generates hardware compatibility report for a specified ESXi host against specific ESXi release.
The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "host", + "description": "Contains the MoID identifying the ESXi host.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "{@name Result} {@term structure} that contains the requested report and the identifier of the report.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "if no host with the given MoID can be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "if there is no compatibility data on the vCenter executing the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "create$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxHclHostsCompatibilityReportCreateTask" + } + } + }, + "/api/esx/hcl/reports/{report}": { + "get": { + "tags": [ + "hcl/reports" + ], + "summary": "Returns the location {@link Location} information for downloading a compatibility report.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "report", + "description": "identifier of hardware compatiblity report to be downloaded.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "{@name Location} {@term structure} which includes the URI to file, short lived token and expiry of the token in the {@link Location} object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxHclReportsLocation" + } + } + } + }, + "404": { + "description": "if there is no report for the given id.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/hosts/{host}/software/installed-components": { + "get": { + "tags": [ + "hosts/software/installed_components" + ], + "summary": "Returns the installed components on the host.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "host", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The components installed on the host.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxHostsSoftwareInstalledComponentsInstalledComponentInfo" + } + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInternalServerError" + } + } + } + }, + "404": { + "description": "If there is no host associated with {@param.name host} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/clusters/{cluster}/depot-overrides": { + "get": { + "tags": [ + "settings/clusters/depot_overrides" + ], + "summary": "Returns the information about currently configured depot overrides for a given cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier for the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about currently configured depot overrides for a given cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersDepotOverridesInfo" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/depot-overrides?action=add": { + "post": { + "tags": [ + "settings/clusters/depot_overrides" + ], + "summary": "Adds a new depot override to the list of currently configured depot overrides for a given cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier for the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "if depot override with given information already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsAlreadyExists" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "add", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersDepotOverridesAdd" + } + } + }, + "/api/esx/settings/clusters/{cluster}/depot-overrides?action=remove": { + "post": { + "tags": [ + "settings/clusters/depot_overrides" + ], + "summary": "Removes a depot override from the list of currently configured depot overrides for a given cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier for the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no depot override with given information or no cluster associated with identifier {param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "remove", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersDepotOverridesRemove" + } + } + }, + "/api/esx/settings/clusters/{cluster}/enablement/software": { + "get": { + "tags": [ + "settings/clusters/enablement/software" + ], + "summary": "Returns whether the given cluster is managed with a single software specification.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the feature enablement.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersEnablementSoftwareInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/enablement/software?action=check&vmw-task=true": { + "post": { + "tags": [ + "settings/clusters/enablement/software" + ], + "summary": "Checks the possibility to manage the cluster with a single software specification.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "The result of the check {@term operation}", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "If the feature is already enabled for the given cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "check$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersEnablementSoftwareCheckTask" + } + } + }, + "/api/esx/settings/clusters/{cluster}/enablement/software?vmw-task=true": { + "put": { + "tags": [ + "settings/clusters/enablement/software" + ], + "summary": "Enables the feature which manages the cluster with a single software specification.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If feature enablement failed for the given cluster. The value of the data {@term field} of {@link Error} will be a {@term structure} that contains all the {@term fields} defined in {@link CheckResult}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "If the feature is already enabled for the given cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "enable$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersEnablementSoftwareEnableTask" + } + } + }, + "/api/esx/settings/clusters/{cluster}/policies/apply": { + "put": { + "tags": [ + "settings/clusters/policies/apply" + ], + "summary": "This API will set the configured policy specification for the cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "The cluster identifier.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "400": { + "description": "If invalid value is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersPoliciesApplySet" + } + }, + "get": { + "tags": [ + "settings/clusters/policies/apply" + ], + "summary": "Returns the configured policy that has been set for the cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "The cluster identifier.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The configured policies that impact the apply {@term operation}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplyConfiguredPolicySpec" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/policies/apply/effective": { + "get": { + "tags": [ + "settings/clusters/policies/apply/effective" + ], + "summary": "Returns the effective apply policy based on system defaults and what has been configured for the cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "The cluster identifier.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The effective policies that impact the apply {@term operation} on this cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplyEffectiveEffectivePolicySpec" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software": { + "get": { + "tags": [ + "settings/clusters/software" + ], + "summary": "Returns the complete desired software specification.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Cluster software specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsSoftwareInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/add-on": { + "get": { + "tags": [ + "settings/clusters/software/add_on" + ], + "summary": "Returns the desired OEM add-on specification for a given cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Desired OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsAddOnInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if desired OEM add-on specification is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/base-image": { + "get": { + "tags": [ + "settings/clusters/software/base_image" + ], + "summary": "Returns the desired base-image specification set for given cluster", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsBaseImageInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if desired specification is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/commits/{commit}": { + "get": { + "tags": [ + "settings/clusters/software/commits" + ], + "summary": "Returns the information about a specific commit.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "commit", + "description": "Identifier of the specific commit.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the commit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareCommitsInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if desired specification commit is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/compliance": { + "get": { + "tags": [ + "settings/clusters/software/compliance" + ], + "summary": "Returns the compliance state for the cluster", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Cluster compliance result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClusterCompliance" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if the compliance information is unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/components": { + "get": { + "tags": [ + "settings/clusters/software/components" + ], + "summary": "Returns a list of components in the desired software specification.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Map of ComponentInfo keyed by the component identifier. If no version is specified in desired software specification, then ComponentInfo will not be present for that component.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsComponentInfo" + } + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/clusters/{cluster}/software/components/{component}": { + "get": { + "tags": [ + "settings/clusters/software/components" + ], + "summary": "Returns the component version for the given component in the desired software specification.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "component", + "description": "Identifier of the component.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Details about the component version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsComponentInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "If invalid component name is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or or no component associated with {@param.name component} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts": { + "post": { + "tags": [ + "settings/clusters/software/drafts" + ], + "summary": "Creates a new software draft from the desired document. It will be deleted, when the draft is committed successfully. If a desired document is missing, then this {@term operation} will create an empty draft.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Identifier of the working copy of the document.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "If there is already a draft created by this user.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsAlreadyExists" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "create" + }, + "get": { + "tags": [ + "settings/clusters/software/drafts" + ], + "summary": "Returns information about the software drafts for the specified cluster that match the {@link FilterSpec}.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "owners", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Owners of the drafts." + } + ], + "responses": { + "200": { + "description": "Map of software drafts keyed by their identifiers.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsSummary" + } + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}": { + "get": { + "tags": [ + "settings/clusters/software/drafts" + ], + "summary": "Returns the information about given software draft.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the software draft.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the Software Draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "settings/clusters/software/drafts" + ], + "summary": "Deletes the software draft.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy of the document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/add-on": { + "put": { + "tags": [ + "settings/clusters/software/drafts/software/add_on" + ], + "summary": "Sets a new desired OEM add-on specification in the software draft. It will overwrite the existing desired OEM add-on specification if one already exists.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareDraftsSoftwareAddOnSet" + } + }, + "get": { + "tags": [ + "settings/clusters/software/drafts/software/add_on" + ], + "summary": "Returns the OEM add-on specification in a software draft.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsAddOnInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system or no add-on specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "settings/clusters/software/drafts/software/add_on" + ], + "summary": "Deletes the desired OEM add-on specification in the software draft.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/base-image": { + "put": { + "tags": [ + "settings/clusters/software/drafts/software/base_image" + ], + "summary": "Sets a new desired base-image specification in the software draft. It will overwrite the existing desired base-image specification if one already exists.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareDraftsSoftwareBaseImageSet" + } + }, + "get": { + "tags": [ + "settings/clusters/software/drafts/software/base_image" + ], + "summary": "Returns the base-image specification in a software draft.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsBaseImageInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/components": { + "patch": { + "tags": [ + "settings/clusters/software/drafts/software/components" + ], + "summary": "Updates the list of components in a given draft. This allows set and/or delete of multiple components in a batch operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareDraftsSoftwareComponentsUpdate" + } + }, + "get": { + "tags": [ + "settings/clusters/software/drafts/software/components" + ], + "summary": "Returns the components that comprise the software draft.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Map of component version information keyed by the component identifier.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsComponentInfo" + } + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/components/{component}": { + "put": { + "tags": [ + "settings/clusters/software/drafts/software/components" + ], + "summary": "Set the component version for a given component in the software draft. This will overwrite any existing version for the given component.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "component", + "description": "Identifier of the component.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareDraftsSoftwareComponentsSet" + } + }, + "get": { + "tags": [ + "settings/clusters/software/drafts/software/components" + ], + "summary": "Returns the component version for the given component in the software draft.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "component", + "description": "Identifier of the component.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about component version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsComponentInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} or no component associated with {@param.name component} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "settings/clusters/software/drafts/software/components" + ], + "summary": "Deletes the given component from the software draft.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "component", + "description": "Identifier of the component.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/effective-components": { + "get": { + "tags": [ + "settings/clusters/software/drafts/software/effective_components" + ], + "summary": "Returns the components that comprise the desired software state of the cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Map of effective components keyed by their identifier.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsEffectiveComponentInfo" + } + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/hardware-support": { + "put": { + "tags": [ + "settings/clusters/software/drafts/software/hardware_support" + ], + "summary": "Replaces a given cluster's working copy document Hardware Support Package (HSP) configuration.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier for the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of image working copy document being updated", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "404": { + "description": "If there is no cluster named {@param.name cluster}, no working copy document {@param.name draft} in the system, or no Hardware Support Package (HSP) configured as part of the working copy document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareDraftsSoftwareHardwareSupportSet" + } + }, + "get": { + "tags": [ + "settings/clusters/software/drafts/software/hardware_support" + ], + "summary": "Returns a given cluster's working copy document Hardware Support Package (HSP) configuration.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier for the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of image working copy document being updated", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Hardware Support Package (HSP) configured for use", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportInfo" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster named {@param.name cluster}, no working copy document {@param.name draft} in the system, or no Hardware Support Package (HSP) configured as part of the working copy document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "settings/clusters/software/drafts/software/hardware_support" + ], + "summary": "Deletes a given cluster's working copy document Hardware Support Package (HSP) configuration.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier for the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of image working copy document being updated", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster named {@param.name cluster}, no working copy document {@param.name draft} in the system, or no Hardware Support Package (HSP) configured as part of the working copy document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}?action=commit&vmw-task=true": { + "post": { + "tags": [ + "settings/clusters/software/drafts" + ], + "summary": "Commits the specified draft as the desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the draft.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Identifier of the commit.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "400": { + "description": "If validation of the software document fails. The value of the data {@term field} of {@link Error} will be a {@term structure} that contains all the {@term fields} defined in {@link ValidateResult}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "commit$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareDraftsCommitTask" + } + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}?action=scan&vmw-task=true": { + "post": { + "tags": [ + "settings/clusters/software/drafts" + ], + "summary": "Scans all the hosts in the cluster against the software draft. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the working copy of the document.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Result of scan operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "scan$task" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts/{draft}?action=validate&vmw-task=true": { + "post": { + "tags": [ + "settings/clusters/software/drafts" + ], + "summary": "Validates the software draft. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "draft", + "description": "Identifier of the software draft.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Result of validation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no draft associated with {@param.name draft} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "validate$task" + } + }, + "/api/esx/settings/clusters/{cluster}/software/drafts?action=import-software-spec": { + "post": { + "tags": [ + "settings/clusters/software/drafts" + ], + "summary": "Imports the desired software specification as a new draft. If a desired document is missing, then this {@term operation} will create an empty draft except when the source type is of either {@link SourceType#LATEST_RECOMMENDATION} or {@link SourceType#CURRENT_SERIES_RECOMMENDATION}, then {@link NotFound} error is reported. In addition, the exisiting draft will be overwritten when the source type is of either {@name SourceType#LATEST_RECOMMENDATION} or {@name SourceType#CURRENT_SERIES_RECOMMENDATION}.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Identifier of the software draft.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if the source type of import specification is of either {@name SourceType#LATEST_RECOMMENDATION} or {@name SourceType#CURRENT_SERIES_RECOMMENDATION}, and a recommendation does not exist for the cluster. It was either never generated or deleted due to changes in cluster state such as a new desired image spec being committed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "import_software_spec", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareDraftsImportSoftwareSpec" + } + } + }, + "/api/esx/settings/clusters/{cluster}/software/effective-components": { + "get": { + "tags": [ + "settings/clusters/software/effective_components" + ], + "summary": "Returns the effective components for the cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Map of effective components keyed by their identifier.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsEffectiveComponentInfo" + } + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/clusters/{cluster}/software/hardware-support": { + "get": { + "tags": [ + "settings/clusters/software/hardware_support" + ], + "summary": "Returns a given cluster's Hardware Support Package (HSP) configuration.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier for the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Hardware Support Package (HSP) selected for use", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportInfo" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster named {@param.name cluster} or no Hardware Support Package (HSP) configured in the cluster's desired state document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/recommendations": { + "get": { + "tags": [ + "settings/clusters/software/recommendations" + ], + "summary": "Returns Information about the most recent recommendation generation result.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the most recent recommendation generation result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareRecommendationsInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or recommendation is non-existing for the cluster due to either it is never generated or deleted due to changes in cluster state such as a new desired image spec being committed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/recommendations?action=generate&vmw-task=true": { + "post": { + "tags": [ + "settings/clusters/software/recommendations" + ], + "summary": "Generates recommended software image spec(s) based on current desired software spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "409": { + "description": "If a new desired image is committed in parallel via a different client while recommendation is being generated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsConcurrentChange" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "generate$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareRecommendationsGenerateTask" + } + } + }, + "/api/esx/settings/clusters/{cluster}/software/reports/apply-impact": { + "get": { + "tags": [ + "settings/clusters/software/reports/apply_impact" + ], + "summary": "Returns a summary of how hosts within the cluster will be impacted during an apply {@term operation}. The impact is generated from the compliance information obtained from {@link esx.settings.clusters.software.Compliance#get}", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "The cluster identifier.", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "hosts", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "The specific hosts for which an impact is to be generated." + } + ], + "responses": { + "200": { + "description": "Summary of how hosts will be impacted during an apply {@term operation}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsApplyImpactClusterImpact" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility": { + "get": { + "tags": [ + "settings/clusters/software/reports/hardware_compatibility" + ], + "summary": "Returns the HCL validation check summary.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "CheckSummary HCL validation summary.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityCheckSummary" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure and any possible resolution(s).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility/details": { + "get": { + "tags": [ + "settings/clusters/software/reports/hardware_compatibility/details" + ], + "summary": "Returns the HCL validation check detailed results.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "CheckResult HCL validation result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsCheckResult" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure and any possible resolution(s).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility/storage-device-overrides/compliance-status?vmw-task=true": { + "patch": { + "tags": [ + "settings/clusters/software/reports/hardware_compatibility/storage_device_overrides/compliance_status" + ], + "summary": "Updates the Compliance staus overrides for storage devices in a cluster. This {@term operation} also updates the existing {@link esx.settings.clusters.software.reports.CheckResult} if any, based on the device reclassification specified in {@link UpdateSpec} The storage device categorization based on the compliance status from the last check result will remain the same until a {@link esx.settings.clusters.software.reports.HardwareCompatibility#check} {@term operation} is invoked.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "if there is an unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "if there is no cluster associated with the {@param.name cluster}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "400": { + "description": "if one of the values in the update specification is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthorized" + } + } + } + } + }, + "operationId": "update$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusUpdateTask" + } + } + }, + "/api/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility/storage-device-overrides/vcg-entries?vmw-task=true": { + "patch": { + "tags": [ + "settings/clusters/software/reports/hardware_compatibility/storage_device_overrides/vcg_entries" + ], + "summary": "Updates the storage device VMware Compatibility Guide (VCG) product overrides for a cluster. This {@term operation} also updates the existing {@link esx.settings.clusters.software.reports.CheckResult} if any, based on the additional information provided by the vcg product overrides for the devices. The storage device categorization based on the compliance status from the last check result will remain the same until a {@link esx.settings.clusters.software.reports.HardwareCompatibility#check} {@term operation} is invoked.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "if there is an unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "if there is no cluster associated with the {@param.name cluster}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "400": { + "description": "if one of the values in the update specification is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthorized" + } + } + } + } + }, + "operationId": "update$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesUpdateTask" + } + } + }, + "/api/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility?action=check&vmw-task=true": { + "post": { + "tags": [ + "settings/clusters/software/reports/hardware_compatibility" + ], + "summary": "Initiates a Cluster HCL Validation check for a given cluster. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "CheckResult HCL validation result.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure and any possible resolution(s).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "check$task" + } + }, + "/api/esx/settings/clusters/{cluster}/software/reports/last-apply-result": { + "get": { + "tags": [ + "settings/clusters/software/reports/last_apply_result" + ], + "summary": "Returns the most recent available result of applying the desired software document to all hosts within the cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "The cluster identifier.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Most recent available result of applying the desired software document to all hosts within the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastApplyResultApplyResult" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if there is no result associated with the cluster {@param.name cluster}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/reports/last-check-result": { + "get": { + "tags": [ + "settings/clusters/software/reports/last_check_result" + ], + "summary": "Returns the most recent available result of checks run on the cluster before the application of the desired software document to all hosts within the cluster.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "The cluster identifier.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Most recent result available of the checks run on the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastCheckResultCheckResult" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if there is no result associated with the cluster {@param.name cluster}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/solutions": { + "get": { + "tags": [ + "settings/clusters/software/solutions" + ], + "summary": "Returns all solutions in the desired software specification.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Map of solutions where key is solution identifier and value is a list of components registered by that solution.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsSolutionInfo" + } + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/clusters/{cluster}/software/solutions/{solution}": { + "get": { + "tags": [ + "settings/clusters/software/solutions" + ], + "summary": "Returns components registered for the given solution in the desired software specification.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "solution", + "description": "Identifier of the solution.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Specification of components registered by the solution.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsSolutionInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "If invalid component name is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or or no solution associated with {@param.name solution} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/clusters/{cluster}/software/solutions/{solution}?vmw-task=true": { + "put": { + "tags": [ + "settings/clusters/software/solutions" + ], + "summary": "Sets the components registered for the given solution in the desired software specification. The task will set only one solution specification at a time. Solution constraints would be validated with the current desired software specification before it is committed as new desired spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "solution", + "description": "Identifier of the solution.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "ID of the newly created commit.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "if validation of the software document fails. The value of the data {@term field} of {@link Error} will be a {@term structure} that contains all the {@term fields} defined in {@link ValidateResult}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no solution associated with {@param.name solution} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "set$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareSolutionsSetTask" + } + }, + "delete": { + "tags": [ + "settings/clusters/software/solutions" + ], + "summary": "Deletes the given solution from the desired software specification. The deletion will be validated along with the entire software specification before it is committed as new desired spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "solution", + "description": "Identifier of the solution.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "ID of the newly created commit.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "if validation of the software document fails. The value of the data {@term field} of {@link Error} will be a {@term structure} that contains all the {@term fields} defined in {@link ValidateResult}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} or no solution associated with {@param.name solution} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "delete$task" + } + }, + "/api/esx/settings/clusters/{cluster}/software?action=apply&vmw-task=true": { + "post": { + "tags": [ + "settings/clusters/software" + ], + "summary": "Applies the desired software document associated with the given cluster to hosts within the cluster. If {@basename ApplySpec#commit} {@term field} is {@term set}, it implies the minimum commit that the {@link esx.settings.clusters.Software#apply} {@term operation} should use, however if subsequent commits have been made to the desired state document the apply {@term operation} will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "The result of the {@link esx.settings.clusters.Software#apply} {@term operation}.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "If there is another operation in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsTimedOut" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "apply$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareApplyTask" + } + } + }, + "/api/esx/settings/clusters/{cluster}/software?action=check&vmw-task=true": { + "post": { + "tags": [ + "settings/clusters/software" + ], + "summary": "Runs checks on the cluster before applying the desired software document across all hosts in the cluster. Checks if all hosts in the cluster are in a good state to be updated with the desired software document. If {@basename CheckSpec#commit} {@term field} is {@term set} it implies the minimum commit that the check {@term operation} should use, however if subsequent commits have been made to the desired state document the check {@term operation} will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "The results of all checks performed.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsTimedOut" + } + } + } + }, + "400": { + "description": "If there is another operation in progress or if the {@basename CheckSpec#commit} {@term field} of {@param.name spec} specifies a commit that has already been applied.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "check$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareCheckTask" + } + } + }, + "/api/esx/settings/clusters/{cluster}/software?action=export": { + "post": { + "tags": [ + "settings/clusters/software" + ], + "summary": "Exports the desired software specification document and/or image. This API will not export the solution section of the desired software specification.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "A map from export type to URL of the exported data for that type.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "500": { + "description": "If there is am unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "export", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsClustersSoftwareExport" + } + } + }, + "/api/esx/settings/clusters/{cluster}/software?action=scan&vmw-task=true": { + "post": { + "tags": [ + "settings/clusters/software" + ], + "summary": "Scans all the hosts in the cluster against the cluster's desired state. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "cluster", + "description": "Identifier of the cluster.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Compliance result for the cluster.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with {@param.name cluster} in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "scan$task" + } + }, + "/api/esx/settings/defaults/clusters/policies/apply": { + "put": { + "tags": [ + "settings/defaults/clusters/policies/apply" + ], + "summary": "This API will set the configured policy specification.", + "parameters": [], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "If invalid value is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsDefaultsClustersPoliciesApplySet" + } + }, + "get": { + "tags": [ + "settings/defaults/clusters/policies/apply" + ], + "summary": "Returns the configured policy that has been set.", + "parameters": [], + "responses": { + "200": { + "description": "The configured policies that impact the apply {@term operation}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplyConfiguredPolicySpec" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/defaults/clusters/policies/apply/effective": { + "get": { + "tags": [ + "settings/defaults/clusters/policies/apply/effective" + ], + "summary": "Returns the effective apply policy based on system defaults and what has been configured.", + "parameters": [], + "responses": { + "200": { + "description": "The effective policies that impact the apply {@term operation}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplyEffectiveEffectivePolicySpec" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/depot-content/add-ons": { + "get": { + "tags": [ + "settings/depot_content/add_ons" + ], + "summary": "Returns a list of currently available OEM add-ons in the depot.", + "parameters": [ + { + "in": "query", + "name": "vendors", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Vendors that an add-on must have to match the filter." + }, + { + "in": "query", + "name": "names", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Names that an add-on must have to match the filter." + }, + { + "in": "query", + "name": "versions", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Versions that an add-on must have to match the filter." + }, + { + "in": "query", + "name": "min_version", + "schema": { + "type": "string" + }, + "description": "Minimum version of an add-on that can match the filter." + } + ], + "responses": { + "200": { + "description": "List of OEM add-ons in the depot.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotContentAddOnsSummary" + } + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/depot-content/add-ons/{name}/versions/{version}": { + "get": { + "tags": [ + "settings/depot_content/add_ons/versions" + ], + "summary": "Returns information about a given OEM add-on version in the depot.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "name", + "description": "Name of the OEM add-on", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "version", + "description": "Version of the OEM add-on", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the given OEM add-on", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotContentAddOnsVersionsInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "if OEM add-on with given version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/depot-content/base-images": { + "get": { + "tags": [ + "settings/depot_content/base_images" + ], + "summary": "Returns a list of currently available base-images in the depot.", + "parameters": [ + { + "in": "query", + "name": "min_version", + "schema": { + "type": "string" + }, + "description": "Minimum version of a base-image that can match the filter." + } + ], + "responses": { + "200": { + "description": "List of base-images in the depot. These will be sorted by the version of the base-image.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotContentBaseImagesSummary" + } + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/depot-content/base-images/versions/{version}": { + "get": { + "tags": [ + "settings/depot_content/base_images/versions" + ], + "summary": "Returns information about a given base-image version in the depot.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "version", + "description": "Version of the base-image", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the given base-image", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotContentBaseImagesVersionsInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "if base-image with given version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/depot-content/components": { + "get": { + "tags": [ + "settings/depot_content/components" + ], + "summary": "Returns a list of currently available components in the depot.", + "parameters": [ + { + "in": "query", + "name": "vendors", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Vendors that a component must have to match the filter." + }, + { + "in": "query", + "name": "names", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Names that a component must have to match the filter." + }, + { + "in": "query", + "name": "versions", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Versions that a component must have to match the filter." + }, + { + "in": "query", + "name": "min_version", + "schema": { + "type": "string" + }, + "description": "Minimum version of the component that can match the filter." + }, + { + "in": "query", + "name": "bundle_types", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "INDEPENDENT", + "BASE_IMAGE", + "ADD_ON" + ] + } + }, + "description": "Component bundle types that a component must have to match the filter." + } + ], + "responses": { + "200": { + "description": "List of components in the depot.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotContentComponentsSummary" + } + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/depot-content/components/{name}/versions/{version}": { + "get": { + "tags": [ + "settings/depot_content/components/versions" + ], + "summary": "Returns information about a given component version in the depot.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "name", + "description": "Name of the component", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "version", + "description": "Version of the component", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the given component", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotContentComponentsVersionsInfo" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "if component with given version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/depots/offline": { + "get": { + "tags": [ + "settings/depots/offline" + ], + "summary": "Returns currently imported offline software depots.", + "parameters": [], + "responses": { + "200": { + "description": "Map of currently imported offline software depots keyed by their identifier.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineSummary" + } + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/depots/offline/{depot}": { + "get": { + "tags": [ + "settings/depots/offline" + ], + "summary": "Gets the information about an imported offline software depot.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier for the depot.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information about the imported offline software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineInfo" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no depot with given identifier {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + }, + "delete": { + "tags": [ + "settings/depots/offline" + ], + "summary": "The task-based {@name #delete} {@term operation} removes content of an imported offline depot from vLCM completely. Note: The non task-based {@name #delete} {@term operation} has been deprecated. It deletes only the record of depot from the list of imported offline software depots, instead of removing the depot's content from vLCM.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier of the depot to be removed.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If the content of depot to be deleted is used in some baseline or desired state. The value of the data {@term field} of {@link Error} will be the PrecheckResult {@term structure} that lists the information of affected baselines and desired states. This error is applicable to the task-based {@name #delete} {@term operation} only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsResourceInUse" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based {@name #delete} {@term operation}, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data {@term field} of {@link Error} will be the DeleteResult {@term structure} that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/api/esx/settings/depots/offline/{depot}/content": { + "get": { + "tags": [ + "settings/depots/offline/content" + ], + "summary": "Gets the information of content of an imported offline software depot.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier for the depot.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information of content of the imported offline software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineContentInfo" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no depot with given identifier {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/depots/offline/{depot}?vmw-task=true": { + "delete": { + "tags": [ + "settings/depots/offline" + ], + "summary": "The task-based {@name #delete} {@term operation} removes content of an imported offline depot from vLCM completely. Note: The non task-based {@name #delete} {@term operation} has been deprecated. It deletes only the record of depot from the list of imported offline software depots, instead of removing the depot's content from vLCM.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier of the depot to be removed.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If the content of depot to be deleted is used in some baseline or desired state. The value of the data {@term field} of {@link Error} will be the PrecheckResult {@term structure} that lists the information of affected baselines and desired states. This error is applicable to the task-based {@name #delete} {@term operation} only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsResourceInUse" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based {@name #delete} {@term operation}, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data {@term field} of {@link Error} will be the DeleteResult {@term structure} that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "delete$task" + } + }, + "/api/esx/settings/depots/offline?action=createFromHost&vmw-task=true": { + "post": { + "tags": [ + "settings/depots/offline" + ], + "summary": "Extract the current software specification applied to the host and import it into the depot. Returns details about the current software specification applied to the host. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [], + "responses": { + "202": { + "description": "DepotExtractInfo details about the current software specification applied to the host extracted into the depot.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "If the SSL certificate of the target node cannot be validated by comparing with the thumbprint provided in {@link HostCredentials#sslThumbPrint}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnverifiedPeer" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no {@link HostCredentials#hostName} {@term field} associated with host id in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "create_from_host$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsDepotsOfflineCreateFromHostTask" + } + } + }, + "/api/esx/settings/depots/offline?vmw-task=true": { + "post": { + "tags": [ + "settings/depots/offline" + ], + "summary": "Imports a new offline software depot. This will also import the metadata and payloads from this offline depot. The returned task will fail and no offline depot would be created if there are any issues during import. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [], + "responses": { + "202": { + "description": "Identifier of the imported depot as part of result structure.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If the depot content already exists. The value of the data {@term field} of {@link Error} will be a {@term structure} that contains existing depot identifier as part of depot {@term field} defined in {@link CreateResult}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsAlreadyExists" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "create$task", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsDepotsOfflineCreateTask" + } + } + }, + "/api/esx/settings/depots/online": { + "post": { + "tags": [ + "settings/depots/online" + ], + "summary": "Adds a new online software depot to the list of currently configured online software depots.", + "parameters": [], + "responses": { + "201": { + "description": "Identifier of the currently configured online depot.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If depot with given location already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsAlreadyExists" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "create", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsDepotsOnlineCreate" + } + }, + "get": { + "tags": [ + "settings/depots/online" + ], + "summary": "Returns a list of currently configured online software depots.", + "parameters": [], + "responses": { + "200": { + "description": "Map of currently configured online software depots keyed by their identifiers.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsDepotsOnlineSummary" + } + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/depots/online/{depot}": { + "get": { + "tags": [ + "settings/depots/online" + ], + "summary": "Gets the information about a currently configured online software depot.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier for the depot.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information of the currently configured online software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsOnlineInfo" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no depot with given identifier {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "settings/depots/online" + ], + "summary": "Updates the configuration of a currently configured online software depot.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier of the depot to be updated.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If given depot is system defined.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsDepotsOnlineUpdate" + } + }, + "delete": { + "tags": [ + "settings/depots/online" + ], + "summary": "The task-based {@name #delete} {@term operation} removes content of a user-imported online depot from vLCM completely. As a result, the URL of the user-imported online depot will also be removed. Note: 1. To remove content of system-defined online depots, use {@name #flush} {@term operation}. 2. The non task-based {@name #delete} {@term operation} has been deprecated. It only deletes the record of depot from the list of imported online software depots, instead of removing the depot's content from the system.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier of the depot to be removed.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If the content of depot to be deleted is used in some baseline or desired state. The value of the data {@term field} of {@link Error} will be the PrecheckResult {@term structure} that lists the information of affected baselines and desired states. This error is applicable to the task-based {@name #delete} {@term operation} only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsResourceInUse" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based {@name #delete} {@term operation}, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data {@term field} of {@link Error} will be the DeleteResult {@term structure} that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/api/esx/settings/depots/online/{depot}/content": { + "get": { + "tags": [ + "settings/depots/online/content" + ], + "summary": "Gets the information of content of an imported online software depot.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier for the depot.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Information of content of the imported online software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsOnlineContentInfo" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no depot with given identifier {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/depots/online/{depot}?action=flush&vmw-task=true": { + "post": { + "tags": [ + "settings/depots/online" + ], + "summary": "The task-based {@name #flush} {@term operation} removes content of a system-defined online depot from vLCM completely. As a result, the system-defined online depot will be disabled. Note: To remove content of user-imported online depots, use the task-based {@name #delete} {@term operation}.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier of the depot to be removed.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If the content of depot to be deleted is used in some baseline or desired state. The value of the data {@term field} of {@link Error} will be the PrecheckResult {@term structure} that lists the information of affected baselines and desired states.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsResourceInUse" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. {@name #flush} is a task-based {@term operation}. Once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data {@term field} of {@link Error} will be the FlushResult {@term structure} that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "flush$task" + } + }, + "/api/esx/settings/depots/online/{depot}?vmw-task=true": { + "delete": { + "tags": [ + "settings/depots/online" + ], + "summary": "The task-based {@name #delete} {@term operation} removes content of a user-imported online depot from vLCM completely. As a result, the URL of the user-imported online depot will also be removed. Note: 1. To remove content of system-defined online depots, use {@name #flush} {@term operation}. 2. The non task-based {@name #delete} {@term operation} has been deprecated. It only deletes the record of depot from the list of imported online software depots, instead of removing the depot's content from the system.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "depot", + "description": "Identifier of the depot to be removed.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If the content of depot to be deleted is used in some baseline or desired state. The value of the data {@term field} of {@link Error} will be the PrecheckResult {@term structure} that lists the information of affected baselines and desired states. This error is applicable to the task-based {@name #delete} {@term operation} only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsResourceInUse" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter {@param.name depot} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based {@name #delete} {@term operation}, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data {@term field} of {@link Error} will be the DeleteResult {@term structure} that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "delete$task" + } + }, + "/api/esx/settings/depots/sync-schedule": { + "put": { + "tags": [ + "settings/depots/sync_schedule" + ], + "summary": "Sets the software depot sync schedule.", + "parameters": [], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "400": { + "description": "If {@link Spec#schedule} is unset while {@link Spec#enabled} is set to true or if any of the values is not within valid range.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsDepotsSyncScheduleSet" + } + }, + "get": { + "tags": [ + "settings/depots/sync_schedule" + ], + "summary": "Returns the currently configured software depot sync schedule.", + "parameters": [], + "responses": { + "200": { + "description": "Currently configured sync schedule.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsSyncScheduleSpec" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/depots/umds": { + "put": { + "tags": [ + "settings/depots/umds" + ], + "summary": "Sets or overwrites information about the UMDS software depot.", + "parameters": [], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If an invalid location is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "set", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsDepotsUmdsSet" + } + }, + "get": { + "tags": [ + "settings/depots/umds" + ], + "summary": "Gets the information about a currently configured UMDS software depot.", + "parameters": [], + "responses": { + "200": { + "description": "Information of the currently configured UMDS software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsUmdsInfo" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no UMDS software depot set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + }, + "patch": { + "tags": [ + "settings/depots/umds" + ], + "summary": "Updates the configuration of a currently configured UMDS software depot.", + "parameters": [], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no UMDS depot configured.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + } + }, + "operationId": "update", + "requestBody": { + "$ref": "#/components/requestBodies/EsxSettingsDepotsUmdsUpdate" + } + }, + "delete": { + "tags": [ + "settings/depots/umds" + ], + "summary": "The task-based {@name #delete} {@term operation} removes content of the UMDS depot from vLCM completely. Note: The non task-based {@name #delete} {@term operation} has been deprecated. It deletes only the record of UMDS depot from database, instead of removing the content of UMDS depot from vLCM.", + "parameters": [], + "responses": { + "204": { + "description": "", + "content": { + "application/json": {} + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no UMDS depot configured in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "400": { + "description": "If the content of UMDS depot to be deleted is used in some baseline or desired state. The value of the data {@term field} of {@link Error} will be the PrecheckResult {@term structure} that lists the information of affected baselines and desired states. This error is applicable to the task-based {@name #delete} {@term operation} only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsResourceInUse" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based {@name #delete} {@term operation}, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data {@term field} of {@link Error} will be the DeleteResult {@term structure} that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "delete" + } + }, + "/api/esx/settings/depots/umds/content": { + "get": { + "tags": [ + "settings/depots/umds/content" + ], + "summary": "Gets the information of content about the UMDS depot.", + "parameters": [], + "responses": { + "200": { + "description": "Information of content of the imported UMDS depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsUmdsContentInfo" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no UMDS depot configured in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/depots/umds?vmw-task=true": { + "delete": { + "tags": [ + "settings/depots/umds" + ], + "summary": "The task-based {@name #delete} {@term operation} removes content of the UMDS depot from vLCM completely. Note: The non task-based {@name #delete} {@term operation} has been deprecated. It deletes only the record of UMDS depot from database, instead of removing the content of UMDS depot from vLCM.", + "parameters": [], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "404": { + "description": "If there is no UMDS depot configured in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "400": { + "description": "If the content of UMDS depot to be deleted is used in some baseline or desired state. The value of the data {@term field} of {@link Error} will be the PrecheckResult {@term structure} that lists the information of affected baselines and desired states. This error is applicable to the task-based {@name #delete} {@term operation} only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsResourceInUse" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based {@name #delete} {@term operation}, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data {@term field} of {@link Error} will be the DeleteResult {@term structure} that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "delete$task" + } + }, + "/api/esx/settings/depots?action=sync&vmw-task=true": { + "post": { + "tags": [ + "settings/depots" + ], + "summary": "Syncs the metadata from the currently configured online or umds depots. If any umds depot is set, then metadata is downloaded from that depot else metadata is downloaded from the online depots. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [], + "responses": { + "202": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "503": { + "description": "if the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "500": { + "description": "if there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + } + }, + "operationId": "sync$task" + } + }, + "/api/esx/settings/hardware-support/managers": { + "get": { + "tags": [ + "settings/hardware_support/managers" + ], + "summary": "Returns the list of registered Hardware Support Managers (HSMs) in the system.", + "parameters": [], + "responses": { + "200": { + "description": "List of currently registered Hardware Support Manager (HSMs)", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportManagersHardwareSupportManagerInfo" + } + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/hardware-support/managers/{manager}/packages": { + "get": { + "tags": [ + "settings/hardware_support/managers/packages" + ], + "summary": "Returns the list of available Hardware Support Packages (HSPs) for a particular host, as specified by its Hardware Support Manager (HSM)", + "parameters": [ + { + "required": true, + "in": "path", + "name": "manager", + "description": "Identifier for the Hardware Support Manager (HSM).", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "base_image_version", + "schema": { + "type": "string" + }, + "description": "vSphere release version the Hardware Support Package (HSP) must support to match the filter. Only Hardware Support Packages (HSPs) compatible with the vSphere release version specified in 'baseImageVersion' will be returned. The 'baseImageVersion' parameter should be a full numeric base image version string (e.g. \"7.1.0-2.3.436234\"). Future implementations may support version specification by prefix (e.g. \"7.1\" to specify all updates and builds of 7.1) or other forms of specification (e.g. \">=7.0\"). Hardware Support Pacakges (HSPs) may be advertised as supporting truncated version strings to indicate the remainder is wildcarded. Matching is on the specified substring only, so a bundle supporting \"7.1.0-2\" would match a 'release' parameter of \"7.1.0-2.3.436234\" as well as \"7.1.0-2.1.4133564\" and \"7.1.0-1.0.355667\" but not \"7.1.0-3.0.63445\" or any base image version starting with \"7.2\". Note that we require compatible base image versions be specified at least down to the update version (i.e. \"7.0\" is insufficiently constrained)" + } + ], + "responses": { + "200": { + "description": "List of available Hardware Support Packages (HSPs) for given manager", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportManagersPackagesHardwareSupportPackageInfo" + } + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no Hardware Support Manager (HSM) with the specified name", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated. named {@param.name manager} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "list" + } + }, + "/api/esx/settings/hardware-support/managers/{manager}/packages/{pkg}/versions/{version}": { + "get": { + "tags": [ + "settings/hardware_support/managers/packages/versions" + ], + "summary": "Returns the detailed information for a specific version of an available Hardware Support Packages (HSPs) as specified by the Hardware Support Manager (HSM)", + "parameters": [ + { + "required": true, + "in": "path", + "name": "manager", + "description": "Identifier for the Hardware Support Manager (HSM).", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "pkg", + "description": "The name of the Hardware Support Package (HSP)", + "schema": { + "type": "string" + } + }, + { + "required": true, + "in": "path", + "name": "version", + "description": "The version of the Hardware Support Package (HSP)", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "base_image_version", + "schema": { + "type": "string" + }, + "description": "vSphere release version for the component information in the Hardware Support Package (HSP). Only Hardware Support Packages (HSPs) compatible with the vSphere release version specified in 'baseImageVersion' will be returned. The 'baseImageVersion' parameter should be a full numeric base image version string (e.g. \"7.1.0-2.3.436234\"). Future implementations may support version specification by prefix (e.g. \"7.1\" to specify all updates and builds of 7.1) or other forms of specification (e.g. \">=7.0\"). Hardware Support Pacakges (HSPs) may be advertised as supporting truncated version strings to indicate the remainder is wildcarded. Matching is on the specified substring only, so a bundle supporting \"7.1.0-2\" would match a 'release' parameter of \"7.1.0-2.3.436234\" as well as \"7.1.0-2.1.4133564\" and \"7.1.0-2.0.355667\" but not \"7.1.0-3.0.63445\" or any base image version starting with \"7.2\". Note that we require compatible base image versions be specified at least down to the update version (i.e. \"7.0\" is insufficiently constrained)" + } + ], + "responses": { + "200": { + "description": "detailed information on Hardware Support Packages (HSPs)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportManagersPackagesVersionsPackageInfo" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "400": { + "description": "If any of the specified parameters are Invalid (e.g. if the release version specified in the query parameter is not, in fact, among those supported by the Hardware Support Package (HSP).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument" + } + } + } + }, + "404": { + "description": "If there is no Hardware Support Manager (HSM) with the specified name, or no Hardware Support Package (HSP) with the specified name and version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated. named {@param.name manager} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privilege to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthorized" + } + } + } + } + }, + "operationId": "get" + } + }, + "/api/esx/settings/hosts/{host}/software?action=scan&vmw-task=true": { + "post": { + "tags": [ + "settings/hosts/software" + ], + "summary": "Scans the host against the host's desired state.. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.", + "parameters": [ + { + "required": true, + "in": "path", + "name": "host", + "description": "Identifier of the host.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Compliance result of the host.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no host associated with {@param.name host} in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + }, + "400": { + "description": "If the host is not a standlone host, but instead part of a cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnsupported" + } + } + } + } + }, + "operationId": "scan$task" + } + }, + "/api/esx/software": { + "get": { + "tags": [ + "hosts/software" + ], + "summary": "Returns details about the current software specification applied to the host.", + "parameters": [ + { + "in": "query", + "name": "auth_type", + "schema": { + "type": "string", + "description": "The {@name AuthenticationType} {@term enumerated type} defines the possible types of authentication supported when connecting to the host.", + "enum": [ + "USERNAME_PASSWORD", + "EXISTING" + ] + }, + "required": true + }, + { + "in": "query", + "name": "host_credential", + "schema": { + "type": "object", + "properties": { + "host_name": { + "description": "The IP address or DNS resolvable name of the host.", + "type": "string" + }, + "user_name": { + "description": "Specifies the username to be used during the {@link esx.hosts.Software#get} {@term operation}", + "type": "string" + }, + "password": { + "description": "Specifies the password to be used during the {@link esx.hosts.Software#get} {@term operation}", + "type": "string", + "format": "password" + }, + "port": { + "description": "Specifies the port number of the host to be used during {@link esx.hosts.Software#get} {@term operation}", + "type": "integer", + "format": "int64" + }, + "ssl_thumb_print": { + "description": "Specifies the sslThumbPrint of the host to be used during {@link esx.hosts.Software#get} {@term operation} SHA1 hash of the host's SSL certificate.", + "type": "string" + } + }, + "required": [ + "host_name", + "user_name", + "password" + ] + }, + "required": false + }, + { + "in": "query", + "name": "host", + "schema": { + "type": "string" + }, + "description": "Specifies the host Managed Object ID to be used during the {@link esx.hosts.Software#get} {@term operation}", + "required": false + } + ], + "responses": { + "200": { + "description": "Info details about the current software specification applied to the host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxHostsSoftwareInfo" + } + } + } + }, + "400": { + "description": "If the SSL certificate of the target node cannot be validated by comparing with the thumbprint provided in {@link ConnectionSpec.HostCredentials#sslThumbPrint}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnverifiedPeer" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsError" + } + } + } + }, + "404": { + "description": "If there is no {@basename ConnectionSpec.HostCredentials#hostName} {@term field} associated with host id in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsNotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated" + } + } + } + } + }, + "operationId": "get" + } + } + }, + "components": { + "requestBodies": { + "EsxHclHostsCompatibilityReportCreate_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReportCreateTask" + } + } + } + }, + "EsxSettingsClustersDepotOverridesAdd": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersDepotOverridesAdd" + } + } + } + }, + "EsxSettingsClustersDepotOverridesRemove": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersDepotOverridesRemove" + } + } + } + }, + "EsxSettingsClustersEnablementSoftwareCheck_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersEnablementSoftwareCheckTask" + } + } + } + }, + "EsxSettingsClustersEnablementSoftwareEnable_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersEnablementSoftwareEnableTask" + } + } + } + }, + "EsxSettingsClustersPoliciesApplySet": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplySet" + } + } + } + }, + "EsxSettingsClustersSoftwareApply_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareApplyTask" + } + } + } + }, + "EsxSettingsClustersSoftwareCheck_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareCheckTask" + } + } + } + }, + "EsxSettingsClustersSoftwareDraftsCommit_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsCommitTask" + } + } + } + }, + "EsxSettingsClustersSoftwareDraftsImportSoftwareSpec": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsImportSoftwareSpec" + } + } + } + }, + "EsxSettingsClustersSoftwareDraftsSoftwareAddOnSet": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsSoftwareAddOnSet" + } + } + } + }, + "EsxSettingsClustersSoftwareDraftsSoftwareBaseImageSet": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsSoftwareBaseImageSet" + } + } + } + }, + "EsxSettingsClustersSoftwareDraftsSoftwareComponentsSet": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsSoftwareComponentsSet" + } + } + } + }, + "EsxSettingsClustersSoftwareDraftsSoftwareComponentsUpdate": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsSoftwareComponentsUpdate" + } + } + } + }, + "EsxSettingsClustersSoftwareDraftsSoftwareHardwareSupportSet": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsSoftwareHardwareSupportSet" + } + } + } + }, + "EsxSettingsClustersSoftwareExport": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareExport" + } + } + } + }, + "EsxSettingsClustersSoftwareRecommendationsGenerate_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareRecommendationsGenerateTask" + } + } + } + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusUpdate_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusUpdateTask" + } + } + } + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesUpdate_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesUpdateTask" + } + } + } + }, + "EsxSettingsClustersSoftwareSolutionsSet_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareSolutionsSetTask" + } + } + } + }, + "EsxSettingsDefaultsClustersPoliciesApplySet": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplySet" + } + } + } + }, + "EsxSettingsDepotsOfflineCreateFromHost_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineCreateFromHostTask" + } + } + } + }, + "EsxSettingsDepotsOfflineCreate_task": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineCreateTask" + } + } + } + }, + "EsxSettingsDepotsOnlineCreate": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsOnlineCreate" + } + } + } + }, + "EsxSettingsDepotsOnlineUpdate": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsOnlineUpdate" + } + } + } + }, + "EsxSettingsDepotsSyncScheduleSet": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsSyncScheduleSet" + } + } + } + }, + "EsxSettingsDepotsUmdsSet": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsUmdsSet" + } + } + } + }, + "EsxSettingsDepotsUmdsUpdate": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EsxSettingsDepotsUmdsUpdate" + } + } + } + } + }, + "schemas": { + "CisTaskProgress": { + "type": "object", + "properties": { + "total": { + "description": "Total amount of the work for the operation.", + "type": "integer", + "format": "int64" + }, + "completed": { + "description": "The amount of work completed for the operation. The value can only be incremented.", + "type": "integer", + "format": "int64" + }, + "message": { + "description": "Message about the work progress.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "required": [ + "total", + "completed", + "message" + ] + }, + "EsxHclCompatibilityDataStatus": { + "type": "object", + "properties": { + "updated_at": { + "description": "Indicates when the data was last updated.", + "type": "string", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the operation.", + "$ref": "#/components/schemas/EsxHclNotifications" + } + }, + "required": [ + "updated_at", + "notifications" + ] + }, + "EsxHclCompatibilityStatus": { + "type": "string", + "description": "The {@name CompatibilityStatus} {@term enumerated type} defines compatibility status of a given server or PCI device against a specific release of ESXi.", + "enum": [ + "COMPATIBLE", + "INCOMPATIBLE", + "UNAVAILABLE", + "CERTIFIED", + "NOT_CERTIFIED" + ] + }, + "EsxHclDriver": { + "type": "object", + "properties": { + "name": { + "description": "The name of the driver.", + "type": "string" + }, + "version": { + "description": "The version of the driver.", + "type": "string" + }, + "vendor": { + "description": "The vendor that produced the driver.", + "type": "string" + } + }, + "required": [ + "name", + "version" + ] + }, + "EsxHclFirmware": { + "type": "object", + "properties": { + "version": { + "description": "The version of the firmware.", + "type": "string" + }, + "vendor": { + "description": "The vendor that produced the firmware.", + "type": "string" + } + }, + "required": [ + "version" + ] + }, + "EsxHclHostsCompatibilityReleasesEsxiCompatibilityReleases": { + "type": "object", + "properties": { + "current_compatibility_release": { + "description": "The current release of the ESXi, which also can be checked for compatibility.
The information for the release does not include patch information.", + "type": "string" + }, + "newer_compatibility_releases": { + "description": "The available ESXi releases, greater than the current one, than can be checked for compatibility.", + "type": "array", + "items": { + "type": "string" + } + }, + "notifications": { + "description": "Notifications returned by the operation.", + "$ref": "#/components/schemas/EsxHclNotifications" + } + }, + "required": [ + "current_compatibility_release", + "newer_compatibility_releases", + "notifications" + ] + }, + "EsxHclHostsCompatibilityReportBiosConstraint": { + "type": "object", + "properties": { + "bios": { + "description": "The BIOS information about the constraint.", + "$ref": "#/components/schemas/EsxHclFirmware" + }, + "notes": { + "description": "Any information that should be taken into account when reviewing the BIOS constraint.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + } + }, + "required": [ + "bios", + "notes" + ] + }, + "EsxHclHostsCompatibilityReportCreateTask": { + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReportSpec", + "description": "Specifies the input parameters for generating compatibility report." + }, + "EsxHclHostsCompatibilityReportDeviceConstraint": { + "type": "object", + "properties": { + "driver": { + "description": "The driver information about the constraint.", + "$ref": "#/components/schemas/EsxHclDriver" + }, + "firmware": { + "description": "The firmware information about the constraint.", + "$ref": "#/components/schemas/EsxHclFirmware" + }, + "notes": { + "description": "Any information that should be taken into account when reviewing the device constraint.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + } + }, + "required": [ + "driver", + "notes" + ] + }, + "EsxHclHostsCompatibilityReportDeviceHclInfo": { + "type": "object", + "properties": { + "compatibility": { + "description": "Indicates compatibility status of the PCI device.", + "$ref": "#/components/schemas/EsxHclCompatibilityStatus" + }, + "device": { + "description": "Information about the PCI device.", + "$ref": "#/components/schemas/EsxHclPCIDevice" + }, + "device_constraints": { + "description": "Lists the constraints the target ESXi release has for this PCI device", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReportDeviceConstraint" + } + }, + "supported_releases": { + "description": "Provides information about supported releases for this device.", + "type": "array", + "items": { + "type": "string" + } + }, + "vcg_link": { + "description": "Provides link to the VMware Compatibility Guide for further information on the compatibility.", + "type": "string", + "format": "uri" + }, + "notes": { + "description": "Information that needs to be taken into account when considering this device hcl.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + } + }, + "required": [ + "compatibility", + "device" + ] + }, + "EsxHclHostsCompatibilityReportHclReport": { + "type": "object", + "properties": { + "host": { + "description": "FQDN identifying the ESXi host that the report refers to.", + "type": "string", + "format": "uri" + }, + "target_release": { + "description": "Indicates for which ESXi release the report is generated.", + "type": "string" + }, + "server_hcl": { + "description": "Lists compatibility information for the ESXi's server part.", + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReportServerHclInfo" + }, + "devices_hcl": { + "description": "Lists compatibility information for discoverable PCI devices of the host.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReportDeviceHclInfo" + } + }, + "generated_at": { + "description": "Specifies the time the report was generated.", + "type": "string", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the operation.", + "$ref": "#/components/schemas/EsxHclNotifications" + } + }, + "required": [ + "host", + "target_release", + "server_hcl", + "generated_at", + "notifications" + ] + }, + "EsxHclHostsCompatibilityReportResult": { + "type": "object", + "properties": { + "report": { + "description": "The hardware compatibility report.", + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReportHclReport" + }, + "identifier": { + "description": "The identifier of the compatibility report.
{@link esx.hcl.Reports#get} provides location where a file based report based on the {@name HclReport} can be downloaded using this identifier.", + "type": "string" + } + }, + "required": [ + "report" + ] + }, + "EsxHclHostsCompatibilityReportServerCompatibility": { + "type": "object", + "properties": { + "bios_constraints": { + "description": "Lists the BIOS constraints that the target ESXi release has for this server.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReportBiosConstraint" + } + }, + "cpu_series": { + "description": "The CPU series name.", + "type": "string" + }, + "supported_releases": { + "description": "Provides information about supported releases for this entry.", + "type": "array", + "items": { + "type": "string" + } + }, + "vcg_link": { + "description": "Provides link to the VMware Compatibility Guide for further information on the compatibility.", + "type": "string", + "format": "uri" + }, + "notes": { + "description": "Information that needs to be taken into account when considering this server hardware compatibility.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + } + }, + "required": [ + "cpu_series", + "vcg_link" + ] + }, + "EsxHclHostsCompatibilityReportServerHclInfo": { + "type": "object", + "properties": { + "server": { + "description": "Information about the server.", + "$ref": "#/components/schemas/EsxHclServer" + }, + "matches": { + "description": "Provides information about possible compatibility matches for the given server.
There could be multiple matches returned as there are several possible matches in the Compatibility data.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHclHostsCompatibilityReportServerCompatibility" + } + }, + "model_compatibility": { + "description": "Shows if the server model is compatible with given target ESXi release.", + "$ref": "#/components/schemas/EsxHclCompatibilityStatus" + } + }, + "required": [ + "server", + "matches", + "model_compatibility" + ] + }, + "EsxHclHostsCompatibilityReportSpec": { + "type": "object", + "properties": { + "release": { + "description": "A target ESXi release which will be used to generate a compatibility report. Releases that can be used to generate report can be found using {@link esx.hcl.hosts.CompatibilityReleases#list}", + "type": "string" + } + }, + "required": [ + "release" + ] + }, + "EsxHclNotification": { + "type": "object", + "properties": { + "id": { + "description": "The notification id.", + "type": "string" + }, + "time": { + "description": "The time the notification was raised/found.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "The notification message.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + }, + "resolution": { + "description": "The resolution message, if any.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "required": [ + "id", + "time", + "message" + ] + }, + "EsxHclNotifications": { + "type": "object", + "properties": { + "info": { + "description": "Info notification messages reported.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHclNotification" + } + }, + "warnings": { + "description": "Warning notification messages reported.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHclNotification" + } + }, + "errors": { + "description": "Error notification messages reported.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHclNotification" + } + } + } + }, + "EsxHclPCIDevice": { + "type": "object", + "properties": { + "pci_address": { + "description": "The device's address in a given ESXi host.", + "type": "string" + }, + "vid": { + "description": "A unique number assigned to each computer hardware device that helps to identify the chipset manufacturer. For example, Dell, Broadcom, etc.", + "type": "string" + }, + "did": { + "description": "A unique number that identifies the specific device of the Vendor (VID).", + "type": "string" + }, + "svid": { + "description": "A unique number that identifies the card manufacturer.", + "type": "string" + }, + "ssid": { + "description": "A unique number that identifies the specific device of Subsystem Vendor (SVID).", + "type": "string" + }, + "vendor": { + "description": "The name of the vendor.", + "type": "string" + }, + "model_name": { + "description": "The name of the device model.", + "type": "string" + }, + "class_code": { + "description": "Register that specifies the type of function the device performs.", + "type": "string" + }, + "sub_class_code": { + "description": "Register that specifies the specific function the device performs.", + "type": "string" + }, + "driver": { + "description": "Currently installed driver used by the device.", + "$ref": "#/components/schemas/EsxHclDriver" + }, + "firmware": { + "description": "Currently installed firmware used by the device.", + "$ref": "#/components/schemas/EsxHclFirmware" + }, + "used_by_vsan": { + "description": "Shows whether the device is part of VSAN cluster or not.", + "type": "boolean" + } + }, + "required": [ + "pci_address", + "vid", + "did", + "svid", + "ssid", + "vendor", + "model_name", + "class_code", + "sub_class_code", + "driver", + "used_by_vsan" + ] + }, + "EsxHclReportsLocation": { + "type": "object", + "properties": { + "url": { + "description": "Compatibility report download URL.", + "type": "string", + "format": "uri" + }, + "report_token": { + "description": "Information about the token required in the HTTP GET request to download the compatibility report.", + "$ref": "#/components/schemas/EsxHclReportsToken" + } + }, + "required": [ + "url", + "report_token" + ] + }, + "EsxHclReportsToken": { + "type": "object", + "properties": { + "token": { + "description": "A one-time, short-lived token required in the HTTP header of the request to the url. This token needs to be passed in as a header with the name \"session-id\".", + "type": "string", + "format": "password" + }, + "expiry": { + "description": "Expiry time of the token", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "token", + "expiry" + ] + }, + "EsxHclServer": { + "type": "object", + "properties": { + "model_name": { + "description": "The name of the server model (for example, \"PowerEdge R740xd\").", + "type": "string" + }, + "vendor": { + "description": "The name of the vendor (for example, \"Dell\").", + "type": "string" + }, + "cpu_series": { + "description": "The CPU series name (for example, \"Intel Xeon Gold 6100/5100, Silver 4100, Bronze 3100 (Skylake-SP) Series\").
Note: This {@term field} is initialized with the CPU model name; it's updated to the actual CPU series later, based on recognizing one of the CPU series the server hardware is certified with in the VCG.s", + "type": "string" + }, + "cpu_features": { + "description": "The current CPU features.", + "type": "string" + }, + "bios": { + "description": "Currently installed BIOS of the server.", + "$ref": "#/components/schemas/EsxHclFirmware" + } + }, + "required": [ + "model_name", + "vendor", + "cpu_series", + "cpu_features", + "bios" + ] + }, + "EsxHostsNotification": { + "type": "object", + "properties": { + "id": { + "description": "The notification id.", + "type": "string" + }, + "time": { + "description": "The time the notification was raised/found.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "The notification message.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + }, + "resolution": { + "description": "The resolution message, if any.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "required": [ + "id", + "time", + "message" + ] + }, + "EsxHostsNotifications": { + "type": "object", + "properties": { + "info": { + "description": "Info notification messages reported.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHostsNotification" + } + }, + "warnings": { + "description": "Warning notification messages reported.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHostsNotification" + } + }, + "errors": { + "description": "Error notification messages reported.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxHostsNotification" + } + } + } + }, + "EsxHostsSoftwareConnectionSpec": { + "type": "object", + "properties": { + "auth_type": { + "description": "Specifies what type of authentication ({@enum.values AuthenticationType}) is to be used when connecting with the host. USERNAME_PASSWORD is intended to be used when connecting to a host that is not currently part of the vCenter inventory. EXISTING is intented for hosts that are in vCenter inventory, in which case, HostServiceTicket will be used to connect to the host.", + "$ref": "#/components/schemas/EsxHostsSoftwareConnectionSpecAuthenticationType" + }, + "host_credential": { + "description": "Specifies the host details to be used during the {@link esx.hosts.Software#get} {@term operation}", + "$ref": "#/components/schemas/EsxHostsSoftwareHostCredentials" + }, + "host": { + "description": "Specifies the host Managed Object ID to be used during the {@link esx.hosts.Software#get} {@term operation}", + "type": "string" + } + }, + "required": [ + "auth_type" + ] + }, + "EsxHostsSoftwareConnectionSpecAuthenticationType": { + "type": "string", + "description": "The {@name AuthenticationType} {@term enumerated type} defines the possible types of authentication supported when connecting to the host.", + "enum": [ + "USERNAME_PASSWORD", + "EXISTING" + ] + }, + "EsxHostsSoftwareHostCredentials": { + "type": "object", + "properties": { + "host_name": { + "description": "The IP address or DNS resolvable name of the host.", + "type": "string" + }, + "user_name": { + "description": "Specifies the username to be used during the {@link esx.hosts.Software#get} {@term operation}", + "type": "string" + }, + "password": { + "description": "Specifies the password to be used during the {@link esx.hosts.Software#get} {@term operation}", + "type": "string", + "format": "password" + }, + "port": { + "description": "Specifies the port number of the host to be used during {@link esx.hosts.Software#get} {@term operation}", + "type": "integer", + "format": "int64" + }, + "ssl_thumb_print": { + "description": "Specifies the sslThumbPrint of the host to be used during {@link esx.hosts.Software#get} {@term operation} SHA1 hash of the host's SSL certificate.", + "type": "string" + } + }, + "required": [ + "host_name", + "user_name", + "password" + ] + }, + "EsxHostsSoftwareInfo": { + "type": "object", + "properties": { + "notifications": { + "description": "Notifications returned by the get operation.", + "$ref": "#/components/schemas/EsxHostsNotifications" + }, + "software_info": { + "description": "Host software information returned by the get operation.", + "$ref": "#/components/schemas/EsxHostsSoftwareInfo" + } + }, + "required": [ + "notifications", + "software_info" + ] + }, + "EsxHostsSoftwareInstalledComponentsInstalledComponentInfo": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the component.", + "type": "string" + }, + "version": { + "description": "Version of the installed component", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the component.", + "type": "string" + } + }, + "required": [ + "display_name", + "version", + "display_version" + ] + }, + "EsxSettingsAddOnCompliance": { + "type": "object", + "properties": { + "status": { + "description": "Compliance status of the OEM add-on.", + "$ref": "#/components/schemas/EsxSettingsComplianceStatus" + }, + "current": { + "description": "Current OEM add-on present on the host.", + "$ref": "#/components/schemas/EsxSettingsAddOnInfo" + }, + "target": { + "description": "Target OEM add-on present in the software specification.", + "$ref": "#/components/schemas/EsxSettingsAddOnInfo" + }, + "notifications": { + "description": "Notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "notifications" + ] + }, + "EsxSettingsAddOnDetails": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the OEM add-on.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the OEM add-on.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the OEM add-on.", + "type": "string" + } + }, + "required": [ + "display_name", + "vendor", + "display_version" + ] + }, + "EsxSettingsAddOnInfo": { + "type": "object", + "properties": { + "details": { + "description": "Details about the add-on.", + "$ref": "#/components/schemas/EsxSettingsAddOnDetails" + }, + "name": { + "description": "Name of the add-on", + "type": "string" + }, + "version": { + "description": "Version of the add-on", + "type": "string" + } + }, + "required": [ + "name", + "version" + ] + }, + "EsxSettingsAddOnSpec": { + "type": "object", + "properties": { + "name": { + "description": "Name of the add-on", + "type": "string" + }, + "version": { + "description": "Version of the add-on", + "type": "string" + } + }, + "required": [ + "name", + "version" + ] + }, + "EsxSettingsBaseImageCompliance": { + "type": "object", + "properties": { + "status": { + "description": "Compliance status of the base image.", + "$ref": "#/components/schemas/EsxSettingsComplianceStatus" + }, + "current": { + "description": "Current base image information on the host.", + "$ref": "#/components/schemas/EsxSettingsBaseImageInfo" + }, + "target": { + "description": "Target base image information present in the software specification.", + "$ref": "#/components/schemas/EsxSettingsBaseImageInfo" + }, + "notifications": { + "description": "Notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "current", + "target", + "notifications" + ] + }, + "EsxSettingsBaseImageDetails": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the base-image.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the base-image.", + "type": "string" + }, + "release_date": { + "description": "Release date of the base-image.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "display_name", + "display_version", + "release_date" + ] + }, + "EsxSettingsBaseImageInfo": { + "type": "object", + "properties": { + "details": { + "description": "Details about the base-image.", + "$ref": "#/components/schemas/EsxSettingsBaseImageDetails" + }, + "version": { + "description": "Version of the base-image", + "type": "string" + } + }, + "required": [ + "version" + ] + }, + "EsxSettingsBaseImageSpec": { + "type": "object", + "properties": { + "version": { + "description": "Version of the base-image", + "type": "string" + } + }, + "required": [ + "version" + ] + }, + "EsxSettingsClusterCompliance": { + "type": "object", + "properties": { + "impact": { + "description": "Overall impact.", + "$ref": "#/components/schemas/EsxSettingsComplianceImpact" + }, + "status": { + "description": "Overall compliance state of the host.", + "$ref": "#/components/schemas/EsxSettingsComplianceStatus" + }, + "notifications": { + "description": "Notifications returned by the scan operation.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + }, + "scan_time": { + "description": "Scan completion time.", + "type": "string", + "format": "date-time" + }, + "commit": { + "description": "Identifier of the commit on which the scan is run to generate this result.", + "type": "string" + }, + "compliant_hosts": { + "description": "Identifiers of compliant hosts.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "non_compliant_hosts": { + "description": "Identifiers of non-compliant hosts.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "incompatible_hosts": { + "description": "Identifiers of incompatible hosts.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "unavailable_hosts": { + "description": "Identifiers of unavailable hosts. There will not be compliance details for these hosts in {@link #hosts}.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "hosts": { + "description": "Mapping from host identifier to the compliance information for the host.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHostCompliance" + } + }, + "host_info": { + "description": "Auxillary information about the hosts. This gives some additional information about the hosts referenced in this result.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHostInfo" + } + } + }, + "required": [ + "impact", + "status", + "notifications", + "scan_time", + "compliant_hosts", + "non_compliant_hosts", + "incompatible_hosts", + "unavailable_hosts", + "hosts", + "host_info" + ] + }, + "EsxSettingsClustersDepotOverridesAdd": { + "$ref": "#/components/schemas/EsxSettingsClustersDepotOverridesDepot", + "description": "Information of a depot override." + }, + "EsxSettingsClustersDepotOverridesDepot": { + "type": "object", + "properties": { + "location": { + "description": "Location of the depot override. This could be a location of zip file or location to an index.xml file.", + "type": "string", + "format": "uri" + } + }, + "required": [ + "location" + ] + }, + "EsxSettingsClustersDepotOverridesInfo": { + "type": "object", + "properties": { + "depots": { + "description": "List of the depot overrides.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersDepotOverridesDepot" + } + } + }, + "required": [ + "depots" + ] + }, + "EsxSettingsClustersDepotOverridesRemove": { + "$ref": "#/components/schemas/EsxSettingsClustersDepotOverridesDepot", + "description": "Information of the depot override to be removed." + }, + "EsxSettingsClustersEnablementSoftwareCheckSpec": { + "type": "object", + "properties": { + "checks_to_skip": { + "description": "Specifies the checks that should be skipped. If the {@term set} is empty, all checks will be performed.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersEnablementSoftwareCheckType" + } + } + }, + "required": [ + "checks_to_skip" + ] + }, + "EsxSettingsClustersEnablementSoftwareCheckTask": { + "$ref": "#/components/schemas/EsxSettingsClustersEnablementSoftwareCheckSpec", + "description": "Check specification." + }, + "EsxSettingsClustersEnablementSoftwareCheckType": { + "type": "string", + "description": "The {@name CheckType} {@term enumerated type} contains various checks to identify the possibility to enable the feature that manages the cluster with a single software specification.", + "enum": [ + "SOFTWARE", + "VERSION", + "STATELESSNESS", + "VUM_REMEDIATION", + "SOFTWARE_SPECIFICATION_EXISTENCE", + "VSAN_WITNESS_ELIGIBILITY" + ] + }, + "EsxSettingsClustersEnablementSoftwareEnableSpec": { + "type": "object", + "properties": { + "skip_software_check": { + "description": "Skip {@link CheckType#SOFTWARE} check during feature enablement.", + "type": "boolean" + } + }, + "required": [ + "skip_software_check" + ] + }, + "EsxSettingsClustersEnablementSoftwareEnableTask": { + "$ref": "#/components/schemas/EsxSettingsClustersEnablementSoftwareEnableSpec", + "description": "Enablement specification." + }, + "EsxSettingsClustersEnablementSoftwareInfo": { + "type": "object", + "properties": { + "enabled": { + "description": "Status of the feature enablement True if feature is enabled, false otherwise", + "type": "boolean" + } + }, + "required": [ + "enabled" + ] + }, + "EsxSettingsClustersPoliciesApplyConfiguredPolicySpec": { + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on a given host of the cluster.", + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplyFailureAction" + }, + "pre_remediation_power_action": { + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.", + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplyConfiguredPolicySpecPreRemediationPowerAction" + }, + "enable_quick_boot": { + "description": "Enable Quick Boot during remediation in the cluster.", + "type": "boolean" + }, + "disable_dpm": { + "description": "Disable DPM on the cluster.", + "type": "boolean" + }, + "disable_hac": { + "description": "Disable HA Admission control on the cluster.", + "type": "boolean" + }, + "evacuate_offline_vms": { + "description": "Evacuate powered off/suspended VMs when attempting maintenance mode.", + "type": "boolean" + }, + "enforce_hcl_validation": { + "description": "Enforce Hcl validation, when applicable, to prevent remediation if hardware compatibility issues are found.", + "type": "boolean" + } + } + }, + "EsxSettingsClustersPoliciesApplyConfiguredPolicySpecPreRemediationPowerAction": { + "type": "string", + "description": "The {@name PreRemediationPowerAction} {@term enumerated type} defines the possible actions to be taken, before entering maintenance mode.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "EsxSettingsClustersPoliciesApplyEffectiveEffectivePolicySpec": { + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on a given host of the cluster.", + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplyEffectiveFailureAction" + }, + "pre_remediation_power_action": { + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.", + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplyEffectiveEffectivePolicySpecPreRemediationPowerAction" + }, + "enable_quick_boot": { + "description": "Enable Quick Boot during remediation in the cluster.", + "type": "boolean" + }, + "disable_dpm": { + "description": "Disable DPM on the cluster.", + "type": "boolean" + }, + "disable_hac": { + "description": "Disable HA Admission control on the cluster.", + "type": "boolean" + }, + "evacuate_offline_vms": { + "description": "Evacuate powered off/suspended VMs when attempting maintenance mode.", + "type": "boolean" + }, + "enforce_hcl_validation": { + "description": "Enforce Hcl validation, when applicable, to prevent remediation if hardware compatibility issues are found.", + "type": "boolean" + } + }, + "required": [ + "failure_action", + "pre_remediation_power_action", + "enable_quick_boot", + "disable_dpm", + "disable_hac", + "evacuate_offline_vms" + ] + }, + "EsxSettingsClustersPoliciesApplyEffectiveEffectivePolicySpecPreRemediationPowerAction": { + "type": "string", + "description": "The {@name PreRemediationPowerAction} {@term enumerated type} defines the possible actions to be taken, before entering maintenance mode.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "EsxSettingsClustersPoliciesApplyEffectiveFailureAction": { + "type": "object", + "properties": { + "action": { + "description": "What action ({@enum.values Action}) is to be taken if entering maintenance mode fails on a single host within the cluster.", + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplyEffectiveFailureActionAction" + }, + "retry_delay": { + "description": "Time to wait to retry the failed operation in seconds.", + "type": "integer", + "format": "int64" + }, + "retry_count": { + "description": "Number of times to retry the failed operation.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "action" + ] + }, + "EsxSettingsClustersPoliciesApplyEffectiveFailureActionAction": { + "type": "string", + "description": "The {@name Action} {@term enumerated type} defines the actions to be taken when entering maintenance mode fails on a single host within the cluster.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "EsxSettingsClustersPoliciesApplyFailureAction": { + "type": "object", + "properties": { + "action": { + "description": "What action ({@enum.values Action}) is to be taken if entering maintenance mode fails on a single host within the cluster.", + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplyFailureActionAction" + }, + "retry_delay": { + "description": "Time to wait to retry the failed operation in seconds.", + "type": "integer", + "format": "int64" + }, + "retry_count": { + "description": "Number of times to retry the failed operation.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "action" + ] + }, + "EsxSettingsClustersPoliciesApplyFailureActionAction": { + "type": "string", + "description": "The {@name Action} {@term enumerated type} defines the actions to be taken when entering maintenance mode fails on a single host within the cluster.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "EsxSettingsClustersPoliciesApplySet": { + "$ref": "#/components/schemas/EsxSettingsClustersPoliciesApplyConfiguredPolicySpec", + "description": "The policy that needs to be configured." + }, + "EsxSettingsClustersSoftwareApplySpec": { + "type": "object", + "properties": { + "commit": { + "description": "The minimum commit identifier of the desired software document to be used during the {@link esx.settings.clusters.Software#apply} {@term operation}.", + "type": "string" + }, + "hosts": { + "description": "The specific hosts within the cluster to be considered during the {@link esx.settings.clusters.Software#apply} {@term operation}.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "accept_eula": { + "description": "Accept the VMware End User License Agreement (EULA) before starting the {@link esx.settings.clusters.Software#apply} {@term operation}. The VMware EULA is available for download at, https://www.vmware.com/download/eula.html", + "type": "boolean" + } + } + }, + "EsxSettingsClustersSoftwareApplyTask": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareApplySpec", + "description": "Apply specification." + }, + "EsxSettingsClustersSoftwareCheckSpec": { + "type": "object", + "properties": { + "commit": { + "description": "The minimum commit identifier of the desired software document to be used during the check {@term operation}.", + "type": "string" + }, + "hosts": { + "description": "The specific hosts for which checks need to be performed", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "EsxSettingsClustersSoftwareCheckTask": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareCheckSpec", + "description": "Check specification." + }, + "EsxSettingsClustersSoftwareCommitsInfo": { + "type": "object", + "properties": { + "author": { + "description": "Author of the commit.", + "type": "string" + }, + "commit_time": { + "description": "Creation time of the commit.", + "type": "string", + "format": "date-time" + }, + "description": { + "description": "Description accompanying this commit.", + "type": "string" + }, + "apply_status": { + "description": "Apply status of the commit.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareCommitsInfoApplyStatusType" + } + }, + "required": [ + "author", + "commit_time", + "description", + "apply_status" + ] + }, + "EsxSettingsClustersSoftwareCommitsInfoApplyStatusType": { + "type": "string", + "description": "The {@name ApplyStatusType} {@term structure} defines possible values regarding the application of this commit.", + "enum": [ + "APPLIED", + "NOT_APPLIED" + ] + }, + "EsxSettingsClustersSoftwareDraftsCommitSpec": { + "type": "object", + "properties": { + "message": { + "description": "Message to include with the commit.", + "type": "string" + } + } + }, + "EsxSettingsClustersSoftwareDraftsCommitTask": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsCommitSpec", + "description": "The spec to be used to create the commit." + }, + "EsxSettingsClustersSoftwareDraftsFilterSpec": { + "type": "object", + "properties": { + "owners": { + "description": "Owners of the drafts.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "EsxSettingsClustersSoftwareDraftsImportSoftwareSpec": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsImportSpec", + "description": "Specification to import desired software specification." + }, + "EsxSettingsClustersSoftwareDraftsImportSpec": { + "type": "object", + "properties": { + "source_type": { + "description": "Type of the source to import the desired software specification", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsSourceType" + }, + "location": { + "description": "Location of the software specification file to be imported.", + "type": "string", + "format": "uri" + }, + "file_id": { + "description": "File identifier returned by the file upload endpoint after file is uploaded.", + "type": "string" + }, + "software_spec": { + "description": "The JSON string representing the desired software specification.", + "type": "string" + } + }, + "required": [ + "source_type" + ] + }, + "EsxSettingsClustersSoftwareDraftsInfo": { + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the software draft.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsMetadata" + }, + "software": { + "description": "Software specification associated with the draft.", + "$ref": "#/components/schemas/EsxSettingsSoftwareInfo" + } + }, + "required": [ + "metadata", + "software" + ] + }, + "EsxSettingsClustersSoftwareDraftsMetadata": { + "type": "object", + "properties": { + "owner": { + "description": "Owner of the software draft.", + "type": "string" + }, + "status": { + "description": "Status of the software draft.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsStatusType" + }, + "creation_time": { + "description": "Creation time of the software draft.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "owner", + "status", + "creation_time" + ] + }, + "EsxSettingsClustersSoftwareDraftsSoftwareAddOnSet": { + "$ref": "#/components/schemas/EsxSettingsAddOnSpec", + "description": "AddOn specification." + }, + "EsxSettingsClustersSoftwareDraftsSoftwareBaseImageSet": { + "$ref": "#/components/schemas/EsxSettingsBaseImageSpec", + "description": "Base-image specification." + }, + "EsxSettingsClustersSoftwareDraftsSoftwareComponentsSet": { + "required": false, + "type": "string", + "description": "Component version." + }, + "EsxSettingsClustersSoftwareDraftsSoftwareComponentsUpdate": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsSoftwareComponentsUpdateSpec", + "description": "Update specification containing list of components to add and/or delete." + }, + "EsxSettingsClustersSoftwareDraftsSoftwareComponentsUpdateSpec": { + "type": "object", + "properties": { + "components_to_set": { + "description": "List of components to be updated. If the component already exists in the draft, the version is updated, else it is added. If a component is provided without version, then its version will be chosen based on constraints in the system.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "components_to_delete": { + "description": "List of components to be removed.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "EsxSettingsClustersSoftwareDraftsSoftwareHardwareSupportSet": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportSpec", + "description": "new Hardware Support Package (HSP) configuration for the cluster" + }, + "EsxSettingsClustersSoftwareDraftsSourceType": { + "type": "string", + "description": "The {@name SourceType} {@term enumerated type} defines possible values of sources to import software specification.", + "enum": [ + "PULL", + "PUSH", + "JSON_STRING", + "LATEST_RECOMMENDATION", + "CURRENT_SERIES_RECOMMENDATION", + "SPECIFIED_BASE_IMAGE_RECOMMENDATION" + ] + }, + "EsxSettingsClustersSoftwareDraftsStatusType": { + "type": "string", + "description": "The {@name StatusType} {@term enumerated type} defines possible values of status of a software draft.", + "enum": [ + "VALID", + "INVALID" + ] + }, + "EsxSettingsClustersSoftwareDraftsSummary": { + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the software draft.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareDraftsMetadata" + } + }, + "required": [ + "metadata" + ] + }, + "EsxSettingsClustersSoftwareExport": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareExportSpec", + "description": "" + }, + "EsxSettingsClustersSoftwareExportSpec": { + "type": "object", + "properties": { + "export_software_spec": { + "description": "Whether to export software specification document.", + "type": "boolean" + }, + "export_iso_image": { + "description": "Whether to export ISO image.", + "type": "boolean" + }, + "export_offline_bundle": { + "description": "Whether to export offline bundle.", + "type": "boolean" + } + }, + "required": [ + "export_software_spec", + "export_iso_image", + "export_offline_bundle" + ] + }, + "EsxSettingsClustersSoftwareRecommendationsExplanationDetails": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of an excluded image entity (base image, add-on etc.).", + "type": "string" + }, + "display_version": { + "description": "Display version of an excluded image entity (base image, add-on etc.).", + "type": "string" + }, + "explanation": { + "description": "List of explanations on why the image entity is excluded.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + } + }, + "required": [ + "display_name", + "display_version", + "explanation" + ] + }, + "EsxSettingsClustersSoftwareRecommendationsFilterSpec": { + "type": "object", + "properties": { + "base_image_version": { + "description": "Base image version string is used in generating the specified base image recommendations. Default recommendations are generated when the value is empty.", + "type": "string" + } + } + }, + "EsxSettingsClustersSoftwareRecommendationsGenerateTask": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareRecommendationsFilterSpec", + "description": "Specification on how to filter recommendations based on a specified base image version." + }, + "EsxSettingsClustersSoftwareRecommendationsInfo": { + "type": "object", + "properties": { + "latest_recommendation": { + "description": "Recommended image specification based on latest base image version.", + "$ref": "#/components/schemas/EsxSettingsSoftwareInfo" + }, + "current_series_recommendation": { + "description": "Recommended image specification based on latest base image patch or update of the current series.", + "$ref": "#/components/schemas/EsxSettingsSoftwareInfo" + }, + "specified_base_image_version_recommendation": { + "description": "Recommended image specification based on a specified base image version.", + "$ref": "#/components/schemas/EsxSettingsSoftwareInfo" + }, + "base_image_explanation_details": { + "description": "Details about why some base images are excluded in latest and current series recommendations. This is not applicable for specified base image recommendations.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareRecommendationsExplanationDetails" + } + }, + "check_time": { + "description": "The most recent timestamp when check for recommended image is launched.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "base_image_explanation_details" + ] + }, + "EsxSettingsClustersSoftwareReportsApplyImpactApplyImpactSpec": { + "type": "object", + "properties": { + "hosts": { + "description": "The specific hosts for which an impact is to be generated.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "EsxSettingsClustersSoftwareReportsApplyImpactClusterImpact": { + "type": "object", + "properties": { + "impact": { + "description": "Impact of steps performed during the setup and cleanup phase of the apply {@term operation}.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsApplyImpactImpact" + } + }, + "host_impact": { + "description": "Impact summary for each host within the clsuter.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsApplyImpactImpact" + } + } + }, + "commit": { + "description": "Identifier of the commit on which the impact is generated.", + "type": "string" + }, + "host_info": { + "description": "Information of hosts within the cluster.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHostInfo" + } + } + }, + "required": [ + "impact", + "host_impact", + "commit", + "host_info" + ] + }, + "EsxSettingsClustersSoftwareReportsApplyImpactImpact": { + "type": "object", + "properties": { + "message": { + "description": "Description of the impact.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "required": [ + "message" + ] + }, + "EsxSettingsClustersSoftwareReportsCheckResult": { + "type": "object", + "properties": { + "status": { + "description": "Overall compliance status of Cluster with respective to all hosts in the cluster.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsComplianceStatus" + }, + "scan_time": { + "description": "HCL Validation check time.", + "type": "string", + "format": "date-time" + }, + "updated_since_last_check": { + "description": "Flag to indicate if there were any hardware compatibility overrides were performed after the last check {@term operation}.", + "type": "boolean" + }, + "v_san_data_only": { + "description": "HCL Validation Computed only for vSAN Clusters.", + "type": "boolean" + }, + "commit": { + "description": "Spec Identifier of the desired configuration on which the HCL scan is performed to generate this result, populated by the HCL validation.", + "type": "string" + }, + "base_image_version": { + "description": "Target base image version E.g., version = BaseImageSpec->Version {@link esx.settings.BaseImageSpec#version} {@term structure}", + "type": "string" + }, + "pci_device_compliance": { + "description": "Compliance result for the Pci Devices that are present in all hosts of the cluster.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsPciDeviceCompliance" + }, + "storage_device_compliance": { + "description": "Compliance result for storage devices in all the hosts of the cluster. Currently only includes SAS/SATA storage devices.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsStorageDeviceCompliance" + }, + "notifications": { + "description": "Notifications returned by the HCL Validation operation.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + }, + "note": { + "description": "Localizable disclaimer notice to show on the UI detailing the type of checks are done by the HCL Validaiton. Example : HCL Validation is only done on storage and network controllers.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "required": [ + "status", + "scan_time", + "base_image_version", + "notifications", + "note" + ] + }, + "EsxSettingsClustersSoftwareReportsComplianceStatus": { + "type": "string", + "description": "The {@name ComplianceStatus} {@term enumerated type} contains the possible different status of compliance with respect to target version.", + "enum": [ + "COMPATIBLE", + "INCOMPATIBLE", + "HCL_DATA_UNAVAILABLE", + "UNAVAILABLE", + "NO_FIRMWARE_PROVIDER" + ] + }, + "EsxSettingsClustersSoftwareReportsComplianceStatusDetail": { + "type": "string", + "description": "The {@name ComplianceStatusDetail} {@term enumerated type} contains the essential status values for compliance with respect to target VMware Compatibility Guide (VCG)", + "enum": [ + "CERTIFIED", + "NOT_CERTIFIED", + "HCL_DATA_UNAVAILABLE", + "HOSTS_UNAVAILABLE", + "FIRMWARE_VERSION_UNKNOWN", + "UNKNOWN", + "VENDOR_UPDATE", + "USER_VERIFIED", + "USER_FLAGGED", + "MUTED" + ] + }, + "EsxSettingsClustersSoftwareReportsDriverFirmwareVersion": { + "type": "object", + "properties": { + "driver_version": { + "description": "Driver Version.", + "type": "string" + }, + "firmware_version": { + "description": "Firmware Version. This will be an empty string if the target firmware version cannot be determined.", + "type": "string" + }, + "driver_name": { + "description": "Driver Name.", + "type": "string" + } + }, + "required": [ + "driver_version", + "firmware_version", + "driver_name" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityCheckSummary": { + "type": "object", + "properties": { + "status": { + "description": "Overall compliance status of the cluster with respective to all hosts in the cluster.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityComplianceStatus" + }, + "scan_time": { + "description": "HCL Validation check time.", + "type": "string", + "format": "date-time" + }, + "commit": { + "description": "Spec Identifier of the desired configuration on which the HCL scan is performed to generate this result, populated by the HCL validation.", + "type": "string" + }, + "base_image_version": { + "description": "Target base image version E.g., version = BaseImageSpec->Version {@link esx.settings.BaseImageSpec#version} {@term structure}", + "type": "string" + }, + "summary_result": { + "description": "Over all Compliance result for cluster for the software specification.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + }, + "notifications": { + "description": "Notifications returned by the HCL Validation operation.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "scan_time", + "base_image_version", + "summary_result", + "notifications" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityComplianceStatus": { + "type": "string", + "description": "The {@name ComplianceStatus} {@term enumerated type} contains the possible different status of compliance with respect to target version.", + "enum": [ + "COMPATIBLE", + "INCOMPATIBLE", + "HCL_DATA_UNAVAILABLE", + "UNAVAILABLE", + "NO_FIRMWARE_PROVIDER" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusComplianceAction": { + "type": "string", + "description": "The {@name ComplianceAction} {@term enumerated type} enumerates the possible compliance status overrides for a storage device.", + "enum": [ + "MARK_AS_VERIFIED", + "FLAG_AS_INCOMPATIBLE", + "SUPPRESS_WARNING" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusKey": { + "type": "object", + "properties": { + "model": { + "description": "", + "type": "string" + }, + "vendor": { + "description": "", + "type": "string" + }, + "capacity": { + "description": "", + "type": "integer", + "format": "int64" + }, + "part_number": { + "description": "storage device part number", + "type": "string" + }, + "firmware_version": { + "description": "storage device firmware version", + "type": "string" + }, + "release": { + "description": "vSphere release that an override must be applied to.", + "type": "string" + } + }, + "required": [ + "model", + "vendor", + "capacity" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusReclassificationSpec": { + "type": "object", + "properties": { + "key": { + "description": "Information about the storage device for which this override must be applied to.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusKey" + }, + "override": { + "description": "Compliance status override for the stroage device.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusComplianceAction" + } + }, + "required": [ + "key" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusUpdateSpec": { + "type": "object", + "properties": { + "device_reclassifications": { + "description": "List of compatibility overrides to be applied for the storage devices in a cluster.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusReclassificationSpec" + } + } + }, + "required": [ + "device_reclassifications" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusUpdateTask": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesComplianceStatusUpdateSpec", + "description": "Specification for updating the compliance status overrides for storage devices in a cluster." + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesKey": { + "type": "object", + "properties": { + "model": { + "description": "", + "type": "string" + }, + "vendor": { + "description": "", + "type": "string" + }, + "capacity": { + "description": "", + "type": "integer", + "format": "int64" + }, + "part_number": { + "description": "storage device part number", + "type": "string" + }, + "firmware_version": { + "description": "storage device firmware version", + "type": "string" + } + }, + "required": [ + "model", + "vendor", + "capacity" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesProductSelectionSpec": { + "type": "object", + "properties": { + "key": { + "description": "Information about the storage device for which this override must be applied to.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesKey" + }, + "vcg_product": { + "description": "VMware Compatibility Guide (VCG) product selection that must be applied to the specified storage device.", + "type": "string" + } + }, + "required": [ + "key" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesUpdateSpec": { + "type": "object", + "properties": { + "product_selections": { + "description": "List of VMware Compatibility Guide (VCG) overrides to be applied for the storage devices in a cluster.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesProductSelectionSpec" + } + } + }, + "required": [ + "product_selections" + ] + }, + "EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesUpdateTask": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesUpdateSpec", + "description": "Specification for updating the compatibility overrides for the cluster." + }, + "EsxSettingsClustersSoftwareReportsLastApplyResultApplyResult": { + "type": "object", + "properties": { + "status": { + "description": "Specifies the aggregated status of the apply {@term operation}.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastApplyResultApplyStatus" + }, + "commit": { + "description": "The identifier of the commit used to fetch the desired software document to be applied to all hosts within the cluster.", + "type": "string" + }, + "host_info": { + "description": "Information of the hosts in this cluster to which the desired software document specified by the {@link #commit} should be applied to.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHostInfo" + } + }, + "host_status": { + "description": "Status of the hosts in this cluster to which the desired software document specified by the {@link #commit} was applied to. Hosts on which the apply {@term operation} was sucessful are specified by {@link #successfulHosts}. Hosts on which the apply {@term operation} failed are specified by {@link #failedHosts}. Hosts which were skipped by the apply {@term operation} are specified by {@link #skippedHosts}.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastApplyResultApplyStatus" + } + }, + "successful_hosts": { + "description": "Hosts in this cluster to which the desired software document specified by the {@link #commit} has been successfully applied to.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "failed_hosts": { + "description": "Hosts in this cluster to which the desired software document specified by the {@link #commit} failed to be applied to.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "skipped_hosts": { + "description": "Hosts in this cluster that were skipped by the apply {@term operation}.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "notifications": { + "description": "Notifications providing additional information for {@link esx.settings.clusters.Software#apply} {@term operation}. These notifications are mutually exclusive with the notifications in {@name ApplyStatus}.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "commit", + "host_info", + "host_status", + "successful_hosts", + "failed_hosts", + "skipped_hosts" + ] + }, + "EsxSettingsClustersSoftwareReportsLastApplyResultApplyStatus": { + "type": "object", + "properties": { + "status": { + "description": "The status of the {@term operation}.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastApplyResultApplyStatusStatus" + }, + "progress": { + "description": "Progress of the operation.", + "$ref": "#/components/schemas/CisTaskProgress" + }, + "start_time": { + "description": "Time when the {@term operation} started.", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "Time when the {@term operation} completed.", + "type": "string", + "format": "date-time" + }, + "notifications": { + "description": "Notifications providing additional information about the status of the {@term operation}.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "start_time", + "end_time", + "notifications" + ] + }, + "EsxSettingsClustersSoftwareReportsLastApplyResultApplyStatusStatus": { + "type": "string", + "description": "The {@name Status} {@term enumerated type} contains the possible different status codes that can be returned while trying to apply the desired software specification to hosts within the cluster.", + "enum": [ + "OK", + "SKIPPED", + "TIMED_OUT", + "ERROR", + "RETRY_PENDING" + ] + }, + "EsxSettingsClustersSoftwareReportsLastCheckResultCheckInfo": { + "type": "object", + "properties": { + "check": { + "description": "The check identifier.", + "type": "string" + }, + "name": { + "description": "The check name.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + }, + "description": { + "description": "Human-readable check description.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "required": [ + "check", + "name", + "description" + ] + }, + "EsxSettingsClustersSoftwareReportsLastCheckResultCheckResult": { + "type": "object", + "properties": { + "status": { + "description": "Aggregated status from all checks performed.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastCheckResultStatus" + }, + "start_time": { + "description": "Time when the operation started.", + "type": "string", + "format": "date-time" + }, + "end_time": { + "description": "Time when the operation completed.", + "type": "string", + "format": "date-time" + }, + "commit": { + "description": "The identifier of the commit on which checks have been run.", + "type": "string" + }, + "host_info": { + "description": "Information about the hosts in this cluster for which checks have been requested to be run.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHostInfo" + } + }, + "entity_results": { + "description": "List of {@name EntityCheckResult} for all entities for which checks have been run.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastCheckResultEntityCheckResult" + } + } + }, + "required": [ + "status", + "start_time", + "end_time", + "commit", + "host_info", + "entity_results" + ] + }, + "EsxSettingsClustersSoftwareReportsLastCheckResultCheckStatus": { + "type": "object", + "properties": { + "check": { + "description": "Information about this check.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastCheckResultCheckInfo" + }, + "status": { + "description": "The status of this check.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastCheckResultStatus" + }, + "issues": { + "description": "The issues encountered while running this check.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + } + }, + "required": [ + "check", + "status", + "issues" + ] + }, + "EsxSettingsClustersSoftwareReportsLastCheckResultEntityCheckResult": { + "type": "object", + "properties": { + "type": { + "description": "The entity type for which these checks are being run.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastCheckResultEntityCheckResultEntityType" + }, + "cluster": { + "description": "If the entity type is CLUSTER then the cluster identifier for which the checks have been run.", + "type": "string" + }, + "host": { + "description": "If the entity type is HOST then the host identifier for which the checks have been run.", + "type": "string" + }, + "status": { + "description": "Aggregated status from all checks performed on this entity.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastCheckResultStatus" + }, + "check_statuses": { + "description": "List of {@name CheckStatus} for all checks performed.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsLastCheckResultCheckStatus" + } + } + }, + "required": [ + "type", + "status", + "check_statuses" + ] + }, + "EsxSettingsClustersSoftwareReportsLastCheckResultEntityCheckResultEntityType": { + "type": "string", + "description": "The {@name EntityType} {@term enumerated type} contains the entitites on which checks can be performed.", + "enum": [ + "CLUSTER", + "HOST" + ] + }, + "EsxSettingsClustersSoftwareReportsLastCheckResultStatus": { + "type": "string", + "description": "The {@name Status} {@term enumerated type} defines the status result for a particular check.", + "enum": [ + "OK", + "WARNING", + "TIMEOUT", + "ERROR" + ] + }, + "EsxSettingsClustersSoftwareReportsPciDevice": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the device.", + "type": "string" + }, + "driver_name": { + "description": "Driver Name of the device.", + "type": "string" + }, + "vendor": { + "description": "Vendor Name of the device.", + "type": "string" + }, + "vid": { + "description": "PCI VID of the device.", + "type": "string" + }, + "did": { + "description": "PCI DID of the device.", + "type": "string" + }, + "svid": { + "description": "PCI SVID of the device.", + "type": "string" + }, + "ssid": { + "description": "PCI SSID of the device.", + "type": "string" + } + }, + "required": [ + "display_name", + "driver_name", + "vendor", + "vid", + "did", + "svid", + "ssid" + ] + }, + "EsxSettingsClustersSoftwareReportsPciDeviceCompliance": { + "type": "object", + "properties": { + "status": { + "description": "Over all Compliance status of PCI Devices in Cluster with respective to all hosts in the cluster.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsComplianceStatus" + }, + "compatible_devices": { + "description": "Compatible Device Compliance result for all devices present on all hosts in the cluster compared with the corresponding component in the software specification. The key is the DeviceName and value is the PciDeviceComplianceInfo object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsPciDeviceComplianceInfo" + } + }, + "incompatible_devices": { + "description": "Incompatible Device Compliance result for all devices present on all hosts in the cluster compared with the corresponding component in the software specification. The key is the DeviceName and value is the PciDeviceComplianceInfo object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsPciDeviceComplianceInfo" + } + }, + "incompatible_driver_firmware": { + "description": "Incompatible Driver Firmware combination Compliance result for all devices present on hosts in the cluster compared with the corresponding component in the software specification. The key is the DeviceName and value is the PciDeviceComplianceInfo object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsPciDeviceComplianceInfo" + } + } + }, + "required": [ + "status", + "compatible_devices", + "incompatible_devices", + "incompatible_driver_firmware" + ] + }, + "EsxSettingsClustersSoftwareReportsPciDeviceComplianceInfo": { + "type": "object", + "properties": { + "status": { + "description": "Compliance status of the device.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsComplianceStatus" + }, + "device": { + "description": "Pci Device Details", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsPciDevice" + }, + "compatible_versions": { + "description": "List of vSphere Versions compatible for this device. This field is populated only for device found INCOMPATIBLE", + "type": "array", + "items": { + "type": "string" + } + }, + "host_info": { + "description": "Affected List of Host IDs where this device is found.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHostInfo" + } + }, + "target": { + "description": "Driver and Firmware Version from Image Specification.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsDriverFirmwareVersion" + }, + "supported": { + "description": "List of Supported Driver and Firmware Version combination from Harware Compatibility List.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsDriverFirmwareVersion" + } + }, + "compatibility_guide_link": { + "description": "Provides link to the VMware Compatibility Guide for further information on the compatibility.", + "type": "string", + "format": "uri" + }, + "notifications": { + "description": "Device Specific notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "device", + "compatible_versions", + "host_info", + "target", + "supported" + ] + }, + "EsxSettingsClustersSoftwareReportsStorageDeviceCompatibility": { + "type": "object", + "properties": { + "status": { + "description": "Compliance status of the storage device, when computed based on this VMware Compatibility Guide (VCG) listing.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsComplianceStatus" + }, + "compatible_versions": { + "description": "List of vSphere Versions compatible for this storage device.", + "type": "array", + "items": { + "type": "string" + } + }, + "supported_firmware_versions": { + "description": "List of minimum firmware versions supported from VMware Compatibility Guide (VCG) listing for the given vSphere version.", + "type": "array", + "items": { + "type": "string" + } + }, + "vcg_product": { + "description": "Identifier of the VMware Compatibility Guide (VCG) listing for the product.", + "type": "string" + }, + "model": { + "description": "Model name of the storage device as listed in the VMware Compatibility Guide (VCG) listing. This may not be the same as the {@link StorageDeviceInfo#model}", + "type": "string" + }, + "partner": { + "description": "OEM partner name of the storage device as listed in the VMware Compatibility Guide (VCG) listing.", + "type": "string" + }, + "compatibility_guide_link": { + "description": "Provides link to the VMware Compatibility Guide (VCG) listing for further information on the compatibility.", + "type": "string", + "format": "uri" + }, + "used_for_compliance": { + "description": "Flag to indicate whether this VMware compatibility Guide (VCG) listing was used to compute the overall compatibility of the storage device.", + "type": "boolean" + }, + "user_selected": { + "description": "Flag to indicate if the user has selected this VMware Compatibility Guide (VCG) listing to be considered to compute the overall compatibility of the storage device.", + "type": "boolean" + }, + "notifications": { + "description": "VMware compatibility Guide (VCG) listing specific notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "vcg_product", + "model", + "partner", + "compatibility_guide_link", + "used_for_compliance", + "user_selected" + ] + }, + "EsxSettingsClustersSoftwareReportsStorageDeviceCompliance": { + "type": "object", + "properties": { + "status": { + "description": "Overall compliance status of storage devices in the cluster with respect to all hosts in the cluster.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsComplianceStatus" + }, + "compatible_devices": { + "description": "Lists compliance information for storage devices found to be compliant with VMware Compatibility Guide (VCG) during the last check {@term operation}.
Note that complianceStatus of every device is not necessarily COMPATIBLE due to changes made after this check was run; entries are only rearranged when a new check {@term operation} is invoked. {@link lastOverrideTime} being greater than the {@link scanTime} is an indication that there were changes made after the last check {@term operation}", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsStorageDeviceComplianceInfo" + } + }, + "incompatible_devices": { + "description": "Lists compliance information for storage devices found to be non-compliant with VMware Compatibility Guide (VCG) during the last check {@term operation}.
Note that complianceStatus of every device is not necessarily INCOMPATIBLE due to changes made after this check was run; entries are only rearranged when a new check {@term operation} is invoked. {@link lastOverrideTime} being greater than the {@link scanTime} is an indication that there were changes made after the last check {@term operation}", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsStorageDeviceComplianceInfo" + } + }, + "unknown_devices": { + "description": "Lists storage devices whose compliance information could not be computed successfully during the last check {@term operation}.
Note that complianceStatus of every device is not necessarily UNAVAILABLE due to changes made after this check was run; entries are only rearranged when a new check {@term operation} is invoked. {@link lastOverrideTime} being greater than the {@link scanTime} is an indication that there were changes made after the last check {@term operation}", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsStorageDeviceComplianceInfo" + } + }, + "notifications": { + "description": "Storage device compliance specific notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "compatible_devices", + "incompatible_devices", + "unknown_devices" + ] + }, + "EsxSettingsClustersSoftwareReportsStorageDeviceComplianceInfo": { + "type": "object", + "properties": { + "storage_device_info": { + "description": "Information of the storage device.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsStorageDeviceInfo" + }, + "status": { + "description": "Compliance status of the storage device. When there are multiple possible VMware Compatibility Guide (VCG) matches for the storage device, the compliance status would be set to {@link ComplianceStatus#UNAVAILABLE} Each match found would be listed under {@link StorageDeviceComplianceInfo#matches} with the corresponding compliance status of the storage device if compared against the constraints specified in the match.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsComplianceStatus" + }, + "detail": { + "description": "Detailed compliance status of the storage device.", + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsComplianceStatusDetail" + }, + "host_info": { + "description": "Affected List of Host IDs where this device is found.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHostInfo" + } + }, + "firmware_version": { + "description": "Firmware version on the storage device.", + "type": "string" + }, + "matches": { + "description": "Provides information about possible compatibility matches for the given storage device.
There could be multiple possible matches available in the compatibility data.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsClustersSoftwareReportsStorageDeviceCompatibility" + } + }, + "used_by_vsan": { + "description": "Indicates if the storage device is in use by vSAN. When this flag is set to true, the hardware compatibility is computed against vSAN HCL constraints.", + "type": "boolean" + }, + "notifications": { + "description": "Device Specific notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "storage_device_info", + "status", + "detail", + "host_info", + "matches", + "used_by_vsan" + ] + }, + "EsxSettingsClustersSoftwareReportsStorageDeviceInfo": { + "type": "object", + "properties": { + "model": { + "description": "Storage device model", + "type": "string" + }, + "vendor": { + "description": "Storage device vendor", + "type": "string" + }, + "part_number": { + "description": "Hardware part number of the storage device", + "type": "string" + }, + "capacity": { + "description": "Capacity of the storage device in bytes", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "model", + "vendor", + "capacity" + ] + }, + "EsxSettingsClustersSoftwareSolutionsSetTask": { + "$ref": "#/components/schemas/EsxSettingsSolutionSpec", + "description": "Registered solution specification." + }, + "EsxSettingsComplianceImpact": { + "type": "string", + "description": "The {@name ComplianceImpact} {@term enumerated type} contains information about the impact of applying the target state in case of non compliance.", + "enum": [ + "NO_IMPACT", + "MAINTENANCE_MODE_REQUIRED", + "REBOOT_REQUIRED", + "UNKNOWN" + ] + }, + "EsxSettingsComplianceStatus": { + "type": "string", + "description": "The {@name ComplianceStatus} {@term enumerated type} contains the possible different status of compliance with respect to target version.", + "enum": [ + "COMPLIANT", + "NON_COMPLIANT", + "INCOMPATIBLE", + "UNAVAILABLE" + ] + }, + "EsxSettingsComponentCompliance": { + "type": "object", + "properties": { + "status": { + "description": "Compliance status of the component.", + "$ref": "#/components/schemas/EsxSettingsComplianceStatus" + }, + "current": { + "description": "Current version of the component present on the host.", + "$ref": "#/components/schemas/EsxSettingsComponentInfo" + }, + "target": { + "description": "Target version of the component present in the software specification.", + "$ref": "#/components/schemas/EsxSettingsComponentInfo" + }, + "current_source": { + "description": "Source of the component on the host.", + "$ref": "#/components/schemas/EsxSettingsComponentSource" + }, + "target_source": { + "description": "Source of the component in the software specification.", + "$ref": "#/components/schemas/EsxSettingsComponentSource" + }, + "notifications": { + "description": "Notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "notifications" + ] + }, + "EsxSettingsComponentDetails": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the component.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the component.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the component.", + "type": "string" + } + }, + "required": [ + "display_name", + "vendor" + ] + }, + "EsxSettingsComponentInfo": { + "type": "object", + "properties": { + "version": { + "description": "Version of the component.", + "type": "string" + }, + "details": { + "description": "Details about the component.", + "$ref": "#/components/schemas/EsxSettingsComponentDetails" + } + } + }, + "EsxSettingsComponentOverrideInfo": { + "type": "object", + "properties": { + "version": { + "description": "Version of the component override.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the component override.", + "type": "string" + }, + "source": { + "description": "Source of the component override.", + "$ref": "#/components/schemas/EsxSettingsComponentSource" + }, + "note": { + "description": "Note explaining the override.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "required": [ + "version", + "display_version", + "source", + "note" + ] + }, + "EsxSettingsComponentSource": { + "type": "string", + "description": "The {@name ComponentSource} {@term enumerated type} contains the component's source information.", + "enum": [ + "BASE_IMAGE", + "ADD_ON", + "USER", + "SOLUTION", + "HARDWARE_SUPPORT_PACKAGE" + ] + }, + "EsxSettingsDefaultsClustersPoliciesApplyConfiguredPolicySpec": { + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on a given host of the cluster.", + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplyFailureAction" + }, + "pre_remediation_power_action": { + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.", + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplyConfiguredPolicySpecPreRemediationPowerAction" + }, + "enable_quick_boot": { + "description": "Enable Quick Boot during remediation in the cluster.", + "type": "boolean" + }, + "disable_dpm": { + "description": "Disable DPM on the cluster.", + "type": "boolean" + }, + "disable_hac": { + "description": "Disable HA Admission control on the cluster.", + "type": "boolean" + }, + "evacuate_offline_vms": { + "description": "Evacuate powered off/suspended VMs when attempting maintenance mode.", + "type": "boolean" + }, + "enforce_hcl_validation": { + "description": "Enforce Hcl validation, when applicable, to prevent remediation if hardware compatibility issues are found.", + "type": "boolean" + } + } + }, + "EsxSettingsDefaultsClustersPoliciesApplyConfiguredPolicySpecPreRemediationPowerAction": { + "type": "string", + "description": "The {@name PreRemediationPowerAction} {@term enumerated type} defines the possible actions to be taken on VMs before entering maintenance mode.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "EsxSettingsDefaultsClustersPoliciesApplyEffectiveEffectivePolicySpec": { + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on a given host of the cluster.", + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplyEffectiveFailureAction" + }, + "pre_remediation_power_action": { + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.", + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplyEffectiveEffectivePolicySpecPreRemediationPowerAction" + }, + "enable_quick_boot": { + "description": "Enable Quick Boot during remediation in the cluster.", + "type": "boolean" + }, + "disable_dpm": { + "description": "Disable DPM on the cluster.", + "type": "boolean" + }, + "disable_hac": { + "description": "Disable HA Admission control on the cluster.", + "type": "boolean" + }, + "evacuate_offline_vms": { + "description": "Evacuate powered off/suspended VMs when attempting maintenance mode.", + "type": "boolean" + }, + "enforce_hcl_validation": { + "description": "Enforce Hcl validation, when applicable, to prevent remediation if hardware compatibility issues are found.", + "type": "boolean" + } + }, + "required": [ + "failure_action", + "pre_remediation_power_action", + "enable_quick_boot", + "disable_dpm", + "disable_hac", + "evacuate_offline_vms" + ] + }, + "EsxSettingsDefaultsClustersPoliciesApplyEffectiveEffectivePolicySpecPreRemediationPowerAction": { + "type": "string", + "description": "The {@name PreRemediationPowerAction} {@term enumerated type} defines the possible actions to be taken, before entering maintenance mode.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "EsxSettingsDefaultsClustersPoliciesApplyEffectiveFailureAction": { + "type": "object", + "properties": { + "action": { + "description": "What action ({@enum.values Action}) is to be taken if entering maintenance mode fails on a single host within the cluster.", + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplyEffectiveFailureActionAction" + }, + "retry_delay": { + "description": "Time to wait to retry the failed operation in seconds.", + "type": "integer", + "format": "int64" + }, + "retry_count": { + "description": "Number of times to retry the failed operation.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "action" + ] + }, + "EsxSettingsDefaultsClustersPoliciesApplyEffectiveFailureActionAction": { + "type": "string", + "description": "The {@name Action} {@term enumerated type} defines the actions to be taken when entering maintenance mode fails on a single host within the cluster.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "EsxSettingsDefaultsClustersPoliciesApplyFailureAction": { + "type": "object", + "properties": { + "action": { + "description": "What action ({@enum.values Action}) is to be taken if entering maintenance mode fails on a single host within the cluster.", + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplyFailureActionAction" + }, + "retry_delay": { + "description": "Time to wait to retry the failed operation in seconds.", + "type": "integer", + "format": "int64" + }, + "retry_count": { + "description": "Number of times to retry the failed operation.", + "type": "integer", + "format": "int64" + } + }, + "required": [ + "action" + ] + }, + "EsxSettingsDefaultsClustersPoliciesApplyFailureActionAction": { + "type": "string", + "description": "The {@name Action} {@term enumerated type} defines the actions to be taken when entering maintenance mode fails on a single host within the cluster.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "EsxSettingsDefaultsClustersPoliciesApplySet": { + "$ref": "#/components/schemas/EsxSettingsDefaultsClustersPoliciesApplyConfiguredPolicySpec", + "description": "The policy that needs to be configured." + }, + "EsxSettingsDepotContentAddOnsAddOnVersionSummary": { + "type": "object", + "properties": { + "version": { + "description": "Version of the OEM add-on.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the OEM add-on.", + "type": "string" + }, + "summary": { + "description": "Summary of the OEM add-on version.", + "type": "string" + }, + "category": { + "description": "Category of the OEM add-on version.", + "$ref": "#/components/schemas/EsxSettingsDepotContentAddOnsCategoryType" + }, + "kb": { + "description": "Link to kb article related to this the OEM add-on version.", + "type": "string", + "format": "uri" + }, + "release_date": { + "description": "Release date of the OEM add-on version.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "version", + "display_version", + "summary", + "category", + "kb", + "release_date" + ] + }, + "EsxSettingsDepotContentAddOnsCategoryType": { + "type": "string", + "description": "The {@name CategoryType} {@term enumerated type} defines possible values of categories for a OEM add-on.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX" + ] + }, + "EsxSettingsDepotContentAddOnsFilterSpec": { + "type": "object", + "properties": { + "vendors": { + "description": "Vendors that an add-on must have to match the filter.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "names": { + "description": "Names that an add-on must have to match the filter.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "versions": { + "description": "Versions that an add-on must have to match the filter.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "min_version": { + "description": "Minimum version of an add-on that can match the filter.", + "type": "string" + } + } + }, + "EsxSettingsDepotContentAddOnsSummary": { + "type": "object", + "properties": { + "name": { + "description": "Name of the OEM add-on.", + "type": "string" + }, + "display_name": { + "description": "Display name of the OEM add-on.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the OEM add-on.", + "type": "string" + }, + "versions": { + "description": "Summary information about the versions of this addon. These are sorted by the version.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotContentAddOnsAddOnVersionSummary" + } + } + }, + "required": [ + "name", + "display_name", + "vendor", + "versions" + ] + }, + "EsxSettingsDepotContentAddOnsVersionsCategoryType": { + "type": "string", + "description": "The {@name CategoryType} {@term enumerated type} defines possible values of categories for a OEM add-on.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX" + ] + }, + "EsxSettingsDepotContentAddOnsVersionsComponentInfo": { + "type": "object", + "properties": { + "name": { + "description": "Identifier of the component.", + "type": "string" + }, + "display_name": { + "description": "Display name of the component.", + "type": "string" + }, + "version": { + "description": "Version of the component.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the OEM add-on.", + "type": "string" + } + }, + "required": [ + "name", + "display_name", + "version", + "display_version" + ] + }, + "EsxSettingsDepotContentAddOnsVersionsInfo": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the OEM add-on.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the OEM add-on.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the OEM add-on.", + "type": "string" + }, + "summary": { + "description": "Summary of the OEM add-on.", + "type": "string" + }, + "description": { + "description": "Discription of the OEM add-on.", + "type": "string" + }, + "category": { + "description": "Category of the OEM add-on.", + "$ref": "#/components/schemas/EsxSettingsDepotContentAddOnsVersionsCategoryType" + }, + "kb": { + "description": "Link to kb article related to this the OEM add-on.", + "type": "string", + "format": "uri" + }, + "release_date": { + "description": "Release date of the OEM add-on.", + "type": "string", + "format": "date-time" + }, + "components": { + "description": "List of components in this OEM add-on.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotContentAddOnsVersionsComponentInfo" + } + }, + "removed_components": { + "description": "List of components removed by this OEM add-on.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotContentAddOnsVersionsRemovedComponentInfo" + } + } + }, + "required": [ + "display_name", + "vendor", + "display_version", + "summary", + "description", + "category", + "kb", + "release_date", + "components", + "removed_components" + ] + }, + "EsxSettingsDepotContentAddOnsVersionsRemovedComponentInfo": { + "type": "object", + "properties": { + "name": { + "description": "Identifier of the component.", + "type": "string" + }, + "display_name": { + "description": "Display name of the component.", + "type": "string" + } + }, + "required": [ + "name", + "display_name" + ] + }, + "EsxSettingsDepotContentBaseImagesCategoryType": { + "type": "string", + "description": "The {@name CategoryType} {@term enumerated type} defines possible values of categories for a base-image.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX" + ] + }, + "EsxSettingsDepotContentBaseImagesFilterSpec": { + "type": "object", + "properties": { + "min_version": { + "description": "Minimum version of a base-image that can match the filter.", + "type": "string" + } + } + }, + "EsxSettingsDepotContentBaseImagesSummary": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the base-image.", + "type": "string" + }, + "version": { + "description": "Version of the base-image.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the base-image.", + "type": "string" + }, + "summary": { + "description": "Summary of the base-image.", + "type": "string" + }, + "category": { + "description": "Category of the base-image.", + "$ref": "#/components/schemas/EsxSettingsDepotContentBaseImagesCategoryType" + }, + "kb": { + "description": "Link to kb article related to this the base-image.", + "type": "string", + "format": "uri" + }, + "release_date": { + "description": "Release date of the base-image.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "display_name", + "version", + "display_version", + "summary", + "category", + "kb", + "release_date" + ] + }, + "EsxSettingsDepotContentBaseImagesVersionsCategoryType": { + "type": "string", + "description": "The {@name CategoryType} {@term enumerated type} defines possible values of categories for a base-image.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX" + ] + }, + "EsxSettingsDepotContentBaseImagesVersionsComponentVersionInfo": { + "type": "object", + "properties": { + "name": { + "description": "Identifier of the component.", + "type": "string" + }, + "display_name": { + "description": "Display name of the component.", + "type": "string" + }, + "version": { + "description": "Version of the component.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the base-image.", + "type": "string" + } + }, + "required": [ + "name", + "display_name", + "version", + "display_version" + ] + }, + "EsxSettingsDepotContentBaseImagesVersionsInfo": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the base-image.", + "type": "string" + }, + "version": { + "description": "Version of the base-image.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the base-image.", + "type": "string" + }, + "summary": { + "description": "Summary of the base-image.", + "type": "string" + }, + "description": { + "description": "Discription of the base-image.", + "type": "string" + }, + "category": { + "description": "Category of the base-image.", + "$ref": "#/components/schemas/EsxSettingsDepotContentBaseImagesVersionsCategoryType" + }, + "kb": { + "description": "Link to kb article related to this the base-image.", + "type": "string", + "format": "uri" + }, + "release_date": { + "description": "Release date of the base-image.", + "type": "string", + "format": "date-time" + }, + "components": { + "description": "List of components in this base-image.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotContentBaseImagesVersionsComponentVersionInfo" + } + } + }, + "required": [ + "display_name", + "version", + "display_version", + "summary", + "description", + "category", + "kb", + "release_date", + "components" + ] + }, + "EsxSettingsDepotContentComponentsCategoryType": { + "type": "string", + "description": "The {@name CategoryType} {@term enumerated type} defines possible values of categories for a component.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX", + "RECALL", + "RECALL_FIX", + "INFO", + "MISC", + "GENERAL" + ] + }, + "EsxSettingsDepotContentComponentsComponentBundleType": { + "type": "string", + "enum": [ + "INDEPENDENT", + "BASE_IMAGE", + "ADD_ON" + ] + }, + "EsxSettingsDepotContentComponentsComponentVersionSummary": { + "type": "object", + "properties": { + "version": { + "description": "Version of the component.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the component.", + "type": "string" + }, + "summary": { + "description": "Summary of the component version.", + "type": "string" + }, + "category": { + "description": "Category of the component version.", + "$ref": "#/components/schemas/EsxSettingsDepotContentComponentsCategoryType" + }, + "urgency": { + "description": "Urgency of the component version.", + "$ref": "#/components/schemas/EsxSettingsDepotContentComponentsUrgencyType" + }, + "kb": { + "description": "Link to kb article related to this the component version.", + "type": "string", + "format": "uri" + }, + "release_date": { + "description": "Release date of the component version.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "version", + "display_version", + "summary", + "category", + "urgency", + "kb", + "release_date" + ] + }, + "EsxSettingsDepotContentComponentsFilterSpec": { + "type": "object", + "properties": { + "vendors": { + "description": "Vendors that a component must have to match the filter.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "names": { + "description": "Names that a component must have to match the filter.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "versions": { + "description": "Versions that a component must have to match the filter.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "min_version": { + "description": "Minimum version of the component that can match the filter.", + "type": "string" + }, + "bundle_types": { + "description": "Component bundle types that a component must have to match the filter.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotContentComponentsComponentBundleType" + } + } + } + }, + "EsxSettingsDepotContentComponentsSummary": { + "type": "object", + "properties": { + "name": { + "description": "Name of the Component.", + "type": "string" + }, + "display_name": { + "description": "Display name of the component.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the component.", + "type": "string" + }, + "versions": { + "description": "Summary information about the versions of this component. These are sorted by the version.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotContentComponentsComponentVersionSummary" + } + } + }, + "required": [ + "name", + "display_name", + "vendor", + "versions" + ] + }, + "EsxSettingsDepotContentComponentsUrgencyType": { + "type": "string", + "description": "The {@name UrgencyType} {@term enumerated type} defines possible values of urgencies for a component.", + "enum": [ + "CRITICAL", + "IMPORTANT", + "MODERATE", + "LOW", + "GENERAL" + ] + }, + "EsxSettingsDepotContentComponentsVersionsCategoryType": { + "type": "string", + "description": "The {@name CategoryType} {@term enumerated type} defines possible values of categories for a component.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX", + "RECALL", + "RECALL_FIX", + "INFO", + "MISC", + "GENERAL" + ] + }, + "EsxSettingsDepotContentComponentsVersionsInfo": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the component.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the component.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the component.", + "type": "string" + }, + "summary": { + "description": "Summary of the component version.", + "type": "string" + }, + "description": { + "description": "Discription of the component version.", + "type": "string" + }, + "category": { + "description": "Category of the component version.", + "$ref": "#/components/schemas/EsxSettingsDepotContentComponentsVersionsCategoryType" + }, + "urgency": { + "description": "Urgency of the component version.", + "$ref": "#/components/schemas/EsxSettingsDepotContentComponentsVersionsUrgencyType" + }, + "kb": { + "description": "Link to kb article related to this the component version.", + "type": "string", + "format": "uri" + }, + "contact": { + "description": "Contact email for the component version.", + "type": "string" + }, + "release_date": { + "description": "Release date of the component version.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "display_name", + "vendor", + "display_version", + "summary", + "description", + "category", + "urgency", + "kb", + "contact", + "release_date" + ] + }, + "EsxSettingsDepotContentComponentsVersionsUrgencyType": { + "type": "string", + "description": "The {@name UrgencyType} {@term enumerated type} defines possible values of urgencies for a component.", + "enum": [ + "CRITICAL", + "IMPORTANT", + "MODERATE", + "LOW", + "GENERAL" + ] + }, + "EsxSettingsDepotsAddonSummary": { + "type": "object", + "properties": { + "display_name": { + "description": "Human readable name of the addon.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the addon.", + "type": "string" + }, + "versions": { + "description": "Different versions of the addon.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotsAddonVersion" + } + } + }, + "required": [ + "display_name", + "vendor", + "versions" + ] + }, + "EsxSettingsDepotsAddonVersion": { + "type": "object", + "properties": { + "version": { + "description": "Version of the addon.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the addon.", + "type": "string" + } + }, + "required": [ + "version", + "display_version" + ] + }, + "EsxSettingsDepotsBaseImageVersion": { + "type": "object", + "properties": { + "version": { + "description": "Version of the base image.", + "type": "string" + }, + "display_name": { + "description": "Human readable name of the base image.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the base image.", + "type": "string" + } + }, + "required": [ + "version", + "display_name", + "display_version" + ] + }, + "EsxSettingsDepotsComponentSummary": { + "type": "object", + "properties": { + "display_name": { + "description": "Human readable name of the component.", + "type": "string" + }, + "versions": { + "description": "Different versions of the component.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotsComponentVersion" + } + } + }, + "required": [ + "display_name", + "versions" + ] + }, + "EsxSettingsDepotsComponentVersion": { + "type": "object", + "properties": { + "version": { + "description": "Version of the component.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the component.", + "type": "string" + } + }, + "required": [ + "version", + "display_version" + ] + }, + "EsxSettingsDepotsHardwareSupportManagerSummary": { + "type": "object", + "properties": { + "display_name": { + "description": "UI label for HSM, derived from HSM extension's description's 'label' field.", + "type": "string" + }, + "packages": { + "description": "Different hardware support packages (HSP) published by the HSM. The key is name of HSP.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsDepotsHardwareSupportPackageSummary" + } + } + }, + "required": [ + "display_name", + "packages" + ] + }, + "EsxSettingsDepotsHardwareSupportPackageSummary": { + "type": "object", + "properties": { + "versions": { + "description": "Different versions of the HSP.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotsHardwareSupportPackageVersion" + } + } + }, + "required": [ + "versions" + ] + }, + "EsxSettingsDepotsHardwareSupportPackageVersion": { + "type": "object", + "properties": { + "version": { + "description": "Version of the HSP.", + "type": "string" + } + }, + "required": [ + "version" + ] + }, + "EsxSettingsDepotsMetadataInfo": { + "type": "object", + "properties": { + "file_name": { + "description": "File name of the metadata bundle.", + "type": "string" + }, + "base_images": { + "description": "All the base images contained in the metadata bundle.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotsBaseImageVersion" + } + }, + "addons": { + "description": "All the addons contained in the metadata bundle. The key is name of addon.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsDepotsAddonSummary" + } + }, + "solutions": { + "description": "All the solutions contained in the metadata bundle. The key is name of solution.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsDepotsSolutionSummary" + } + }, + "hardware_support": { + "description": "All the HSMs and their HSPs contained in the metadata bundle. The key is name of HSM.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsDepotsHardwareSupportManagerSummary" + } + }, + "independent_components": { + "description": "All the independent components contained in the metadata bundle. The components belongs to other base images, addons, solutions and hardware support packages are not counted. The ksy is name of component.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsDepotsComponentSummary" + } + }, + "updates": { + "description": "All the updates (bulletins) contained in the metadata bundle. They key is identifier of the update (bulletin). The value is summary of the update (bulletin).", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsDepotsUpdateSummary" + } + } + }, + "required": [ + "file_name" + ] + }, + "EsxSettingsDepotsOfflineConnectionSpec": { + "type": "object", + "properties": { + "auth_type": { + "description": "Specifies what type of authentication ({@enum.values AuthenticationType}) is to be used when connecting with the host. USERNAME_PASSWORD is intended to be used when connecting to a host that is not currently part of the vCenter inventory. EXISTING is intented for hosts that are in vCenter inventory, in which case, HostServiceTicket will be used to connect to the host.", + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineConnectionSpecAuthenticationType" + }, + "host_credential": { + "description": "Specifies the host details to be used during the {@link Offline#createFromHost} {@term operation}.", + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineHostCredentials" + }, + "host": { + "description": "Specifies the host Managed Object ID to be used during the {@link Offline#createFromHost} {@term operation}.", + "type": "string" + } + }, + "required": [ + "auth_type" + ] + }, + "EsxSettingsDepotsOfflineConnectionSpecAuthenticationType": { + "type": "string", + "description": "The {@name AuthenticationType} {@term enumerated type} defines the possible types of authentication supported when connecting to the host.", + "enum": [ + "USERNAME_PASSWORD", + "EXISTING" + ] + }, + "EsxSettingsDepotsOfflineContentInfo": { + "type": "object", + "properties": { + "metadata_bundles": { + "description": "A list of metadata bundles contained in the depot. The key is vendor of metadata bundle.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotsMetadataInfo" + } + } + } + }, + "required": [ + "metadata_bundles" + ] + }, + "EsxSettingsDepotsOfflineCreateFromHostTask": { + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineConnectionSpec", + "description": "ConnectionSpec connection spec for the host." + }, + "EsxSettingsDepotsOfflineCreateSpec": { + "type": "object", + "properties": { + "description": { + "description": "Description of the depot.", + "type": "string" + }, + "source_type": { + "description": "Type of the source from which offline bundle is obtained.", + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineSourceType" + }, + "location": { + "description": "Location of the depot from which content should be retrieved.", + "type": "string", + "format": "uri" + }, + "file_id": { + "description": "File identifier returned by the file upload endpoint after file is uploaded.", + "type": "string" + }, + "ownerdata": { + "description": "Private data saved by the {@link Info#owner} of the depot. It is opaque to vLCM.", + "type": "string" + } + }, + "required": [ + "source_type" + ] + }, + "EsxSettingsDepotsOfflineCreateTask": { + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineCreateSpec", + "description": "Specification to import an offline depot." + }, + "EsxSettingsDepotsOfflineHostCredentials": { + "type": "object", + "properties": { + "host_name": { + "description": "The IP address or DNS resolvable name of the host.", + "type": "string" + }, + "user_name": { + "description": "Specifies the username to be used during the {@link Offline#createFromHost} {@term operation}.", + "type": "string" + }, + "password": { + "description": "Specifies the password to be used during the {@link Offline#createFromHost} {@term operation}.", + "type": "string", + "format": "password" + }, + "port": { + "description": "Specifies the port number of the host to be used during {@link Offline#createFromHost} {@term operation}.", + "type": "integer", + "format": "int64" + }, + "ssl_thumb_print": { + "description": "Specifies the sslThumbPrint of the host to be used during {@link Offline#createFromHost} {@term operation} SHA1 hash of the host's SSL certificate.", + "type": "string" + } + }, + "required": [ + "host_name", + "user_name", + "password" + ] + }, + "EsxSettingsDepotsOfflineInfo": { + "type": "object", + "properties": { + "description": { + "description": "Description of the depot. If not set during import, it will be empty.", + "type": "string" + }, + "source_type": { + "description": "Type of the source from which offline depot is obtained.", + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineSourceType" + }, + "location": { + "description": "Location of the depot from which content is retrieved.", + "type": "string", + "format": "uri" + }, + "file_id": { + "description": "File identifier returned by the file upload endpoint after file is uploaded.", + "type": "string" + }, + "create_time": { + "description": "Time when the depot was created.", + "type": "string", + "format": "date-time" + }, + "owner": { + "description": "Name of the user creating the depot.", + "type": "string" + }, + "ownerdata": { + "description": "Private data saved by the {@name #owner} of depot. It is opaque to vLCM.", + "type": "string" + } + }, + "required": [ + "description", + "source_type", + "create_time" + ] + }, + "EsxSettingsDepotsOfflineSourceType": { + "type": "string", + "description": "The {@name SourceType} {@term enumerated type} defines possible values of sources for the offline depot.", + "enum": [ + "PULL", + "PUSH" + ] + }, + "EsxSettingsDepotsOfflineSummary": { + "type": "object", + "properties": { + "description": { + "description": "Description of the depot. If not set during import, it will be empty.", + "type": "string" + }, + "source_type": { + "description": "Type of the source from which offline depot is obtained.", + "$ref": "#/components/schemas/EsxSettingsDepotsOfflineSourceType" + }, + "location": { + "description": "Location of the depot from which content is retrieved.", + "type": "string", + "format": "uri" + }, + "file_id": { + "description": "File identifier returned by the file upload endpoint after file is uploaded.", + "type": "string" + }, + "owner": { + "description": "Name of the user creating the depot.", + "type": "string" + }, + "ownerdata": { + "description": "Private data saved by the {@name #owner} of depot. It is opaque to vLCM.", + "type": "string" + } + }, + "required": [ + "description", + "source_type" + ] + }, + "EsxSettingsDepotsOnlineContentInfo": { + "type": "object", + "properties": { + "metadata_bundles": { + "description": "A list of metadata bundles contained in the depot. The key is vendor of metadata bundle.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotsMetadataInfo" + } + } + } + }, + "required": [ + "metadata_bundles" + ] + }, + "EsxSettingsDepotsOnlineCreate": { + "$ref": "#/components/schemas/EsxSettingsDepotsOnlineCreateSpec", + "description": "Depot information." + }, + "EsxSettingsDepotsOnlineCreateSpec": { + "type": "object", + "properties": { + "description": { + "description": "Description of the depot.", + "type": "string" + }, + "location": { + "description": "Location of the depot. It should be the location to the index.xml for the depot.", + "type": "string", + "format": "uri" + }, + "enabled": { + "description": "Flag indicating whether this depot is enabled or not. Disabling the depot doesn't delete its cached metadata and payloads. It will not be refreshed next time depots are re-synced.", + "type": "boolean" + }, + "ownerdata": { + "description": "Private data saved by the {@link Info#owner} of the depot. It is opaque to vLCM.", + "type": "string" + } + }, + "required": [ + "location" + ] + }, + "EsxSettingsDepotsOnlineInfo": { + "type": "object", + "properties": { + "description": { + "description": "Description of the depot. It will be an empty string if no description was provided during create.", + "type": "string" + }, + "location": { + "description": "Location of the depot.", + "type": "string", + "format": "uri" + }, + "enabled": { + "description": "Flag indicating whether this depot is enabled or not.", + "type": "boolean" + }, + "system_defined": { + "description": "Flag to indicate if the depot is system defined. System defined depot can not be deleted.", + "type": "boolean" + }, + "owner": { + "description": "Name of the user creating the depot.", + "type": "string" + }, + "ownerdata": { + "description": "Private data saved by the {@name #owner} of depot. It is opaque to vLCM.", + "type": "string" + } + }, + "required": [ + "description", + "location", + "enabled", + "system_defined" + ] + }, + "EsxSettingsDepotsOnlineSummary": { + "type": "object", + "properties": { + "description": { + "description": "Description of the depot. It will be an empty string if no description was provided during create.", + "type": "string" + }, + "location": { + "description": "Location of the depot.", + "type": "string", + "format": "uri" + }, + "enabled": { + "description": "Flag indicating whether this depot is enabled or not.", + "type": "boolean" + }, + "system_defined": { + "description": "Flag to indicate if the depot is system defined. System defined depot can not be deleted.", + "type": "boolean" + }, + "owner": { + "description": "Name of the user creating the depot.", + "type": "string" + }, + "ownerdata": { + "description": "Private data saved by the {@name #owner} of depot. It is opaque to vLCM.", + "type": "string" + } + }, + "required": [ + "description", + "location", + "enabled", + "system_defined" + ] + }, + "EsxSettingsDepotsOnlineUpdate": { + "$ref": "#/components/schemas/EsxSettingsDepotsOnlineUpdateSpec", + "description": "Update specification." + }, + "EsxSettingsDepotsOnlineUpdateSpec": { + "type": "object", + "properties": { + "enabled": { + "description": "Flag indicating whether this depot is enabled or not. Disabling the depot doesn't delete its cached metadata and payloads. It will not be refreshed next time depots are re-synced.", + "type": "boolean" + }, + "description": { + "description": "Description of the depot.", + "type": "string" + } + } + }, + "EsxSettingsDepotsSolutionSummary": { + "type": "object", + "properties": { + "display_name": { + "description": "Human readable name of the solution.", + "type": "string" + }, + "versions": { + "description": "Different versions of the solution.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotsSolutionVersion" + } + } + }, + "required": [ + "display_name", + "versions" + ] + }, + "EsxSettingsDepotsSolutionVersion": { + "type": "object", + "properties": { + "version": { + "description": "Version of the solution.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the solution.", + "type": "string" + } + }, + "required": [ + "version", + "display_version" + ] + }, + "EsxSettingsDepotsSyncScheduleDayOfWeek": { + "type": "string", + "description": "The {@name DayOfWeek} {@term enumerated type} contains the supported days of the week.", + "enum": [ + "SUNDAY", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY" + ] + }, + "EsxSettingsDepotsSyncScheduleRecurrence": { + "type": "string", + "description": "The {@name Recurrence} {@term enumerated type} contains the supported values for how often to sync from online or UMDS depots.", + "enum": [ + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY_BY_DAY" + ] + }, + "EsxSettingsDepotsSyncScheduleSchedule": { + "type": "object", + "properties": { + "type": { + "description": "Frequency of the schedule.", + "$ref": "#/components/schemas/EsxSettingsDepotsSyncScheduleRecurrence" + }, + "skip": { + "description": "This determines the units of {@name Recurrence} to skip before the scheduled task runs again. For example, value of 1 for HOURLY type means the scheduled task runs every 2 hours. The value must be within the range 0 to 998.", + "type": "integer", + "format": "int64" + }, + "minute": { + "description": "Minute at which schedule should be run. The value must be within the range 0 to 59.", + "type": "integer", + "format": "int64" + }, + "hour": { + "description": "Hour at which schedule should be run. The value must be within the range 0 to 23.", + "type": "integer", + "format": "int64" + }, + "day_of_month": { + "description": "Day at which schedule should be run. The value must be within the range 1 to 31. If the value exceeds the total number of days in the month, the schedule will run on the last day of the month.", + "type": "integer", + "format": "int64" + }, + "day_of_week": { + "description": "Day of the week when schedule should be run", + "$ref": "#/components/schemas/EsxSettingsDepotsSyncScheduleDayOfWeek" + } + }, + "required": [ + "type" + ] + }, + "EsxSettingsDepotsSyncScheduleSet": { + "$ref": "#/components/schemas/EsxSettingsDepotsSyncScheduleSpec", + "description": "Information of the software depot sync schedule." + }, + "EsxSettingsDepotsSyncScheduleSpec": { + "type": "object", + "properties": { + "enabled": { + "description": "Flag indicating whether automatic sync is enabled or not", + "type": "boolean" + }, + "schedule": { + "description": "The schedule to check for new updates.", + "$ref": "#/components/schemas/EsxSettingsDepotsSyncScheduleSchedule" + }, + "email_addresses": { + "description": "Email addresses to which the notification will be sent. If empty, no notification is sent.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "enabled", + "email_addresses" + ] + }, + "EsxSettingsDepotsUmdsContentInfo": { + "type": "object", + "properties": { + "metadata_bundles": { + "description": "A list of metadata bundles contained in the depot. The key is vendor of metadata bundle.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsDepotsMetadataInfo" + } + } + } + }, + "required": [ + "metadata_bundles" + ] + }, + "EsxSettingsDepotsUmdsInfo": { + "type": "object", + "properties": { + "description": { + "description": "Description of the depot. It will be an empty string if no description was provided during create.", + "type": "string" + }, + "enabled": { + "description": "Flag indicating whether or not this depot is enabled.", + "type": "boolean" + }, + "location": { + "description": "Location of the depot.", + "type": "string", + "format": "uri" + }, + "owner": { + "description": "Name of the user creating the depot.", + "type": "string" + } + }, + "required": [ + "description", + "enabled", + "location" + ] + }, + "EsxSettingsDepotsUmdsSet": { + "$ref": "#/components/schemas/EsxSettingsDepotsUmdsSetSpec", + "description": "Specification to set the UMDS depot." + }, + "EsxSettingsDepotsUmdsSetSpec": { + "type": "object", + "properties": { + "description": { + "description": "Description of the depot.", + "type": "string" + }, + "enabled": { + "description": "Flag indicating whether or not this depot should be enabled. Disabling the depot doesn't delete its cached metadata and payloads. It will not be refreshed next time depots are re-synced.", + "type": "boolean" + }, + "location": { + "description": "Location of the depot. It should be the location to the index.xml for the depot.", + "type": "string", + "format": "uri" + } + }, + "required": [ + "location" + ] + }, + "EsxSettingsDepotsUmdsUpdate": { + "$ref": "#/components/schemas/EsxSettingsDepotsUmdsUpdateSpec", + "description": "Update specification." + }, + "EsxSettingsDepotsUmdsUpdateSpec": { + "type": "object", + "properties": { + "enabled": { + "description": "Flag indicating whether or not this depot is enabled. Disabling the depot doesn't delete its cached metadata and payloads. It will not be refreshed next time depots are re-synced.", + "type": "boolean" + }, + "description": { + "description": "Description of the depot.", + "type": "string" + } + } + }, + "EsxSettingsDepotsUpdateSummary": { + "type": "object", + "properties": { + "summary": { + "description": "Summary of the update (bulletin).", + "type": "string" + } + }, + "required": [ + "summary" + ] + }, + "EsxSettingsEffectiveComponentDetails": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the component.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the component.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the component.", + "type": "string" + }, + "source": { + "description": "Final effective source of the component.", + "$ref": "#/components/schemas/EsxSettingsComponentSource" + }, + "note": { + "description": "Note assosicated with this component.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + }, + "overridden_components": { + "description": "List of other component versions present in base-image, add-ons or solutions that this component is overriding. For example, if a component version-1 was implicitly present in the base-image, but user wants it to be changed to version-2. In that case, {@link #source} would be USER and there will be one entry in this list indicating base-image component version-1 is being overridden.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsComponentOverrideInfo" + } + } + }, + "required": [ + "display_name", + "display_version", + "vendor", + "source", + "overridden_components" + ] + }, + "EsxSettingsEffectiveComponentInfo": { + "type": "object", + "properties": { + "version": { + "description": "Version of the component.", + "type": "string" + }, + "details": { + "description": "Details about the effective component.", + "$ref": "#/components/schemas/EsxSettingsEffectiveComponentDetails" + } + }, + "required": [ + "version" + ] + }, + "EsxSettingsHardwareModuleClass": { + "type": "string", + "description": "The {@name HardwareModuleClass} {@term structure} contains the module's source information.", + "enum": [ + "SYSTEM_BIOS", + "PCI_DEVICE", + "OTHER" + ] + }, + "EsxSettingsHardwareModuleDetails": { + "type": "object", + "properties": { + "component_class": { + "description": "Class of module (BIOS, PCI Device, non-PCI hardware, etc.)", + "$ref": "#/components/schemas/EsxSettingsHardwareModuleClass" + }, + "description": { + "description": "Descipription of the hardware module (e.g. \"System BIOS\" or \"Frobozz 100Gb NIC\").", + "type": "string" + } + }, + "required": [ + "component_class" + ] + }, + "EsxSettingsHardwareModuleFirmwareCompliance": { + "type": "object", + "properties": { + "status": { + "description": "Compliance status of the hardware module's firmware.", + "$ref": "#/components/schemas/EsxSettingsComplianceStatus" + }, + "details": { + "description": "Additional details about the hardware module itself", + "$ref": "#/components/schemas/EsxSettingsHardwareModuleDetails" + }, + "current": { + "description": "Current version of the firmware present on the host hardware module.", + "$ref": "#/components/schemas/EsxSettingsHardwareModuleFirmwareInfo" + }, + "target": { + "description": "Target version of the firmware present in the Hardware Support Package (HSP).", + "$ref": "#/components/schemas/EsxSettingsHardwareModuleFirmwareInfo" + }, + "notifications": { + "description": "Notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "notifications" + ] + }, + "EsxSettingsHardwareModuleFirmwareInfo": { + "type": "object", + "properties": { + "version": { + "description": "Version of the hardware module firmware.", + "type": "string" + } + }, + "required": [ + "version" + ] + }, + "EsxSettingsHardwareSupportInfo": { + "type": "object", + "properties": { + "packages": { + "description": "Map of Hardware Support Packages (HSPs) for the cluster. The key is the Hardware Support Manager (HSM) identifier and the value is the specification detailing the HSP configured for that HSM.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportPackageInfo" + } + } + }, + "required": [ + "packages" + ] + }, + "EsxSettingsHardwareSupportManagersHardwareSupportManagerInfo": { + "type": "object", + "properties": { + "manager": { + "description": "Name of the Hardware Support Manager (HSM) (e.g. \"Frobozz Hardware Support Manager\")", + "type": "string" + }, + "description": { + "description": "User-intelligible description of the HSM (e.g. \"Front end for Frobozz so-and-so management system\")", + "type": "string" + }, + "display_name": { + "description": "UI label for HSM, derived from HSM extension's description's 'label' field. (e.g. \"Frobozz Free Management System\")", + "type": "string" + }, + "vendor": { + "description": "Company providing the Hardware Support Manager (HSM) (e.g. \"Frobozz Magic Software Company\")", + "type": "string" + } + }, + "required": [ + "manager", + "description", + "display_name", + "vendor" + ] + }, + "EsxSettingsHardwareSupportManagersPackagesFilterSpec": { + "type": "object", + "properties": { + "base_image_version": { + "description": "vSphere release version the Hardware Support Package (HSP) must support to match the filter. Only Hardware Support Packages (HSPs) compatible with the vSphere release version specified in 'baseImageVersion' will be returned. The 'baseImageVersion' parameter should be a full numeric base image version string (e.g. \"7.1.0-2.3.436234\"). Future implementations may support version specification by prefix (e.g. \"7.1\" to specify all updates and builds of 7.1) or other forms of specification (e.g. \">=7.0\"). Hardware Support Pacakges (HSPs) may be advertised as supporting truncated version strings to indicate the remainder is wildcarded. Matching is on the specified substring only, so a bundle supporting \"7.1.0-2\" would match a 'release' parameter of \"7.1.0-2.3.436234\" as well as \"7.1.0-2.1.4133564\" and \"7.1.0-1.0.355667\" but not \"7.1.0-3.0.63445\" or any base image version starting with \"7.2\". Note that we require compatible base image versions be specified at least down to the update version (i.e. \"7.0\" is insufficiently constrained)", + "type": "string" + } + } + }, + "EsxSettingsHardwareSupportManagersPackagesHardwareSupportPackageInfo": { + "type": "object", + "properties": { + "pkg": { + "description": "Name of the Hardware Support Package (e.g. \"Jan. 2018 Release\" or \"Latest Hardware Support Package for Frobozz GenX hardware\") selected", + "type": "string" + }, + "version": { + "description": "Version of the Hardware Support Package (e.g. \"20180128.1\" or \"v42\") selected", + "type": "string" + }, + "description": { + "description": "Description of the Hardware Support Package (HSP) (e.g. for use in help bubble)", + "type": "string" + }, + "supported_releases": { + "description": "Supported vSphere releases", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + }, + "required": [ + "pkg", + "version", + "description", + "supported_releases" + ] + }, + "EsxSettingsHardwareSupportManagersPackagesVersionsComponentInfo": { + "type": "object", + "properties": { + "name": { + "description": "Identifier of the component.", + "type": "string" + }, + "display_name": { + "description": "Display name of the component.", + "type": "string" + }, + "version": { + "description": "Version of the component.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the HSP manifest.", + "type": "string" + } + }, + "required": [ + "name", + "display_name", + "version", + "display_version" + ] + }, + "EsxSettingsHardwareSupportManagersPackagesVersionsFilterSpec": { + "type": "object", + "properties": { + "base_image_version": { + "description": "vSphere release version for the component information in the Hardware Support Package (HSP). Only Hardware Support Packages (HSPs) compatible with the vSphere release version specified in 'baseImageVersion' will be returned. The 'baseImageVersion' parameter should be a full numeric base image version string (e.g. \"7.1.0-2.3.436234\"). Future implementations may support version specification by prefix (e.g. \"7.1\" to specify all updates and builds of 7.1) or other forms of specification (e.g. \">=7.0\"). Hardware Support Pacakges (HSPs) may be advertised as supporting truncated version strings to indicate the remainder is wildcarded. Matching is on the specified substring only, so a bundle supporting \"7.1.0-2\" would match a 'release' parameter of \"7.1.0-2.3.436234\" as well as \"7.1.0-2.1.4133564\" and \"7.1.0-2.0.355667\" but not \"7.1.0-3.0.63445\" or any base image version starting with \"7.2\". Note that we require compatible base image versions be specified at least down to the update version (i.e. \"7.0\" is insufficiently constrained)", + "type": "string" + } + } + }, + "EsxSettingsHardwareSupportManagersPackagesVersionsPackageInfo": { + "type": "object", + "properties": { + "pkg": { + "description": "Name of the Hardware Support Package (e.g. \"Jan. 2018 Release\" or \"Latest Hardware Support Package for Frobozz GenX hardware\") selected", + "type": "string" + }, + "version": { + "description": "Version of the Hardware Support Package (e.g. \"20180128.1\" or \"v42\") selected", + "type": "string" + }, + "description": { + "description": "Description of the Hardware Support Package (HSP) (e.g. for use in help bubble)", + "type": "string" + }, + "supported_releases": { + "description": "Supported vSphere releases", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "components": { + "description": "List of components in this HSP manifest.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportManagersPackagesVersionsComponentInfo" + } + }, + "removed_components": { + "description": "List of components removed by this HSP manifest.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportManagersPackagesVersionsRemovedComponentInfo" + } + } + }, + "required": [ + "pkg", + "version", + "description", + "supported_releases", + "components", + "removed_components" + ] + }, + "EsxSettingsHardwareSupportManagersPackagesVersionsRemovedComponentInfo": { + "type": "object", + "properties": { + "name": { + "description": "Identifier of the component.", + "type": "string" + }, + "display_name": { + "description": "Display name of the component.", + "type": "string" + } + }, + "required": [ + "name", + "display_name" + ] + }, + "EsxSettingsHardwareSupportPackageCompliance": { + "type": "object", + "properties": { + "status": { + "description": "Compliance status of the Hardware Support Package (HSP).", + "$ref": "#/components/schemas/EsxSettingsComplianceStatus" + }, + "current": { + "description": "Current version of the Hardware Support Package present on the host.", + "$ref": "#/components/schemas/EsxSettingsHardwareSupportPackageInfo" + }, + "target": { + "description": "Target version of the Hardware Support Package present in the software specification.", + "$ref": "#/components/schemas/EsxSettingsHardwareSupportPackageInfo" + }, + "hardware_modules": { + "description": "Compliance result for individual hardware module on the host. The key is the module identifier and value is the HardwareModuleFirmwareCompliance for the device. NOTE: if no individual hardware module compliance is returned by the, Hardware Support Manager (HSM), this map may have no entries even if ComplianceStatus = NON_COMPLIANT", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHardwareModuleFirmwareCompliance" + } + }, + "notifications": { + "description": "Notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "hardware_modules", + "notifications" + ] + }, + "EsxSettingsHardwareSupportPackageInfo": { + "type": "object", + "properties": { + "pkg": { + "description": "Identifier of Hardware Support Package (HSP) selected", + "type": "string" + }, + "version": { + "description": "Version of the Hardware Support Package (HSP) selected (e.g. \"20180128.1\" or \"v42\")", + "type": "string" + } + }, + "required": [ + "pkg", + "version" + ] + }, + "EsxSettingsHardwareSupportPackageSpec": { + "type": "object", + "properties": { + "pkg": { + "description": "Hardware Support Package (HSP) selected", + "type": "string" + }, + "version": { + "description": "Version of the Hardware Support Package (HSP) selected (e.g. \"20180128.1\" or \"v42\")", + "type": "string" + } + } + }, + "EsxSettingsHardwareSupportSpec": { + "type": "object", + "properties": { + "packages": { + "description": "Map of Hardware Support Packages (HSPs) for the cluster. The key is the Hardware Support Manager (HSM) name and the value is the specification detailing the HSP configured for that HSM.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportPackageSpec" + } + } + }, + "required": [ + "packages" + ] + }, + "EsxSettingsHostCompliance": { + "type": "object", + "properties": { + "impact": { + "description": "Overall impact.", + "$ref": "#/components/schemas/EsxSettingsComplianceImpact" + }, + "status": { + "description": "Overall compliance state of the host.", + "$ref": "#/components/schemas/EsxSettingsComplianceStatus" + }, + "notifications": { + "description": "Notifications returned by the scan operation.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + }, + "scan_time": { + "description": "Scan completion time.", + "type": "string", + "format": "date-time" + }, + "commit": { + "description": "Identifier of the commit on which the scan is run to generate this result.", + "type": "string" + }, + "base_image": { + "description": "Compliance result for the base image.", + "$ref": "#/components/schemas/EsxSettingsBaseImageCompliance" + }, + "add_on": { + "description": "Compliance result for the OEM add-on.", + "$ref": "#/components/schemas/EsxSettingsAddOnCompliance" + }, + "hardware_support": { + "description": "Compliance result for hardware support (both Hardware Support Package or HSP and individual hardware module firmware) for every HSP configured, keyed by Hardware Support Manager (HSM).", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsHardwareSupportPackageCompliance" + } + }, + "components": { + "description": "Compliance result for all the effective components and all the components present on the host. The key is the component name and value is the ComponentCompliance.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsComponentCompliance" + } + }, + "solutions": { + "description": "Compliance result for solutions. The key is the solution name and value is the SolutionCompliance.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsSolutionCompliance" + } + } + }, + "required": [ + "impact", + "status", + "notifications", + "scan_time", + "base_image", + "add_on", + "components", + "solutions" + ] + }, + "EsxSettingsHostInfo": { + "type": "object", + "properties": { + "name": { + "description": "Name of the host.", + "type": "string" + }, + "is_vsan_witness": { + "description": "Indicates if the host is associated with a cluster as a vSAN witness.", + "type": "boolean" + } + }, + "required": [ + "name" + ] + }, + "EsxSettingsNotification": { + "type": "object", + "properties": { + "type": { + "description": "Type of the notification.", + "$ref": "#/components/schemas/EsxSettingsNotificationType" + }, + "id": { + "description": "The notification id.", + "type": "string" + }, + "time": { + "description": "The time the notification was raised/found.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "The notification message.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + }, + "resolution": { + "description": "The resolution message, if any.", + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + }, + "originator": { + "description": "", + "type": "string" + }, + "retriable": { + "description": "", + "type": "boolean" + } + }, + "required": [ + "id", + "time", + "message" + ] + }, + "EsxSettingsNotificationType": { + "type": "string", + "description": "The (@name Type} {@term enumerated type} contains the possible different types of notification.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "EsxSettingsNotifications": { + "type": "object", + "properties": { + "info": { + "description": "Info notification messages reported.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsNotification" + } + }, + "warnings": { + "description": "Warning notification messages reported.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsNotification" + } + }, + "errors": { + "description": "Error notification messages reported.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsNotification" + } + } + } + }, + "EsxSettingsSoftwareInfo": { + "type": "object", + "properties": { + "base_image": { + "description": "Base image of the ESX.", + "$ref": "#/components/schemas/EsxSettingsBaseImageInfo" + }, + "add_on": { + "description": "OEM customization on top of given base-image. The components in this customization override the components in the base base-image.", + "$ref": "#/components/schemas/EsxSettingsAddOnInfo" + }, + "components": { + "description": "Information about the components in the software specification.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsComponentInfo" + } + }, + "solutions": { + "description": "Information about the solutions in the software specification.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/EsxSettingsSolutionInfo" + } + }, + "hardware_support": { + "description": "Information about the Hardware Support Packages (HSP) configured.", + "$ref": "#/components/schemas/EsxSettingsHardwareSupportInfo" + } + }, + "required": [ + "base_image", + "components", + "solutions" + ] + }, + "EsxSettingsSolutionCompliance": { + "type": "object", + "properties": { + "status": { + "description": "Compliance status of the solution.", + "$ref": "#/components/schemas/EsxSettingsComplianceStatus" + }, + "current": { + "description": "Current solution present on the host.", + "$ref": "#/components/schemas/EsxSettingsSolutionInfo" + }, + "target": { + "description": "Target solution present in the software specification.", + "$ref": "#/components/schemas/EsxSettingsSolutionInfo" + }, + "notifications": { + "description": "Notifications describing the compliance result.", + "$ref": "#/components/schemas/EsxSettingsNotifications" + } + }, + "required": [ + "status", + "notifications" + ] + }, + "EsxSettingsSolutionComponentDetails": { + "type": "object", + "properties": { + "component": { + "description": "Identifier of the component.", + "type": "string" + }, + "display_name": { + "description": "Display name of the component.", + "type": "string" + }, + "display_version": { + "description": "Human readable version of the component.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the component.", + "type": "string" + } + }, + "required": [ + "component", + "display_name", + "vendor" + ] + }, + "EsxSettingsSolutionComponentSpec": { + "type": "object", + "properties": { + "component": { + "description": "Identifier of the component.", + "type": "string" + } + }, + "required": [ + "component" + ] + }, + "EsxSettingsSolutionDetails": { + "type": "object", + "properties": { + "display_name": { + "description": "Display name of the solution.", + "type": "string" + }, + "display_version": { + "description": "Display version of the solution.", + "type": "string" + }, + "components": { + "description": "Components registered by the solution. If the component is not present in the depot, then corresponding details are absent from the list.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsSolutionComponentDetails" + } + } + }, + "required": [ + "display_name", + "display_version", + "components" + ] + }, + "EsxSettingsSolutionInfo": { + "type": "object", + "properties": { + "details": { + "description": "Details about the solution from the depot.", + "$ref": "#/components/schemas/EsxSettingsSolutionDetails" + }, + "version": { + "description": "Version of the solution.", + "type": "string" + }, + "components": { + "description": "Components registered by the solution.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsSolutionComponentSpec" + } + } + }, + "required": [ + "version", + "components" + ] + }, + "EsxSettingsSolutionSpec": { + "type": "object", + "properties": { + "version": { + "description": "Version of the solution.", + "type": "string" + }, + "components": { + "description": "Components registered by the solution.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EsxSettingsSolutionComponentSpec" + } + } + }, + "required": [ + "version", + "components" + ] + }, + "VapiStdErrorsAlreadyExists": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsAlreadyInDesiredState": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsConcurrentChange": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsError": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsErrorType": { + "type": "string", + "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.", + "enum": [ + "ERROR", + "ALREADY_EXISTS", + "ALREADY_IN_DESIRED_STATE", + "CANCELED", + "CONCURRENT_CHANGE", + "FEATURE_IN_USE", + "INTERNAL_SERVER_ERROR", + "INVALID_ARGUMENT", + "INVALID_ELEMENT_CONFIGURATION", + "INVALID_ELEMENT_TYPE", + "INVALID_REQUEST", + "NOT_ALLOWED_IN_CURRENT_STATE", + "NOT_FOUND", + "OPERATION_NOT_FOUND", + "RESOURCE_BUSY", + "RESOURCE_IN_USE", + "RESOURCE_INACCESSIBLE", + "SERVICE_UNAVAILABLE", + "TIMED_OUT", + "UNABLE_TO_ALLOCATE_RESOURCE", + "UNAUTHENTICATED", + "UNAUTHORIZED", + "UNEXPECTED_INPUT", + "UNSUPPORTED", + "UNVERIFIED_PEER" + ] + }, + "VapiStdErrorsInternalServerError": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsInvalidArgument": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsNotAllowedInCurrentState": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsNotFound": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsResourceInUse": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsResourceInaccessible": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsServiceUnavailable": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsTimedOut": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsUnauthenticated": { + "type": "object", + "properties": { + "challenge": { + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.
For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"", + "type": "string" + }, + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsUnauthorized": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsUnsupported": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdErrorsUnverifiedPeer": { + "type": "object", + "properties": { + "messages": { + "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VapiStdLocalizableMessage" + } + }, + "data": { + "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.", + "type": "object" + }, + "error_type": { + "description": "Discriminator field to help API consumers identify the structure type.", + "$ref": "#/components/schemas/VapiStdErrorsErrorType" + } + }, + "required": [ + "messages" + ] + }, + "VapiStdLocalizableMessage": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.", + "type": "string" + }, + "default_message": { + "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.", + "type": "string" + }, + "args": { + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "params": { + "description": "Named arguments to be substituted into the message template.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/VapiStdLocalizationParam" + } + }, + "localized": { + "description": "Localized string value as per request requirements.", + "type": "string" + } + }, + "required": [ + "id", + "default_message", + "args" + ] + }, + "VapiStdLocalizationParam": { + "type": "object", + "properties": { + "s": { + "description": "{@term String} value associated with the parameter.", + "type": "string" + }, + "dt": { + "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.", + "type": "string", + "format": "date-time" + }, + "i": { + "description": "{@term long} value associated with the parameter.", + "type": "integer", + "format": "int64" + }, + "d": { + "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.", + "type": "number", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.", + "$ref": "#/components/schemas/VapiStdNestedLocalizableMessage" + }, + "format": { + "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.", + "$ref": "#/components/schemas/VapiStdLocalizationParamDateTimeFormat" + }, + "precision": { + "description": "Number of fractional digits to include in formatted {@term double} value.", + "type": "integer", + "format": "int64" + } + } + }, + "VapiStdLocalizationParamDateTimeFormat": { + "type": "string", + "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.", + "enum": [ + "SHORT_DATE", + "MED_DATE", + "LONG_DATE", + "FULL_DATE", + "SHORT_TIME", + "MED_TIME", + "LONG_TIME", + "FULL_TIME", + "SHORT_DATE_TIME", + "MED_DATE_TIME", + "LONG_DATE_TIME", + "FULL_DATE_TIME" + ] + }, + "VapiStdNestedLocalizableMessage": { + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.",
+ "type": "string"
+ },
+ "params": {
+ "description": "Named Arguments to be substituted into the message template.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/VapiStdLocalizationParam"
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/stats.json b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/stats.json
new file mode 100644
index 0000000..5e3fce5
--- /dev/null
+++ b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/stats.json
@@ -0,0 +1,2518 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "description": "",
+ "title": "stats",
+ "version": "2.0.0"
+ },
+ "paths": {
+ "/api/stats/acq-specs": {
+ "post": {
+ "tags": [
+ "acq_specs"
+ ],
+ "summary": "Create a new acquisition specification record. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires vStats.CollectAny. \n",
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "Identifier of the newly created acquisition specification.\nThe result will be an identifier for the resource type: vstats.model.AcqSpec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if acqSpec contain any errors.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VstatsAcqSpecsCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "acq_specs"
+ ],
+ "summary": "Returns information about all acquisition specifications. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.View. \n",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "page",
+ "schema": {
+ "type": "string"
+ },
+ "description": "Used to retrieve paged data for larger result sets. The value of this token is generated by server and returned as next field in the result of AcqSpecs.list operations. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nunset the first page of results will be returned."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of acquisition specification records.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VstatsAcqSpecsListResult"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the specified parameters are invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/stats/acq-specs/{id}": {
+ "get": {
+ "tags": [
+ "acq_specs"
+ ],
+ "summary": "Returns information about a specific acquisition specification. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "id",
+ "description": "Acquisition specification ID.\nThe parameter must be an identifier for the resource type: vstats.model.AcqSpec.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the desired acquisition specification.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VstatsAcqSpecsInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if id is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "acquisition specification could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "acq_specs"
+ ],
+ "summary": "Update an existing acquisition specification. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires vStats.CollectAny. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "id",
+ "description": "Acquisition specification ID.\nThe parameter must be an identifier for the resource type: vstats.model.AcqSpec.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the specified parameters are invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "acquisition specification could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VstatsAcqSpecsUpdate"
+ }
+ },
+ "delete": {
+ "tags": [
+ "acq_specs"
+ ],
+ "summary": "Delete an acquisition specification. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires vStats.CollectAny. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "id",
+ "description": "Acquisition specification ID.\nThe parameter must be an identifier for the resource type: vstats.model.AcqSpec.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if id is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if acquisition specification could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/stats/counter-sets": {
+ "get": {
+ "tags": [
+ "counter_sets"
+ ],
+ "summary": "Returns information about all the counter sets. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.View. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of counter sets.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsCounterSetsInfo"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/stats/counter-sets/{counter_set}": {
+ "get": {
+ "tags": [
+ "counter_sets"
+ ],
+ "summary": "Returns information about a specific counter set. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "counter_set",
+ "description": "identifier of the counter set to retrieve.\nThe parameter must be an identifier for the resource type: vstats.model.CounterSet.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the desired CounterSet.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VstatsCounterSetsInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if counterSet is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the requested counter set could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/stats/counters": {
+ "get": {
+ "tags": [
+ "counters"
+ ],
+ "summary": "Returns information about all counters matching the filter parameters. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.View. \n",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "cid",
+ "schema": {
+ "type": "string"
+ },
+ "description": "Counter identifier that will be listed. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset counter filter will not be applied.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Counter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Counter."
+ },
+ {
+ "in": "query",
+ "name": "types",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Resource type filter. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset resource type filter will not be applied.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vstats.model.RsrcType. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vstats.model.RsrcType."
+ },
+ {
+ "in": "query",
+ "name": "metric",
+ "schema": {
+ "type": "string"
+ },
+ "description": "Metric for which counters will be listed. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset metric filter will not be applied.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Metric. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Metric."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Counters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsCountersInfo"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the specified parameters are invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/stats/counters/{cid}": {
+ "get": {
+ "tags": [
+ "counters"
+ ],
+ "summary": "Returns information about a specific Counter. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cid",
+ "description": "Counter ID.\nThe parameter must be an identifier for the resource type: vstats.model.Counter.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the requested counter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VstatsCountersInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if cid is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Counter could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/stats/counters/{cid}/metadata": {
+ "get": {
+ "tags": [
+ "counter_metadata"
+ ],
+ "summary": "Returns information about all counter metadata records for a specific Counter. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cid",
+ "description": "Counter ID.\nThe parameter must be an identifier for the resource type: vstats.model.Counter.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "status",
+ "schema": {
+ "type": "string",
+ "description": "Counter metadata status. Warning: This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "enum": [
+ "DEFAULT",
+ "CURRENT",
+ "DEPRECATED",
+ "EXPERIMENTAL",
+ "REMOVED"
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of counter metadata for the specified counter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsCounterMetadataInfo"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the specified parameters are invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Counter could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/stats/counters/{cid}/metadata/default": {
+ "get": {
+ "tags": [
+ "counter_metadata"
+ ],
+ "summary": "This operation returns the \"default\" CounterMetadata. A Counter has at least one related metadata object. Usually, stats providers (for example hosts) are in agreement about the default metadata. In this case the returned list has a single metadata object. \n Sometimes, when providers are in \"disagreement\" about the default, then the returned list would include all the possible \"defaults\". This potential ambiguity isn't a real issue because consumers of the vStats API rarely need to specify the \"mid\" of metadata. Therefore, this API is used primarily for informational purposes.\n. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cid",
+ "description": "Counter ID.\nThe parameter must be an identifier for the resource type: vstats.model.Counter.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of counter metadata records.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsCounterMetadataInfo"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if cid is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Counter could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get_default"
+ }
+ },
+ "/api/stats/counters/{cid}/metadata/{mid}": {
+ "get": {
+ "tags": [
+ "counter_metadata"
+ ],
+ "summary": "Returns information about a specific CounterMetadata. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cid",
+ "description": "Counter ID.\nThe parameter must be an identifier for the resource type: vstats.model.Counter.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "mid",
+ "description": "CounterMetadata ID.\nThe parameter must be an identifier for the resource type: vstats.model.CounterMetadata.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the desired CounterMetadata.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VstatsCounterMetadataInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the specified parameters are invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Counter or CounterMetadata could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have sufficient privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/stats/data/dp": {
+ "get": {
+ "tags": [
+ "data"
+ ],
+ "summary": "Returns Data.DataPointsResult matching the filter parameters. \n /vstats/data/dp?types=VM&types=VCPU \n\n /vstats/data/dp?rsrcs=type.HOST=host-16&rsrcs=type.VM=vm-31\n. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nif you do not have all of the privileges described as follows: \n - Operation execution requires vStats.QueryAny. \n",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "start",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "Start of a time window (included), timestamp in seconds UTC. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be limited by start time."
+ },
+ {
+ "in": "query",
+ "name": "end",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "End of a time window (excluded), timestamp in seconds UTC. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be limited by end time."
+ },
+ {
+ "in": "query",
+ "name": "cid",
+ "schema": {
+ "type": "string"
+ },
+ "description": "Counter ID. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be filtered by counter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Counter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Counter."
+ },
+ {
+ "in": "query",
+ "name": "metric",
+ "schema": {
+ "type": "string"
+ },
+ "description": "Metric name. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be filtered by metric name.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Metric. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Metric."
+ },
+ {
+ "in": "query",
+ "name": "types",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "List of Resource types. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be filtered by resource types.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vstats.model.RsrcType. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vstats.model.RsrcType."
+ },
+ {
+ "in": "query",
+ "name": "resources",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Resources to include in the query. Each resource is specified through a composite string that follows the following format. \n type. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsErrorType": {
+ "type": "string",
+ "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.",
+ "enum": [
+ "ERROR",
+ "ALREADY_EXISTS",
+ "ALREADY_IN_DESIRED_STATE",
+ "CANCELED",
+ "CONCURRENT_CHANGE",
+ "FEATURE_IN_USE",
+ "INTERNAL_SERVER_ERROR",
+ "INVALID_ARGUMENT",
+ "INVALID_ELEMENT_CONFIGURATION",
+ "INVALID_ELEMENT_TYPE",
+ "INVALID_REQUEST",
+ "NOT_ALLOWED_IN_CURRENT_STATE",
+ "NOT_FOUND",
+ "OPERATION_NOT_FOUND",
+ "RESOURCE_BUSY",
+ "RESOURCE_IN_USE",
+ "RESOURCE_INACCESSIBLE",
+ "SERVICE_UNAVAILABLE",
+ "TIMED_OUT",
+ "UNABLE_TO_ALLOCATE_RESOURCE",
+ "UNAUTHENTICATED",
+ "UNAUTHORIZED",
+ "UNEXPECTED_INPUT",
+ "UNSUPPORTED",
+ "UNVERIFIED_PEER"
+ ]
+ },
+ "VapiStdErrorsInvalidArgument": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsNotFound": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsUnauthenticated": {
+ "type": "object",
+ "properties": {
+ "challenge": {
+ "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"",
+ "type": "string"
+ },
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsUnauthorized": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdLocalizableMessage": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the localizable string or message template. This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.",
+ "type": "string"
+ },
+ "default_message": {
+ "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.",
+ "type": "string"
+ },
+ "args": {
+ "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "params": {
+ "description": "Named arguments to be substituted into the message template.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/VapiStdLocalizationParam"
+ }
+ },
+ "localized": {
+ "description": "Localized string value as per request requirements.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "default_message",
+ "args"
+ ]
+ },
+ "VapiStdLocalizationParam": {
+ "type": "object",
+ "properties": {
+ "s": {
+ "description": "{@term String} value associated with the parameter.",
+ "type": "string"
+ },
+ "dt": {
+ "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "i": {
+ "description": "{@term long} value associated with the parameter.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "d": {
+ "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.",
+ "type": "number",
+ "format": "double"
+ },
+ "l": {
+ "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.",
+ "$ref": "#/components/schemas/VapiStdNestedLocalizableMessage"
+ },
+ "format": {
+ "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.",
+ "$ref": "#/components/schemas/VapiStdLocalizationParamDateTimeFormat"
+ },
+ "precision": {
+ "description": "Number of fractional digits to include in formatted {@term double} value.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "VapiStdLocalizationParamDateTimeFormat": {
+ "type": "string",
+ "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.",
+ "enum": [
+ "SHORT_DATE",
+ "MED_DATE",
+ "LONG_DATE",
+ "FULL_DATE",
+ "SHORT_TIME",
+ "MED_TIME",
+ "LONG_TIME",
+ "FULL_TIME",
+ "SHORT_DATE_TIME",
+ "MED_DATE_TIME",
+ "LONG_DATE_TIME",
+ "FULL_DATE_TIME"
+ ]
+ },
+ "VapiStdNestedLocalizableMessage": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the localizable string or message template. This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.",
+ "type": "string"
+ },
+ "params": {
+ "description": "Named Arguments to be substituted into the message template.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/VapiStdLocalizationParam"
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "VstatsAcqSpecsCounterSpec": {
+ "type": "object",
+ "properties": {
+ "cid_mid": {
+ "description": "Counter and optional meatadata identifier. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the AcqSpecs.CounterSpec.set-id field will be used.",
+ "$ref": "#/components/schemas/VstatsCidMid"
+ },
+ "set_id": {
+ "description": "Counter set identifier. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the AcqSpecs.CounterSpec.cid-mid field will be used.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.CounterSet. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.CounterSet.",
+ "type": "string"
+ }
+ }
+ },
+ "VstatsAcqSpecsCreate": {
+ "$ref": "#/components/schemas/VstatsAcqSpecsCreateSpec",
+ "description": "Specification for the acquisition of stats data."
+ },
+ "VstatsAcqSpecsCreateSpec": {
+ "type": "object",
+ "properties": {
+ "counters": {
+ "description": "Designates the counter(s) to be sampled. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/VstatsAcqSpecsCounterSpec"
+ },
+ "resources": {
+ "description": "A set of resource identifiers representing a single resource to be monitored. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsRsrcId"
+ }
+ },
+ "interval": {
+ "description": "Desired sampling rate in seconds. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset default of 10s will be used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "expiration": {
+ "description": "Expiration time for this acquisition specification in Unix UTC number of seconds (since epoch). Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen this field is unset or 0, default expiration duration is 100 minutes.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memo_": {
+ "description": "Consumer provided text about this acquisition specification. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset default empty string will be used.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "counters",
+ "resources"
+ ]
+ },
+ "VstatsAcqSpecsFilterSpec": {
+ "type": "object",
+ "properties": {
+ "page": {
+ "description": "Used to retrieve paged data for larger result sets. The value of this token is generated by server and returned as next field in the result of AcqSpecs.list operations. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nunset the first page of results will be returned.",
+ "type": "string"
+ }
+ }
+ },
+ "VstatsAcqSpecsInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Acquisition specification identifier. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.AcqSpec. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.AcqSpec.",
+ "type": "string"
+ },
+ "counters": {
+ "description": "Designates the counter(s) to be sampled. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/VstatsAcqSpecsCounterSpec"
+ },
+ "resources": {
+ "description": "A set of resource identifiers representing a single resource to be monitored. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsRsrcId"
+ }
+ },
+ "interval": {
+ "description": "Desired sampling rate in seconds. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen this field is unset, default interval is 10 seconds.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "expiration": {
+ "description": "Expiration time for this acquisition specification represented as Unix UTC number of seconds (since epoch). Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen this field is unset or 0, default expiration duration is 100 minutes.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memo_": {
+ "description": "Consumer provided text about this Acquisition Specification. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Acquisition Specification status. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/VstatsAcqSpecsStatus"
+ }
+ },
+ "required": [
+ "id",
+ "counters",
+ "resources",
+ "memo_",
+ "status"
+ ]
+ },
+ "VstatsAcqSpecsListResult": {
+ "type": "object",
+ "properties": {
+ "acq_specs": {
+ "description": "List of acquisition specifications received. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsAcqSpecsInfo"
+ }
+ },
+ "next": {
+ "description": "The AcqSpecs.ListResult.next field is a token used to retrieve paged data for larger result sets. This is opaque token generated by the server. It is to be sent in the AcqSpecs.FilterSpec.page field to issue a subsequent call to the list operation for retrieving results that did not fit the current page. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nset when there are more results to retrieve.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "acq_specs"
+ ]
+ },
+ "VstatsAcqSpecsStatus": {
+ "type": "string",
+ "description": "Describes the status of an Acquisition Specification. Warning: This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "enum": [
+ "ENABLED",
+ "DISABLED",
+ "EXPIRED"
+ ]
+ },
+ "VstatsAcqSpecsUpdate": {
+ "$ref": "#/components/schemas/VstatsAcqSpecsUpdateSpec",
+ "description": "Updated acquisition specification."
+ },
+ "VstatsAcqSpecsUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "counters": {
+ "description": "Designates the counter(s) to be sampled. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/VstatsAcqSpecsCounterSpec"
+ },
+ "resources": {
+ "description": "A set of resource identifiers representing a single resource to be monitored. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset, the value is unchanged.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsRsrcId"
+ }
+ },
+ "interval": {
+ "description": "Desired sampling rate in seconds. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset, the value is unchanged.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "expiration": {
+ "description": "Expiration time for this acquisition specification in Unix UTC number of seconds (since epoch). When this field is 0, the default expiration duration is 100 minutes. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset, the value is unchanged.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memo_": {
+ "description": "Consumer provided text about this Acquisition Specification. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset, the value is unchanged.",
+ "type": "string"
+ }
+ }
+ },
+ "VstatsCidMid": {
+ "type": "object",
+ "properties": {
+ "cid": {
+ "description": "Counter Id. CID is a string with rather strong semantic consistency across deployments and versions. If two CIDs are identical it implies the corresponding counters are the same. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Counter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Counter.",
+ "type": "string"
+ },
+ "mid": {
+ "description": "MID is a 64-bit integer with strong consistency. Given a particular CID=cid, if two MIDs are the same, then the corresponding counter-metadata objects are same. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen this field is unset vStats will use default for the counter metadata as obtained from the provider.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.CounterMetadata. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.CounterMetadata.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "cid"
+ ]
+ },
+ "VstatsCounterMetadataCounterEditionStatus": {
+ "type": "string",
+ "description": "Counter metadata status. Warning: This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "enum": [
+ "DEFAULT",
+ "CURRENT",
+ "DEPRECATED",
+ "EXPERIMENTAL",
+ "REMOVED"
+ ]
+ },
+ "VstatsCounterMetadataFilterSpec": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Counter edition status. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset no filtering on counter metadata status will be made.",
+ "$ref": "#/components/schemas/VstatsCounterMetadataCounterEditionStatus"
+ }
+ }
+ },
+ "VstatsCounterMetadataInfo": {
+ "type": "object",
+ "properties": {
+ "cid": {
+ "description": "Counter Id. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Counter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Counter.",
+ "type": "string"
+ },
+ "mid": {
+ "description": "Metadata Id. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.CounterMetadata. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.CounterMetadata.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Counter Edition status. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/VstatsCounterMetadataCounterEditionStatus"
+ },
+ "type": {
+ "description": "Numeric properties of the sampled data. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/VstatsCounterMetadataSampleType"
+ },
+ "units": {
+ "description": "The units of the measurement. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/VstatsCounterMetadataMetricUnits"
+ },
+ "scale": {
+ "description": "Additional multiplier factors to be used with units. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset default of ONE is used.",
+ "$ref": "#/components/schemas/VstatsCounterMetadataUnitsFactor"
+ },
+ "user_info": {
+ "description": "Human legible localizable text about the counter. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nThis field is unset in the current version.",
+ "$ref": "#/components/schemas/VstatsUserInfo"
+ },
+ "pid": {
+ "description": "ID of the respective provider. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nThis field is unset in the current version.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Provider. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Provider.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "cid",
+ "mid",
+ "status",
+ "type",
+ "units"
+ ]
+ },
+ "VstatsCounterMetadataMetricUnits": {
+ "type": "string",
+ "description": "Unit used by a metric. Warning: This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "enum": [
+ "PERCENT",
+ "NUMBER",
+ "SECOND",
+ "HERTZ",
+ "METER",
+ "METERSPERSECOND",
+ "METERSPERSECONDSQUARED",
+ "BYTE",
+ "BIT",
+ "BYTESPERSECOND",
+ "BITSPERSECOND",
+ "KILOGRAM",
+ "GRAM",
+ "CELSIUS",
+ "KELVIN",
+ "JOULE",
+ "WATT",
+ "VOLT",
+ "AMPERE",
+ "VOLTAMPERE",
+ "CANDELA",
+ "MOLE"
+ ]
+ },
+ "VstatsCounterMetadataSampleType": {
+ "type": "string",
+ "description": "Type of the sampled data. Warning: This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "enum": [
+ "RAW",
+ "ABSOLUTE",
+ "FRACTION",
+ "RATE",
+ "DELTA",
+ "LOGN"
+ ]
+ },
+ "VstatsCounterMetadataUnitsFactor": {
+ "type": "string",
+ "description": "Unit factor of measurement. Warning: This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "enum": [
+ "YOTTA",
+ "ZETTA",
+ "EXA",
+ "PETA",
+ "TERA",
+ "GIGA",
+ "MEGA",
+ "KILO",
+ "HECTO",
+ "DECA",
+ "ONE",
+ "DECI",
+ "CENTI",
+ "MILLI",
+ "MICRO",
+ "NANO",
+ "PIKO",
+ "FEMTO",
+ "ATTO",
+ "ZEPTO",
+ "YOCTO",
+ "YOBI",
+ "ZEBI",
+ "EXBI",
+ "PEBI",
+ "TEBI",
+ "GIBI",
+ "MEBI",
+ "KIBI"
+ ]
+ },
+ "VstatsCounterSetsInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Counter set identifier. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ },
+ "counters": {
+ "description": "List of Counter CidMids. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsCidMid"
+ }
+ },
+ "user_info": {
+ "description": "Human legible localizable conter set description. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIn future versions it may be possible to have custom counter sets that lack localizable descriptions.",
+ "$ref": "#/components/schemas/VstatsUserInfo"
+ }
+ },
+ "required": [
+ "id",
+ "counters"
+ ]
+ },
+ "VstatsCountersFilterSpec": {
+ "type": "object",
+ "properties": {
+ "cid": {
+ "description": "Counter identifier that will be listed. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset counter filter will not be applied.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Counter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Counter.",
+ "type": "string"
+ },
+ "types": {
+ "description": "Resource type filter. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset resource type filter will not be applied.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vstats.model.RsrcType. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vstats.model.RsrcType.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "metric": {
+ "description": "Metric for which counters will be listed. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nIf unset metric filter will not be applied.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Metric. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Metric.",
+ "type": "string"
+ }
+ }
+ },
+ "VstatsCountersInfo": {
+ "type": "object",
+ "properties": {
+ "cid": {
+ "description": "Counter Id. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Counter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Counter.",
+ "type": "string"
+ },
+ "metric": {
+ "description": "A metric is typically human-legible ASCII/English name of a measurable aspect, for example \"length\" and \"temperature\". It is not internationalizable. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Metric. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Metric.",
+ "type": "string"
+ },
+ "resource_address_schema": {
+ "description": "Describes formally how to address (or identify) the resources the counter could be bound to (or instantiated for). Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.RsrcAddrSchema. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.RsrcAddrSchema.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "cid",
+ "metric",
+ "resource_address_schema"
+ ]
+ },
+ "VstatsDataDataPoint": {
+ "type": "object",
+ "properties": {
+ "cid": {
+ "description": "Counter Id. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Counter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Counter.",
+ "type": "string"
+ },
+ "mid": {
+ "description": "CounterMetadata Id. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.CounterMetadata. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.CounterMetadata.",
+ "type": "string"
+ },
+ "rid": {
+ "description": "Resource Id. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ },
+ "ts": {
+ "description": "Timestamp for the data point. format: 64-bit integer. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "val": {
+ "description": "Stat value. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "cid",
+ "mid",
+ "rid",
+ "ts",
+ "val"
+ ]
+ },
+ "VstatsDataDataPointsResult": {
+ "type": "object",
+ "properties": {
+ "data_points": {
+ "description": "List of DataPoints received. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VstatsDataDataPoint"
+ }
+ },
+ "next": {
+ "description": "The Data.DataPointsResult.next field is a token used to retrieve paged data for larger result sets. This is opaque token generated by the server. It is to be sent in the Data.FilterSpec.page field to issue a subsequent call to the query operation for retrieving results that did not fit the current page. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nset when there are more results to retrieve.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data_points"
+ ]
+ },
+ "VstatsDataFilterSpec": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "Start of a time window (included), timestamp in seconds UTC. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be limited by start time.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "end": {
+ "description": "End of a time window (excluded), timestamp in seconds UTC. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be limited by end time.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cid": {
+ "description": "Counter ID. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be filtered by counter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Counter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Counter.",
+ "type": "string"
+ },
+ "metric": {
+ "description": "Metric name. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be filtered by metric name.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vstats.model.Metric. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vstats.model.Metric.",
+ "type": "string"
+ },
+ "types": {
+ "description": "List of Resource types. Warning: This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\nWhen unset the result will not be filtered by resource types.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vstats.model.RsrcType. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vstats.model.RsrcType.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "resources": {
+ "description": "Resources to include in the query. Each resource is specified through a composite string that follows the following format. \n type. The {@link ComponentData} contains the authentication information about the component element and it's fingerprint. It contains information about all the package elements that belong to this component element.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "component_id",
+ "description": "Identifier of the component element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link ComponentData} instance that corresponds to {@param.name componentId}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.component_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the component element associated with {@param.name componentId} does not have any authentication information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/authentication/component/id:{component_id}?~action=fingerprint": {
+ "post": {
+ "tags": [
+ "metadata/authentication/component"
+ ],
+ "summary": "Retrieves the fingerprint computed from the authentication metadata of the component element corresponding to {@param.name componentId}. The fingerprint provides clients an efficient way to check if the metadata for a particular component has been modified on the server. The client can do this by comparing the result of this operation with the fingerprint returned in the result of {@link vapi.metadata.authentication.Component#get}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "component_id",
+ "description": "Identifier of the component element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The fingerprint computed from the authentication metadata of the component.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.component.fingerprint_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the component element associated with {@param.name componentId} does not have any authentication information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "fingerprint"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/authentication/package": {
+ "get": {
+ "tags": [
+ "metadata/authentication/package"
+ ],
+ "summary": "Returns the identifiers for the package elements that have authentication information.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the package elements that have authentication information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.package.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/authentication/package/id:{package_id}": {
+ "get": {
+ "tags": [
+ "metadata/authentication/package"
+ ],
+ "summary": "Retrieves authentication information about the package element corresponding to {@param.name packageId}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "package_id",
+ "description": "Identifier of the package element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link PackageInfo} instance that corresponds to {@param.name packageId}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.package_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the package element associated with {@param.name packageId} does not have any authentication information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/authentication/service": {
+ "get": {
+ "tags": [
+ "metadata/authentication/service"
+ ],
+ "summary": "Returns the identifiers for the service elements that have authentication information.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the service elements that have authentication information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.service.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/authentication/service/id:{service_id}": {
+ "get": {
+ "tags": [
+ "metadata/authentication/service"
+ ],
+ "summary": "Retrieves authentication information about the service element corresponding to {@param.name serviceId}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service_id",
+ "description": "Identifier of the service element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link ServiceInfo} instance that corresponds to {@param.name serviceId}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.service_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the service element associated with {@param.name serviceId} does not have any authentication information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/authentication/service/operation": {
+ "get": {
+ "tags": [
+ "metadata/authentication/service/operation"
+ ],
+ "summary": "Returns the identifiers for the operation elements contained in the service element corresponding to {@param.name serviceId} that have authentication information.",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "service_id",
+ "description": "Identifier of the service element.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of identifiers for the operation elements contained in the service element that have authentication information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.service.operation.list_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the service element associated with {@param.name serviceId} does not have any operation elements that have authentication information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/authentication/service/operation/id:{service_id}?~action=get": {
+ "post": {
+ "tags": [
+ "metadata/authentication/service/operation"
+ ],
+ "summary": "Retrieves the authentication information about an operation element corresponding to {@param.name operationId} contained in the service element corresponding to {@param.name serviceId}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service_id",
+ "description": "Identifier of the service element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link vapi.metadata.authentication.OperationInfo} instance that corresponds to {@param.name operationId}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.service.operation_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the service element associated with {@param.name serviceId} does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vapi.metadata.authentication.service.operation_get"
+ }
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/cli/command": {
+ "get": {
+ "tags": [
+ "metadata/cli/command"
+ ],
+ "summary": "Returns the identifiers of all commands, or commands in a specific namespace.",
+ "parameters": [
+ {
+ "required": false,
+ "in": "query",
+ "name": "path",
+ "description": "The dot-separated path of the namespace for which command identifiers should be returned.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Identifiers of the requested commands.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.list_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if a namespace corresponding to {@param.name path} doesn't exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/cli/command?~action=fingerprint": {
+ "post": {
+ "tags": [
+ "metadata/cli/command"
+ ],
+ "summary": "Returns the aggregate fingerprint of all the command metadata from all the metadata sources. The fingerprint provides clients an efficient way to check if the metadata for commands has been modified on the server.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fingerprint of all the command metadata present on the server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.fingerprint_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "fingerprint"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/cli/command?~action=get": {
+ "post": {
+ "tags": [
+ "metadata/cli/command"
+ ],
+ "summary": "Retrieves information about a command including information about how to execute that command.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Information about the command including information about how to execute that command.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if a command corresponding to {@param.name identity} doesn't exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vapi.metadata.cli.command_get"
+ }
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/cli/namespace": {
+ "get": {
+ "tags": [
+ "metadata/cli/namespace"
+ ],
+ "summary": "Returns the identifiers of all namespaces registered with the infrastructure.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Identifiers of all the namespaces.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.namespace.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/cli/namespace?~action=fingerprint": {
+ "post": {
+ "tags": [
+ "metadata/cli/namespace"
+ ],
+ "summary": "Returns the aggregate fingerprint of all the namespace metadata from all the metadata sources. The fingerprint provides clients an efficient way to check if the metadata for namespaces has been modified on the server.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fingerprint of all the namespace metadata present on the server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.namespace.fingerprint_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "fingerprint"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/cli/namespace?~action=get": {
+ "post": {
+ "tags": [
+ "metadata/cli/namespace"
+ ],
+ "summary": "Retreives information about a namespace including information about children of that namespace.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Information about the namespace including information about child of that namespace.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.namespace_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if a namespace corresponding to {@param.name identity} doesn't exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vapi.metadata.cli.namespace_get"
+ }
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/component": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/component"
+ ],
+ "summary": "Returns the identifiers for the component elements that are registered with the infrastructure.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the component elements that are registered with the infrastructure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.component.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/component/id:{component_id}": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/component"
+ ],
+ "summary": "Retrieves metamodel information about the component element corresponding to {@param.name componentId}. The {@link ComponentData} contains the metamodel information about the component and it's fingerprint. It contains information about all the package elements that are contained in this component element.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "component_id",
+ "description": "Identifier of the component element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link ComponentData} instance that corresponds to {@param.name componentId}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.component_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the component element associated with {@param.name componentId} is not registered with the infrastructure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/component/id:{component_id}?~action=fingerprint": {
+ "post": {
+ "tags": [
+ "metadata/metamodel/component"
+ ],
+ "summary": "Retrieves the fingerprint computed from the metamodel metadata of the component element corresponding to {@param.name componentId}. The fingerprint provides clients an efficient way to check if the metadata for a particular component element has been modified on the server. The client can do this by comparing the result of this operation with the fingerprint returned in the result of {@link vapi.metadata.metamodel.Component#get}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "component_id",
+ "description": "Identifier of the component element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The fingerprint computed from the metamodel metadata of the component element.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.component.fingerprint_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the component element associated with {@param.name componentId} is not registered with the infrastructure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "fingerprint"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/enumeration": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/enumeration"
+ ],
+ "summary": "Returns the identifiers for the enumeration elements that are contained in all the package elements, service elements and structure elements.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the enumeration elements.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.enumeration.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/enumeration/id:{enumeration_id}": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/enumeration"
+ ],
+ "summary": "Retrieves information about the enumeration element corresponding to {@param.name enumerationId}. The {@link EnumerationInfo} contains the metamodel information about the enumeration value element contained in the enumeration element.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "enumeration_id",
+ "description": "Identifier of the enumeration element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link EnumerationInfo} instance that corresponds to {@param.name enumerationId}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.enumeration_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the enumeration element associated with {@param.name enumerationId} is not contained in any of the package elements, service elements and structure elements.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/package": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/package"
+ ],
+ "summary": "Returns the identifiers for the packages elements that are contained in all the registered component elements.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the package elements that are contained in all the registered component elements.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.package.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/package/id:{package_id}": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/package"
+ ],
+ "summary": "Retrieves information about the package element corresponding to {@param.name packageId}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "package_id",
+ "description": "Identifier of the package element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link PackageInfo} instance that corresponds to {@param.name packageId}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.package_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the package element associated with {@param.name packageId} does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/resource": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/resource"
+ ],
+ "summary": "Returns the set of resource types present across all the service elements contained in all the package elements.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Set of resource types",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.resource.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/resource/model": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/resource/model"
+ ],
+ "summary": "Returns the set of identifiers for the structure elements that are models for the resource type corresponding to {@param.name resourceId}. The {@link vapi.metadata.metamodel.Structure} {@term service} provides {@term operations} to retrieve more details about the structure elements corresponding to the identifiers returned by this {@term operation}.",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "resource_id",
+ "description": "Identifier of the resource type.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The set of identifiers for the models that are associated with the resource type in {@param.name resourceId}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.resource.model.list_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the resource type associated with {@param.name resourceId} does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/service": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/service"
+ ],
+ "summary": "Returns the identifiers for the service elements that are currently registered with the infrastructure. The list of service elements is an aggregate list of all the service elements contained in all the package elements.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the service elements that are currently registered with the infrastructure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.service.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/service/id:{service_id}": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/service"
+ ],
+ "summary": "Retrieves information about the service element corresponding to {@param.name serviceId}. The {@link ServiceInfo} contains the metamodel information for the operation elements, structure elements and enumeration elements contained in the service element.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service_id",
+ "description": "Identifier of the service element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link ServiceInfo} instance that corresponds to {@param.name serviceId}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.service_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the service element associated with {@param.name serviceId} is not registered with the infrastructure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/service/operation": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/service/operation"
+ ],
+ "summary": "Returns the identifiers for the operation elements that are defined in the scope of {@param.name serviceId}.",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "service_id",
+ "description": "Identifier of the service element.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the operation elements that are defined in the scope of {@param.name serviceId}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.service.operation.list_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the service element associated with {@param.name serviceId} does not exist in any of the package elements.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/service/operation/id:{service_id}/id:{operation_id}": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/service/operation"
+ ],
+ "summary": "Retrieves the metamodel information about an operation element corresponding to {@param.name operationId} contained in the service element corresponding to {@param.name serviceId}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service_id",
+ "description": "Identifier of the service element.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "operation_id",
+ "description": "Identifier of the operation element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link vapi.metadata.metamodel.OperationInfo} instance that corresponds to {@param.name operationId} defined in scope {@param.name serviceId}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.service.operation_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the service element associated with {@param.name serviceId} does not exist in any of the package elements.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/structure": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/structure"
+ ],
+ "summary": "Returns the identifiers for the structure elements that are contained in all the package elements and service elements.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the structure elements.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.structure.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/metamodel/structure/id:{structure_id}": {
+ "get": {
+ "tags": [
+ "metadata/metamodel/structure"
+ ],
+ "summary": "Retrieves information about the structure element corresponding to {@param.name structureId}. The {@link StructureInfo} contains the metamodel information about the structure element. It contains information about all the field elements and enumeration elements contained in this structure element.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "structure_id",
+ "description": "Identifier of the structure element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link StructureInfo} instance that corresponds to {@param.name structureId}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.structure_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the structure element associated with {@param.name structureId} is not contained in any of the package elements or service elements.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/privilege/component": {
+ "get": {
+ "tags": [
+ "metadata/privilege/component"
+ ],
+ "summary": "Returns the identifiers for the component elements that have privilege information.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the component elements that have privilege information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.component.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/privilege/component/id:{component_id}": {
+ "get": {
+ "tags": [
+ "metadata/privilege/component"
+ ],
+ "summary": "Retrieves privilege information about the component element corresponding to {@param.name componentId}. The {@link ComponentData} contains the privilege information about the component element and its fingerprint. It contains information about all the package elements that belong to this component element.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "component_id",
+ "description": "Identifier of the component element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link ComponentData} instance that corresponds to {@param.name componentId}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.component_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the component element associated with {@param.name componentId} does not have any privilege information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/privilege/component/id:{component_id}?~action=fingerprint": {
+ "post": {
+ "tags": [
+ "metadata/privilege/component"
+ ],
+ "summary": "Retrieves the fingerprint computed from the privilege metadata of the component element corresponding to {@param.name componentId}. The fingerprint provides clients an efficient way to check if the metadata for a particular component has been modified on the server. The client can do this by comparing the result of this operation with the fingerprint returned in the result of {@link vapi.metadata.privilege.Component#get}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "component_id",
+ "description": "Identifier of the component element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The fingerprint computed from the privilege metadata of the component.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.component.fingerprint_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the component element associated with {@param.name componentId} does not have any privilege information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "fingerprint"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/privilege/package": {
+ "get": {
+ "tags": [
+ "metadata/privilege/package"
+ ],
+ "summary": "Returns the identifiers for the package elements that have privilege information.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the package elements that have privilege information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.package.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/privilege/package/id:{package_id}": {
+ "get": {
+ "tags": [
+ "metadata/privilege/package"
+ ],
+ "summary": "Retrieves privilege information about the package element corresponding to {@param.name packageId}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "package_id",
+ "description": "Identifier of the package element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link PackageInfo} instance that corresponds to {@param.name packageId}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.package_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the package element associated with {@param.name packageId} does not have any privilege information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/privilege/service": {
+ "get": {
+ "tags": [
+ "metadata/privilege/service"
+ ],
+ "summary": "Returns the identifiers for the service elements that have privilege information.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of identifiers for the service elements that have privilege information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.service.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/privilege/service/id:{service_id}": {
+ "get": {
+ "tags": [
+ "metadata/privilege/service"
+ ],
+ "summary": "Retrieves privilege information about the service element corresponding to {@param.name serviceId}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service_id",
+ "description": "Identifier of the service element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link ServiceInfo} instance that corresponds to {@param.name serviceId}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.service_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the service element associated with {@param.name serviceId} does not have any privilege information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/privilege/service/operation": {
+ "get": {
+ "tags": [
+ "metadata/privilege/service/operation"
+ ],
+ "summary": "Returns the identifiers for the operation elements contained in the service element corresponding to {@param.name serviceId} that have privilege information.",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "service_id",
+ "description": "Identifier of the service element.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of identifiers for the operation elements contained in the service element that have privilege information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.service.operation.list_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the service element associated with {@param.name serviceId} does not have any operation elements that have privilege information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/metadata/privilege/service/operation/id:{service_id}?~action=get": {
+ "post": {
+ "tags": [
+ "metadata/privilege/service/operation"
+ ],
+ "summary": "Retrieves the privilege information about an operation element corresponding to {@param.name operationId} contained in the service element corresponding to {@param.name serviceId}.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service_id",
+ "description": "Identifier of the service element.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The {@link vapi.metadata.privilege.OperationInfo} instance that corresponds to {@param.name operationId}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.service.operation_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the service element associated with {@param.name serviceId} does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vapi.metadata.privilege.service.operation_get"
+ }
+ }
+ },
+ "/rest/com/vmware/vapi/rest/navigation/component": {
+ "get": {
+ "tags": [
+ "rest/navigation/component"
+ ],
+ "summary": "Gets list of all vAPI REST Components.",
+ "parameters": [
+ {
+ "required": false,
+ "in": "query",
+ "name": "base_url",
+ "description": "Base URL.\nThe {param.name baseUrl} parameter is used by the service to produce absolute URLs. If unset then the service will produce relative URLs.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Component#Infos.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.component.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/rest/navigation/options?~action=get": {
+ "post": {
+ "tags": [
+ "rest/navigation/options"
+ ],
+ "summary": "Retrieves operations for specific URL.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of Operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.options_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If no service is registered for this URL.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vapi.rest.navigation.options_get"
+ }
+ }
+ },
+ "/rest/com/vmware/vapi/rest/navigation/resource": {
+ "get": {
+ "tags": [
+ "rest/navigation/resource"
+ ],
+ "summary": "Gets list of all vAPI REST Resources.",
+ "parameters": [
+ {
+ "required": false,
+ "in": "query",
+ "name": "base_url",
+ "description": "Base URL.\nThe {param.name baseUrl} parameter is used by the service to produce absolute URLs. If unset then the service will produce relative URLs.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Resource#Infos.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.resource.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/rest/navigation/resource/id:{type_id}": {
+ "get": {
+ "tags": [
+ "rest/navigation/resource"
+ ],
+ "summary": "Gets List of all Operations about a vAPI REST Resource. Information is searched for by typeId and instanceId is used only in URLs.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "type_id",
+ "description": "Resource type id.\nThe parameter must be an identifier for the resource type: vapi.resource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": false,
+ "in": "query",
+ "name": "instance_id",
+ "description": "Resource instance id.\nIf you provide instanceId parameter then returned URLs will be prepopulated with it. If instanceId parameter is unset then URLs will become URI templates with id place holders as per RFC 6570.\nThe parameter must be an identifier for the resource type: vapi.resource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": false,
+ "in": "query",
+ "name": "base_url",
+ "description": "Base URL.\nThe {param.name baseUrl} parameter is used by the service to produce absolute URLs. If unset then the service will produce relative URLs.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.resource_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/rest/navigation/root": {
+ "get": {
+ "tags": [
+ "rest/navigation/root"
+ ],
+ "summary": "Retrieves information about a vAPI REST Root.",
+ "parameters": [
+ {
+ "required": false,
+ "in": "query",
+ "name": "base_url",
+ "description": "Base URL.\nThe {param.name baseUrl} parameter is used by the service to produce absolute URLs. If unset then the service will produce relative URLs.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "vAPI REST Root#Info.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.root_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/com/vmware/vapi/rest/navigation/service": {
+ "get": {
+ "tags": [
+ "rest/navigation/service"
+ ],
+ "summary": "Gets list of all vAPI REST Services for a vAPI REST Component.",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "component_id",
+ "description": "Component identifier.\nThe parameter must be an identifier for the resource type: vapi.component.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": false,
+ "in": "query",
+ "name": "base_url",
+ "description": "Base URL.\nThis parameter is used to produce absolute URLs. If the {param.name baseUrl} parameter is unset then this service will produce relative URLs.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Service#Infos.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.service.list_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the component identifier does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vapi/vcenter/activation/id:{activation_id}?~action=cancel": {
+ "post": {
+ "tags": [
+ "vcenter/activation"
+ ],
+ "summary": "Sends a request to cancel the task associated with the provided activationId.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "activation_id",
+ "description": "the activationId associated with a vCenter Server task to be canceled.\nThe parameter must be an identifier for the resource type: Activation.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "404": {
+ "description": "if a vCenter Server task with the given activationId was not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the vCenter Server task associated with the given activationId is not cancelable.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user is not authorized to cancel the task.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the task cancelation cannot be performed due to vCenter server is unreachable or it is not properly configured.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "cancel"
+ }
+ }
+ },
+ "components": {
+ "requestBodies": {
+ "vapi.metadata.authentication.service.operation_get": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.service.operation_get"
+ }
+ }
+ }
+ },
+ "vapi.metadata.cli.command_get": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command_get"
+ }
+ }
+ }
+ },
+ "vapi.metadata.cli.namespace_get": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.namespace_get"
+ }
+ }
+ }
+ },
+ "vapi.metadata.privilege.service.operation_get": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.service.operation_get"
+ }
+ }
+ }
+ },
+ "vapi.rest.navigation.options_get": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.options_get"
+ }
+ }
+ }
+ }
+ },
+ "schemas": {
+ "vapi.metadata.authentication.authentication_info": {
+ "type": "object",
+ "properties": {
+ "scheme_type": {
+ "description": "The type of the authentication scheme.",
+ "$ref": "#/components/schemas/vapi.metadata.authentication.authentication_info.scheme_type"
+ },
+ "session_manager": {
+ "description": "In a session aware authentication scheme, a session manager is required that supports {@code create}, {@code delete} and {@code keepAlive} {@term operations}. The fully qualified {@term service} name of the session manager is provided in {@link AuthenticationInfo#sessionManager} {@term field}. This {@term service} is responsible for handling sessions.",
+ "type": "string"
+ },
+ "scheme": {
+ "description": "String identifier of the authentication scheme. Following are the supported authentication schemes by the infrastructure: Authentication information could change when there is an infrastructure update. Since the data present in {@link ComponentData#info} could be quite large, {@name #fingerprint} provides a convenient way to check if the data for a particular component is updated. You should store the fingerprint associated with a component. After an update, by invoking the {@link vapi.metadata.authentication.Component#fingerprint} {@term operation}, you can retrieve the new fingerprint for the component. If the new fingerprint and the previously stored fingerprint do not match, clients can then use the {@link vapi.metadata.authentication.Component#get} to retrieve the new authentication information for the component.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "info",
+ "fingerprint"
+ ]
+ },
+ "vapi.metadata.authentication.component_info": {
+ "type": "object",
+ "properties": {
+ "packages": {
+ "description": "Authentication information of all the package elements. The key in the {@term map} is the identifier of the package element and the value in the {@term map} is the authentication information for the package element. For an explanation of authentication information containment within package elements, see {@link vapi.metadata.authentication.Package}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.package_info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "packages"
+ ]
+ },
+ "vapi.metadata.authentication.component_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.component_data"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.authentication.operation_info": {
+ "type": "object",
+ "properties": {
+ "schemes": {
+ "description": "List of authentication schemes used by an operation element. The authentication scheme specified on the service element corresponding to this operation element is ignored.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.authentication_info"
+ }
+ }
+ },
+ "required": [
+ "schemes"
+ ]
+ },
+ "vapi.metadata.authentication.package.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.authentication.package_info": {
+ "type": "object",
+ "properties": {
+ "schemes": {
+ "description": "List of authentication schemes to be used for all the operation elements contained in this package element. If a particular service or operation element has no explicit authentications defined in the authentication defintion file, these authentication schemes are used for authenticating the user.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.authentication_info"
+ }
+ },
+ "services": {
+ "description": "Information about all service elements contained in this package element that contain authentication information. The key in the {@term map} is the identifier of the service element and the value in the {@term map} is the authentication information for the service element. For an explanation of authentication information containment within service elements, see {@link vapi.metadata.authentication.Service}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.service_info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "schemes",
+ "services"
+ ]
+ },
+ "vapi.metadata.authentication.package_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.package_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.authentication.service.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.authentication.service.operation.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.authentication.service.operation_get": {
+ "type": "object",
+ "properties": {
+ "operation_id": {
+ "type": "string",
+ "description": "Identifier of the operation element."
+ }
+ }
+ },
+ "vapi.metadata.authentication.service.operation_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.operation_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.authentication.service_info": {
+ "type": "object",
+ "properties": {
+ "schemes": {
+ "description": "List of authentication schemes to be used for all the operation elements contained in this service element. The authentication scheme specified on the package element corresponding to this service element is ignored.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.authentication_info"
+ }
+ },
+ "operations": {
+ "description": "Information about all operation elements contained in this service element that contain authentication information. The key in the {@term map} is the identifier of the operation element and the value in the {@term map} is the authentication information for the operation element. For an explanation of containment of authentication information within operation elements, see {@link vapi.metadata.authentication.service.Operation}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.operation_info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "schemes",
+ "operations"
+ ]
+ },
+ "vapi.metadata.authentication.service_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.authentication.service_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.cli.command.fingerprint_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.cli.command.formatter_type": {
+ "type": "string",
+ "description": "The {@name FormatterType} {@term enumerated type} defines supported CLI output formatter types. See {@link Info#formatter}.",
+ "enum": [
+ "SIMPLE",
+ "TABLE",
+ "JSON",
+ "XML",
+ "CSV",
+ "HTML"
+ ]
+ },
+ "vapi.metadata.cli.command.generic_type": {
+ "type": "string",
+ "description": "The {@name GenericType} {@term enumerated type} defines generic types supported by {@name Command} {@term service}. See {@link OptionInfo#generic}.",
+ "enum": [
+ "NONE",
+ "OPTIONAL",
+ "LIST",
+ "OPTIONAL_LIST",
+ "LIST_OPTIONAL"
+ ]
+ },
+ "vapi.metadata.cli.command.identity": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "The dot-separated path of the namespace containing the command in the CLI command tree.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the command.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "path",
+ "name"
+ ]
+ },
+ "vapi.metadata.cli.command.info": {
+ "type": "object",
+ "properties": {
+ "identity": {
+ "description": "Basic command identity.",
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.identity"
+ },
+ "description": {
+ "description": "The text description displayed to the user in help output.",
+ "type": "string"
+ },
+ "service_id": {
+ "description": "The service identifier that contains the operations for this CLI command.",
+ "type": "string"
+ },
+ "operation_id": {
+ "description": "The operation identifier corresponding to this CLI command.",
+ "type": "string"
+ },
+ "options": {
+ "description": "The input for this command.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.option_info"
+ }
+ },
+ "formatter": {
+ "description": "The formatter to use when displaying the output of this command.",
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.formatter_type"
+ },
+ "output_field_list": {
+ "description": "List of output structure name and output field info.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.output_info"
+ }
+ }
+ },
+ "required": [
+ "identity",
+ "description",
+ "service_id",
+ "operation_id",
+ "options",
+ "output_field_list"
+ ]
+ },
+ "vapi.metadata.cli.command.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.identity"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.cli.command.option_info": {
+ "type": "object",
+ "properties": {
+ "long_option": {
+ "description": "The long option name of the parameter as used by the user.",
+ "type": "string"
+ },
+ "short_option": {
+ "description": "The single character value option name.",
+ "type": "string"
+ },
+ "field_name": {
+ "description": "The fully qualified name of the option referred to by the operation element in {@link Info#operationId}.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the option to be displayed to the user when they request usage information for a CLI command.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of option. This is used to display information about what kind of data is expected (string, number, boolean, etc.) for the option when they request usage information for a CLI command. For {@term enumerated type} this stores the fully qualified {@term enumerated type} id.",
+ "type": "string"
+ },
+ "generic": {
+ "description": "This is used to tell the user whether the option is required or optional, or whether they can specify the option multiple times.",
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.generic_type"
+ }
+ },
+ "required": [
+ "long_option",
+ "field_name",
+ "description",
+ "type",
+ "generic"
+ ]
+ },
+ "vapi.metadata.cli.command.output_field_info": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "description": "Name of the {@term field}.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Name used by the CLI to display the {@term field}.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "field_name",
+ "display_name"
+ ]
+ },
+ "vapi.metadata.cli.command.output_info": {
+ "type": "object",
+ "properties": {
+ "structure_id": {
+ "description": "Name of the {@term structure}.",
+ "type": "string"
+ },
+ "output_fields": {
+ "description": "The order in which the {@term fields} of the {@term structure} will be displayed by the CLI as well as the names used to display the {@term fields}.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.output_field_info"
+ }
+ }
+ },
+ "required": [
+ "structure_id",
+ "output_fields"
+ ]
+ },
+ "vapi.metadata.cli.command_get": {
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.identity",
+ "description": "Identifier of the command for which to retreive information."
+ }
+ }
+ },
+ "vapi.metadata.cli.command_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.command.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.cli.namespace.fingerprint_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.cli.namespace.identity": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "The dot-separated path of the namespace containing the namespace in the CLI node tree. For top-level namespace this will be empty.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name displayed to the user for this namespace.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "path",
+ "name"
+ ]
+ },
+ "vapi.metadata.cli.namespace.info": {
+ "type": "object",
+ "properties": {
+ "identity": {
+ "description": "Basic namespace identity.",
+ "$ref": "#/components/schemas/vapi.metadata.cli.namespace.identity"
+ },
+ "description": {
+ "description": "The text description displayed to the user in help output.",
+ "type": "string"
+ },
+ "children": {
+ "description": "The children of this namespace in the tree of CLI namespaces.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.namespace.identity"
+ }
+ }
+ },
+ "required": [
+ "identity",
+ "description",
+ "children"
+ ]
+ },
+ "vapi.metadata.cli.namespace.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.namespace.identity"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.cli.namespace_get": {
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.namespace.identity",
+ "description": "Identifier of the namespace for which to retreive information."
+ }
+ }
+ },
+ "vapi.metadata.cli.namespace_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.cli.namespace.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.component.fingerprint_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.component.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.component_data": {
+ "type": "object",
+ "properties": {
+ "info": {
+ "description": "Metamodel information of the component element. This includes information about all the package elements contained in this component element. The metamodel information about a component could be quite large if there are a lot of package elements contained in this component.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.component_info"
+ },
+ "fingerprint": {
+ "description": "Fingerprint of the metamodel metadata of the component component. Metamodel information could change when there is an infrastructure update and new functionality is added to an existing component. Since the data present in {@link ComponentData#info} could be quite large, {@name #fingerprint} provides a convenient way to check if the data for a particular component is updated. You should store the fingerprint associated with a component. After an update, by invoking the {@link vapi.metadata.metamodel.Component#fingerprint} {@term operation}, you can retrieve the new fingerprint for the component. If the new fingerprint and the previously stored fingerprint do not match, clients can use the {@link vapi.metadata.metamodel.Component#get} to retrieve the new metamodel information for the component.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "info",
+ "fingerprint"
+ ]
+ },
+ "vapi.metadata.metamodel.component_info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Dot separated name of the component element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.",
+ "type": "string"
+ },
+ "packages": {
+ "description": "Metamodel metadata information of all the package elements contained in the component element. The key in the {@term map} is the identifier of the package element and the value in the {@term map} is the metamodel information of the package element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.package_info"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "description": "Generic metadata for the component element. The key in the {@term map} is the name of the metadata element and the value is the data associated with that metadata element. The {@link vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_map"
+ }
+ }
+ }
+ },
+ "documentation": {
+ "description": "English language documentation for a component. It can contain HTML markup and documentation tags (similar to Javadoc tags). The first sentence of the package documentation is a complete sentence that identifies the component by name and summarizes the purpose of the component.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "packages",
+ "metadata",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.component_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.component_data"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.constant_info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the constant element.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.type"
+ },
+ "value": {
+ "description": "Value of the constant element.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.constant_value"
+ },
+ "documentation": {
+ "description": "English language documentation for the constant element. It can contain HTML markup and documentation tags (similar to Javadoc tags).",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "value",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.constant_value": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "Category of the type of constant value.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.constant_value.category"
+ },
+ "primitive_value": {
+ "description": "Primitive value of the constant element.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.primitive_value"
+ },
+ "list_value": {
+ "description": "List value of the constant element.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.primitive_value"
+ }
+ }
+ },
+ "required": [
+ "category"
+ ]
+ },
+ "vapi.metadata.metamodel.constant_value.category": {
+ "type": "string",
+ "description": "The {@name Category} {@term enumerated type} defines {@term enumeration values} for the valid kinds of values.",
+ "enum": [
+ "PRIMITIVE",
+ "LIST"
+ ]
+ },
+ "vapi.metadata.metamodel.element_map": {
+ "type": "object",
+ "properties": {
+ "elements": {
+ "description": "Metamodel information of the metadata elements. The key parameter of the {@term map} is the identifier for the element and the value corresponds to the element value.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_value"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "elements"
+ ]
+ },
+ "vapi.metadata.metamodel.element_value": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the value.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_value.type"
+ },
+ "long_value": {
+ "description": "Long value of the metadata element.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "string_value": {
+ "description": "String value of the metadata element.",
+ "type": "string"
+ },
+ "list_value": {
+ "description": "List of strings value of the metadata element.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "structure_id": {
+ "description": "Identifier of the structure element.",
+ "type": "string"
+ },
+ "structure_ids": {
+ "description": "List of identifiers of the structure elements.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vapi.metadata.metamodel.element_value.type": {
+ "type": "string",
+ "description": "The {@name Type} {@term enumerated type} defines the valid types for values in metadata elements.",
+ "enum": [
+ "LONG",
+ "STRING",
+ "STRING_LIST",
+ "STRUCTURE_REFERENCE",
+ "STRUCTURE_REFERENCE_LIST"
+ ]
+ },
+ "vapi.metadata.metamodel.enumeration.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.enumeration_info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Dot separated name of the enumeration element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.",
+ "type": "string"
+ },
+ "values": {
+ "description": "Metamodel information of all the enumeration value elements contained in this enumeration element. The order of the enumeration value elements in the list is same as the order in which they are defined in the interface definition file.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.enumeration_value_info"
+ }
+ },
+ "metadata": {
+ "description": "Generic metadata elements for an enumeration element. The key in the {@term map} is the name of the metadata element and the value is the data associated with that metadata element. The {@link vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_map"
+ }
+ }
+ }
+ },
+ "documentation": {
+ "description": "English language documentation for an enumeration element. It can contain HTML markup and Javadoc tags. The first sentence of the enumeration documentation is a complete sentence that identifies the enumeration by name and summarizes the purpose of the enumeration. The documentation describes the context in which the enumeration is used. The documentation also contains references to the context in which the enumeration is used. But if the enumeration is used in many contexts, the references may not be present.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "values",
+ "metadata",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.enumeration_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.enumeration_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.enumeration_value_info": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value in the enumerated type. All the characters in the string are capitalized.",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "Additional metadata for enumeration value in the enumerated type. The key in the {@term map} is the name of the metadata element and the value is the data associated with that metadata element. The {@link vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_map"
+ }
+ }
+ }
+ },
+ "documentation": {
+ "description": "English language documentation for an enumeration value. It can contain HTML markup and documentation tags (similar to Javadoc tags). The first statement will be a noun or verb phrase that describes the purpose of the enumeration value.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value",
+ "metadata",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.error_info": {
+ "type": "object",
+ "properties": {
+ "structure_id": {
+ "description": "Identifier for the structure element corresponding to the error that is being reported by the operation.",
+ "type": "string"
+ },
+ "documentation": {
+ "description": "The English language documentation for the service element. It can contain HTML markup and Javadoc tags.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "structure_id",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.field_info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the field element in a canonical format. The format is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type information.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.type"
+ },
+ "metadata": {
+ "description": "Generic metadata elements for the field element. The key in the {@term map} is the name of the metadata element and the value is the data associated with that metadata element. The {@link vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_map"
+ }
+ }
+ }
+ },
+ "documentation": {
+ "description": "English language documentation for the service element. It can contain HTML markup and Javadoc tags.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "type",
+ "metadata",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.generic_instantiation": {
+ "type": "object",
+ "properties": {
+ "generic_type": {
+ "description": "The generic type that is being instantiated.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.generic_instantiation.generic_type"
+ },
+ "element_type": {
+ "description": "Type of the element parameter if the generic type instantiation is a {@link GenericType#LIST}, {@link GenericType#OPTIONAL} or {@link GenericType#SET}.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.type"
+ },
+ "map_key_type": {
+ "description": "Type of the key parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the value parameter is described by {@link GenericInstantiation#mapValueType}..",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.type"
+ },
+ "map_value_type": {
+ "description": "Type of the value parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the key parameter is described by {@link GenericInstantiation#mapKeyType}..",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.type"
+ }
+ },
+ "required": [
+ "generic_type"
+ ]
+ },
+ "vapi.metadata.metamodel.generic_instantiation.generic_type": {
+ "type": "string",
+ "description": "The {@name GenericType} {@term enumerated type} provides {@term enumeration values} for each of the generic types provided by the infrastructure.",
+ "enum": [
+ "LIST",
+ "MAP",
+ "OPTIONAL",
+ "SET"
+ ]
+ },
+ "vapi.metadata.metamodel.operation_info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation element in a canonical format. The format is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.",
+ "type": "string"
+ },
+ "params": {
+ "description": "Metamodel information for the parameter elements. The order of the parameters elements in the list is same as the order of the parameters declared in the interface definition file.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.field_info"
+ }
+ },
+ "output": {
+ "description": "Metamodel type for the output element.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.operation_result_info"
+ },
+ "errors": {
+ "description": "List of error elements that might be reported by the operation element. If the operation reports the same error for more than one reason, the list contains the error element associated with the error more than once with different documentation elements.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.error_info"
+ }
+ },
+ "metadata": {
+ "description": "Generic metadata elements for the operation element. The key in the {@term map} is the name of the metadata element and the value is the data associated with that metadata element. The {@link vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for key in the {@term map}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_map"
+ }
+ }
+ }
+ },
+ "documentation": {
+ "description": "English language documentation for the service element. It can contain HTML markup and Javadoc tags.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "params",
+ "output",
+ "errors",
+ "metadata",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.operation_result_info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type information of the operation result element.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.type"
+ },
+ "metadata": {
+ "description": "Generic metadata elements for the service element. The key in the {@term map} is the name of the metadata element and the value is the data associated with that metadata element. The {@link vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_map"
+ }
+ }
+ }
+ },
+ "documentation": {
+ "description": "English language documentation for the operation result element. It can contain HTML markup and Javadoc tags.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "metadata",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.package.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.package_info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Dot separated name of the package element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.",
+ "type": "string"
+ },
+ "structures": {
+ "description": "Metamodel information of all the structure elements contained in the package element. The key in the {@term map} is the identifier of the structure element and the value in the {@term map} is the metamodel information for the structure element. This does not include the structure elements contained in the service elements that are contained in this package element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.structure_info"
+ }
+ }
+ }
+ },
+ "enumerations": {
+ "description": "Metamodel information of all the enumeration elements contained in the package element. The key in the {@term map} is the identifier of the enumeration element and the value in the {@term map} is the metamodel information for the enumeration element. This does not include the enumeration elements that are contained in the service elements of this package element or structure elements of this package element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.enumeration_info"
+ }
+ }
+ }
+ },
+ "services": {
+ "description": "Metamodel information of all the service elements contained in the package element. The key in the {@term map} is the identifier of the service element and the value in the {@term map} is the metamodel information for the service element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.service_info"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "description": "Generic metadata elements for the package element. The key in the {@term map} is the name of the metadata element and the value is the data associated with that metadata element. The {@link vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_map"
+ }
+ }
+ }
+ },
+ "documentation": {
+ "description": "English language documentation for a package. It can contain HTML markup and Javadoc tags. The first sentence of the package documentation is a complete sentence that identifies the package by name and summarizes the purpose of the package. The primary purpose of a package documentation is to provide high-level context that will provide a framework in which the users can put the detail about the package contents.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "structures",
+ "enumerations",
+ "services",
+ "metadata",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.package_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.package_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.primitive_value": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the constant value.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.primitive_value.type"
+ },
+ "boolean_value": {
+ "description": "Boolean value of the constant.",
+ "type": "boolean"
+ },
+ "double_value": {
+ "description": "Double value of the constant.",
+ "type": "number",
+ "format": "double"
+ },
+ "long_value": {
+ "description": "Long value of the constant.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "string_value": {
+ "description": "String value of the constant.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vapi.metadata.metamodel.primitive_value.type": {
+ "type": "string",
+ "description": "The {@name Type} {@term enumerated type} defines the valid types for values in constant elements.",
+ "enum": [
+ "BOOLEAN",
+ "DOUBLE",
+ "LONG",
+ "STRING"
+ ]
+ },
+ "vapi.metadata.metamodel.resource.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.resource.model.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.service.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.service.operation.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.service.operation_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.operation_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.service_info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Dot separated name of the service element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.",
+ "type": "string"
+ },
+ "operations": {
+ "description": "Metamodel information of all the operation elements contained in the service element. The key in the {@term map} is the identifier of the operation element and the value in the {@term map} is the metamodel information for the operation element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.operation_info"
+ }
+ }
+ }
+ },
+ "structures": {
+ "description": "Metamodel information of all the structure elements contained in the service element. The key in the {@term map} is the identifier of the structure element and the value in the {@term map} is the metamodel information for the structure element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.structure_info"
+ }
+ }
+ }
+ },
+ "enumerations": {
+ "description": "Metamodel information of all the enumeration elements contained in the service element. The key in the {@term map} is the identifier of the enumeration element and the value in the {@term map} is the metamodel information for the enumeration element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.enumeration_info"
+ }
+ }
+ }
+ },
+ "constants": {
+ "description": "Metamodel information of all the constant elements contained in the service element. The key in the {@term map} is the name of the constant element and the value in the {@term map} is the metamodel information for the contant element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.constant_info"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "description": "Generic metadata elements for the service element. The key in the {@term map} is the name of the metadata element and the value is the data associated with that metadata element. The {@link vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_map"
+ }
+ }
+ }
+ },
+ "documentation": {
+ "description": "English language documentation for the service element. It can contain HTML markup and Javadoc tags. The first sentence of the service documentation is a complete sentence that identifies the service by name and summarizes the purpose of the service. The remaining part of the documentation provides a summary of how to use the operations defined in the service.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "operations",
+ "structures",
+ "enumerations",
+ "constants",
+ "metadata",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.service_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.service_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.structure.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.structure_info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Dot separated name of the structure element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the structure.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.structure_info.type"
+ },
+ "enumerations": {
+ "description": "Metamodel information of all the enumeration elements contained in the structure element. The key in the {@term map} is the identifier of the enumeration element and the value is the metamodel information of the enumeration element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.enumeration_info"
+ }
+ }
+ }
+ },
+ "constants": {
+ "description": "Metamodel information of all the constant elements contained in the structure element. The key in the {@term map} is the name of the constant element and the value in the {@term map} is the metamodel information for the constant element.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.constant_info"
+ }
+ }
+ }
+ },
+ "fields": {
+ "description": "Metamodel information of all the field elements. The order of the field elements in the list matches the order in which the fields are defined in the service.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.field_info"
+ }
+ },
+ "metadata": {
+ "description": "Generic metadata elements for the structure element. The key in the {@term map} is the name of the metadata element and the value is the data associated with that metadata element. The {@link vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.element_map"
+ }
+ }
+ }
+ },
+ "documentation": {
+ "description": "English language documentation for a structure element. It can contain HTML markup and Javadoc tags. The first sentence of the structure documentation is a complete sentence that identifies the structure by name and summarizes the purpose of the structure.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "type",
+ "enumerations",
+ "constants",
+ "fields",
+ "metadata",
+ "documentation"
+ ]
+ },
+ "vapi.metadata.metamodel.structure_info.type": {
+ "type": "string",
+ "description": "The {@name Type} {@term enumerated type} defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the {@term errors} of an operation element.",
+ "enum": [
+ "STRUCTURE",
+ "ERROR"
+ ]
+ },
+ "vapi.metadata.metamodel.structure_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.structure_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.metamodel.type": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "Category of this type.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.type.category"
+ },
+ "builtin_type": {
+ "description": "Category of the built-in type.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.type.builtin_type"
+ },
+ "user_defined_type": {
+ "description": "Identifier and type of the user defined type.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.user_defined_type"
+ },
+ "generic_instantiation": {
+ "description": "Instantiation of one of the generic types available in the interface definition language.",
+ "$ref": "#/components/schemas/vapi.metadata.metamodel.generic_instantiation"
+ }
+ },
+ "required": [
+ "category"
+ ]
+ },
+ "vapi.metadata.metamodel.type.builtin_type": {
+ "type": "string",
+ "description": "The {@name BuiltinType} {@term enumerated type} provides {@term enumeration value} for each of the built-in types present in the interface definition language type system.",
+ "enum": [
+ "VOID",
+ "BOOLEAN",
+ "LONG",
+ "DOUBLE",
+ "STRING",
+ "BINARY",
+ "SECRET",
+ "DATE_TIME",
+ "ID",
+ "URI",
+ "ANY_ERROR",
+ "DYNAMIC_STRUCTURE",
+ "OPAQUE"
+ ]
+ },
+ "vapi.metadata.metamodel.type.category": {
+ "type": "string",
+ "description": "The {@name Category} {@term enumerated type} provides {@term enumeration value} for each category of the type.",
+ "enum": [
+ "BUILTIN",
+ "USER_DEFINED",
+ "GENERIC"
+ ]
+ },
+ "vapi.metadata.metamodel.user_defined_type": {
+ "type": "object",
+ "properties": {
+ "resource_type": {
+ "description": "Category of the user defined named type. The named type could be a structure element or an enumeration element.",
+ "type": "string"
+ },
+ "resource_id": {
+ "description": "Identifier of the user defined named type.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resource_type",
+ "resource_id"
+ ]
+ },
+ "vapi.metadata.privilege.component.fingerprint_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.privilege.component.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.privilege.component_data": {
+ "type": "object",
+ "properties": {
+ "info": {
+ "description": "Privilege information of the component. This includes information about all the {@term packages} in the component.",
+ "$ref": "#/components/schemas/vapi.metadata.privilege.component_info"
+ },
+ "fingerprint": {
+ "description": "Fingerprint of the metadata of the component. Privilege information could change when there is an infrastructure update. Since the data present in {@link ComponentData#info} could be quite large, {@name #fingerprint} provides a convenient way to check if the data for a particular component is updated. You should store the fingerprint associated with a component. After an update, by invoking the {@link vapi.metadata.privilege.Component#fingerprint} {@term operation}, you can retrieve the new fingerprint for the component. If the new fingerprint and the previously stored fingerprint do not match, clients can then use the {@link vapi.metadata.privilege.Component#get} to retrieve the new privilege information for the component.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "info",
+ "fingerprint"
+ ]
+ },
+ "vapi.metadata.privilege.component_info": {
+ "type": "object",
+ "properties": {
+ "packages": {
+ "description": "Privilege information of all the package elements. The key in the {@term map} is the identifier of the package element and the value in the {@term map} is the privilege information for the package element. For an explanation of privilege information containment within package elements, see {@link vapi.metadata.privilege.Package}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.package_info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "packages"
+ ]
+ },
+ "vapi.metadata.privilege.component_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.component_data"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.privilege.operation_info": {
+ "type": "object",
+ "properties": {
+ "privileges": {
+ "description": "List of all privileges assigned to the operation element.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privilege_info": {
+ "description": "Privilege information of all the parameter elements of the operation element. For an explanation of containment of privilege information within parameter elements, see {@link vapi.metadata.privilege.PrivilegeInfo}.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.privilege_info"
+ }
+ }
+ },
+ "required": [
+ "privileges",
+ "privilege_info"
+ ]
+ },
+ "vapi.metadata.privilege.package.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.privilege.package_info": {
+ "type": "object",
+ "properties": {
+ "privileges": {
+ "description": "List of default privileges to be used for all the operations present in this package. If a particular operation element has no explicit privileges defined in the privilege definition file, these privileges are used for enforcing authorization.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "services": {
+ "description": "Information about all service elements contained in this package element that contain privilege information. The key in the {@term map} is the identifier of the service element and the value in the {@term map} is the privilege information for the service element. For an explanation of privilege information containment within service elements, see {@link vapi.metadata.privilege.Service}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.service_info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "privileges",
+ "services"
+ ]
+ },
+ "vapi.metadata.privilege.package_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.package_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.privilege.privilege_info": {
+ "type": "object",
+ "properties": {
+ "property_path": {
+ "description": "The {@name #propertyPath} points to an entity that is used in the operation element. An entity can either be present in one of the parameter elements or if a parameter is a structure element, it could also be present in one of the field elements. If the privilege is assigned to an entity used in the parameter, {@name #propertyPath} will just contain the name of the parameter field. If the privilege is assigned to an entity in one of the field elements of a parameter element that is a structure element, then {@name #propertyPath} will contain a path to the field element starting from the parameter name.",
+ "type": "string"
+ },
+ "privileges": {
+ "description": "List of privileges assigned to the entity that is being referred by {@link #propertyPath}.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "property_path",
+ "privileges"
+ ]
+ },
+ "vapi.metadata.privilege.service.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.privilege.service.operation.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.privilege.service.operation_get": {
+ "type": "object",
+ "properties": {
+ "operation_id": {
+ "type": "string",
+ "description": "Identifier of the operation element."
+ }
+ }
+ },
+ "vapi.metadata.privilege.service.operation_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.operation_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.privilege.service_info": {
+ "type": "object",
+ "properties": {
+ "operations": {
+ "description": "Information about all operation elements contained in this service element that contain privilege information. The key in the {@term map} is the identifier of the operation element and the value in the {@term map} is the privilege information for the operation element. For an explanation of containment of privilege information within operation elements, see {@link vapi.metadata.privilege.service.Operation}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.operation_info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "operations"
+ ]
+ },
+ "vapi.metadata.privilege.service_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.metadata.privilege.service_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.rest.navigation.component.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the component.",
+ "type": "string"
+ },
+ "services": {
+ "description": "Link to component services list.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.link"
+ },
+ "documentation": {
+ "description": "Component documentation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "services",
+ "documentation"
+ ]
+ },
+ "vapi.rest.navigation.component.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.component.info"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.rest.navigation.http_method": {
+ "type": "string",
+ "description": "The HttpMethod enumerated type defines the valid http methods that can be used with a URL to make a REST call.",
+ "enum": [
+ "GET",
+ "POST",
+ "PUT",
+ "DELETE",
+ "OPTIONS",
+ "PATCH",
+ "TRACE",
+ "CONNECT",
+ "HEAD"
+ ]
+ },
+ "vapi.rest.navigation.link": {
+ "type": "object",
+ "properties": {
+ "method": {
+ "description": "HttpMethod to be used.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.http_method"
+ },
+ "href": {
+ "description": "URL that should be called.",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "Reference to meta data describing the call.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.reference"
+ }
+ },
+ "required": [
+ "method",
+ "href",
+ "metadata"
+ ]
+ },
+ "vapi.rest.navigation.operation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string"
+ },
+ "service": {
+ "description": "Name of the service where the operations belongs to.",
+ "type": "string"
+ },
+ "documentation": {
+ "description": "Documentation of the operation.",
+ "type": "string"
+ },
+ "links": {
+ "description": "List of References to execute the operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.reference"
+ }
+ },
+ "metadata": {
+ "description": "Reference to meta data about the operation.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.reference"
+ }
+ },
+ "required": [
+ "name",
+ "service",
+ "documentation",
+ "links",
+ "metadata"
+ ]
+ },
+ "vapi.rest.navigation.options_get": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "URL for which operations are retrieved."
+ },
+ "base_url": {
+ "type": "string",
+ "description": "Base URL.\nThe {param.name baseUrl} parameter is used by the service to produce absolute URLs. If unset then the service will produce relative URLs."
+ }
+ }
+ },
+ "vapi.rest.navigation.options_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.operation"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.rest.navigation.reference": {
+ "type": "object",
+ "properties": {
+ "method": {
+ "description": "HttpMethod to be used.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.http_method"
+ },
+ "href": {
+ "description": "URL to be called.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "method",
+ "href"
+ ]
+ },
+ "vapi.rest.navigation.resource.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the resource.",
+ "type": "string"
+ },
+ "method": {
+ "description": "HttpMethod to get resource information.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.http_method"
+ },
+ "href": {
+ "description": "URL to get resource information.",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "Reference to the meta data for the resource.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.reference"
+ }
+ },
+ "required": [
+ "name",
+ "method",
+ "href",
+ "metadata"
+ ]
+ },
+ "vapi.rest.navigation.resource.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.resource.info"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.rest.navigation.resource_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.operation"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.rest.navigation.root.info": {
+ "type": "object",
+ "properties": {
+ "components": {
+ "description": "Link to component list.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.link"
+ },
+ "resources": {
+ "description": "Link to resource list.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.link"
+ }
+ },
+ "required": [
+ "components",
+ "resources"
+ ]
+ },
+ "vapi.rest.navigation.root_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.root.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.rest.navigation.service.info": {
+ "type": "object",
+ "properties": {
+ "documentation": {
+ "description": "Documentation of the service.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the service.",
+ "type": "string"
+ },
+ "method": {
+ "description": "HttpMethod to get service information.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.http_method"
+ },
+ "href": {
+ "description": "URL to get service information.",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "Reference to the meta data for the service.",
+ "$ref": "#/components/schemas/vapi.rest.navigation.reference"
+ }
+ },
+ "required": [
+ "documentation",
+ "name",
+ "method",
+ "href",
+ "metadata"
+ ]
+ },
+ "vapi.rest.navigation.service.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.rest.navigation.service.info"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.std.errors.error.type": {
+ "type": "string",
+ "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.",
+ "enum": [
+ "ERROR",
+ "ALREADY_EXISTS",
+ "ALREADY_IN_DESIRED_STATE",
+ "CANCELED",
+ "CONCURRENT_CHANGE",
+ "FEATURE_IN_USE",
+ "INTERNAL_SERVER_ERROR",
+ "INVALID_ARGUMENT",
+ "INVALID_ELEMENT_CONFIGURATION",
+ "INVALID_ELEMENT_TYPE",
+ "INVALID_REQUEST",
+ "NOT_ALLOWED_IN_CURRENT_STATE",
+ "NOT_FOUND",
+ "OPERATION_NOT_FOUND",
+ "RESOURCE_BUSY",
+ "RESOURCE_IN_USE",
+ "RESOURCE_INACCESSIBLE",
+ "SERVICE_UNAVAILABLE",
+ "TIMED_OUT",
+ "UNABLE_TO_ALLOCATE_RESOURCE",
+ "UNAUTHENTICATED",
+ "UNAUTHORIZED",
+ "UNEXPECTED_INPUT",
+ "UNSUPPORTED",
+ "UNVERIFIED_PEER"
+ ]
+ },
+ "vapi.std.errors.not_allowed_in_current_state": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.not_allowed_in_current_state_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state"
+ }
+ }
+ },
+ "vapi.std.errors.not_found": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.not_found_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ },
+ "vapi.std.errors.service_unavailable": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.service_unavailable_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ },
+ "vapi.std.errors.unauthenticated": {
+ "type": "object",
+ "properties": {
+ "challenge": {
+ "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"",
+ "type": "string"
+ },
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.unauthenticated_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ },
+ "vapi.std.errors.unauthorized": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.unauthorized_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ },
+ "vapi.std.localizable_message": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the localizable string or message template. This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.",
+ "type": "string"
+ },
+ "default_message": {
+ "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.",
+ "type": "string"
+ },
+ "args": {
+ "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "params": {
+ "description": "Named arguments to be substituted into the message template.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.localization_param"
+ }
+ }
+ }
+ },
+ "localized": {
+ "description": "Localized string value as per request requirements.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "default_message",
+ "args"
+ ]
+ },
+ "vapi.std.localization_param": {
+ "type": "object",
+ "properties": {
+ "s": {
+ "description": "{@term String} value associated with the parameter.",
+ "type": "string"
+ },
+ "dt": {
+ "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "i": {
+ "description": "{@term long} value associated with the parameter.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "d": {
+ "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.",
+ "type": "number",
+ "format": "double"
+ },
+ "l": {
+ "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.",
+ "$ref": "#/components/schemas/vapi.std.nested_localizable_message"
+ },
+ "format": {
+ "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.",
+ "$ref": "#/components/schemas/vapi.std.localization_param.date_time_format"
+ },
+ "precision": {
+ "description": "Number of fractional digits to include in formatted {@term double} value.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "vapi.std.localization_param.date_time_format": {
+ "type": "string",
+ "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.",
+ "enum": [
+ "SHORT_DATE",
+ "MED_DATE",
+ "LONG_DATE",
+ "FULL_DATE",
+ "SHORT_TIME",
+ "MED_TIME",
+ "LONG_TIME",
+ "FULL_TIME",
+ "SHORT_DATE_TIME",
+ "MED_DATE_TIME",
+ "LONG_DATE_TIME",
+ "FULL_DATE_TIME"
+ ]
+ },
+ "vapi.std.nested_localizable_message": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the localizable string or message template. This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.",
+ "type": "string"
+ },
+ "params": {
+ "description": "Named Arguments to be substituted into the message template.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.localization_param"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/vcenter.json b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/vcenter.json
new file mode 100644
index 0000000..161de1d
--- /dev/null
+++ b/vmware_rest_code_generator/api_specifications/7.0.3_openapi3/vcenter.json
@@ -0,0 +1,53874 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "description": "VMware vCenter Server provides a centralized platform for managing your VMware vSphere environments",
+ "title": "vcenter",
+ "version": "2.0.0"
+ },
+ "paths": {
+ "/api/vcenter/authentication/token": {
+ "post": {
+ "tags": [
+ "authentication/token"
+ ],
+ "summary": "Provides a token endpoint as defined in RFC 6749. \nSupported grant types: \n\n - urn:ietf:params:oauth:grant-type:token-exchange - Exchanges incoming token based on the spec and current client authorization data. \n \nThis operation supercedes vcenter.tokenservice.TokenExchange#exchange. The REST rendering of the newer operation matches RFC8693's definition for both input and output of the operation.\n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "TokenInfo structure that contains a newly issued token.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Oauth2TokenInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If the server is unwilling or unable to issue a token for all the target services indicated by the Token.IssueSpec.resource or Token.IssueSpec.audience fields.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Oauth2ErrorsInvalidScope"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "issue",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterAuthenticationTokenIssue"
+ }
+ }
+ },
+ "/api/vcenter/certificate-management/vcenter/signing-certificate": {
+ "put": {
+ "tags": [
+ "certificate_management/vcenter/signing_certificate"
+ ],
+ "summary": "Set the active signing certificate for vCenter. The certificate will immediately be used to sign tokens issued by vCenter token service.\nif you do not have all of the privileges described as follows: \n - Operation execution requires CertificateManagement.Administer. \n",
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ }
+ },
+ "operationId": "set",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterCertificateManagementVcenterSigningCertificateSet"
+ }
+ },
+ "get": {
+ "tags": [
+ "certificate_management/vcenter/signing_certificate"
+ ],
+ "summary": "Retrieve the signing certificate chains for validating vCenter-issued tokens.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The active certificate chain and signing certificate chains for validating tokens.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCertificateManagementVcenterSigningCertificateInfo"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/certificate-management/vcenter/signing-certificate?action=refresh": {
+ "post": {
+ "tags": [
+ "certificate_management/vcenter/signing_certificate"
+ ],
+ "summary": "Refresh the vCenter signing certificate chain. The new signing certificate will be issued in accordance with vCenter CA policy and set as the active signing certificate for the vCenter token service. The certificate will immediately be used to sign tokens issued by vCenter token service. If a third-party/custom certificate has been configured as the signing certificate for compliance reasons, refresh may take vCenter out of compliance.\nif you do not have all of the privileges described as follows: \n - Operation execution requires CertificateManagement.Administer. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The signing certificate chain created during the refresh.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCertificateManagementX509CertChain"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "refresh",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterCertificateManagementVcenterSigningCertificateRefresh"
+ }
+ }
+ },
+ "/api/vcenter/compute/policies": {
+ "post": {
+ "tags": [
+ "compute/policies"
+ ],
+ "summary": "Creates a new compute policy.",
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "The identifier of the newly created policy. Use this identifier to get or destroy the policy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if a parameter passed in the spec is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if more than 100 policies are created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnableToAllocateResource"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterComputePoliciesCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "compute/policies"
+ ],
+ "summary": "Returns information about the compute policies available in this vCenter server.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of compute policies available on this vCenter server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterComputePoliciesSummary"
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/compute/policies/capabilities": {
+ "get": {
+ "tags": [
+ "compute/policies/capabilities"
+ ],
+ "summary": "Returns information about the compute policy capabilities available in this vCenter server.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of compute policy capabilities available on this vCenter server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterComputePoliciesCapabilitiesSummary"
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/compute/policies/capabilities/{capability}": {
+ "get": {
+ "tags": [
+ "compute/policies/capabilities"
+ ],
+ "summary": "Returns information about a specific compute policy capability.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "capability",
+ "description": "Identifier of the capability for which information should be retrieved.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detailed information about the capability.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterComputePoliciesCapabilitiesInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if a capability with this identifier does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/compute/policies/tag-usage": {
+ "get": {
+ "tags": [
+ "compute/policies/tag_usage"
+ ],
+ "summary": "Returns information about the tags used by policies available in this vCenter server matching the {@link FilterSpec}.",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "policies",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Identifiers that compute policies must have to match the filter."
+ },
+ {
+ "in": "query",
+ "name": "tags",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Identifiers that tags must have to match the filter."
+ },
+ {
+ "in": "query",
+ "name": "tag_types",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Identifiers that tag types must have to match the filter."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of tags used by policies available on this vCenter server matching the {@link FilterSpec}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterComputePoliciesTagUsageSummary"
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/compute/policies/{policy}": {
+ "get": {
+ "tags": [
+ "compute/policies"
+ ],
+ "summary": "Returns information about a specific compute policy.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "policy",
+ "description": "Identifier of the policy for which information should be retrieved.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detailed information about the specified compute policy. The returned value can be converted to the information type of the capability that this policy is based on. See {@link vcenter.compute.policies.Capabilities.Info#infoType}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if a policy with this identifier does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "compute/policies"
+ ],
+ "summary": "Deletes a specific compute policy.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "policy",
+ "description": "Identifier of the policy to be deleted.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "404": {
+ "description": "if a policy with this identifier does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/crypto-manager/hosts/{host}/kms/providers": {
+ "get": {
+ "tags": [
+ "crypto_manager/hosts/kms/providers"
+ ],
+ "summary": "List the available providers on a host.\nif you do not have all of the privileges described as follows: \n - The resource HostSystem referenced by the parameter host requires Cryptographer.ReadKeyServersInfo. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "host",
+ "description": "Host identifier.\nThe parameter must be an identifier for the resource type: HostSystem.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "providers",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Provider identifiers.\nIf unset or empty, the result will not be filtered by provider identifier.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.crypto_manager.kms.provider. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.crypto_manager.kms.provider."
+ },
+ {
+ "in": "query",
+ "name": "health",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "NONE",
+ "OK",
+ "WARNING",
+ "ERROR"
+ ]
+ }
+ },
+ "description": "Provider health status.\nIf unset or empty, the result will not be filtered by provider health status."
+ },
+ {
+ "in": "query",
+ "name": "types",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "NATIVE",
+ "TRUST_AUTHORITY"
+ ]
+ }
+ },
+ "description": "Provider types.\nIf unset or empty, the result will not be filtered by provider type."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summary of providers.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerHostsKmsProvidersSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the host identifier is empty or the FilterSpec is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the host is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the caller is not authorized.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/crypto-manager/hosts/{host}/kms/providers/{provider}": {
+ "get": {
+ "tags": [
+ "crypto_manager/hosts/kms/providers"
+ ],
+ "summary": "Get a provider on a host.\nif you do not have all of the privileges described as follows: \n - The resource HostSystem referenced by the parameter host requires Cryptographer.ReadKeyServersInfo. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "host",
+ "description": "Host identifier.\nThe parameter must be an identifier for the resource type: HostSystem.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Provider identifier.\nThe parameter must be an identifier for the resource type: vcenter.crypto_manager.kms.provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information of the provider.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerHostsKmsProvidersInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the host identifier is empty or the provider identifier is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the provider or the host is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the caller is not authorized.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/crypto-manager/kms/providers": {
+ "post": {
+ "tags": [
+ "crypto_manager/kms/providers"
+ ],
+ "summary": "Add a new provider.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Cryptographer.ManageKeyServers. \n",
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if creating a provider of the type is not supported.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the caller is not authorized.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterCryptoManagerKmsProvidersCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "crypto_manager/kms/providers"
+ ],
+ "summary": "Return a list of providers. \n\n\nif you do not have all of the privileges described as follows: \n - Operation execution requires Cryptographer.ReadKeyServersInfo. \n",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "providers",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Provider identifiers.\nIf unset or empty, the result will not be filtered by provider identifier.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.crypto_manager.kms.provider. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.crypto_manager.kms.provider."
+ },
+ {
+ "in": "query",
+ "name": "health",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "NONE",
+ "OK",
+ "WARNING",
+ "ERROR"
+ ]
+ }
+ },
+ "description": "Provider health status.\nIf unset or empty, the result will not be filtered by provider health status."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summary of providers.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the spec is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the caller is not authorized.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/crypto-manager/kms/providers/{provider}": {
+ "get": {
+ "tags": [
+ "crypto_manager/kms/providers"
+ ],
+ "summary": "Return information about a provider.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Cryptographer.ReadKeyServersInfo. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.crypto_manager.kms.provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information of the provider.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the provider identifier is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the caller is not authorized.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "crypto_manager/kms/providers"
+ ],
+ "summary": "Update an existing provider.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Cryptographer.ManageKeyServers. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.crypto_manager.kms.provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the provider's type does not allow updates.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the caller is not authorized.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterCryptoManagerKmsProvidersUpdate"
+ }
+ },
+ "delete": {
+ "tags": [
+ "crypto_manager/kms/providers"
+ ],
+ "summary": "Remove a provider.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Cryptographer.ManageKeyServers. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.crypto_manager.kms.provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the provider's type does not allow deletion.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the caller is not authorized.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/crypto-manager/kms/providers?action=export": {
+ "post": {
+ "tags": [
+ "crypto_manager/kms/providers"
+ ],
+ "summary": "Export provider configuration.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Cryptographer.ManageKeyServers. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "ExportResult.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersExportResult"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the provider's type does not allow export.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the provider with the identifier is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the caller is not authorized.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "export",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterCryptoManagerKmsProvidersExport"
+ }
+ }
+ },
+ "/api/vcenter/crypto-manager/kms/providers?action=import": {
+ "post": {
+ "tags": [
+ "crypto_manager/kms/providers"
+ ],
+ "summary": "Import provider configuration.\nif you do not have all of the privileges described as follows: \n - Operation execution requires Cryptographer.ManageKeyServers. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "importResult ImportResult.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersImportResult"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the config or the password is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the caller is not authorized.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "import_provider",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterCryptoManagerKmsProvidersImportProvider"
+ }
+ }
+ },
+ "/api/vcenter/lcm/discovery/associated-products": {
+ "post": {
+ "tags": [
+ "lcm/discovery/associated_products"
+ ],
+ "summary": "Associates a VMware product with vCenter Server manually. The product must be taken from the product catalog API.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VcLifecycle.View. \n",
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "Identifier of the newly-added product.\nThe result will be an identifier for the resource type: vcenter.lcm.product.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the spec argument is not allowed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterLcmDiscoveryAssociatedProductsCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "lcm/discovery/associated_products"
+ ],
+ "summary": "Retrieves a list of all associated VMware product deployments with vCenter Server in the environment. The list contains both product deployments discovered automatically and deployments registered manually through the API.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VcLifecycle.View. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of all the registered products with vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterLcmDiscoveryProduct"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/lcm/discovery/associated-products/{product}": {
+ "get": {
+ "tags": [
+ "lcm/discovery/associated_products"
+ ],
+ "summary": "Returns the detailed information of a product associated with vCenter Server.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VcLifecycle.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "product",
+ "description": "An identifier of the product to be modified.\nThe parameter must be an identifier for the resource type: vcenter.lcm.product.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product details.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterLcmDiscoveryProduct"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If there is no record associated with product in the system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "lcm/discovery/associated_products"
+ ],
+ "summary": "Modifies a VMware product associated with vCenter Server which was added manually. Automatically discovered VMware products cannot be modified.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VcLifecycle.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "product",
+ "description": "An id of the product to be modified.\nThe parameter must be an identifier for the resource type: vcenter.lcm.product.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the spec argument is not allowed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If there is no record associated with product in the system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterLcmDiscoveryAssociatedProductsUpdate"
+ }
+ },
+ "delete": {
+ "tags": [
+ "lcm/discovery/associated_products"
+ ],
+ "summary": "Deletes or dissociates a VMware product associated with vCenter Server which was added manually. Automatically discovered VMware products cannot be deleted or dissociated.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VcLifecycle.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "product",
+ "description": "An id of the product to be removed.\nThe parameter must be an identifier for the resource type: vcenter.lcm.product.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If there is no record associated with product in the system database.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/lcm/discovery/interop-report?vmw-task=true": {
+ "post": {
+ "tags": [
+ "lcm/discovery/interop_report"
+ ],
+ "summary": "Creates interoperability report between a vCenter Server release version and all registered products with the vCenter Server instance. \n The result of this operation can be queried by calling the cis.Tasks#get operation where task is the response of this operation.\n",
+ "parameters": [],
+ "responses": {
+ "202": {
+ "description": "The interoperability report.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterLcmDiscoveryInteropReportCreateTask"
+ }
+ }
+ },
+ "/api/vcenter/lcm/discovery/product-catalog": {
+ "get": {
+ "tags": [
+ "lcm/discovery/product_catalog"
+ ],
+ "summary": "Retrieves a list of all VMware products that can be associated with vCenter Server.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VcLifecycle.View. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of all the VMware products which can be associated with vCenter Server",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterLcmDiscoveryProductCatalogSummary"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/lcm/reports/{report}": {
+ "get": {
+ "tags": [
+ "lcm/reports"
+ ],
+ "summary": "Returns the location Reports.Location information for downloading the report for the specified file name. \n Retrieving a report involves two steps: \n\n - Step 1: Invoke the Reports.get operation to provision a token and a URI.\n - Step 2: Make an HTTP GET request by using the URI and the token returned in step 1 to retrieve the report.\n \n The HTTP GET request will: \n\n - Return 401 (Not Authorized) if the download URI is recognized, but the token is invalid, 404 if the URL is not recognized otherwise return 200 (OK)\n - Provide the CSV contents as the output of the request. The API accepts the file name as input, reads the contents of that CSV file, and returns this text as the result of the API. \n \nif you do not have all of the privileges described as follows: \n - Operation execution requires VcLifecycle.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "report",
+ "description": "The parameter must be an identifier for the resource type: vcenter.lcm.report.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterLcmReportsLocation"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If there is no file associated with report in the system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/lcm/update/pending": {
+ "get": {
+ "tags": [
+ "lcm/update/pending"
+ ],
+ "summary": "Lists all available minor and major updates.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VcLifecycle.View. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Information about the pending patch/updates for the given vCenter server",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterLcmUpdatePendingListResult"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is some unknown internal error. The accompanying error message will give more details about the error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/lcm/update/pending/{version}": {
+ "get": {
+ "tags": [
+ "lcm/update/pending"
+ ],
+ "summary": "Gets detailed update information.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VcLifecycle.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "A version identified the update\nThe parameter must be an identifier for the resource type: vcenter.lcm.update.pending.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A detailed information about the particular vCenter patch/update",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterLcmUpdatePendingInfo"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if there is no pending update assosiated with the version in the system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is some unknown internal error. The accompanying error message will give more details about the error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/lcm/update/pending/{version}/precheck-report?vmw-task=true": {
+ "post": {
+ "tags": [
+ "lcm/update/precheck_report"
+ ],
+ "summary": "Creates a vCenter Server pre-update compatibility check report for the pending update version. The report can be exported and downloaded in CSV format. \n The result of this operation can be queried by calling the cis.Tasks#get operation where task is the response of this operation.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "Pending update version for which pre-update compatibility check will be executed.\nThe parameter must be an identifier for the resource type: vcenter.lcm.update.pending.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The precheck report, which contains a link to download the CSV report as well",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if there is no pending update assosiated with the version in the system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if a precheck is already in progress.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is some unknown internal error. The accompanying error message will give more details about the error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task"
+ }
+ },
+ "/api/vcenter/namespace-management/capability": {
+ "get": {
+ "tags": [
+ "namespace_management/hosts_config"
+ ],
+ "summary": "Returns support and licensing information about hosts under a VC.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Information about vSphere Namespaces support and licensing.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementHostsConfigInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/namespace-management/cluster-compatibility": {
+ "get": {
+ "tags": [
+ "namespace_management/cluster_compatibility"
+ ],
+ "summary": "Returns Namespaces compatibility information for all vSphere clusters in the vCenter Server matching the ClusterCompatibility.FilterSpec. The result contains only visible (subject to permission checks) clusters.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Anonymous. \n",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "compatible",
+ "schema": {
+ "type": "boolean"
+ },
+ "description": "Set this flag to true to only list vSphere clusters that are currently compatible with the Namespaces feature. If set to false, both compatible and incompatible vSphere clusters will be listed.\nIf unset, both compatible and incompatible vSphere clusters will be listed."
+ },
+ {
+ "in": "query",
+ "name": "network_provider",
+ "schema": {
+ "type": "string",
+ "description": "Identifies the network plugin that cluster networking functionalities for this vSphere Namespaces Cluster.",
+ "enum": [
+ "NSXT_CONTAINER_PLUGIN",
+ "VSPHERE_NETWORK"
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespaces compatibility information for the clusters matching the the ClusterCompatibility.FilterSpec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClusterCompatibilitySummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if filter contains any error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege on the vSphere clusters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/cluster-size-info": {
+ "get": {
+ "tags": [
+ "namespace_management/cluster_size_info"
+ ],
+ "summary": "Get information about the default values associated with various sizes.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Information for each size.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClusterSizeInfoInfo"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters": {
+ "get": {
+ "tags": [
+ "namespace_management/clusters"
+ ],
+ "summary": "Returns information about all clusters on which vSphere Namespaces are enabled on this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Anonymous. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of summary of all clusters with vSphere Namespaces enabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}": {
+ "put": {
+ "tags": [
+ "namespace_management/clusters"
+ ],
+ "summary": "Set a new configuration on the cluster object. The specified configuration is applied in entirety and will replace the current configuration fully.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster on which vSphere Namespaces is enabled.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor cluster's hosts are not configured with sufficient resources for the new Kubernetes API Server size.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the Supervisor cluster could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementClustersSet"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespace_management/clusters"
+ ],
+ "summary": "Returns information about a specific cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster on which vSphere Namespaces are enabled.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the desired state of the specified cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified cluster does not have vSphere Namespaces enabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "namespace_management/clusters"
+ ],
+ "summary": "Update configuration on the cluster object. The specified configuration is applied partially and unset fields in spec will leave those parts of configuration as-is.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster on which vSphere Namespaces is enabled.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor cluster's hosts are not configured with sufficient resources for the new Kubernetes API Server size.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the Supervisor cluster could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementClustersUpdate"
+ }
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}/load-balancers": {
+ "get": {
+ "tags": [
+ "namespace_management/load_balancers"
+ ],
+ "summary": "Returns information about all load balancers associated with the given cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster the load balancers are associated with.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of summary of all load balancers associated with a clusters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified cluster does not have vSphere Namespaces enabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}/load-balancers/{id}": {
+ "put": {
+ "tags": [
+ "namespace_management/load_balancers"
+ ],
+ "summary": "Applies the entire load balancer spec to an existing load balancer configuration.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster the load balancer is associated with.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the load balancer.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.LoadBalancerConfig.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified cluster does not have vSphere Namespaces enabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster or id cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementLoadBalancersSet"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespace_management/load_balancers"
+ ],
+ "summary": "Returns information LoadBalancers.Info about the load balancer associated with the given cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster the load balancer is associated with.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the load balancer LoadBalancers.ConfigSpec.id.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.LoadBalancerConfig.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about load balancer associated with a cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster or id cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified cluster does not have vSphere Namespaces enabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "namespace_management/load_balancers"
+ ],
+ "summary": "Updates the load balancer configuration. The specified configuration is applied partially and unset fields in spec will leave those parts of configuration as-is.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster the load balancer is associated with.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the load balancer.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.LoadBalancerConfig.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified cluster does not have vSphere Namespaces enabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster or id cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementLoadBalancersUpdate"
+ }
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}/networks": {
+ "post": {
+ "tags": [
+ "namespace_management/networks"
+ ],
+ "summary": "Create a vSphere Namespaces network object associated with the given cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if spec contains NsxNetworkCreateSpec which is unsupported via create API.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementNetworksCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespace_management/networks"
+ ],
+ "summary": "Return information about all vSphere Namespaces networks in the cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified vSphere Namespaces network..",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksInfo"
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster or network could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}/networks/{network}": {
+ "put": {
+ "tags": [
+ "namespace_management/networks"
+ ],
+ "summary": "Set a new configuration for the vSphere Namespaces network object associated with the given cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "network",
+ "description": "Identifier for the vSphere Namespaces network.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.Network.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the network is in use and the spec contains field values that are un-settable in such a case.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceInUse"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster or the network cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementNetworksSet"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespace_management/networks"
+ ],
+ "summary": "Return information about a specific vSphere Namespaces network.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "network",
+ "description": "Identifier for the vSphere Namespaces network.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.Network.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of information about all vSphere Namespaces networks in the cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster or network could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "namespace_management/networks"
+ ],
+ "summary": "Update the configuration of the vSphere Namespaces network object associated with the given cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "network",
+ "description": "Identifier for the vSphere Namespaces network.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.Network.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the network is in use and the spec contains field values that are un-updatable in such a case.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceInUse"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster or the network cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementNetworksUpdate"
+ }
+ },
+ "delete": {
+ "tags": [
+ "namespace_management/networks"
+ ],
+ "summary": "Delete the vSphere Namespaces object in the cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "network",
+ "description": "Identifier for the vSphere Namespaces network.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.Network.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster or network could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the network is associated with a Namespace.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceInUse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}/supervisor-services": {
+ "post": {
+ "tags": [
+ "namespace_management/supervisor_services/cluster_supervisor_services"
+ ],
+ "summary": "Create a Supervisor Service on the specified vSphere Supervisor. This operation will apply the Supervisor Service version's service definition on the cluster. This operation is possible only when the Supervisor Service and Supervisor Service version are in the ACTIVATED state. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the Supervisor on which to create the service.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor doesn't support Supervisor Services, or if the Supervisor Service cannot be created in the current state, e.g. the supervisor service version is in the DEACTIVATED state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the specified cluster with ID cluster or Supervisor Service with the Supervisor Service ID defined in spec or version with the ID {param.name version} could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the SupervisorServices.Manage privilege on the specified cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespace_management/supervisor_services/cluster_supervisor_services"
+ ],
+ "summary": "Return the summaries about all Supervisor Services on the specified vSphere Supervisor. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster on which to list the services.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of summaries of all Supervisor Services on the cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor with the ID cluster could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor doesn't support Supervisor Services.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the SupervisorServices.Manage privilege on the specified cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}/supervisor-services/{supervisor_service}": {
+ "put": {
+ "tags": [
+ "namespace_management/supervisor_services/cluster_supervisor_services"
+ ],
+ "summary": "Set a new configuration to the specified Supervisor Service on the specified vSphere Supervisor. This operation will apply the new Supervisor Service version's service definition to the existing Supervisor Service on the cluster. This operation requires that the specified Supervisor Service is already installed in the specified Supervisor. Note that this operation doesn't interfere with the application instances that are created by the associated operator(s). So users should make sure the new version is still compatible with the existing application instances. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the Supervisor from which to delete the service.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor doesn't support Supervisor Services or the specified version is not in the ACTIVATED state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor with the ID cluster or Supervisor Service with the ID supervisorService or version with the ID {param.name version} could not be located, or the Supervisor Service does not exist on the Supervisor.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the SupervisorServices.Manage privilege on the specified cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesSet"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespace_management/supervisor_services/cluster_supervisor_services"
+ ],
+ "summary": "Return information about the specific Supervisor Service on the specified vSphere Supervisor. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster on which to get the service.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The information for the specified Supervisor Service on the specified cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor with the ID cluster or the Supervisor Service does not exist on the Supervisor.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor doesn't support Supervisor Services.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the SupervisorServices.Manage privilege on the specified cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "namespace_management/supervisor_services/cluster_supervisor_services"
+ ],
+ "summary": "Delete a Supervisor Service on the specified vSphere Supervisor. This operation will remove the Supervisor Service with the specified identifier from the cluster, by removing the corresponding namespace and deleting the operator(s) associated with the Supervisor Service. Note that this operation doesn't deal with the application instances that are created by the associated operator(s), so existing application instances could be orphaned if users don't clean or migrate them. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the Supervisor from which to delete the service.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor with the ID cluster or the Supervisor Service does not exist on the Supervisor.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor doesn't support Supervisor Services.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the SupervisorServices.Manage privilege on the specified cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}/support-bundle": {
+ "post": {
+ "tags": [
+ "namespace_management/support_bundle"
+ ],
+ "summary": "Returns the location SupportBundle.Location information for downloading the Namespaces-related support bundle for the specified cluster. \n Retrieving a support bundle involves two steps: \n\n - Step 1: Invoke operation to provision a token and a URI.\n - Step 2: Make an HTTP GET request using URI and one time used token returned in step 1 to generate the support bundle and return it.\n There can only be one valid token per cluster at any given time. If this operation is invoked again for the same cluster identifier while a token still valid, the API will return the same SupportBundle.Location response. \n The HTTP GET request will: \n\n - return 401 (Not Authorized) if the download URL is recognized, but the token is invalid.\n - otherwise return 200 (OK), mark the token used (invalidating it for any future use), open a application/tar download stream for the client, and start the bundle process. As part of its work, the API will orchestrate support bundling on the worker nodes of a cluster. If a failure occurs during the collection of support bundle from worker node, the API will not abort the request, but will log a warning and move on to processing other worker nodes' bundles. The API will only abort its operation if the content of the stream has been corrupted. When the API has to abort its operation (and the response stream), it will not provide any indication of failures to the client. The client will need to verify validity of the resultant file based on the format specified in the response's Content-Disposition header.\n \nif you do not have all of the privileges described as follows: \n - Operation execution requires Global.Diagnostics. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of cluster for which the Namespaces-related support bundle should be generated.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "the download location of the support bundle for the cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupportBundleLocation"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the specified cluster is not registered on this vCenter server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Global.Diagnostics privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}/workload-resource-options": {
+ "get": {
+ "tags": [
+ "namespace_management/namespace_resource_options"
+ ],
+ "summary": "Get the information about the objects used to set and update resource quota keys for version of Kubernetes running on {#link cluster}.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster hosting the namespace on which the resource quota needs to be set.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the structures representing the resource spec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNamespaceResourceOptionsInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified cluster is not enabled for Namespaces.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}?action=disable": {
+ "post": {
+ "tags": [
+ "namespace_management/clusters"
+ ],
+ "summary": "Disable vSphere Namespaces on the cluster. This operation tears down the Kubernetes instance and the worker nodes associated with vSphere Namespaces enabled cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster for which vSphere Namespaces will be disabled.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor cluster is being restored from a backup. When a Supervisor cluster is restored, there's a window of time during which the restored Supervisor cluster's state is being synchronized back to vCenter. During that time, Supervisor cluster's disablement is not allowed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the Supervisor cluster could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "disable"
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}?action=enable": {
+ "post": {
+ "tags": [
+ "namespace_management/clusters"
+ ],
+ "summary": "Enable vSphere Namespaces on the cluster. This operation sets up Kubernetes instance for the cluster along with worker nodes.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster on which vSphere Namespaces will be enabled.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the specified cluster is not supported for vSphere Namespaces, the cluster's hosts do not have the required ESX version, or for any other incompatibilities.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the specified cluster is not licensed or resource pool reservation for control plane VMs fails.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnableToAllocateResource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if resources/objects could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "enable",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementClustersEnable"
+ }
+ }
+ },
+ "/api/vcenter/namespace-management/clusters/{cluster}?action=rotate_password": {
+ "post": {
+ "tags": [
+ "namespace_management/clusters"
+ ],
+ "summary": "Request a new root password for all control plane nodes in the cluster. This operation generates a new root password and configures every control plane node in the cluster to accept it for authentication.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster for which the password is being generated.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster is in the process of password rotation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "rotate_password"
+ }
+ },
+ "/api/vcenter/namespace-management/distributed-switch-compatibility": {
+ "get": {
+ "tags": [
+ "namespace_management/distributed_switch_compatibility"
+ ],
+ "summary": "Returns Namespaces compatibility information of Distributed Switches in vCenter associated with the vCenter cluster, matching the DistributedSwitchCompatibility.FilterSpec.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "query",
+ "name": "cluster",
+ "description": "Identifier of a vCenter Cluster. Only Distributed Switches associated with the vCenter Cluster will be considered by the filter.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "compatible",
+ "schema": {
+ "type": "boolean"
+ },
+ "description": "Compatibility criteria for matching the filter. If true, only Distributed Switches which are compatible with vSphere Namespaces match the filter. If false, only Distributed Switches which are incompatible with vSphere Namespaces match the filter.\nIf unset, both compatible and incompatible Distributed Switches match the filter."
+ },
+ {
+ "in": "query",
+ "name": "network_provider",
+ "schema": {
+ "type": "string",
+ "description": "Identifies the network plugin that cluster networking functionalities for this vSphere Namespaces Cluster.",
+ "enum": [
+ "NSXT_CONTAINER_PLUGIN",
+ "VSPHERE_NETWORK"
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespaces compatibility information for Distributed Switches matching the the DistributedSwitchCompatibility.FilterSpec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementDistributedSwitchCompatibilitySummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the server reports an unknown internal error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInternalServerError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster with the given cluster ID can be found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/edge-cluster-compatibility": {
+ "get": {
+ "tags": [
+ "namespace_management/edge_cluster_compatibility"
+ ],
+ "summary": "Returns Namespaces compatibility information of NSX-T Edge Clusters matching the EdgeClusterCompatibility.FilterSpec.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "query",
+ "name": "cluster",
+ "description": "Identifier of a vCenter Cluster. Only Edge Clusters that are associated with the particular vCenter Cluster will be considered by the filter.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "query",
+ "name": "distributed_switch",
+ "description": "Identifier of a Distributed Switch. Only Edge Clusters that are associated with the particular Distributed Switch will be considered by the filter.\nThe parameter must be an identifier for the resource type: vSphereDistributedSwitch.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "compatible",
+ "schema": {
+ "type": "boolean"
+ },
+ "description": "Compatibility criteria for matching the filter. If true, only Edge Clusters which are compatible with vSphere Namespaces match the filter. If false, only Edge Clusters which are incompatible with vSphere Namespaces match the filter.\nIf unset, both compatible and incompatible Edge Clusters match the filter."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of summaries of Edge Clusters associated with the given vCenter Cluster and Distributed Switch matching the EdgeClusterCompatibility.FilterSpec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementEdgeClusterCompatibilitySummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the server reports an unknown internal error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInternalServerError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster with the given cluster ID can be found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/nsx-tier0-gateways": {
+ "get": {
+ "tags": [
+ "namespace_management/NSX_tier0_gateway"
+ ],
+ "summary": "Returns information of NSX-T Tier0 Gateways associated with a Distributed Switch.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "query",
+ "name": "distributed_switch",
+ "description": "Identifier of a Distributed Switch. Only CVDS type of distributed switches is supported. Only Tier0 Gateways that are associated with the particular Distributed Switch will be listed.\nThe parameter must be an identifier for the resource type: vSphereDistributedSwitch.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of summaries of Tier0 Gateways associated with the given Distributed Switch.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNSXTier0GatewaySummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the server reports an unknown internal error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInternalServerError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no existing Tier0 Gateways associated with the given Distributed Switch can be found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/software/cluster-available-versions": {
+ "get": {
+ "tags": [
+ "namespace_management/cluster_available_versions"
+ ],
+ "summary": "Get information about each available upgrade.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Information for each upgrade.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClusterAvailableVersionsSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/software/clusters": {
+ "get": {
+ "tags": [
+ "namespace_management/software/clusters"
+ ],
+ "summary": "Returns upgrade related information about all WCP enabled clusters.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Anonymous. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of upgrade summary of all WCP enabled clusters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/software/clusters/{cluster}": {
+ "get": {
+ "tags": [
+ "namespace_management/software/clusters"
+ ],
+ "summary": "Returns upgrade related information of a specific cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster which will be upgraded.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the upgrade of the specified WCP enabled cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster is not WCP enabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/namespace-management/software/clusters/{cluster}?action=upgrade": {
+ "post": {
+ "tags": [
+ "namespace_management/software/clusters"
+ ],
+ "summary": "Upgrade the cluster to a specific version. This operation upgrades the components on control plane VMs and worker plane hosts based on the selected version. Before upgrading, this operation performs pre-checks and sets the evaluation response in Info.UpgradeStatus.messages with various Message.Severity levels. Depending on the severity, the upgrade may or may not proceed beyond prechecks. Here is a list of severities and corresponding behavior: - ERROR: Upgrade does not proceed beyond precheck operation - WARNING: Upgrade proceeds beyond precheck operation only if UpgradeSpec.ignorePrecheckWarnings is set to true - INFO: Upgrade proceeds beyond precheck operation uninterrupted\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.Upgrade. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster which will be upgraded.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if pre-check failed of the cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Upgrade privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "upgrade",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementSoftwareClustersUpgrade"
+ }
+ }
+ },
+ "/api/vcenter/namespace-management/software/clusters?action=upgradeMultiple": {
+ "post": {
+ "tags": [
+ "namespace_management/software/clusters"
+ ],
+ "summary": "Upgrade a set of clusters to its corresponding specific version.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Anonymous. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Pre-check result when invoking upgrade for each cluster.\nThe key in the result map will be an identifier for the resource type: ClusterComputeResource.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersResult"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Upgrade privilege on all specified clusters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "upgrade_multiple",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementSoftwareClustersUpgradeMultiple"
+ }
+ }
+ },
+ "/api/vcenter/namespace-management/stats/time-series": {
+ "get": {
+ "tags": [
+ "namespace_management/stats/time_series"
+ ],
+ "summary": "Gather statistical values for a cluster, namespace, or pod.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "obj_type",
+ "schema": {
+ "type": "string",
+ "description": "Type of statistics object that this request is operating on.",
+ "enum": [
+ "CLUSTER",
+ "NAMESPACE",
+ "POD"
+ ]
+ },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "pod",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "namespace": {
+ "description": "The namespace that the pod is running in.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "type": "string"
+ },
+ "pod_name": {
+ "description": "The name of the pod itself.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "namespace",
+ "pod_name"
+ ]
+ },
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "namespace",
+ "schema": {
+ "type": "string"
+ },
+ "description": "Namespace name for queries for a namespace.\nThis field is optional and it is only relevant when the value of TimeSeries.Spec.obj-type is NAMESPACE.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "cluster",
+ "schema": {
+ "type": "string"
+ },
+ "description": "Cluster identifier for queries for a cluster.\nThis field is optional and it is only relevant when the value of TimeSeries.Spec.obj-type is CLUSTER.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "start",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "UNIX timestamp value indicating when the requested series of statistical samples should begin. https://en.wikipedia.org/wiki/Unix_time",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "end",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "UNIX timestamp value indicating when the requested series of statistical samples should end. https://en.wikipedia.org/wiki/Unix_time",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of TimeSeries values for each counter specified in the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementStatsTimeSeriesTimeSeries"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified cluster in TimeSeries.Spec.cluster is not enabled for Namespaces.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the specified cluster in TimeSeries.Spec.cluster or the namespace in TimeSeries.Spec.namespace or TimeSeries.Spec.pod does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/namespace-management/supervisor-services": {
+ "post": {
+ "tags": [
+ "namespace_management/supervisor_services"
+ ],
+ "summary": "Create a Supervisor Service. If version specs are provided in the spec, new Supervisor Service versions will be created as part of the operation.\nif you do not have all of the privileges described as follows: \n - Operation execution requires SupervisorServices.Manage. \n",
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if spec contain any errors or if an invalid name is specified. For example, when the service is from a trusted provider, but no signature is provided or it is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the SupervisorServices.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementSupervisorServicesCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespace_management/supervisor_services"
+ ],
+ "summary": "Return the information about all Supervisor Services on this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "The list of summary of all Supervisor Services.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/supervisor-services/{supervisor_service}": {
+ "get": {
+ "tags": [
+ "namespace_management/supervisor_services"
+ ],
+ "summary": "Return the information for the specified Supervisor Service.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information for the specified Supervisor Service.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "namespace_management/supervisor_services"
+ ],
+ "summary": "Update a Supervisor Service.\nif you do not have all of the privileges described as follows: \n - Operation execution requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if spec contain any errors or if an invalid name is specified.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the SupervisorServices.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementSupervisorServicesUpdate"
+ }
+ },
+ "delete": {
+ "tags": [
+ "namespace_management/supervisor_services"
+ ],
+ "summary": "Delete a Supervisor Service. This operation only deletes the Supervisor Service from vCenter if the Supervisor Service is in DEACTIVATED state, and all versions of the Supervisor Service are removed from vCenter. Note that the SupervisorServices.deactivate operation should be called to deactivate the Supervisor Service before the Supervisor Service can be deleted.\nif you do not have all of the privileges described as follows: \n - Operation execution requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor Service cannot be deleted in the current state, e.g. a version of the Supervisor Service is not in DEACTIVATED state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the SupervisorServices.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/namespace-management/supervisor-services/{supervisor_service}/versions": {
+ "post": {
+ "tags": [
+ "namespace_management/supervisor_services/versions"
+ ],
+ "summary": "Create a Supervisor Service version based on the provided service definition information for the version.\nif you do not have all of the privileges described as follows: \n - Operation execution requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier of the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the Supervisor Service version cannot be created in the current state, for example, the Supervisor Service is in DEACTIVATED state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the SupervisorServices.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementSupervisorServicesVersionsCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespace_management/supervisor_services/versions"
+ ],
+ "summary": "Return the information about all versions of the Supervisor Service.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier of the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of summary of all service versions of the Supervisor Service.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if service with the ID supervisorService could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/supervisor-services/{supervisor_service}/versions/{version}": {
+ "get": {
+ "tags": [
+ "namespace_management/supervisor_services/versions"
+ ],
+ "summary": "Return the information for the specified Supervisor Service version.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier of the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "Identifier of the version.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information for the specified Supervisor Service version.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService or version with the ID {param.name version} could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "namespace_management/supervisor_services/versions"
+ ],
+ "summary": "Delete a Supervisor Service version. This operation only deletes the Supervisor Service version from vCenter if the version is in DEACTIVATED state and all instances of the version are removed from all Supervisors. Note that the Versions.deactivate operation should be called to deactivate the version before the version can be deleted. \n Note that deleting the last version of the supervisorService does not delete the supervisorService instance automatically.\n\nif you do not have all of the privileges described as follows: \n - Operation execution requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier of the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "Identifier of the version.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request, e.g. if it is unable to reach a vSphere Supervisor that has the version enabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor Service version cannot be deleted in the current state, e.g. the version is not in DEACTIVATED state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService or version with the ID {param.name version} could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the SupervisorServices.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/namespace-management/supervisor-services/{supervisor_service}/versions/{version}?action=activate": {
+ "patch": {
+ "tags": [
+ "namespace_management/supervisor_services/versions"
+ ],
+ "summary": "Activate a Supervisor Service version. This operation will change the Versions.State of the version to ACTIVATED state.\nif you do not have all of the privileges described as follows: \n - Operation execution requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "Identifier of the version.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor Service version cannot be activated in the current state, for example, the Supervisor Service is in DEACTIVATED state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService or version with the ID {param.name version} could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the SupervisorServices.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "activate"
+ }
+ },
+ "/api/vcenter/namespace-management/supervisor-services/{supervisor_service}/versions/{version}?action=deactivate": {
+ "patch": {
+ "tags": [
+ "namespace_management/supervisor_services/versions"
+ ],
+ "summary": "Deactivate a Supervisor Service version. This operation will change the Versions.State of the version to DEACTIVATED state, which will make sure the version cannot be created on any Supervisor cluster. Note that this operation should be called before deleting the version.\nif you do not have all of the privileges described as follows: \n - Operation execution requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "Identifier of the version.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor Service version cannot be deactivated in the current state, for example, the Supervisor Service is in ACTIVATED state and this version is the last version of the Supervisor Service in ACTIVATED state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService or version with the ID version could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the SupervisorServices.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "deactivate"
+ }
+ },
+ "/api/vcenter/namespace-management/supervisor-services/{supervisor_service}?action=activate": {
+ "patch": {
+ "tags": [
+ "namespace_management/supervisor_services"
+ ],
+ "summary": "Activate a Supervisor Service. This operation will change the SupervisorServices.State of the supervisor service to in ACTIVATED state, and activate all versions of the supervisor service.\nif you do not have all of the privileges described as follows: \n - Operation execution requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor Service is already in ACTIVATED state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the SupervisorServices.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "activate"
+ }
+ },
+ "/api/vcenter/namespace-management/supervisor-services/{supervisor_service}?action=deactivate": {
+ "patch": {
+ "tags": [
+ "namespace_management/supervisor_services"
+ ],
+ "summary": "Deactivate a Supervisor Service. This operation will change the SupervisorServices.State of the supervisor service to DEACTIVATED state, and deactivate all versions of the supervisor service. Note that this operation should be called before deleting the Supervisor Service.\nif you do not have all of the privileges described as follows: \n - Operation execution requires SupervisorServices.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "supervisor_service",
+ "description": "Identifier for the Supervisor Service.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Supervisor Service is already in DEACTIVATED state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Supervisor Service with the ID supervisorService could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the SupervisorServices.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "deactivate"
+ }
+ },
+ "/api/vcenter/namespace-management/supervisor-services?action=checkContent": {
+ "post": {
+ "tags": [
+ "namespace_management/supervisor_services"
+ ],
+ "summary": "Perform validation checks on the content of a Supervisor Service version defined in the spec. The operation returns the validation status and relevant Supervisor Service version information that are available in the content. A custom format will always return a VALID status. Only vSphere and Carvel packages can return multiple validation statuses.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "A check result containing validation status and relevant Supervisor Service version information from the provided content, if the content is valid. In case of invalid content, it will return a list of error messages.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesCheckResult"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the provided spec is invalid. For example, the provided SupervisorServices.ContentCheckSpec.content is empty or not base64 encoded.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "check_content",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementSupervisorServicesCheckContent"
+ }
+ }
+ },
+ "/api/vcenter/namespace-management/virtual-machine-classes": {
+ "post": {
+ "tags": [
+ "namespace_management/virtual_machine_classes"
+ ],
+ "summary": "Create a VM class object.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VirtualMachineClasses.Manage. \n",
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the input {@param.spec.instanceStorage.policy} refers to an invalid storage policy or if the input spec includes settings that are out of acceptable bounds or a combination of settings that are not internally consistent with the input spec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have VirtualMachineClasses.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementVirtualMachineClassesCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespace_management/virtual_machine_classes"
+ ],
+ "summary": "Return information about all VirtualMachine classes.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Anonymous. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of information about all VirtualMachine classes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesInfo"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespace-management/virtual-machine-classes/{vm_class}": {
+ "get": {
+ "tags": [
+ "namespace_management/virtual_machine_classes"
+ ],
+ "summary": "Return information about a VM class.\nif you do not have all of the privileges described as follows: \n - The resource vcenter.namespace_management.VirtualMachineClass referenced by the parameter vm_class requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm_class",
+ "description": "Identifier for the VM class.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.VirtualMachineClass.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified VM class.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if VM class can not be found in the vCenter inventory.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "namespace_management/virtual_machine_classes"
+ ],
+ "summary": "Update the configuration of the VM class object\nif you do not have all of the privileges described as follows: \n - Operation execution requires VirtualMachineClasses.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm_class",
+ "description": "Identifier for the VM class.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.VirtualMachineClass.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the input {@param.spec.instanceStorage.policy} refers to an invalid storage policy or if the input spec includes settings that are out of acceptable bounds or a combination of settings that are not internally consistent with the input spec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if or the vm_class cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have VirtualMachineClasses.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespaceManagementVirtualMachineClassesUpdate"
+ }
+ },
+ "delete": {
+ "tags": [
+ "namespace_management/virtual_machine_classes"
+ ],
+ "summary": "Delete the VM class object.\nif you do not have all of the privileges described as follows: \n - Operation execution requires VirtualMachineClasses.Manage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm_class",
+ "description": "Identifier for the VM class.\nThe parameter must be an identifier for the resource type: vcenter.namespace_management.VirtualMachineClass.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "- TBD",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceInUse"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "VM class could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have VirtualMachineClasses.Manage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/namespaces-user/namespaces": {
+ "get": {
+ "tags": [
+ "namespaces/user/instances"
+ ],
+ "summary": "Returns namespaces matching the FilterSpec. TODO: we need to put the link back for FilterSpec, https://jira.eng.vmware.com/browse/VKAL-13522.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Anonymous. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of Namespace identifiers together with the API endpoint for each namespace.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesUserInstancesSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user does not have Namespaces.ListAccess privilege to perform this operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespaces/instances": {
+ "post": {
+ "tags": [
+ "namespaces/instances"
+ ],
+ "summary": "Create a namespace object on a single vSphere cluster.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the attribute Instances.CreateSpec.cluster requires Namespaces.Configure. \n",
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "ifInstances.CreateSpec.cluster is not enabled for Namespaces, or if the networks field is set when the Instances.CreateSpec.cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN as its network provider, or if the Supervisor cluster does not support customizable VM classes.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if Instances.CreateSpec.cluster is not registered on this vCenter server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespacesInstancesCreate"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespaces/instances"
+ ],
+ "summary": "Returns the information about all namespaces in this vCenter Server. The information is tied to a single vSphere cluster.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Anonymous. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Information about all namespaces in this vCenter server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespaces/instances/{namespace}": {
+ "put": {
+ "tags": [
+ "namespaces/instances"
+ ],
+ "summary": "Set a new configuration on the namespace object. The specified configuration is applied in entirety and will replace the current configuration fully.\nif you do not have all of the privileges described as follows: \n - The resource vcenter.namespaces.Instance referenced by the parameter namespace requires Namespaces.Configure. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "namespace",
+ "description": "Identifier for the namespace.\nThe parameter must be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if customizable VM classes are not suported for this Supervisor cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if namespace with the name namespace could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespacesInstancesSet"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespaces/instances"
+ ],
+ "summary": "Returns information about a specific namespace on a single vSphere cluster.\nif you do not have all of the privileges described as follows: \n - The resource vcenter.namespaces.Instance referenced by the parameter namespace requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "namespace",
+ "description": "Identifier for the namespace.\nThe parameter must be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the desired state of the specified namespace.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if namespace could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "namespaces/instances"
+ ],
+ "summary": "Update the namespace object. The specified configuration is applied partially and unset fields in spec will leave those parts of configuration as-is.\nif you do not have all of the privileges described as follows: \n - The resource vcenter.namespaces.Instance referenced by the parameter namespace requires Namespaces.Configure. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "namespace",
+ "description": "Identifier for the namespace.\nThe parameter must be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if customizable VM classes are not suported for this Supervisor cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if namespace with the name namespace could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespacesInstancesUpdate"
+ }
+ },
+ "delete": {
+ "tags": [
+ "namespaces/instances"
+ ],
+ "summary": "Delete the namespace object in the cluster.\nif you do not have all of the privileges described as follows: \n - The resource vcenter.namespaces.Instance referenced by the parameter namespace requires Namespaces.Configure. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "namespace",
+ "description": "Identifier for the namespace.\nThe parameter must be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the associated Supervisor cluster is being restored from a backup. When a Supervisor cluster is restored, there's a window of time during which the restored Supervisor cluster's state is being synchronized back to vCenter. During that time, namespace deletion is not allowed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the specified namespace could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/namespaces/instances/{namespace}/access/{domain}/{subject}": {
+ "put": {
+ "tags": [
+ "namespaces/access"
+ ],
+ "summary": "Set new access control on the namespace for the subject on given domain.\nif you do not have all of the privileges described as follows: \n - The resource vcenter.namespaces.Instance referenced by the parameter namespace requires Namespaces.Configure. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "namespace",
+ "description": "Identifier for the namespace.\nThe parameter must be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "domain",
+ "description": "The domain of the subject.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "subject",
+ "description": "The principal for this operation.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "query",
+ "name": "type",
+ "description": "{ 1. The Access.SubjectType enumerated type lists the types of subjects who can be associated with a Access.Role on the namespace. }, { 2. The type of subject (user or group). }",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified principal on given domain is not associated with the namespace.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if namespace cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespacesAccessSet"
+ }
+ },
+ "get": {
+ "tags": [
+ "namespaces/access"
+ ],
+ "summary": "Get the information about the access control of the subject on given domain on the namespace.\nif you do not have all of the privileges described as follows: \n - The resource vcenter.namespaces.Instance referenced by the parameter namespace requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "namespace",
+ "description": "Identifier for the namespace.\nThe parameter must be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "domain",
+ "description": "The domain of the subject.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "subject",
+ "description": "The principal for this operation.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "query",
+ "name": "type",
+ "description": "{ 1. The Access.SubjectType enumerated type lists the types of subjects who can be associated with a Access.Role on the namespace. }, { 2. The type of subject (user or group). }",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the subject including the type and the role on the namespace.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespacesAccessInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if namespace cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified principal on given domain is not associated with the namespace.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "post": {
+ "tags": [
+ "namespaces/access"
+ ],
+ "summary": "Set up access control for the subject on given domain on the namespace.\nif you do not have all of the privileges described as follows: \n - The resource vcenter.namespaces.Instance referenced by the parameter namespace requires Namespaces.Configure. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "namespace",
+ "description": "Identifier for the namespace.\nThe parameter must be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "domain",
+ "description": "The domain of the subject.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "subject",
+ "description": "The principal for this operation.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "query",
+ "name": "type",
+ "description": "{ 1. The Access.SubjectType enumerated type lists the types of subjects who can be associated with a Access.Role on the namespace. }, { 2. The type of subject (user or group). }",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the namespace is marked for deletion or the associated cluster is being disabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if namespace cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespacesAccessCreate"
+ }
+ },
+ "delete": {
+ "tags": [
+ "namespaces/access"
+ ],
+ "summary": "Remove access control of the subject on given domain from the namespace.\nif you do not have all of the privileges described as follows: \n - The resource vcenter.namespaces.Instance referenced by the parameter namespace requires Namespaces.Configure. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "namespace",
+ "description": "Identifier for the namespace.\nThe parameter must be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "domain",
+ "description": "The domain of the subject.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "subject",
+ "description": "The principal for this operation.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "query",
+ "name": "type",
+ "description": "{ 1. The Access.SubjectType enumerated type lists the types of subjects who can be associated with a Access.Role on the namespace. }, { 2. The type of subject (user or group). }",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the specified principal on given domain is not associated with the namespace.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if namespace cannot be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/namespaces/namespace-self-service": {
+ "get": {
+ "tags": [
+ "namespaces/namespace_self_service"
+ ],
+ "summary": "Returns basic information about Namespace Self Service on all clusters on which vSphere Namespaces are enabled on this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Anonymous. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of summary of Namespace Self Service associated with all clusters with vSphere Namespaces enabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesNamespaceSelfServiceSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/namespaces/namespace-self-service/{cluster}": {
+ "get": {
+ "tags": [
+ "namespaces/namespace_self_service"
+ ],
+ "summary": "Returns information about Namespace Self Service of a specific cluster. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster on which vSphere Namespaces are enabled.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the namespace self service associated with the specified cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespacesNamespaceSelfServiceInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster with vSphere Namespaced enabled could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/namespaces/namespace-self-service/{cluster}?action=activate": {
+ "post": {
+ "tags": [
+ "namespaces/namespace_self_service"
+ ],
+ "summary": "Activate Namespace Self Service on the cluster on which vSphere Namespaces enabled. This operation empowers Dev Users/Groups as self-service namespace users to create Supervisor Namespaces through kubectl create namespace command. activate requires the availability of one or more templates in the system. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.SelfServiceManage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster on which vSphere Namespaces will be enabled.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the service is marked for deactivation or the associated cluster is being disabled or no namespace template exists in the system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the specified cluster is not licensed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnableToAllocateResource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster with vSphere Namespaces enabled could not be located or no namespace templates exists.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.SelfServiceManage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "activate"
+ }
+ },
+ "/api/vcenter/namespaces/namespace-self-service/{cluster}?action=activateWithTemplate": {
+ "post": {
+ "tags": [
+ "namespaces/namespace_self_service"
+ ],
+ "summary": "Activate Namespace Self Service on the cluster after configuring namespace template. This is another variant of activate except configures template before activation. The template configuration includes either creating a new template or updating the existing template, depending on the template's existence. Here is supported the flow of actions using the activateWithTemplate call: 1. Activate with the new template using activateWithTemplate call. 2. Deactivate using deactivate call. 3. Active with updating the existing template using activateWithTemplate. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster on which vSphere Namespaces will be enabled.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the service is marked for deactivation or the associated cluster is being disabled.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the specified cluster is not licensed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnableToAllocateResource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster with vSphere Namespaces enabled could not be located.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.SelfServiceManage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "activate_with_template",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterNamespacesNamespaceSelfServiceActivateWithTemplate"
+ }
+ }
+ },
+ "/api/vcenter/namespaces/namespace-self-service/{cluster}?action=deactivate": {
+ "post": {
+ "tags": [
+ "namespaces/namespace_self_service"
+ ],
+ "summary": "Deactivate Namespace Self Service on the cluster on which vSphere Namespaces enabled. This operation reverses Dev Users/Group's self-service namespace capability on the cluster. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\nif you do not have all of the privileges described as follows: \n - The resource ClusterComputeResource referenced by the parameter cluster requires Namespaces.SelfServiceManage. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier for the cluster for which vSphere Namespaces will be disabled.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster with vSphere Namespaced enabled is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have Namespaces.SelfServiceManage privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the service is not activated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "deactivate"
+ }
+ },
+ "/api/vcenter/tagging/associations": {
+ "get": {
+ "tags": [
+ "tagging/associations"
+ ],
+ "summary": "Returns tag associations that match the specified iteration spec.",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "marker",
+ "schema": {
+ "type": "string"
+ },
+ "description": "Marker is an opaque token that allows the caller to request the next page of tag associations.\nIf unset or empty, first page of tag associations will be returned.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.tagging.associations.Marker. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.tagging.associations.Marker."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A page of the tag associations matching the iteration spec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTaggingAssociationsListResult"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if Associations.IterationSpec.marker is not a marker returned from an earlier invocation of this {@term operation).",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/attestation/services": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/attestation/services"
+ ],
+ "summary": "Registers a new Attestation Service instance in this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ManageTrustedHosts. \n",
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "ID of the newly registered Attestation Service instance.\nThe result will be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the CreateSpec contains invalid data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureAttestationServicesCreate"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/attestation/services/{service}": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/attestation/services"
+ ],
+ "summary": "Returns the detailed information about a registered Attestation Service instance in this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service",
+ "description": "the Attestation Service instance unique identifier.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detailed information about the specified Attestation Service instance.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureAttestationServicesInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if an error occurred while getting the data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if there is no registered Attestation Service instance with the specified ID.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/attestation/services"
+ ],
+ "summary": "Removes a registered Attestation Service instance from this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ManageTrustedHosts. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service",
+ "description": "the Attestation Service instance unique identifier.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the Attestation Service instance is used by a configuration on a cluster level.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the Attestation Service instance is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/attestation/services?action=query": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/attestation/services"
+ ],
+ "summary": "Returns detailed information about all registered Attestation Service instances in this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Detailed information about all registered Attestation Service instances in this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureAttestationServicesSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if an error occurred while getting the data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureAttestationServicesList"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/kms/services": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/kms/services"
+ ],
+ "summary": "Registers a Key Provider Service instance in this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ManageTrustedHosts. \n",
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "ID of the newly registered Key Provider Service instance.\nThe result will be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the CreateSpec contains invalid data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureKmsServicesCreate"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/kms/services/{service}": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/kms/services"
+ ],
+ "summary": "Returns the detailed information about a registered Key Provider Service instance in this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service",
+ "description": "the Key Provider Service instance unique identifier.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detailed information about the specified Key Provider Service instance.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureKmsServicesInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if an error occurred while getting the data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if there is no Key Provider Service instance with the specified ID.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/kms/services"
+ ],
+ "summary": "Removes a currently registered Key Provider Service instance from this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ManageTrustedHosts. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "service",
+ "description": "the Key Provider Service instance unique identifier.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "500": {
+ "description": "if the Key Provider Service instance is used by a configuration on a cluster level.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the Key Provider Service instance is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/kms/services?action=query": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/kms/services"
+ ],
+ "summary": "Returns basic information about all registered Key Provider Service instances in this vCenter.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Basic information about all registered Key Provider Service instances in this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureKmsServicesSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if an error occurred while getting the data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureKmsServicesList"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/principal": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/principal"
+ ],
+ "summary": "Returns information about the STS used by this vCenter instance.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadStsInfo. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "@{link Info} a summary containing the certificates used to sign tokens and the solution user used to retrieve them.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructurePrincipalInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters"
+ ],
+ "summary": "Returns a list of clusters for this vCenter instance which matches the TrustAuthorityClusters.FilterSpec.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource ClusterComputeResource referenced by the attribute TrustAuthorityClusters.FilterSpec.cluster requires System.View. \n",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "cluster",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Identifies the cluster.\ncluster If {@term.unset} return all Trust Authority Clusters.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource."
+ },
+ {
+ "in": "query",
+ "name": "state",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ENABLE",
+ "DISABLE"
+ ]
+ }
+ },
+ "description": "The state of the TrustAuthorityClusters.\nstate If {@term.unset} return all Trust Authority Clusters."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of TrustAuthorityClusters.Summary for a TrustAuthorityClusters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters"
+ ],
+ "summary": "Get the result of the last Update operation which matches the cluster id.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Cluster id.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The TrustAuthorityClusters.Info instance which contains information about the state of the cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster doesn't match to any ClusterComputeResource.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images/{version}?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/os/esx/base_images"
+ ],
+ "summary": "Get the trusted ESX base version details.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "The ESX base image version.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The version info",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the version is invalid or the cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the version or cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/os/esx/base_images"
+ ],
+ "summary": "Remove a trusted ESX base image of each ESX in the cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "The ESX base image version.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the version is invalid or the cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the version or cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images?action=import-from-imgdb&vmw-task=true": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/os/esx/base_images"
+ ],
+ "summary": "Import ESX metadata as a new trusted base image to each host in the cluster. \n Import a boot_imgdb.tgz file which contains metadata that describes a trusted ESX base image. A boot_imgdb.tgz file can be downloaded from a representative host.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The imported imgdb version identifier.\nThe result will be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the imgdb is invalid or cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "import_from_imgdb$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationOsEsxBaseImagesImportFromImgdbTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/os/esx/base_images"
+ ],
+ "summary": "Return a list of trusted ESX base images.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "version",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Search criteria by ESX base image version numbers.\nversion if {@term.unset} return all ESX version numbers.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage."
+ },
+ {
+ "in": "query",
+ "name": "display_name",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Search criteria by ESX base image version version numbers.\ndisplayName if {@term.unset} return all ESX display version numbers."
+ },
+ {
+ "in": "query",
+ "name": "health",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "NONE",
+ "OK",
+ "WARNING",
+ "ERROR"
+ ]
+ }
+ },
+ "description": "Search criteria by health indicator.\nhealth if {@term.unset} return all health indicators."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A list of configured trusted ESX base images.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/service-status?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/service_status"
+ ],
+ "summary": "Return the Attestation service health in the given cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Attestation service health status in the entire cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "For any other error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/ca-certificates/{name}?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/ca_certificates"
+ ],
+ "summary": "Get the TPM CA certificate details on a cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "name",
+ "description": "The CA certificate name.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "CA certificate info.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the name is invalid or cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the CA certificate is not found or cluster doesn't match to any cluster in the vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/ca_certificates"
+ ],
+ "summary": "Remove a TPM CA certificate on a cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "name",
+ "description": "The CA certificate name.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the name is invalid or cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster doesn't match to any cluster in the vCenter or given name is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/ca-certificates?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/ca_certificates"
+ ],
+ "summary": "Return a list of configured TPM CA certificates on a cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A list of configured TPM CA certificates.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster doesn't match to any cluster in the vCenter or given name is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list$task"
+ },
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/ca_certificates"
+ ],
+ "summary": "Add a new TPM CA certificate on a cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the configuration is invalid or the cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster doesn't match to any cluster in the vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2CaCertificatesCreateTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/endorsement-keys/{name}?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/endorsement_keys"
+ ],
+ "summary": "Get the TPM endorsement key details on a cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "name",
+ "description": "The endorsement key name.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The endorsement key info.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the name is invalid or cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the endorsement key is not found or cluster doesn't match to any cluster in the vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/endorsement_keys"
+ ],
+ "summary": "Remove a TPM endorsement key on a cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "name",
+ "description": "The endorsement key name.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the name is invalid or cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the name is not found or cluster doesn't match to any cluster in the vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/endorsement-keys?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/endorsement_keys"
+ ],
+ "summary": "Return a list of configured TPM endorsement keys in a cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A list of configured endorsement keys.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list$task"
+ },
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/endorsement_keys"
+ ],
+ "summary": "Add a new TPM endorsement key on a cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the configuration is invalid or cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster doesn't match to any cluster in the vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2EndorsementKeysCreateTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/settings?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/settings"
+ ],
+ "summary": "Return the TPM 2.0 protocol settings.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The settings.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster doesn't match to any cluster in the vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "patch": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/attestation/tpm2/settings"
+ ],
+ "summary": "Set the TPM 2.0 protocol settings.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The id of the cluster on which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the spec is invalid or cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if cluster doesn't match to any cluster in the vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2SettingsUpdateTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals/{profile}?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/consumer_principals"
+ ],
+ "summary": "Retrieve information for a specific profile.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the Trust Authority Cluster on which the profile is configured.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "profile",
+ "description": "The ID of the profile.\nThe parameter must be an identifier for the resource type: esx.authentication.clientprofile.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "information for a specific profile.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if there is no profile configured with that ID.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/consumer_principals"
+ ],
+ "summary": "Removes the read-only policy configured on ESX for a specific principal.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the Trust Authority Cluster to configure.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "profile",
+ "description": "The ID of the connection profile to modify.\nThe parameter must be an identifier for the resource type: esx.authentication.clientprofile.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if there is no profile configured with that ID.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals?action=query&vmw-task=true": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/consumer_principals"
+ ],
+ "summary": "Lists all policies configured on a specific cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the Trust Authority Cluster on which the profile is configured.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "the list of profiles matching the filter for that cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if there is no profile configured with that ID.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsListTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals?vmw-task=true": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/consumer_principals"
+ ],
+ "summary": "Creates a profile with the specified connection information on all hosts from a Trust Authority Cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the Trust Authority Cluster to configure.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "a unique identifier of the profile\nThe result will be an identifier for the resource type: esx.authentication.clientprofile.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if a profile for the issuer already exists.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsAlreadyExists"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if there is no such cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsCreateTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/client-certificate/csr?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers/client_certificate/csr"
+ ],
+ "summary": "Get existing certificate signing request (CSR) for the client certificate. \n The CSR will allow the certificate to be signed by a third party. Once the CSR is signed, certificate may be added as a client certificate. \n\n\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The client CSR, PEM and host ID which issued it.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If cluster or provider id are empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the provider or cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers/client_certificate/csr"
+ ],
+ "summary": "Generate a certificate signing request (CSR) for the client certificate. This overwrites any existing CSR. \n The CSR will allow the certificate to be signed by a third party. Once the CSR is signed, certificate may be added as a client certificate. \n\n Calling the API repeatedly will result in a generating a new CSR each time.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The client CSR, PEM and host ID which issued it.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If cluster or provider id are empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the provider or cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/client-certificate?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers/client_certificate"
+ ],
+ "summary": "Return the existing client certificate.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Client certificate, PEM.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If cluster or provider id are empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster or provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "patch": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers/client_certificate"
+ ],
+ "summary": "Update the client certificate. \n The key server will use this certificate to validate the client connection. If a client certificate already exists, it will be replaced. \n\n An optional private key can be specified if the certificate has already been provisioned.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the certificate or private key is invalid or cluster/provider id are empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster or provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersClientCertificateUpdateTask"
+ }
+ },
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers/client_certificate"
+ ],
+ "summary": "Generate a new self signed client certificate. Existing client certificate is overwritten. The key server will use this certificate to validate the client connection.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If cluster or provider id are empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster or provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/credential?vmw-task=true": {
+ "put": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers/credential"
+ ],
+ "summary": "Set the key server credential.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If cluster or provider id are empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the provider or cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCredentialSetTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/peer-certs/current?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers/current_peer_certificates"
+ ],
+ "summary": "Return the remote server certificates. \n Contacts the configured key servers and attempts to retrieve their certificates. These certificates might not yet be trusted. \n\n If the returned certificates are to be considered trustworthy, then it must be added to the list of trusted server certificates by adding to the certificates returned by TrustedPeerCertificates.get and invoking TrustedPeerCertificates.update with the updated list of certificates.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "server_names",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Names that key server must have to match the filter (see CurrentPeerCertificates.Summary.server-name).\nIf unset or empty, key servers with any name match the filter."
+ },
+ {
+ "in": "query",
+ "name": "trusted",
+ "schema": {
+ "type": "boolean"
+ },
+ "description": "Trust status that server certificates must have to match the filter (see CurrentPeerCertificates.Summary.trusted).\nIf unset, trusted and untrusted server certificates match the filter."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Summary of server certificates.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the cluster or provider id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster or provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "For any other error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/peer-certs/trusted?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers/trusted_peer_certificates"
+ ],
+ "summary": "Return the list of trusted server certificates.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Info containing server certificates, PEM.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If cluster or provider id are empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster or provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "patch": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers/trusted_peer_certificates"
+ ],
+ "summary": "Update trusted server certificate(s). \n The client will use these certificates to validate the server connection. The existing list of trusted certificates will be overwritten. \n\n The client will not trust the server connection until a server certificate has been set.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If one or more certificates are invalid or the cluster/provider Id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster or provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersTrustedPeerCertificatesUpdateTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers"
+ ],
+ "summary": "Return information about a Key Provider.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Provider information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the cluster or provider id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster or provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "For any other error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "patch": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers"
+ ],
+ "summary": "Update an existing Key Provider.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the cluster or provider id is empty, or the spec is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster or provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "For any other error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersUpdateTask"
+ }
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers"
+ ],
+ "summary": "Remove a Key Provider.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "provider",
+ "description": "Identifier of the provider.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the cluster or provider id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster or provider is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "For any other error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers"
+ ],
+ "summary": "Return a list of summary of Key Providers.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "List of providers.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "For any other error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list$task"
+ },
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/providers"
+ ],
+ "summary": "Add a new Key Provider.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the spec is invalid or cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "For any other error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCreateTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/service-status?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters/kms/service_status"
+ ],
+ "summary": "Return the Key Provider Service health in the given cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Identifier of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Key Provider Service health status in the entire cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "For any other error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the cluster id is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the cluster is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "If the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}?vmw-task=true": {
+ "patch": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_clusters"
+ ],
+ "summary": "Updates the state of a cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "Cluster id.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if spec doesn't match to any cluster compute resource.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityClustersUpdateTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-hosts/attestation": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_hosts/attestation"
+ ],
+ "summary": "Returns a list of the hosts running a Attestation Service matching the specified Attestation.FilterSpec.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource HostSystem referenced by the attribute Attestation.FilterSpec.hosts requires System.View. \n - The resource ClusterComputeResource referenced by the attribute Attestation.FilterSpec.clusters requires System.View. \n",
+ "parameters": [
+ {
+ "required": false,
+ "in": "query",
+ "name": "projection",
+ "description": "{ 1. The connection information could include the certificates or be a shorter summary. }, { 2. The type of the returned summary - brief, normal, or full.\nIf {@term.unset} a normal projection will be used. }",
+ "enum": [
+ "FULL",
+ "NORMAL",
+ "BRIEF"
+ ],
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Attestation.Summary of Attestation Services.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsAttestationSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the response data will exceed the message limit.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityHostsAttestationList"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-hosts/kms?action=query": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_hosts/kms"
+ ],
+ "summary": "Returns a list of the hosts running a Key Provider Service matching the specified Kms.FilterSpec.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource HostSystem referenced by the attribute Kms.FilterSpec.hosts requires System.View. \n - The resource ClusterComputeResource referenced by the attribute Kms.FilterSpec.clusters requires System.View. \n",
+ "parameters": [
+ {
+ "required": false,
+ "in": "query",
+ "name": "projection",
+ "description": "{ 1. The connection information could include the certificates or be a shorter summary. }, { 2. The type of the returned summary - brief, normal, or full.\nIf {@term.unset} a normal projection will be used. }",
+ "enum": [
+ "FULL",
+ "NORMAL",
+ "BRIEF"
+ ],
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Kms.Summary of Key Provider Services.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsKmsSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the response data will exceed the message limit.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustAuthorityHostsKmsList"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-hosts/{host}/attestation/": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_hosts/attestation"
+ ],
+ "summary": "Returns the connection info about the Attestation Service running on the specified host.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource HostSystem referenced by the parameter host requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "host",
+ "description": "@{link vcenter.Host} id.\nThe parameter must be an identifier for the resource type: HostSystem.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Attestation.Info instance which contains the information necessary to connect to the Attestation Service.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsAttestationInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if connection to host failed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceInaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if host doesn't match to any Host.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trust-authority-hosts/{host}/kms/": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trust_authority_hosts/kms"
+ ],
+ "summary": "Returns the connection info about the Key Provider Service running on the specified host.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource HostSystem referenced by the parameter host requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "host",
+ "description": "@{link vcenter.Host} id.\nThe parameter must be an identifier for the resource type: HostSystem.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kms.Info instance which contains the information necessary to connect to the Key Provider Service.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsKmsInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if connection to host failed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceInaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if host doesn't match to any Host.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services-applied-config?action=query&vmw-task=true": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/attestation/services_applied_config"
+ ],
+ "summary": "Returns basic information about the health of all Attestation Service configurations applied to the cluster with respect to the desired state.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The health status for each applied configuration in the given cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustedClustersAttestationServicesAppliedConfigListTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services-applied-config?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/attestation/services_applied_config"
+ ],
+ "summary": "Returns detailed information about the health of the specified Attestation Service configuration applied to the cluster with respect to the desired state.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "hostname",
+ "schema": {
+ "type": "string"
+ },
+ "description": "The IP address or DNS resolvable name of the service.",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "port",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "The port of the service.\nIf unset, port 443 will be used.",
+ "required": false
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Detailed information about the health of the specified Attestation Service configuration applied to the cluster with respect to the desired state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter or if no service corresponding to the given address is found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "patch": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/attestation/services_applied_config"
+ ],
+ "summary": "Update the applied Attestation Service configuration on the given Trusted Cluster to be consistent with the desired state. This method has no affect on the desired state, apart from it being used as a reference point for the remediation.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the Trusted Cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update$task"
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/attestation/services_applied_config"
+ ],
+ "summary": "Delete the Attestation Service configuration that has been applied to the given cluster. This method has no affect on the desired state, it only removes applied Attestation Service configuration from any Trusted Hosts within the given cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services/{service}": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/attestation/services"
+ ],
+ "summary": "Returns detailed information about the given registered Attestation Service instance that is configured for the given cluster.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "service",
+ "description": "The ID of the service.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detailed information about the specified Attestation Service configured for the given cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster or the service ID is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services/{service}?vmw-task=true": {
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/attestation/services"
+ ],
+ "summary": "Removes the Attestation Service instance from the configuration of the given cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "the unique ID of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "service",
+ "description": "the registered Attestation Service instance unique identifier.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the Attestation Service instance or the cluster are not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services?action=query": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/attestation/services"
+ ],
+ "summary": "Returns the basic information about all configured Attestation Service instances used by this cluster.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Basic information about all configured Attestation Service instances used by this cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster ID is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustedClustersAttestationServicesList"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services?vmw-task=true": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/attestation/services"
+ ],
+ "summary": "Configures the cluster to use a the given registered Attestation Service.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "ID of the configured Attestation Service instance.\nThe result will be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the CreateSpec is not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if all the hosts in the cluster do not have VMware vSphere Trust Authority enabled license.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnableToAllocateResource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster ID is not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustedClustersAttestationServicesCreateTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services-applied-config?action=query&vmw-task=true": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/kms/services_applied_config"
+ ],
+ "summary": "Returns basic information about the health of all Key Provider Service configurations applied to the cluster with respect to the desired state.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The health status for each applied configuration in the given cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustedClustersKmsServicesAppliedConfigListTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services-applied-config?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/kms/services_applied_config"
+ ],
+ "summary": "Returns detailed information about the health of the specified Key Provider Service configuration applied to the cluster with respect to the desired state.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "hostname",
+ "schema": {
+ "type": "string"
+ },
+ "description": "The IP address or DNS resolvable name of the service.",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "port",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "The port of the service.\nIf unset, port 443 will be used.",
+ "required": false
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Detailed information about the health of the specified Key Provider Service configuration applied to the cluster with respect to the desired state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter or if no service corresponding to the given address is found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "patch": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/kms/services_applied_config"
+ ],
+ "summary": "Update the applied Key Provider Service configuration on the given Trusted Cluster to be consistent with the desired state. This method has no affect on the desired state, apart from it being used as a reference point for the remediation.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the Trusted Cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update$task"
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/kms/services_applied_config"
+ ],
+ "summary": "Delete the Key Provider Service configuration that has been applied to the given cluster. This method has no affect on the desired state, it only removes applied Key Provider Service configuration from any Trusted Hosts within the given cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services/{service}": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/kms/services"
+ ],
+ "summary": "Returns detailed information about the given Key Provider Service instance used by the given cluster.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "service",
+ "description": "The ID of the service.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Detailed information about the given Key Provider Service instance used by the given cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesInfo"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster or the service ID is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services/{service}?vmw-task=true": {
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/kms/services"
+ ],
+ "summary": "Removes the Key Provider Service instance from the configuration of the given cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "the unique ID of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "service",
+ "description": "the registered Key Provider Service instance unique identifier.\nThe parameter must be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the Key Provider Service instance or the cluster are not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services?action=query": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/kms/services"
+ ],
+ "summary": "Returns basic information about all configured Key Provider Service instances used by this cluster.\nif you do not have all of the privileges described as follows: \n - Operation execution requires TrustedAdmin.ReadTrustedHosts. \n - The resource ClusterComputeResource referenced by the parameter cluster requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "basic information about all configured Key Provider Service instances used by this cluster",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesSummary"
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there is a generic error.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster ID is invalid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustedClustersKmsServicesList"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services?vmw-task=true": {
+ "post": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/kms/services"
+ ],
+ "summary": "Configures the cluster to use a the given registered Key Provider Service.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "ID of the configured Key Provider Service instance.\nThe result will be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the CreateSpec is not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if all the hosts in the cluster do not have VMware vSphere Trust Authority enabled license.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnableToAllocateResource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the cluster ID is not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterTrustedInfrastructureTrustedClustersKmsServicesCreateTask"
+ }
+ }
+ },
+ "/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/services-applied-config?vmw-task=true": {
+ "get": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/services_applied_config"
+ ],
+ "summary": "Returns detailed information about the health of the applied Trust Authority Component configurations in the given cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Detailed information about the health of the applied Trust Authority Component configurations in the given cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get$task"
+ },
+ "patch": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/services_applied_config"
+ ],
+ "summary": "Update all applied Trust Authority Component configuration on the given cluster to be consistent with the desired state. This method has no affect on the desired state, apart from it being used as a reference point for the remediation. If the cluster is not a Trusted Cluster, the method will remove all Trust Authority Component configuration from the Trusted Hosts in the cluster, if such hosts are found.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update$task"
+ },
+ "delete": {
+ "tags": [
+ "trusted_infrastructure/trusted_clusters/services_applied_config"
+ ],
+ "summary": "Delete all Trust Authority Components configuration that has been applied to the given cluster. This method has no affect on the desired state, it only removes applied Trust Authority Component configurations from any Trusted Hosts within the given cluster.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "cluster",
+ "description": "The ID of the cluster against which the operation will be executed.\nThe parameter must be an identifier for the resource type: ClusterComputeResource.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if there are ongoing mutating operations.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the cluster ID is empty.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsInvalidArgument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no cluster corresponding to the given ID is found within this vCenter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the caller is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete$task"
+ }
+ },
+ "/api/vcenter/vm/{vm}/compute/policies/{policy}": {
+ "get": {
+ "tags": [
+ "vm/compute/policies"
+ ],
+ "summary": "Returns information about the compliance of a virtual machine with a compute policy.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine to query the status for.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "policy",
+ "description": "Identifier of the policy to query the status for.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the compliance of the specified virtual machine with the specified compute policy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmComputePoliciesInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if a virtual machine with the given identifier does not exist, or if a policy with the given identifier does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/environment/{name}?action=get": {
+ "post": {
+ "tags": [
+ "vm/guest/environment"
+ ],
+ "summary": "Reads a single environment variable from the guest operating system. \n If the authentication uses Credentials.interactive-session, then the environment being read will be that of the user logged into the desktop. Otherwise it's the environment of the system user. \n\n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Query. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "name",
+ "description": "The name of the environment variable to be read.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The value of the name environment variable.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine vm is not found.\nif the environment variable name is not not set in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine vm is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials are not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware tools are not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestEnvironmentGet"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/environment?action=list": {
+ "post": {
+ "tags": [
+ "vm/guest/environment"
+ ],
+ "summary": "Reads a list of environment variables from the guest operating system. \n If the authentication uses Credentials.interactive-session, then the environment being read will be that of the user logged into the desktop. Otherwise it's the environment of the system user. \n\n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Query. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Mapping from environment variable names to environment variable values, or all environment variables if nothing is specified. If any specified environment variable contained in names is not set, then nothing is returned for that variable.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine vm is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine vm is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotAllowedInCurrentState"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials are not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware tools are not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestEnvironmentList"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/directories?action=create": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/directories"
+ ],
+ "summary": "Creates a directory in the guest operating system. \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Modify. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif path does not exist and createParents is not set. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if path cannot be created because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemDirectoriesCreate"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/directories?action=createTemporary": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/directories"
+ ],
+ "summary": "Creates a temporary directory. \n Creates a new unique temporary directory for the user to use as needed. The guest operating system may clean up the directory after a guest specific amount of time if parentPath is not set, or the user can remove the directory when no longer needed. \n\n The new directory name will be created in a guest-specific format using prefix, a guest generated string and suffix in parentPath. \n\n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Modify. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The absolute path of the temporary directory that is created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif parentPath is set and does not exist. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if parentPath cannot be accessed.\nif a file cannot be created because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create_temporary",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemDirectoriesCreateTemporary"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/directories?action=delete": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/directories"
+ ],
+ "summary": "Deletes a directory in the guest operating system. \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Modify. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif path is not found. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if path cannot be accessed.\nif path cannot be deleted because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemDirectoriesDelete"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/directories?action=move": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/directories"
+ ],
+ "summary": "Renames a directory in the guest. \n Renames the directory, or copies and deletes the old contents as required by the underlying filsystem. \n\n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Modify. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif path is not found. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.\nif the parent directory of newPath does not exist. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if a path cannot be accessed.\nif a path cannot be renamed or moved because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "move",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemDirectoriesMove"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/files/{path}?action=delete": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/files"
+ ],
+ "summary": "Deletes a file in the guest operating system \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Modify. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "path",
+ "description": "The complete path to the file or symbolic link to be deleted.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif path is not found. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if path cannot be accessed.\nif path cannot be deleted because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemFilesDelete"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/files/{path}?action=get": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/files"
+ ],
+ "summary": "Returns information about a file or directory in the guest. \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Query. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "path",
+ "description": "The complete path to the file.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Files.Info object containing information for the file.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesInfo"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif path is not found. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if path cannot be accessed.\nif path cannot be listed because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemFilesGet"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/files?action=createTemporary": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/files"
+ ],
+ "summary": "Creates a temporary file. \n Creates a new unique temporary file for the user to use as needed. The user is responsible for removing it when it is no longer needed. \n\n The new file name will be created in a guest-specific format using prefix, a guest generated string and suffix in parentPath. \n\n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Modify. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The absolute path of the temporary file that is created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if parentPath is set and does not exist. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.\nif the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if parentPath cannot be accessed.\nif a file cannot be created because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create_temporary",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemFilesCreateTemporary"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/files?action=list": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/files"
+ ],
+ "summary": "Returns information about files and directories in the guest. \n Files are returned in operating system-specific (inode) order. If the directory is modified between queries, missing or duplicate results can occur. \n\n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Query. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Files.ListResult object containing information for all the matching files in filter and the total number of files that can be returned.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesListResult"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif path is not found. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if path cannot be accessed.\nif path cannot be listed because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemFilesList"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/files?action=move": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/files"
+ ],
+ "summary": "Renames a file in the guest. \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Modify. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif path does not exist. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.\nif the parent directory of newPath does not exist. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if a path cannot be accessed.\nif a path cannot be renamed because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "move",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemFilesMove"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem/files?action=update": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/files"
+ ],
+ "summary": "Changes the file attributes of a specified file or directory inside the guest. \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Modify. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest operating system.\nif the operation is disabled by the VMware Tools in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif path is not found. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if path cannot be accessed.\nif path cannot be updated because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemFilesUpdate"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/filesystem?action=create": {
+ "post": {
+ "tags": [
+ "vm/guest/filesystem/transfers"
+ ],
+ "summary": "Initiates an operation to transfer a file to or from the guest. \n If the power state of the Virtual Machine is changed when the file transfer is in progress, or the Virtual Machine is migrated, then the transfer operation is aborted. \n\n When transferring a file into the guest and overwriting an existing file, the old file attributes are not preserved. \n\n In order to ensure a secure connection to the host when transferring a file using HTTPS, the X.509 certificate for the host must be used to authenticate the remote end of the connection. The certificate of the host that the virtual machine is running on can be retrieved using the following fields: XXX insert link to certificate in Host config XXX \n\n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Modify. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual Machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The URL to which the user has to send an HTTP request. The URL will become invalid once a successful request is sent. If the file is being transferred from the guest, an HTTP GET should be used. If the file is being transferred to the guest, HTTP PUT should be used. \n The URL is valid only for 10 minutes from the time it is generated. The URL becomes invalid whenever the virtual machine is powered off, suspended, unregistered or migrated to a new host. The host part of the URL is returned as * if the hostname to be used is the name of the server to which the call was made. For example, if the call is made to esx-svr-1.domain1.com, and the file is available for download from https://esx-svr-1.domain1.com/guestFile?id=1&token=1234, the URL returned may be {@literal aHR0cHM6Ly8mIzQyOy9ndWVzdEZpbGU/aWQ9MSZ0b2tlbj0xMjM0}. The client replaces the asterisk with the server name on which it invoked the call. \n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware Tools in the guest OS.\nif the operation is disabled by the VMware Tools in the guest OS.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.\nif Transfers.CreateSpec.path in spec is not found. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if is insuffcient space for the new file when transferring a file to the guest.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnableToAllocateResource"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials object was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if Transfers.CreateSpec.path in spec cannot be accessed.\nif Transfers.CreateSpec.path in spec cannot be copied because the guest authentication will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestFilesystemTransfersCreate"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/operations": {
+ "get": {
+ "tags": [
+ "vm/guest/operations"
+ ],
+ "summary": "Get information about the guest operation status.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "guest operations readiness.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestOperationsInfo"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the state of VMware Tools is unknown.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/processes/{pid}?action=delete": {
+ "post": {
+ "tags": [
+ "vm/guest/processes"
+ ],
+ "summary": "Terminates a process in the guest OS. \n On Posix guests, the process is sent a TERM signal. If that doesn't terminate the process, a KILL signal is sent. A process may still be running if it's stuck. \n\n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Execute. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "format": "int64",
+ "required": true,
+ "in": "path",
+ "name": "pid",
+ "description": "Process ID of the process to be terminated",
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware tools in the guest OS.\nif the operation is disabled by the VMware tools in the guest OS.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine vm is not found.\nif the pid is not found. The value of vapi.std.errors.Error#data will contain all the fields defined in the Processes.ProcessErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware tools are not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if credentials is not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if credentials does not have permission to terminate the process.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestProcessesDelete"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/processes/{pid}?action=get": {
+ "post": {
+ "tags": [
+ "vm/guest/processes"
+ ],
+ "summary": "Returns the status of a process running in the guest operating system, including those started by Processes.create that may have recently completed. \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Query. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "format": "int64",
+ "required": true,
+ "in": "path",
+ "name": "pid",
+ "description": "Specifies the process to query.",
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The #Info for the process with id pid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestProcessesInfo"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware tools in the guest OS.\nif the operation is disabled by the VMware tools in the guest OS.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine vm is not found.\nif the process pid is not found. The value of vapi.std.errors.Error#data will contain all the fields defined in the Processes.ProcessErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware tools are not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials is not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestProcessesGet"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/processes?action=create": {
+ "post": {
+ "tags": [
+ "vm/guest/processes"
+ ],
+ "summary": "Starts a program in the guest operating system. \n A process started this way can have its status queried with Processes.list or Processes.get. When the process completes, its exit code and end time will be available for 5 minutes after completion. \n\n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Execute. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The process id of the program started.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware tools in the guest OS.\nif the operation is disabled by the VMware tools in the guest OS.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine vm is not found.\nif the program path does not exist. The value of vapi.std.errors.Error#data will contain all the fields defined in the FileErrorDetails providing additional information about the failure.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the program fails to start.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnableToAllocateResource"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware tools are not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials was not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the path field of spec cannot be accessed.\nif the path field of spec cannot be run because credentials will not allow the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestProcessesCreate"
+ }
+ }
+ },
+ "/api/vcenter/vm/{vm}/guest/processes?action=list": {
+ "post": {
+ "tags": [
+ "vm/guest/processes"
+ ],
+ "summary": "List the processes running in the guest operating system, plus those started by Processes.create that have recently completed. \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.GuestOperations.Query. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine to perform the operation on.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of running processes is returned in an array of #Summary structures.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterVmGuestProcessesSummary"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the operation is not supported by the VMware tools in the guest OS.\nif the operation is disabled by the VMware tools in the guest OS.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine vm is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsNotFound"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "if the virtual machine is busy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsResourceBusy"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware tools are not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsServiceUnavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the credentials is not valid.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VapiStdErrorsUnauthenticated"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/VcenterVmGuestProcessesList"
+ }
+ }
+ },
+ "/rest/com/vmware/vcenter/inventory/datastore?~action=find": {
+ "post": {
+ "tags": [
+ "inventory/datastore"
+ ],
+ "summary": "Returns datastore information for the specified datastores. The key in the {@term result} {@term map} is the datastore identifier and the value in the {@term map} is the datastore information.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Datastore information for the specified datastores. The key in the {@term result} {@term map} is the datastore identifier and the value in the {@term map} is the datastore information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.inventory.datastore.find_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no datastore can be found for one or more of the datastore identifiers in {@param.name datastores}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "find",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.inventory.datastore_find"
+ }
+ }
+ },
+ "/rest/com/vmware/vcenter/inventory/network?~action=find": {
+ "post": {
+ "tags": [
+ "inventory/network"
+ ],
+ "summary": "Returns network information for the specified vCenter Server networks. The key in the {@term result} {@term map} is the network identifier and the value in the {@term map} is the network information.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Network information for the specified vCenter Server networks. The key in the {@term result} {@term map} is the network identifier and the value in the {@term map} is the network information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.inventory.network.find_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if no datastore can be found for one or more of the vCenter Server network identifiers in {@param.name networks}",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "find",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.inventory.network_find"
+ }
+ }
+ },
+ "/rest/com/vmware/vcenter/iso/image/id:{library_item}?~action=mount": {
+ "post": {
+ "tags": [
+ "iso/image"
+ ],
+ "summary": "Mounts an ISO image from a content library on a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "library_item",
+ "description": "The identifier of the library item having the ISO image to mount on the virtual machine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The identifier of the newly created virtual CD-ROM backed by the specified ISO image.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.iso.image.mount_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If either {@param.name vm} or the {@param.name libraryItem} is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "mount",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.iso.image_mount"
+ }
+ }
+ },
+ "/rest/com/vmware/vcenter/iso/image/id:{vm}?~action=unmount": {
+ "post": {
+ "tags": [
+ "iso/image"
+ ],
+ "summary": "Unmounts a previously mounted CD-ROM using an ISO image as a backing.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "The identifier of the virtual machine from which to unmount the virtual CD-ROM.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "404": {
+ "description": "If the virtual machine identified by {@param.name vm} is not found or the {@param.name cdrom} does not identify a virtual CD-ROM in the virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "When the operation is not allowed on the virtual machine in its current state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "unmount",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.iso.image_unmount"
+ }
+ }
+ },
+ "/rest/com/vmware/vcenter/ovf/export-flag": {
+ "get": {
+ "tags": [
+ "ovf/export_flag"
+ ],
+ "summary": "Returns information about the supported export flags by the server. The supported flags are: Future server versions might support additional flags.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "A {@term list} of supported export flags.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.ovf.export_flag.list_resp"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vcenter/ovf/import-flag": {
+ "get": {
+ "tags": [
+ "ovf/import_flag"
+ ],
+ "summary": "Returns information about the import flags supported by the deployment platform. The supported flags are: Future server versions might support additional flags.",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "rp",
+ "description": "The identifier of resource pool target for retrieving the import flag(s).",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A {@term list} of supported import flags.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.ovf.import_flag.list_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the resource pool associated with {@param.name rp} does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/com/vmware/vcenter/ovf/library-item": {
+ "post": {
+ "tags": [
+ "ovf/library_item"
+ ],
+ "summary": "Creates a library item in content library from a virtual machine or virtual appliance. This {@term operation} creates a library item in content library whose content is an OVF package derived from a source virtual machine or virtual appliance, using the supplied create specification. The OVF package may be stored as in a newly created library item or in an in an existing library item. For an existing library item whose content is updated by this {@term operation}, the original content is overwritten. Meta data such as name and description is not updated for the exisitng library item. This {@term operation} deploys an OVF package which is stored in the library item specified by {@param.name ovfLibraryItemId}. It uses the deployment specification in {@param.name deploymentSpec} to deploy the OVF package to the location specified by {@param.name target}. This {@term operation} retrieves information from the descriptor of the OVF package stored in the library item specified by {@param.name ovfLibraryItemId}. The information returned by the {@term operation} can be used to populate the deployment specification (see {@link ResourcePoolDeploymentSpec} when deploying the OVF package to the deployment target specified by {@param.name target}. This {@term operation} has been deprecated in the vSphere 7.0 U2 release. Use {@code vcenter.authentication.Token#issue} instead.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "{@link Info} {@term structure} that contains new token.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.tokenservice.token_exchange.exchange_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.invalid_request"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "If the server is unwilling or unable to issue a token for all the target services indicated by the {@link ExchangeSpec#resource} or {@link ExchangeSpec#audience} parameters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.tokenservice.invalid_scope"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if authorization is not given to a caller.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "exchange",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.tokenservice.token_exchange_exchange"
+ }
+ }
+ },
+ "/rest/vcenter/topology/nodes": {
+ "get": {
+ "tags": [
+ "topology/nodes"
+ ],
+ "summary": "Returns information about all vCenter and Platform Services Controller nodes matching the Nodes.FilterSpec.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "filter.types",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "VCSA_EMBEDDED",
+ "VCSA_EXTERNAL",
+ "PSC_EXTERNAL"
+ ]
+ }
+ },
+ "description": "Types of the appliance that a vCenter and Platform Services Controller node must be to match the filter (see Nodes.ApplianceType.\nIf unset or empty, node of any ApplianceType match the filter."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "commonly used information for all vCenter and Platform Services Controller nodes matching the Nodes.FilterSpec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.topology.nodes.list_resp"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Nodes.FilterSpec.types field contains a value that is not supported.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.invalid_argument"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/topology/nodes/{node}": {
+ "get": {
+ "tags": [
+ "topology/nodes"
+ ],
+ "summary": "Retrieve details for a given identifier of the vCenter or Platform Services Controller node.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "node",
+ "description": "Identifier of the vCenter or Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the node.\nThe parameter must be an identifier for the resource type: vcenter.VCenter.name.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "vCenter or Platform Services Controller node details with replication partners and client affinity information as applicable. See Nodes.Info.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.topology.nodes_resp"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if a node doesn't exist for given node identifier.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/topology/replication-status": {
+ "get": {
+ "tags": [
+ "topology/replication_status"
+ ],
+ "summary": "Returns the replication information of vCenter and Platform Services Controller nodes of type VCSA_EMBEDDED/PSC_EXTERNAL (see Nodes.Info.type) matching the ReplicationStatus.FilterSpec.\nif you do not have all of the privileges described as follows: \n - Operation execution requires System.Read. \n",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "filter.nodes",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Identifier that a vCenter and Platform Services Controller node must have to match the filter. (see ReplicationStatus.Summary.node).\nIf unset or empty, all vCenter and Platform Services Controller nodes of type VCSA_EMBEDDED/PSC_EXTERNAL match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.VCenter.name. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.VCenter.name."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Commonly used replication information about vCenter and Platform Services Controller nodes matching the ReplicationStatus.FilterSpec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.topology.replication_status.list_resp"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the ReplicationStatus.FilterSpec.nodes field contains a invalid value.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.invalid_argument"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vcha/cluster/active?action=get": {
+ "post": {
+ "tags": [
+ "vcha/cluster/active"
+ ],
+ "summary": "Retrieves information about the active node of a VCHA cluster.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Info Information about the VCHA network and placement of the active node.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.active_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If the management interface IP address assignment is not static.\nIf any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. \n - If partial is false or unset, then the operation execution requires the Global.VCServer privilege.\n - If partial is true, then the operation execution requires the System.Read privilege.\n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the active virtual machine is not managed by the specified vCenter server for the active node.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster.active_get"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/cluster/deployment-type": {
+ "get": {
+ "tags": [
+ "vcha/cluster/deployment_type"
+ ],
+ "summary": "Retrieves the deployment type of a VCHA cluster.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Info structure containing the deployment type information of the the VCHA cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.deployment_type_resp"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vcha/cluster/mode": {
+ "get": {
+ "tags": [
+ "vcha/cluster/mode"
+ ],
+ "summary": "Retrieves the current mode of a VCHA cluster.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Info structure containing the mode of the the VCHA cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.mode_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vcha/cluster/mode?vmw-task=true": {
+ "put": {
+ "tags": [
+ "vcha/cluster/mode"
+ ],
+ "summary": "Manipulates the mode of a VCHA Cluster. Following mode transitions are allowed:\n enabled -> disabled - Allowed only in healthy and degraded states.\n enabled -> maintenance - Allowed only in healthy state.\n disabled -> enabled - Allowed only in healthy state.\n maintenance -> enabled - Allowed only in healthy state with all nodes are running the same version.\n maintenance -> disabled - Allowed only in healthy state with all nodes are running the same version.\n All other transitions are not allowed. \n VCHA Cluster configuration remains intact in any of the cluster modes.\n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.mode.set_task_resp"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster.mode_set_task"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/cluster/passive?action=check": {
+ "post": {
+ "tags": [
+ "vcha/cluster/passive"
+ ],
+ "summary": "Validates the specified passive node's placement configuration.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "CheckResult structure containing errors and warnings.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.passive.check_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the active virtual machine is not managed by the specified vCenter server for the active node.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "check",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster.passive_check"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/cluster/passive?action=redeploy&vmw-task=true": {
+ "post": {
+ "tags": [
+ "vcha/cluster/passive"
+ ],
+ "summary": "Creates the passive node in a degraded cluster with node location information and pre-existing VCHA cluster configuration from the active node.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.passive.redeploy_task_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "redeploy$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster.passive_redeploy_task"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/cluster/witness?action=check": {
+ "post": {
+ "tags": [
+ "vcha/cluster/witness"
+ ],
+ "summary": "Validates the specified witness node's placement configuration.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "CheckResult structure containing errors and warnings.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.witness.check_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the active virtual machine is not managed by the specified vCenter server for the active node.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "check",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster.witness_check"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/cluster/witness?action=redeploy&vmw-task=true": {
+ "post": {
+ "tags": [
+ "vcha/cluster/witness"
+ ],
+ "summary": "Creates the witness node in a degraded cluster with node location information and pre-existing VCHA cluster configuration from the active node.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.witness.redeploy_task_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "redeploy$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster.witness_redeploy_task"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/cluster?action=deploy&vmw-task=true": {
+ "post": {
+ "tags": [
+ "vcha/cluster"
+ ],
+ "summary": "Prepares, clones, and configures a VCHA cluster.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.deploy_task_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "deploy$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster_deploy_task"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/cluster?action=failover&vmw-task=true": {
+ "post": {
+ "tags": [
+ "vcha/cluster"
+ ],
+ "summary": "Initiates failover from the active vCenter node to the passive node. \n For forced failover, Active node immediately initiates a failover. This may result into a data loss after failover. \n\n For planned failover, Active node flushes all the state to the Passive node, waits for the flush to complete before causing a failover. After the failover, Passive node starts without any data loss. \n\n A failover is allowed only in the following cases: \n\n 1. Cluster's mode is enabled and all cluster members are present.\n 2. Cluster's mode is maintenance and all cluster members are present.\n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.failover_task_resp"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "failover$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster_failover_task"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/cluster?action=get": {
+ "post": {
+ "tags": [
+ "vcha/cluster"
+ ],
+ "summary": "Retrieves the status of a VCHA cluster.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Info structure containing the VCHA configuration and health information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. \n - If partial is false or unset, then the operation execution requires the Global.VCServer privilege.\n - If partial is true, then the operation execution requires the System.Read privilege.\n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster_get"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/cluster?action=undeploy&vmw-task=true": {
+ "post": {
+ "tags": [
+ "vcha/cluster"
+ ],
+ "summary": "Destroys the VCHA cluster and removes all VCHA specific information from the VCVA appliance. Optionally, the passive and witness node virtual machines will be deleted only if VCHA was deployed using automatic deployment. The active node in the cluster continues to run as a standalone VCVA appliance after the destroy operation has been performed. \n If the VCHA cluster is in a transition state and not configured, then the VCHA cluster specific information is removed.\n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.undeploy_task_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the passive virtual machine is not managed by the specified vCenter server.\nIf the witness virtual machine is not managed by the specified vCenter server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "undeploy$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vcha.cluster_undeploy_task"
+ }
+ }
+ },
+ "/rest/vcenter/vcha/operations": {
+ "get": {
+ "tags": [
+ "vcha/operations"
+ ],
+ "summary": "Retrieves the current active and disabled operations of a VCHA cluster.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Info structure containing the current running and disabled operations of a VCHA cluster.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vcha.operations_resp"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the System.Read privilege.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "If any other error occurs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm": {
+ "post": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Creates a virtual machine.\nif you do not have all of the privileges described as follows: \n - The resource Folder referenced by the attribute VM.InventoryPlacementSpec.folder requires VirtualMachine.Inventory.Create. \n - The resource ResourcePool referenced by the attribute VM.ComputePlacementSpec.resource-pool requires Resource.AssignVMToPool. \n - The resource Datastore referenced by the attribute VM.StoragePlacementSpec.datastore requires Datastore.AllocateSpace. \n - The resource Network referenced by the attribute Ethernet.BackingSpec.network requires Network.Assign. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "ID of newly-created virtual machine.\nThe result will be an identifier for the resource type: VirtualMachine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.VM.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if VM.CreateSpec.guest-os is not supported for the requested virtual hardware version and spec includes unset fields that default to guest-specific values.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if any of the resources specified in spec could not be found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.VM_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Returns information about at most 4000 visible (subject to permission checks) virtual machines in vCenter matching the VM.FilterSpec.",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "filter.vms",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Identifiers of virtual machines that can match the filter.\nIf unset or empty, virtual machines with any identifier match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: VirtualMachine."
+ },
+ {
+ "in": "query",
+ "name": "filter.names",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Names that virtual machines must have to match the filter (see VM.Info.name).\nIf unset or empty, virtual machines with any name match the filter."
+ },
+ {
+ "in": "query",
+ "name": "filter.folders",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Folders that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines in any folder match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder."
+ },
+ {
+ "in": "query",
+ "name": "filter.datacenters",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Datacenters that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines in any datacenter match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter."
+ },
+ {
+ "in": "query",
+ "name": "filter.hosts",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Hosts that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines on any host match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: HostSystem. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: HostSystem."
+ },
+ {
+ "in": "query",
+ "name": "filter.clusters",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Clusters that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines in any cluster match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource."
+ },
+ {
+ "in": "query",
+ "name": "filter.resource_pools",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Resource pools that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines in any resource pool match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ResourcePool."
+ },
+ {
+ "in": "query",
+ "name": "filter.power_states",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "POWERED_OFF",
+ "POWERED_ON",
+ "SUSPENDED"
+ ]
+ }
+ },
+ "description": "Power states that a virtual machine must be in to match the filter (see Power.Info.state.\nIf unset or empty, virtual machines in any power state match the filter."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Commonly used information about the virtual machines matching the VM.FilterSpec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.VM.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if more than 4000 virtual machines match the VM.FilterSpec.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unable_to_allocate_resource"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm-template/library-items": {
+ "post": {
+ "tags": [
+ "vm_template/library_items"
+ ],
+ "summary": "Creates a library item in content library from a virtual machine. This {@term operation} creates a library item in content library whose content is a virtual machine template created from the source virtual machine, using the supplied create specification. The virtual machine template is stored in a newly created library item.",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Identifier of the newly created library item.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the resources needed to create the virtual machine template could not be allocated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unable_to_allocate_resource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the source virtual machine specified by {@link CreateSpec#sourceVm} does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if any of the services involved in the {@term operation} are unavailable.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm_template.library_items_create"
+ }
+ }
+ },
+ "/rest/vcenter/vm-template/library-items/{template_library_item}": {
+ "get": {
+ "tags": [
+ "vm_template/library_items"
+ ],
+ "summary": "Returns information about a virtual machine template contained in the library item specified by {@param.name templateLibraryItem}",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "identifier of the library item containing the virtual machine template.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the virtual machine template item contained in the library item.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine template's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the library item could not be found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if any of the services involved in the {@term operation} are unavailable.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm-template/library-items/{template_library_item}/check-outs": {
+ "get": {
+ "tags": [
+ "vm_template/library_items/check_outs"
+ ],
+ "summary": "Returns commonly used information about the virtual machines that are checked out of the library item.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "Identifier of the VM template library item.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about the check outs.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.check_outs.list_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the library item is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm-template/library-items/{template_library_item}/check-outs/{vm}": {
+ "get": {
+ "tags": [
+ "vm_template/library_items/check_outs"
+ ],
+ "summary": "Returns the information about a checked out virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "Identifier of the VM template library item.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the checked out virtual machine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about a check out.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.check_outs_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the library item or virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "vm_template/library_items/check_outs"
+ ],
+ "summary": "Deletes the checked out virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "Identifier of the VM template library item.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the checked out virtual machine to delete.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "404": {
+ "description": "if the library item or virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm-template/library-items/{template_library_item}/check-outs/{vm}?action=check-in": {
+ "post": {
+ "tags": [
+ "vm_template/library_items/check_outs"
+ ],
+ "summary": "Checks in a virtual machine into the library item. This {@term operation} updates the library item to contain the virtual machine being checked in as a template. This template becomes the latest version of the library item. The previous virtual machine template contained in the library item is available as a backup and its information can be queried using the {@name Versions} {@term service}. At most one previous version of a virtual machine template is retained in the library item.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "Identifier of the content library item in which the virtual machine is checked in.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine to check into the library item.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The new version of the library item.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.check_outs.check_in_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the item specified by {@param.name templateLibraryItem} does not exist.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "check_in",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm_template.library_items.check_outs_check_in"
+ }
+ }
+ },
+ "/rest/vcenter/vm-template/library-items/{template_library_item}/check-outs?action=check-out": {
+ "post": {
+ "tags": [
+ "vm_template/library_items/check_outs"
+ ],
+ "summary": "Checks out a library item containing a virtual machine template. This {@term operation} makes a copy of the source virtual machine template contained in the library item as a virtual machine. The virtual machine is copied with the same storage specification as the source virtual machine template. Changes to the checked out virtual machine do not affect the virtual machine template contained in the library item. To save these changes back into the library item, {@link #checkIn} the virtual machine. To discard the changes, {@link #delete} the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "Identifier of the content library item containing the source virtual machine template to be checked out.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Identifier of the virtual machine that was checked out of the library item.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.check_outs.check_out_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the library item specified by {@param.name templateLibraryItem} cannot be found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "check_out",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm_template.library_items.check_outs_check_out"
+ }
+ }
+ },
+ "/rest/vcenter/vm-template/library-items/{template_library_item}/versions": {
+ "get": {
+ "tags": [
+ "vm_template/library_items/versions"
+ ],
+ "summary": "Returns commonly used information about the live versions of a virtual machine template library item.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "Identifier of the VM template library item.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about the library item versions.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.versions.list_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the library item is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm-template/library-items/{template_library_item}/versions/{version}": {
+ "get": {
+ "tags": [
+ "vm_template/library_items/versions"
+ ],
+ "summary": "Returns information about the live version of a library item containing a virtual machine template.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "Identifier of the VM template library item.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "Version of the library item.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified library item version.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.versions_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the library item or version is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "vm_template/library_items/versions"
+ ],
+ "summary": "Deletes the virtual machine template contained in the library item at the specified version.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "Identifier of the VM template library item.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "Version of the library item to delete.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "404": {
+ "description": "if the library item or version is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm-template/library-items/{template_library_item}/versions/{version}?action=rollback": {
+ "post": {
+ "tags": [
+ "vm_template/library_items/versions"
+ ],
+ "summary": "Rollbacks a library item containing a virtual machine template to a previous version. The virtual machine template at the specified version becomes the latest virtual machine template with a new version identifier.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "Identifier of the VM template library item.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "version",
+ "description": "Version of the library item to rollback.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The new version of the library item.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.versions.rollback_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the library item or version is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "rollback",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm_template.library_items.versions_rollback"
+ }
+ }
+ },
+ "/rest/vcenter/vm-template/library-items/{template_library_item}?action=deploy": {
+ "post": {
+ "tags": [
+ "vm_template/library_items"
+ ],
+ "summary": "Deploys a virtual machine as a copy of the source virtual machine template contained in the library item specified by {@param.name templateLibraryItem}. It uses the deployment specification in {@param.name spec}. If {@link DeploySpec#poweredOn} and/or {@link DeploySpec#guestCustomization} are specified, the server triggers the power on and/or guest customization operations, which are executed asynchronously.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "template_library_item",
+ "description": "identifier of the content library item containing the source virtual machine template to be deployed.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Identifier of the deployed virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if there was an error in allocating any of the resources required by the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unable_to_allocate_resource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the library item specified by {@param.name templateLibraryItem} cannot be found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if any of the services involved in the {@term operation} are unavailable.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the {@term operation} cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the {@term operation} is not authorized to perform the {@term operation}.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "deploy",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm_template.library_items_deploy"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}": {
+ "get": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Returns information about a virtual machine.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.VM_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Deletes a virtual machine.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.Inventory.Delete. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/console/tickets": {
+ "post": {
+ "tags": [
+ "vm/console/tickets"
+ ],
+ "summary": "Creates a virtual machine console ticket of a given ticket type. The created ticket is a one time use URI. The validity of the ticket is 30 minutes, if not used with in the time frame the ticket expires. \n The VMRC ticket contains the IP address or the DNS resolvable name of the vCenter server. This ticket requires installation of VMware Workstation, VMware Fusion or VMRC to be installed on the machine where the ticket has to be opened. This ticket can be acquired even when the VM is turned off. \n\n The WEBMKS ticket contains the IP address of the DNS resolvable name of the ESX server. This ticket requires user to embed this ticket in a HTML page using VMware HTML Console SDK - https://www.vmware.com/support/developer/html-console This ticket can be acquired only when the VM is turned on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Commonly used information about the virtual machine console ticket.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.console.tickets.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration or execution state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.console.tickets_create"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/customization": {
+ "put": {
+ "tags": [
+ "vm/guest/customization"
+ ],
+ "summary": "Applies a customization specification in spec on the virtual machine in vm. This operation only sets the specification settings for the virtual machine. The actual customization happens inside the guest when the virtual machine is powered on. If spec has unset values, then any pending customization settings for the virtual machine are cleared. If there is a pending customization for the virtual machine and spec has valid content, then the existing customization setting will be overwritten with the new settings.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.Provisioning.Customize. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "The unique identifier of the virtual machine that needs to be customized.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine vm is not in a powered off state.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if a customization specification is not found with the unique name in spec.\nIf the virtual machine vm is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.guest.customization_set"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/guest/customization"
+ ],
+ "summary": "Returns the status of the customization operation that has been applied for the virtual machine in vm.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires System.View. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "The unique identifier of the virtual machine that needs to be queried.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The status of the customization operation applied for the virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.customization_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "If the virtual machine vm is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/identity": {
+ "get": {
+ "tags": [
+ "vm/guest/identity"
+ ],
+ "summary": "Return information about the guest.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "guest identification information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.identity_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if VMware Tools is not running.\nif VMware Tools has not provided any data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/local-filesystem": {
+ "get": {
+ "tags": [
+ "vm/guest/local_filesystem"
+ ],
+ "summary": "Returns details of the local file systems in the guest operating system.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the local file systems configured in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.local_filesystem_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if VMware Tools is not running.\nif VMware Tools has not provided any data.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/networking": {
+ "get": {
+ "tags": [
+ "vm/guest/networking"
+ ],
+ "summary": "Returns information about the network configuration in the guest operating system.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine ID\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the networking configuration in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/networking/interfaces": {
+ "get": {
+ "tags": [
+ "vm/guest/networking/interfaces"
+ ],
+ "summary": "Returns information about the networking interfaces in the guest operating system.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine ID\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the interfaces configured in the guest operating system. Interfaces are ordered in a guest operating system specific determined order.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking.interfaces.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/networking/routes": {
+ "get": {
+ "tags": [
+ "vm/guest/networking/routes"
+ ],
+ "summary": "Returns information about network routing in the guest operating system.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine ID\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the network routes configured in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking.routes.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/power": {
+ "get": {
+ "tags": [
+ "vm/guest/power"
+ ],
+ "summary": "Returns information about the guest operating system power state.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Guest OS powerstate information.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.power_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/power?action=reboot": {
+ "post": {
+ "tags": [
+ "vm/guest/power"
+ ],
+ "summary": "Issues a request to the guest operating system asking it to perform a reboot. This request returns immediately and does not wait for the guest operating system to complete the operation.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "reboot"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/power?action=shutdown": {
+ "post": {
+ "tags": [
+ "vm/guest/power"
+ ],
+ "summary": "Issues a request to the guest operating system asking it to perform a clean shutdown of all services. This request returns immediately and does not wait for the guest operating system to complete the operation.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "shutdown"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/guest/power?action=standby": {
+ "post": {
+ "tags": [
+ "vm/guest/power"
+ ],
+ "summary": "Issues a request to the guest operating system asking it to perform a suspend operation.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if VMware Tools is not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "standby"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware": {
+ "get": {
+ "tags": [
+ "vm/hardware"
+ ],
+ "summary": "Returns the virtual hardware settings of a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual hardware settings of the virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware"
+ ],
+ "summary": "Updates the virtual hardware settings of a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware_update"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/action/upgrade": {
+ "post": {
+ "tags": [
+ "vm/hardware"
+ ],
+ "summary": "Upgrades the virtual machine to a newer virtual hardware version.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "upgrade",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware_upgrade"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/adapter/nvme": {
+ "post": {
+ "tags": [
+ "vm/hardware/adapter/nvme"
+ ],
+ "summary": "Adds a virtual NVMe adapter to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual NVMe adapter identifier.\nThe result will be an identifier for the resource type: vcenter.vm.hardware.NvmeAdapter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.nvme.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the guest operating system of the virtual machine is not supported and spec includes unset fields that default to guest-specific values.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.adapter.nvme_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/adapter/nvme"
+ ],
+ "summary": "Returns commonly used information about the virtual NVMe adapters belonging to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about virtual NVMe adapters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.nvme.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/adapter/nvme/{adapter}": {
+ "get": {
+ "tags": [
+ "vm/hardware/adapter/nvme"
+ ],
+ "summary": "Returns information about a virtual NVMe adapter.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "adapter",
+ "description": "Virtual NVMe adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.NvmeAdapter.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual NVMe adapter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.nvme_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual NVMe adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "vm/hardware/adapter/nvme"
+ ],
+ "summary": "Removes a virtual NVMe adapter from the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "adapter",
+ "description": "Virtual NVMe adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.NvmeAdapter.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual NVMe adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/adapter/sata": {
+ "post": {
+ "tags": [
+ "vm/hardware/adapter/sata"
+ ],
+ "summary": "Adds a virtual SATA adapter to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual SATA adapter identifier.\nThe result will be an identifier for the resource type: vcenter.vm.hardware.SataAdapter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the guest operating system of the virtual machine is not supported and spec includes unset fields that default to guest-specific values.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.adapter.sata_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/adapter/sata"
+ ],
+ "summary": "Returns commonly used information about the virtual SATA adapters belonging to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about virtual SATA adapters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/adapter/sata/{adapter}": {
+ "get": {
+ "tags": [
+ "vm/hardware/adapter/sata"
+ ],
+ "summary": "Returns information about a virtual SATA adapter.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "adapter",
+ "description": "Virtual SATA adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.SataAdapter.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual SATA adapter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual SATA adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "delete": {
+ "tags": [
+ "vm/hardware/adapter/sata"
+ ],
+ "summary": "Removes a virtual SATA adapter from the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "adapter",
+ "description": "Virtual SATA adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.SataAdapter.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual SATA adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/adapter/scsi": {
+ "post": {
+ "tags": [
+ "vm/hardware/adapter/scsi"
+ ],
+ "summary": "Adds a virtual SCSI adapter to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual SCSI adapter identifier.\nThe result will be an identifier for the resource type: vcenter.vm.hardware.ScsiAdapter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the guest operating system of the virtual machine is not supported and spec includes unset fields that default to guest-specific values.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.adapter.scsi_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/adapter/scsi"
+ ],
+ "summary": "Returns commonly used information about the virtual SCSI adapters belonging to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about virtual SCSI adapters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/adapter/scsi/{adapter}": {
+ "get": {
+ "tags": [
+ "vm/hardware/adapter/scsi"
+ ],
+ "summary": "Returns information about a virtual SCSI adapter.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "adapter",
+ "description": "Virtual SCSI adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.ScsiAdapter.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual SCSI adapter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual SCSI adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/adapter/scsi"
+ ],
+ "summary": "Updates the configuration of a virtual SCSI adapter.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "adapter",
+ "description": "Virtual SCSI adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.ScsiAdapter.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual SCSI adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.adapter.scsi_update"
+ }
+ },
+ "delete": {
+ "tags": [
+ "vm/hardware/adapter/scsi"
+ ],
+ "summary": "Removes a virtual SCSI adapter from the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "adapter",
+ "description": "Virtual SCSI adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.ScsiAdapter.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual SCSI adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/boot": {
+ "get": {
+ "tags": [
+ "vm/hardware/boot"
+ ],
+ "summary": "Returns the boot-related settings of a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Boot-related settings of the virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/boot"
+ ],
+ "summary": "Updates the boot-related settings of a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.boot_update"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/boot/device": {
+ "put": {
+ "tags": [
+ "vm/hardware/boot/device"
+ ],
+ "summary": "Sets the virtual devices that will be used to boot the virtual machine. The virtual machine will check the devices in order, attempting to boot from each, until the virtual machine boots successfully. If the list is empty, the virtual machine will use a default boot sequence. There should be no more than one instance of Device.Entry for a given device type except ETHERNET in the list.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found, or if any of the specified virtual devices is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "set",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.boot.device_set"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/boot/device"
+ ],
+ "summary": "Returns an ordered list of boot devices for the virtual machine. If the list is empty, the virtual machine uses a default boot sequence.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ordered list of configured boot devices.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.device_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/cdrom": {
+ "post": {
+ "tags": [
+ "vm/hardware/cdrom"
+ ],
+ "summary": "Adds a virtual CD-ROM device to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual CD-ROM device identifier.\nThe result will be an identifier for the resource type: vcenter.vm.hardware.Cdrom.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the guest operating system of the virtual machine is not supported and spec includes unset fields that default to guest-specific values.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.cdrom_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/cdrom"
+ ],
+ "summary": "Returns commonly used information about the virtual CD-ROM devices belonging to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about virtual CD-ROM devices.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/cdrom/{cdrom}": {
+ "get": {
+ "tags": [
+ "vm/hardware/cdrom"
+ ],
+ "summary": "Returns information about a virtual CD-ROM device.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "cdrom",
+ "description": "Virtual CD-ROM device identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Cdrom.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual CD-ROM device.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual CD-ROM device is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/cdrom"
+ ],
+ "summary": "Updates the configuration of a virtual CD-ROM device.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "cdrom",
+ "description": "Virtual CD-ROM device identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Cdrom.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual CD-ROM device is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.cdrom_update"
+ }
+ },
+ "delete": {
+ "tags": [
+ "vm/hardware/cdrom"
+ ],
+ "summary": "Removes a virtual CD-ROM device from the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "cdrom",
+ "description": "Virtual CD-ROM device identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Cdrom.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual CD-ROM device is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/cdrom/{cdrom}/connect": {
+ "post": {
+ "tags": [
+ "vm/hardware/cdrom"
+ ],
+ "summary": "Connects a virtual CD-ROM device of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n For a powered-off virtual machine, the Cdrom.update operation may be used to configure the virtual CD-ROM device to start in the connected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "cdrom",
+ "description": "Virtual CD-ROM device identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Cdrom.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual CD-ROM device is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "connect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/cdrom/{cdrom}/disconnect": {
+ "post": {
+ "tags": [
+ "vm/hardware/cdrom"
+ ],
+ "summary": "Disconnects a virtual CD-ROM device of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the CD-ROM device is not connected to its backing resource. \n For a powered-off virtual machine, the Cdrom.update operation may be used to configure the virtual CD-ROM device to start in the disconnected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "cdrom",
+ "description": "Virtual CD-ROM device identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Cdrom.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual CD-ROM device is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "disconnect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/cpu": {
+ "get": {
+ "tags": [
+ "vm/hardware/cpu"
+ ],
+ "summary": "Returns the CPU-related settings of a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "CPU-related settings of the virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cpu_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/cpu"
+ ],
+ "summary": "Updates the CPU-related settings of a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.cpu_update"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/disk": {
+ "post": {
+ "tags": [
+ "vm/hardware/disk"
+ ],
+ "summary": "Adds a virtual disk to the virtual machine. While adding the virtual disk, a new VMDK file may be created or an existing VMDK file may be used to back the virtual disk.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual disk identifier.\nThe result will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the guest operating system of the virtual machine is not supported and spec includes unset fields that default to guest-specific values.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.disk_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/disk"
+ ],
+ "summary": "Returns commonly used information about the virtual disks belonging to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about the virtual disks.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/disk/{disk}": {
+ "get": {
+ "tags": [
+ "vm/hardware/disk"
+ ],
+ "summary": "Returns information about a virtual disk.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "disk",
+ "description": "Virtual disk identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual disk.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual disk is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/disk"
+ ],
+ "summary": "Updates the configuration of a virtual disk. An update operation can be used to detach the existing VMDK file and attach another VMDK file to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "disk",
+ "description": "Virtual disk identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual disk is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.disk_update"
+ }
+ },
+ "delete": {
+ "tags": [
+ "vm/hardware/disk"
+ ],
+ "summary": "Removes a virtual disk from the virtual machine. This operation does not destroy the VMDK file that backs the virtual disk. It only detaches the VMDK file from the virtual machine. Once detached, the VMDK file will not be destroyed when the virtual machine to which it was associated is deleted.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "disk",
+ "description": "Virtual disk identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual disk is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/ethernet": {
+ "post": {
+ "tags": [
+ "vm/hardware/ethernet"
+ ],
+ "summary": "Adds a virtual Ethernet adapter to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual Ethernet adapter identifier.\nThe result will be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the guest operating system of the virtual machine is not supported and spec includes unset fields that default to guest-specific values.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or network backing is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.ethernet_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/ethernet"
+ ],
+ "summary": "Returns commonly used information about the virtual Ethernet adapters belonging to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about virtual Ethernet adapters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/ethernet/{nic}": {
+ "get": {
+ "tags": [
+ "vm/hardware/ethernet"
+ ],
+ "summary": "Returns information about a virtual Ethernet adapter.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "nic",
+ "description": "Virtual Ethernet adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual Ethernet adapter.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual Ethernet adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/ethernet"
+ ],
+ "summary": "Updates the configuration of a virtual Ethernet adapter.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "nic",
+ "description": "Virtual Ethernet adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine, virtual Ethernet adapter, or backing network is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.ethernet_update"
+ }
+ },
+ "delete": {
+ "tags": [
+ "vm/hardware/ethernet"
+ ],
+ "summary": "Removes a virtual Ethernet adapter from the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "nic",
+ "description": "Virtual Ethernet adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual Ethernet adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/ethernet/{nic}/connect": {
+ "post": {
+ "tags": [
+ "vm/hardware/ethernet"
+ ],
+ "summary": "Connects a virtual Ethernet adapter of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n For a powered-off virtual machine, the Ethernet.update operation may be used to configure the virtual Ethernet adapter to start in the connected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "nic",
+ "description": "Virtual Ethernet adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual Ethernet adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "connect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/ethernet/{nic}/disconnect": {
+ "post": {
+ "tags": [
+ "vm/hardware/ethernet"
+ ],
+ "summary": "Disconnects a virtual Ethernet adapter of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the Ethernet adapter is not connected to its backing resource. \n For a powered-off virtual machine, the Ethernet.update operation may be used to configure the virtual Ethernet adapter to start in the disconnected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "nic",
+ "description": "Virtual Ethernet adapter identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual Ethernet adapter is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "disconnect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/floppy": {
+ "post": {
+ "tags": [
+ "vm/hardware/floppy"
+ ],
+ "summary": "Adds a virtual floppy drive to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual floppy drive identifier.\nThe result will be an identifier for the resource type: vcenter.vm.hardware.Floppy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.floppy_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/floppy"
+ ],
+ "summary": "Returns commonly used information about the virtual floppy drives belonging to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about virtual floppy drives.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/floppy/{floppy}": {
+ "get": {
+ "tags": [
+ "vm/hardware/floppy"
+ ],
+ "summary": "Returns information about a virtual floppy drive.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "floppy",
+ "description": "Virtual floppy drive identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Floppy.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual floppy drive.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual floppy drive is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/floppy"
+ ],
+ "summary": "Updates the configuration of a virtual floppy drive.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "floppy",
+ "description": "Virtual floppy drive identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Floppy.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual floppy drive is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.floppy_update"
+ }
+ },
+ "delete": {
+ "tags": [
+ "vm/hardware/floppy"
+ ],
+ "summary": "Removes a virtual floppy drive from the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "floppy",
+ "description": "Virtual floppy drive identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Floppy.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual floppy drive is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/floppy/{floppy}/connect": {
+ "post": {
+ "tags": [
+ "vm/hardware/floppy"
+ ],
+ "summary": "Connects a virtual floppy drive of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n For a powered-off virtual machine, the Floppy.update operation may be used to configure the virtual floppy drive to start in the connected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "floppy",
+ "description": "Virtual floppy drive identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Floppy.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual floppy drive is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "connect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/floppy/{floppy}/disconnect": {
+ "post": {
+ "tags": [
+ "vm/hardware/floppy"
+ ],
+ "summary": "Disconnects a virtual floppy drive of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the floppy drive is not connected to its backing resource. \n For a powered-off virtual machine, the Floppy.update operation may be used to configure the virtual floppy floppy to start in the disconnected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "floppy",
+ "description": "Virtual floppy drive identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.Floppy.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual floppy drive is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "disconnect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/memory": {
+ "get": {
+ "tags": [
+ "vm/hardware/memory"
+ ],
+ "summary": "Returns the memory-related settings of a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Memory-related settings of the virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.memory_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/memory"
+ ],
+ "summary": "Updates the memory-related settings of a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.memory_update"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/parallel": {
+ "post": {
+ "tags": [
+ "vm/hardware/parallel"
+ ],
+ "summary": "Adds a virtual parallel port to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual parallel port identifier.\nThe result will be an identifier for the resource type: vcenter.vm.hardware.ParallelPort.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.parallel_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/parallel"
+ ],
+ "summary": "Returns commonly used information about the virtual parallel ports belonging to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about virtual parallel ports.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/parallel/{port}": {
+ "get": {
+ "tags": [
+ "vm/hardware/parallel"
+ ],
+ "summary": "Returns information about a virtual parallel port.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual parallel port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.ParallelPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual parallel port.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual parallel port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/parallel"
+ ],
+ "summary": "Updates the configuration of a virtual parallel port.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual parallel port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.ParallelPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual parallel port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.parallel_update"
+ }
+ },
+ "delete": {
+ "tags": [
+ "vm/hardware/parallel"
+ ],
+ "summary": "Removes a virtual parallel port from the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual parallel port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.ParallelPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual parallel port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/parallel/{port}/connect": {
+ "post": {
+ "tags": [
+ "vm/hardware/parallel"
+ ],
+ "summary": "Connects a virtual parallel port of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n For a powered-off virtual machine, the Parallel.update operation may be used to configure the virtual parallel port to start in the connected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual parallel port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.ParallelPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual parallel port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "connect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/parallel/{port}/disconnect": {
+ "post": {
+ "tags": [
+ "vm/hardware/parallel"
+ ],
+ "summary": "Disconnects a virtual parallel port of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the parallel port is not connected to its backing. \n For a powered-off virtual machine, the Parallel.update operation may be used to configure the virtual parallel port to start in the disconnected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual parallel port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.ParallelPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual parallel port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "disconnect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/serial": {
+ "post": {
+ "tags": [
+ "vm/hardware/serial"
+ ],
+ "summary": "Adds a virtual serial port to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual serial port identifier.\nThe result will be an identifier for the resource type: vcenter.vm.hardware.SerialPort.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.create_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "create",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.serial_create"
+ }
+ },
+ "get": {
+ "tags": [
+ "vm/hardware/serial"
+ ],
+ "summary": "Returns commonly used information about the virtual serial ports belonging to the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of commonly used information about virtual serial ports.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.list_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "list"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/serial/{port}": {
+ "get": {
+ "tags": [
+ "vm/hardware/serial"
+ ],
+ "summary": "Returns information about a virtual serial port.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual serial port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.SerialPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified virtual serial port.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual serial port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/hardware/serial"
+ ],
+ "summary": "Updates the configuration of a virtual serial port.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual serial port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.SerialPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual serial port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.hardware.serial_update"
+ }
+ },
+ "delete": {
+ "tags": [
+ "vm/hardware/serial"
+ ],
+ "summary": "Removes a virtual serial port from the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual serial port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.SerialPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual serial port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "delete"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/serial/{port}/connect": {
+ "post": {
+ "tags": [
+ "vm/hardware/serial"
+ ],
+ "summary": "Connects a virtual serial port of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n For a powered-off virtual machine, the Serial.update operation may be used to configure the virtual serial port to start in the connected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual serial port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.SerialPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual serial port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "connect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/hardware/serial/{port}/disconnect": {
+ "post": {
+ "tags": [
+ "vm/hardware/serial"
+ ],
+ "summary": "Disconnects a virtual serial port of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the serial port is not connected to its backing. \n For a powered-off virtual machine, the Serial.update operation may be used to configure the virtual serial port to start in the disconnected state when the virtual machine is powered on.\n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "required": true,
+ "in": "path",
+ "name": "port",
+ "description": "Virtual serial port identifier.\nThe parameter must be an identifier for the resource type: vcenter.vm.hardware.SerialPort.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine or virtual serial port is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "disconnect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/library-item": {
+ "get": {
+ "tags": [
+ "vm/library_item"
+ ],
+ "summary": "Returns the information about the library item associated with the virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the library item associated with the virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.library_item_resp"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user that requested the operation cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user that requested the operation is not authorized to perform the operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/power": {
+ "get": {
+ "tags": [
+ "vm/power"
+ ],
+ "summary": "Returns the power state information of a virtual machine.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires System.Read. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Power state information for the specified virtual machine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.power_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration or execution state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/power/reset": {
+ "post": {
+ "tags": [
+ "vm/power"
+ ],
+ "summary": "Resets a powered-on virtual machine.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.Interact.Reset. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine is performing another operation",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_busy"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "reset"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/power/start": {
+ "post": {
+ "tags": [
+ "vm/power"
+ ],
+ "summary": "Powers on a powered-off or suspended virtual machine.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.Interact.PowerOn. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine is performing another operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_busy"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "start"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/power/stop": {
+ "post": {
+ "tags": [
+ "vm/power"
+ ],
+ "summary": "Powers off a powered-on or suspended virtual machine.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.Interact.PowerOff. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine is performing another operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_busy"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "stop"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/power/suspend": {
+ "post": {
+ "tags": [
+ "vm/power"
+ ],
+ "summary": "Suspends a powered-on virtual machine.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.Interact.Suspend. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine is performing another operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_busy"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "suspend"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/storage/policy": {
+ "get": {
+ "tags": [
+ "vm/storage/policy"
+ ],
+ "summary": "Returns Information about Storage Policy associated with a virtual machine's home directory and/or its virtual hard disks.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Overview of Storage Policy associated with a virtual machine's home directory and/or its associated virtual hard disks.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the virtual machine's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/storage/policy"
+ ],
+ "summary": "Updates the storage policy configuration of a virtual machine and/or its associated virtual hard disks.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine or disk's configuration state cannot be accessed.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user is not authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required priveleges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.storage.policy_update"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}/storage/policy/compliance": {
+ "get": {
+ "tags": [
+ "vm/storage/policy/compliance"
+ ],
+ "summary": "Returns the cached storage policy compliance information of a virtual machine.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual machine storage policy compliance Info Compliance.Info.\nIf unset, neither the virtual machine home directory nor any of it's virtual disks are associated with a storage policy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.compliance_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/storage/policy/compliance?action=check": {
+ "post": {
+ "tags": [
+ "vm/storage/policy/compliance"
+ ],
+ "summary": "Returns the storage policy Compliance Compliance.Info of a virtual machine after explicitly re-computing compliance check.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine identifier.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Virtual machine storage policy compliance Compliance.Info structure .\nIf unset, neither the virtual machine home directory nor any of it's virtual disks are associated with a storage policy.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.compliance.check_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service necessary to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user does not have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "check",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.storage.policy.compliance_check"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}/tools": {
+ "get": {
+ "tags": [
+ "vm/tools"
+ ],
+ "summary": "Get the properties of VMware Tools.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VMware Tools properties.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.tools_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ },
+ "patch": {
+ "tags": [
+ "vm/tools"
+ ],
+ "summary": "Update the properties of VMware Tools.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the Tools.UpdateSpec.upgrade-policy field contains a value that is not supported by the server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.invalid_argument"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "update",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.tools_update"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}/tools/installer": {
+ "get": {
+ "tags": [
+ "vm/tools/installer"
+ ],
+ "summary": "Get information about the VMware Tools installer.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "information about the VMware Tools installer.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.vm.tools.installer_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the system reports an error while responding to the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "get"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/tools/installer?action=connect": {
+ "post": {
+ "tags": [
+ "vm/tools/installer"
+ ],
+ "summary": "Connects the VMware Tools CD installer as a CD-ROM for the guest operating system. On Windows guest operating systems with autorun, this should cause the installer to initiate the Tools installation which will need user input to complete. On other (non-Windows) guest operating systems this will make the Tools installation available, and a a user will need to do guest-specific actions. On Linux, this includes opening an archive and running the installer. To monitor the status of the Tools install, clients should check the Tools.Info.version-status and Tools.Info.run-state from Tools.get",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine ID\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the Tools installation fails in the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "connect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/tools/installer?action=disconnect": {
+ "post": {
+ "tags": [
+ "vm/tools/installer"
+ ],
+ "summary": "Disconnect the VMware Tools installer CD image.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Virtual machine ID\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine is not powered on.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "disconnect"
+ }
+ },
+ "/rest/vcenter/vm/{vm}/tools?action=upgrade": {
+ "post": {
+ "tags": [
+ "vm/tools"
+ ],
+ "summary": "Begins the Tools upgrade process. To monitor the status of the Tools upgrade, clients should check the Tools status by calling Tools.get and examining Tools.Info.version-status and Tools.Info.run-state.",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "404": {
+ "description": "if the virtual machine is not found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the VMware Tools are not running.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if the upgrade process fails inside the guest operating system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "upgrade",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.vm.tools_upgrade"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}?action=relocate": {
+ "post": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Relocates a virtual machine based on the specification. The parts of the virtual machine that can move are: FOLDER, RESOURCE_POOL, HOST, CLUSTER and DATASTORE of home of the virtual machine and disks. \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires Resource.ColdMigrate. \n - The resource ResourcePool referenced by the attribute VM.RelocatePlacementSpec.resource-pool requires Resource.AssignVMToPool. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Existing Virtual machine to relocate.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if a specified resource (eg. host) is not accessible.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if any of the resources specified in spec or the given \"vm\" could not be found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "relocate",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.VM_relocate"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}?action=relocate&vmw-task=true": {
+ "post": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Relocates a virtual machine based on the specification. The parts of the virtual machine that can move are: FOLDER, RESOURCE_POOL, HOST, CLUSTER and DATASTORE of home of the virtual machine and disks. \n\n\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires Resource.ColdMigrate. \n - The resource ResourcePool referenced by the attribute VM.RelocatePlacementSpec.resource-pool requires Resource.AssignVMToPool. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Existing Virtual machine to relocate.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.VM.relocate_task_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if a specified resource (eg. host) is not accessible.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if any of the resources specified in spec or the given \"vm\" could not be found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "relocate$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.VM_relocate_task"
+ }
+ }
+ },
+ "/rest/vcenter/vm/{vm}?action=unregister": {
+ "post": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Removes the virtual machine corresponding to vm from the vCenter inventory without removing any of the virtual machine's files from storage. All high-level information stored with the management server (ESXi or vCenter) is removed, including information such as statistics, resource pool association, permissions, and alarms.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.Inventory.Unregister. \n",
+ "parameters": [
+ {
+ "required": true,
+ "in": "path",
+ "name": "vm",
+ "description": "Identifier of the virtual machine to be unregistered.\nThe parameter must be an identifier for the resource type: VirtualMachine.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {}
+ }
+ },
+ "400": {
+ "description": "if the virtual machine is busy performing another operation.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_busy"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if there is no virtual machine associated with vm in the system.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "unregister"
+ }
+ },
+ "/rest/vcenter/vm?action=clone": {
+ "post": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Creates a virtual machine from an existing virtual machine. \n\n\nif you do not have all of the privileges described as follows: \n - The resource Datastore referenced by the attribute VM.DiskCloneSpec.datastore requires Datastore.AllocateSpace. \n - The resource Datastore referenced by the attribute VM.ClonePlacementSpec.datastore requires Datastore.AllocateSpace. \n - The resource Folder referenced by the attribute VM.ClonePlacementSpec.folder requires VirtualMachine.Inventory.CreateFromExisting. \n - The resource ResourcePool referenced by the attribute VM.ClonePlacementSpec.resource-pool requires Resource.AssignVMToPool. \n - The resource VirtualMachine referenced by the attribute VM.CloneSpec.source requires VirtualMachine.Provisioning.Clone. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "ID of newly-created virtual machine.\nThe result will be an identifier for the resource type: VirtualMachine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.VM.clone_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the resources needed to clone the virtual machine could not be allocated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unable_to_allocate_resource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if any of the resources specified in spec could not be found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "clone",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.VM_clone"
+ }
+ }
+ },
+ "/rest/vcenter/vm?action=clone&vmw-task=true": {
+ "post": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Creates a virtual machine from an existing virtual machine. \n\n\nif you do not have all of the privileges described as follows: \n - The resource Datastore referenced by the attribute VM.DiskCloneSpec.datastore requires Datastore.AllocateSpace. \n - The resource Datastore referenced by the attribute VM.ClonePlacementSpec.datastore requires Datastore.AllocateSpace. \n - The resource Folder referenced by the attribute VM.ClonePlacementSpec.folder requires VirtualMachine.Inventory.CreateFromExisting. \n - The resource ResourcePool referenced by the attribute VM.ClonePlacementSpec.resource-pool requires Resource.AssignVMToPool. \n - The resource VirtualMachine referenced by the attribute VM.CloneSpec.source requires VirtualMachine.Provisioning.Clone. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "ID of newly-created virtual machine.\nThe result will be an identifier for the resource type: VirtualMachine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.VM.clone_task_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the resources needed to clone the virtual machine could not be allocated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unable_to_allocate_resource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if any of the resources specified in spec could not be found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "clone$task",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.VM_clone_task"
+ }
+ }
+ },
+ "/rest/vcenter/vm?action=instant-clone": {
+ "post": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Create an instant clone of an existing virtual machine.\nif you do not have all of the privileges described as follows: \n - The resource VirtualMachine referenced by the attribute VM.InstantCloneSpec.source requires VirtualMachine.Provisioning.Clone and VirtualMachine.Inventory.CreateFromExisting. \n - The resource Folder referenced by the attribute VM.InstantClonePlacementSpec.folder requires VirtualMachine.Interact.PowerOn. \n - The resource ResourcePool referenced by the attribute VM.InstantClonePlacementSpec.resource-pool requires Resource.AssignVMToPool. \n - The resource Datastore referenced by the attribute VM.InstantClonePlacementSpec.datastore requires Datastore.AllocateSpace. \n - The resource Network referenced by the attribute Ethernet.BackingSpec.network requires Network.Assign. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "ID of newly-created virtual machine.\nThe result will be an identifier for the resource type: VirtualMachine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.VM.instant_clone_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the resources needed to create an instant clone could not be allocated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unable_to_allocate_resource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if any of the resources specified in spec could not be found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user can not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "instant_clone",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.VM_instant_clone"
+ }
+ }
+ },
+ "/rest/vcenter/vm?action=register": {
+ "post": {
+ "tags": [
+ "VM"
+ ],
+ "summary": "Creates a virtual machine from existing virtual machine files on storage.\nif you do not have all of the privileges described as follows: \n - The resource Datastore referenced by the attribute VM.RegisterSpec.datastore requires System.Read. \n - The resource Folder referenced by the attribute VM.InventoryPlacementSpec.folder requires VirtualMachine.Inventory.Register. \n - The resource ResourcePool referenced by the attribute VM.ComputePlacementSpec.resource-pool requires Resource.AssignVMToPool. \n",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Identifier of the newly-created virtual machine.\nThe result will be an identifier for the resource type: VirtualMachine.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vcenter.VM.register_resp"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "if any of the resources needed to register the virtual machine could not be allocated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unable_to_allocate_resource"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "if any of the resources specified in spec could not be found.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "if the system is unable to communicate with a service to complete the request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "if the user cannot be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "if the user doesn't have the required privileges.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "register",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.VM_register"
+ }
+ }
+ }
+ },
+ "components": {
+ "requestBodies": {
+ "VcenterAuthenticationTokenIssue": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterAuthenticationTokenIssue"
+ }
+ }
+ }
+ },
+ "VcenterCertificateManagementVcenterSigningCertificateRefresh": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCertificateManagementVcenterSigningCertificateRefresh"
+ }
+ }
+ }
+ },
+ "VcenterCertificateManagementVcenterSigningCertificateSet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCertificateManagementVcenterSigningCertificateSet"
+ }
+ }
+ }
+ },
+ "VcenterComputePoliciesCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterComputePoliciesCreate"
+ }
+ }
+ }
+ },
+ "VcenterCryptoManagerKmsProvidersCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersCreate"
+ }
+ }
+ }
+ },
+ "VcenterCryptoManagerKmsProvidersExport": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersExport"
+ }
+ }
+ }
+ },
+ "VcenterCryptoManagerKmsProvidersImportProvider": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersImportProvider"
+ }
+ }
+ }
+ },
+ "VcenterCryptoManagerKmsProvidersUpdate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersUpdate"
+ }
+ }
+ }
+ },
+ "VcenterLcmDiscoveryAssociatedProductsCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterLcmDiscoveryAssociatedProductsCreate"
+ }
+ }
+ }
+ },
+ "VcenterLcmDiscoveryAssociatedProductsUpdate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterLcmDiscoveryAssociatedProductsUpdate"
+ }
+ }
+ }
+ },
+ "VcenterLcmDiscoveryInteropReportCreate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterLcmDiscoveryInteropReportCreateTask"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementClustersEnable": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersEnable"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementClustersSet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersSet"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementClustersUpdate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersUpdate"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementLoadBalancersSet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersSet"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementLoadBalancersUpdate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersUpdate"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementNetworksCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksCreate"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementNetworksSet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksSet"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementNetworksUpdate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksUpdate"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementSoftwareClustersUpgrade": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersUpgrade"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementSoftwareClustersUpgradeMultiple": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersUpgradeMultiple"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesCheckContent": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesCheckContent"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesCreate"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesSet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesSet"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesCreate"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesUpdate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesUpdate"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesVersionsCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsCreate"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesCreate"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesUpdate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesUpdate"
+ }
+ }
+ }
+ },
+ "VcenterNamespacesAccessCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespacesAccessCreate"
+ }
+ }
+ }
+ },
+ "VcenterNamespacesAccessSet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespacesAccessSet"
+ }
+ }
+ }
+ },
+ "VcenterNamespacesInstancesCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesCreate"
+ }
+ }
+ }
+ },
+ "VcenterNamespacesInstancesSet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesSet"
+ }
+ }
+ }
+ },
+ "VcenterNamespacesInstancesUpdate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesUpdate"
+ }
+ }
+ }
+ },
+ "VcenterNamespacesNamespaceSelfServiceActivateWithTemplate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterNamespacesNamespaceSelfServiceActivateWithTemplate"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureAttestationServicesCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureAttestationServicesCreate"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureAttestationServicesList": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureAttestationServicesList"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureKmsServicesCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureKmsServicesCreate"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureKmsServicesList": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureKmsServicesList"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationOsEsxBaseImagesImportFromImgdb_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationOsEsxBaseImagesImportFromImgdbTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2CaCertificatesCreate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2CaCertificatesCreateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2EndorsementKeysCreate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2EndorsementKeysCreateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2SettingsUpdate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2SettingsUpdateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsCreate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsCreateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsList_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsListTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersClientCertificateUpdate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersClientCertificateUpdateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCreate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCreateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCredentialSet_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCredentialSetTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersTrustedPeerCertificatesUpdate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersTrustedPeerCertificatesUpdateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersUpdate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersUpdateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersUpdate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersUpdateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsAttestationList": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsAttestationList"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsKmsList": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsKmsList"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesAppliedConfigList_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesAppliedConfigListTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesCreate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesCreateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesList": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesList"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesAppliedConfigList_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesAppliedConfigListTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesCreate_task": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesCreateTask"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesList": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesList"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestEnvironmentGet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestEnvironmentGet"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestEnvironmentList": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestEnvironmentList"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemDirectoriesCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemDirectoriesCreate"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemDirectoriesCreateTemporary": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemDirectoriesCreateTemporary"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemDirectoriesDelete": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemDirectoriesDelete"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemDirectoriesMove": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemDirectoriesMove"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesCreateTemporary": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesCreateTemporary"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesDelete": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesDelete"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesGet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesGet"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesList": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesList"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesMove": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesMove"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesUpdate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesUpdate"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemTransfersCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemTransfersCreate"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestProcessesCreate": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestProcessesCreate"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestProcessesDelete": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestProcessesDelete"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestProcessesGet": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestProcessesGet"
+ }
+ }
+ }
+ },
+ "VcenterVmGuestProcessesList": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VcenterVmGuestProcessesList"
+ }
+ }
+ }
+ }
+ },
+ "schemas": {
+ "Oauth2ErrorsErrorType": {
+ "type": "string",
+ "description": "Enumeration of OAuth 2.0 errors.",
+ "enum": [
+ "invalid_request",
+ "invalid_scope",
+ "invalid_grant"
+ ]
+ },
+ "Oauth2ErrorsInvalidGrant": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/Oauth2ErrorsErrorType"
+ },
+ "error_description": {
+ "description": "Human-readable ASCII text providing additional information, used to assist the client developer in understanding the error that occurred. Values for the \"error_description\" parameter MUST NOT include characters outside the set %x20-21 / %x23-5B / %x5D-7E.\nif no additional information is available.",
+ "type": "string"
+ },
+ "error_uri": {
+ "description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.\nif no such web-page is available.",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "Oauth2ErrorsInvalidRequest": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/Oauth2ErrorsErrorType"
+ },
+ "error_description": {
+ "description": "Human-readable ASCII text providing additional information, used to assist the client developer in understanding the error that occurred. Values for the \"error_description\" parameter MUST NOT include characters outside the set %x20-21 / %x23-5B / %x5D-7E.\nif no additional information is available.",
+ "type": "string"
+ },
+ "error_uri": {
+ "description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.\nif no such web-page is available.",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "Oauth2ErrorsInvalidScope": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/Oauth2ErrorsErrorType"
+ },
+ "error_description": {
+ "description": "Human-readable ASCII text providing additional information, used to assist the client developer in understanding the error that occurred. Values for the \"error_description\" parameter MUST NOT include characters outside the set %x20-21 / %x23-5B / %x5D-7E.\nif no additional information is available.",
+ "type": "string"
+ },
+ "error_uri": {
+ "description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.\nif no such web-page is available.",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "Oauth2TokenInfo": {
+ "type": "object",
+ "properties": {
+ "access_token": {
+ "description": "The access token issued by the authorization server.",
+ "type": "string"
+ },
+ "token_type": {
+ "description": "A case-insensitive value specifying the method of using the access token issued.",
+ "type": "string"
+ },
+ "expires_in": {
+ "description": "The validity lifetime, in seconds, of the token issued by the server.\nunset if not applicable for issued token.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "scope": {
+ "description": "Scope of the issued access token. The value of the scope parameter is expressed as a list of space- delimited, case-sensitive strings. The strings are defined by the authorization server. If the value contains multiple space-delimited strings, their order does not matter, and each string adds an additional access range to the requested scope.\nunset if the scope of the issued security token is identical to the scope requested by the client.",
+ "type": "string"
+ },
+ "refresh_token": {
+ "description": "The refresh token, which can be used to obtain new access tokens.\nunset if not applicable to the specific request.",
+ "type": "string"
+ },
+ "issued_token_type": {
+ "description": "An identifier which indicates the type of the access token in the TokenInfo.access-token field.\nunset if not the result of a token-exchange invocation; otherwise, required.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "access_token",
+ "token_type"
+ ]
+ },
+ "VapiStdDynamicID": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of resource being identified (for example {@code com.acme.Person}). {@term Services} that contain {@term operations} for creating and deleting resources typically contain a {@term constant} specifying the resource type for the resources being created and deleted. The API metamodel metadata {@term services} include a {@term service} that allows retrieving all the known resource types.",
+ "type": "string"
+ },
+ "id": {
+ "description": "The identifier for a resource whose type is specified by {@link #type}.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "id"
+ ]
+ },
+ "VapiStdErrorsAlreadyExists": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsError": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsErrorType": {
+ "type": "string",
+ "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.",
+ "enum": [
+ "ERROR",
+ "ALREADY_EXISTS",
+ "ALREADY_IN_DESIRED_STATE",
+ "CANCELED",
+ "CONCURRENT_CHANGE",
+ "FEATURE_IN_USE",
+ "INTERNAL_SERVER_ERROR",
+ "INVALID_ARGUMENT",
+ "INVALID_ELEMENT_CONFIGURATION",
+ "INVALID_ELEMENT_TYPE",
+ "INVALID_REQUEST",
+ "NOT_ALLOWED_IN_CURRENT_STATE",
+ "NOT_FOUND",
+ "OPERATION_NOT_FOUND",
+ "RESOURCE_BUSY",
+ "RESOURCE_IN_USE",
+ "RESOURCE_INACCESSIBLE",
+ "SERVICE_UNAVAILABLE",
+ "TIMED_OUT",
+ "UNABLE_TO_ALLOCATE_RESOURCE",
+ "UNAUTHENTICATED",
+ "UNAUTHORIZED",
+ "UNEXPECTED_INPUT",
+ "UNSUPPORTED",
+ "UNVERIFIED_PEER"
+ ]
+ },
+ "VapiStdErrorsInternalServerError": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsInvalidArgument": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsNotAllowedInCurrentState": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsNotFound": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsResourceBusy": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsResourceInUse": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsResourceInaccessible": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsServiceUnavailable": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsUnableToAllocateResource": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsUnauthenticated": {
+ "type": "object",
+ "properties": {
+ "challenge": {
+ "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"",
+ "type": "string"
+ },
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsUnauthorized": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdErrorsUnsupported": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/VapiStdErrorsErrorType"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VapiStdLocalizableMessage": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the localizable string or message template. This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.",
+ "type": "string"
+ },
+ "default_message": {
+ "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.",
+ "type": "string"
+ },
+ "args": {
+ "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "params": {
+ "description": "Named arguments to be substituted into the message template.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/VapiStdLocalizationParam"
+ }
+ },
+ "localized": {
+ "description": "Localized string value as per request requirements.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "default_message",
+ "args"
+ ]
+ },
+ "VapiStdLocalizationParam": {
+ "type": "object",
+ "properties": {
+ "s": {
+ "description": "{@term String} value associated with the parameter.",
+ "type": "string"
+ },
+ "dt": {
+ "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "i": {
+ "description": "{@term long} value associated with the parameter.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "d": {
+ "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.",
+ "type": "number",
+ "format": "double"
+ },
+ "l": {
+ "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.",
+ "$ref": "#/components/schemas/VapiStdNestedLocalizableMessage"
+ },
+ "format": {
+ "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.",
+ "$ref": "#/components/schemas/VapiStdLocalizationParamDateTimeFormat"
+ },
+ "precision": {
+ "description": "Number of fractional digits to include in formatted {@term double} value.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "VapiStdLocalizationParamDateTimeFormat": {
+ "type": "string",
+ "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.",
+ "enum": [
+ "SHORT_DATE",
+ "MED_DATE",
+ "LONG_DATE",
+ "FULL_DATE",
+ "SHORT_TIME",
+ "MED_TIME",
+ "LONG_TIME",
+ "FULL_TIME",
+ "SHORT_DATE_TIME",
+ "MED_DATE_TIME",
+ "LONG_DATE_TIME",
+ "FULL_DATE_TIME"
+ ]
+ },
+ "VapiStdNestedLocalizableMessage": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the localizable string or message template. This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.",
+ "type": "string"
+ },
+ "params": {
+ "description": "Named Arguments to be substituted into the message template.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/VapiStdLocalizationParam"
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "VcenterAuthenticationTokenIssue": {
+ "$ref": "#/components/schemas/VcenterAuthenticationTokenIssueSpec",
+ "description": "Token.IssueSpec structure containing arguments that define the exchange process."
+ },
+ "VcenterAuthenticationTokenIssueSpec": {
+ "type": "object",
+ "properties": {
+ "grant_type": {
+ "description": "The value of urn:ietf:params:oauth:grant-type:token-exchange indicates that a token exchange is being performed.\nWhen clients pass a value of this structure as a parameter, the field must be one of urn:ietf:params:oauth:grant-type:token-exchange. When operations return a value of this structure as a result, the field will be one of urn:ietf:params:oauth:grant-type:token-exchange.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Indicates the location of the target service or resource where the client intends to use the requested security token.\nIf unset, it is inferred from other arguments.",
+ "type": "string"
+ },
+ "audience": {
+ "description": "The logical name of the target service where the client intends to use the requested security token. This serves a purpose similar to the Token.IssueSpec.resource field, but with the client providing a logical name rather than a location.\nIf unset, it is inferred from other arguments.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "A list of space-delimited, case-sensitive strings, that allow the client to specify the desired scope of the requested security token in the context of the service or resource where the token will be used.\nIf unset, it is inferred from other arguments.",
+ "type": "string"
+ },
+ "requested_token_type": {
+ "description": "An identifier for the type of the requested security token. If the requested type is unspecified, the issued token type is at the discretion of the server and may be dictated by knowledge of the requirements of the service or resource indicated by the Token.IssueSpec.resource or Token.IssueSpec.audience field.\nIf unset, it is inferred from other arguments.",
+ "type": "string"
+ },
+ "subject_token": {
+ "description": "A security token that represents the identity of the party on behalf of whom exchange is being made. Typically, the subject of this token will be the subject of the security token issued. Token is base64-encoded. \nThe field is required when the value of the Token.IssueSpec.grant-type field is urn:ietf:params:oauth:grant-type:token-exchange.\n\nThis field is currently required. In the future, the structure may support grant-types other than urn:ietf:params:oauth:grant-type:token-exchange for which the value may be unset.",
+ "type": "string"
+ },
+ "subject_token_type": {
+ "description": "An identifier, that indicates the type of the security token in the Token.IssueSpec.subject-token field. \nThe field is required when the value of the Token.IssueSpec.grant-type field is urn:ietf:params:oauth:grant-type:token-exchange.\n\nThis field is currently required. In the future, the structure may support grant-types other than urn:ietf:params:oauth:grant-type:token-exchange for which the value may be unset.",
+ "type": "string"
+ },
+ "actor_token": {
+ "description": "A security token that represents the identity of the acting party. Typically, this will be the party that is authorized to use the requested security token and act on behalf of the subject.\nunset if not needed for the specific case of exchange.",
+ "type": "string"
+ },
+ "actor_token_type": {
+ "description": "An identifier, that indicates the type of the security token in the Token.IssueSpec.actor-token field.\nunset if Token.IssueSpec.actor-token field is not present.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "grant_type"
+ ]
+ },
+ "VcenterCertificateManagementVcenterSigningCertificateInfo": {
+ "type": "object",
+ "properties": {
+ "active_cert_chain": {
+ "description": "The certificate chain that is actively being use by vCenter token service to sign tokens.",
+ "$ref": "#/components/schemas/VcenterCertificateManagementX509CertChain"
+ },
+ "signing_cert_chains": {
+ "description": "List of signing certificate chains for validating vCenter-issued tokens. The list contains X509 certificate chains, each of which is ordered and contains the leaf, intermediate and root certs needed for the complete chain of trust. The leaf certificate is first in the chain and should be used for verifying vCenter-issued tokens.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterCertificateManagementX509CertChain"
+ }
+ }
+ },
+ "required": [
+ "active_cert_chain",
+ "signing_cert_chains"
+ ]
+ },
+ "VcenterCertificateManagementVcenterSigningCertificateRefresh": {
+ "required": false,
+ "type": "boolean",
+ "description": "Will force refresh in environments that would otherwise prevent refresh from occurring, such as a mixed-version environment. Force refresh may leave systems in the local vCenter domain in a non-functional state until they are restarted.\nIf unset, then refresh will not be forced."
+ },
+ "VcenterCertificateManagementVcenterSigningCertificateSet": {
+ "$ref": "#/components/schemas/VcenterCertificateManagementVcenterSigningCertificateSetSpec",
+ "description": "Signing certificate chain and private key which the vCenter token service will actively use to sign tokens."
+ },
+ "VcenterCertificateManagementVcenterSigningCertificateSetSpec": {
+ "type": "object",
+ "properties": {
+ "signing_cert_chain": {
+ "description": "Signing certificate chain that the vCenter token service will actively use to sign tokens. The chain must include a valid certificate chain with the leaf cert marked for digital signature key usage.",
+ "$ref": "#/components/schemas/VcenterCertificateManagementX509CertChain"
+ },
+ "private_key": {
+ "description": "The corresponding unencrypted PKCS#8 private key in base64-encoded PEM format.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "signing_cert_chain",
+ "private_key"
+ ]
+ },
+ "VcenterCertificateManagementX509CertChain": {
+ "type": "object",
+ "properties": {
+ "cert_chain": {
+ "description": "Certificate chain in base64 format",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "cert_chain"
+ ]
+ },
+ "VcenterComputePoliciesCapabilitiesInfo": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the capability.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the capability.",
+ "type": "string"
+ },
+ "create_spec_type": {
+ "description": "Identifier of the {@term structure} used to create a policy based on this capability. See {@link vcenter.compute.Policies#create}.",
+ "type": "string"
+ },
+ "info_type": {
+ "description": "Identifier of the {@term structure} returned when retrieving information about a policy based on this capability. See {@link vcenter.compute.Policies#get}.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "description",
+ "create_spec_type",
+ "info_type"
+ ]
+ },
+ "VcenterComputePoliciesCapabilitiesSummary": {
+ "type": "object",
+ "properties": {
+ "capability": {
+ "description": "Identifier of the capability.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the capability.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the capability.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "capability",
+ "name",
+ "description"
+ ]
+ },
+ "VcenterComputePoliciesCreate": {
+ "type": "object",
+ "description": "Specification for the new policy to be created. The new policy will be an instance of the capability that has the creation type (see {@link vcenter.compute.policies.Capabilities.Info#createSpecType}) equal to the type of the specified value (see {@param.name spec})."
+ },
+ "VcenterComputePoliciesObjectCompliance": {
+ "type": "string",
+ "description": "The {@name ObjectCompliance} {@term enumerated type} defines the compliance states a policy can be in on a particular object.",
+ "enum": [
+ "UNKNOWN",
+ "NOT_APPLICABLE",
+ "COMPLIANT",
+ "NOT_COMPLIANT"
+ ]
+ },
+ "VcenterComputePoliciesSummary": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "Identifier of the policy.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the policy.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the policy.",
+ "type": "string"
+ },
+ "capability": {
+ "description": "Identifier of the capability this policy is based on.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "policy",
+ "name",
+ "description",
+ "capability"
+ ]
+ },
+ "VcenterComputePoliciesTagUsageFilterSpec": {
+ "type": "object",
+ "properties": {
+ "policies": {
+ "description": "Identifiers that compute policies must have to match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "tags": {
+ "description": "Identifiers that tags must have to match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "tag_types": {
+ "description": "Identifiers that tag types must have to match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterComputePoliciesTagUsageSummary": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "Identifier of the policy that uses the tag indicated by {@link #tag}.",
+ "type": "string"
+ },
+ "tag_type": {
+ "description": "Identifier of the tag type used by the policy indicated by {@link #policy}.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "Identifier of the tag used by the policy indicated by {@link #policy}.",
+ "type": "string"
+ },
+ "tag_name": {
+ "description": "Name of the tag used by the policy indicated by {@link #policy}.",
+ "type": "string"
+ },
+ "category_name": {
+ "description": "Name of the category that has {@link #tag}.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "policy",
+ "tag_type",
+ "tag",
+ "tag_name",
+ "category_name"
+ ]
+ },
+ "VcenterCryptoManagerHostsKmsProvidersFilterSpec": {
+ "type": "object",
+ "properties": {
+ "providers": {
+ "description": "Provider identifiers.\nIf unset or empty, the result will not be filtered by provider identifier.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.crypto_manager.kms.provider. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.crypto_manager.kms.provider.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "health": {
+ "description": "Provider health status.\nIf unset or empty, the result will not be filtered by provider health status.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerHostsKmsProvidersHealth"
+ }
+ },
+ "types": {
+ "description": "Provider types.\nIf unset or empty, the result will not be filtered by provider type.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerHostsKmsProvidersType"
+ }
+ }
+ }
+ },
+ "VcenterCryptoManagerHostsKmsProvidersHealth": {
+ "type": "string",
+ "enum": [
+ "NONE",
+ "OK",
+ "WARNING",
+ "ERROR"
+ ]
+ },
+ "VcenterCryptoManagerHostsKmsProvidersInfo": {
+ "type": "object",
+ "properties": {
+ "health": {
+ "description": "Health status of the provider",
+ "$ref": "#/components/schemas/VcenterCryptoManagerHostsKmsProvidersHealth"
+ },
+ "details": {
+ "description": "Details regarding the health status of the provider.\nWhen the provider Providers.Health is not OK or NONE, this field will provide actionable descriptions of the issues.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "type": {
+ "description": "Provider type",
+ "$ref": "#/components/schemas/VcenterCryptoManagerHostsKmsProvidersType"
+ },
+ "native_info": {
+ "description": "Native provider information\nThis field is optional and it is only relevant when the value of Providers.Info.type is NATIVE.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerHostsKmsProvidersNativeProviderInfo"
+ }
+ },
+ "required": [
+ "health",
+ "details",
+ "type"
+ ]
+ },
+ "VcenterCryptoManagerHostsKmsProvidersNativeProviderInfo": {
+ "type": "object",
+ "properties": {
+ "key_id": {
+ "description": "Key identifier for the provider",
+ "type": "string"
+ }
+ },
+ "required": [
+ "key_id"
+ ]
+ },
+ "VcenterCryptoManagerHostsKmsProvidersSummary": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Identifier of the provider\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.crypto_manager.kms.provider. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.crypto_manager.kms.provider.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type",
+ "$ref": "#/components/schemas/VcenterCryptoManagerHostsKmsProvidersType"
+ },
+ "health": {
+ "description": "Health status of the provider",
+ "$ref": "#/components/schemas/VcenterCryptoManagerHostsKmsProvidersHealth"
+ }
+ },
+ "required": [
+ "provider",
+ "type",
+ "health"
+ ]
+ },
+ "VcenterCryptoManagerHostsKmsProvidersType": {
+ "type": "string",
+ "enum": [
+ "NATIVE",
+ "TRUST_AUTHORITY"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersConstraints": {
+ "type": "object",
+ "properties": {
+ "tpm_required": {
+ "description": "Determines if a provider is restricted to hosts with TPM 2.0 capability.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "tpm_required"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersConstraintsSpec": {
+ "type": "object",
+ "properties": {
+ "tpm_required": {
+ "description": "Determines if a provider is restricted to hosts with TPM 2.0 capability.\nIf unset, the constraint does not apply to the provider.",
+ "type": "boolean"
+ }
+ }
+ },
+ "VcenterCryptoManagerKmsProvidersCreate": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersCreateSpec",
+ "description": "Provider information."
+ },
+ "VcenterCryptoManagerKmsProvidersCreateSpec": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider identifier. \n A unique string provided by the client.\n\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.crypto_manager.kms.provider. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.crypto_manager.kms.provider.",
+ "type": "string"
+ },
+ "constraints": {
+ "description": "The constraints on the provider.\nIf unset there are no constraints on the provider.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersConstraintsSpec"
+ },
+ "native_spec": {
+ "description": "Native provider create spec.\nThis field is required when creating a NATIVE provider.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersNativeProviderCreateSpec"
+ }
+ },
+ "required": [
+ "provider"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersExport": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersExportSpec",
+ "description": "ExportSpec needed to export a provider."
+ },
+ "VcenterCryptoManagerKmsProvidersExportResult": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of provider export result",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersExportType"
+ },
+ "location": {
+ "description": "Location of the exported configuration\nThis field is optional and it is only relevant when the value of Providers.ExportResult.type is LOCATION.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersLocation"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersExportSpec": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider identifier\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.crypto_manager.kms.provider. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.crypto_manager.kms.provider.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password used to encrypt the exported configuration.\nIf unset or empty, the configuration will not be encrypted.",
+ "type": "string",
+ "format": "password"
+ }
+ },
+ "required": [
+ "provider"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersExportType": {
+ "type": "string",
+ "description": "The Providers.ExportType enumerated type identifies the type of result that is returned when a provider is exported.",
+ "enum": [
+ "LOCATION"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersFilterSpec": {
+ "type": "object",
+ "properties": {
+ "providers": {
+ "description": "Provider identifiers.\nIf unset or empty, the result will not be filtered by provider identifier.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.crypto_manager.kms.provider. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.crypto_manager.kms.provider.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "health": {
+ "description": "Provider health status.\nIf unset or empty, the result will not be filtered by provider health status.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersHealth"
+ }
+ }
+ }
+ },
+ "VcenterCryptoManagerKmsProvidersHealth": {
+ "type": "string",
+ "enum": [
+ "NONE",
+ "OK",
+ "WARNING",
+ "ERROR"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersImportProvider": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersImportSpec",
+ "description": "ImportSpec needed to import a provider."
+ },
+ "VcenterCryptoManagerKmsProvidersImportResult": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider identifier\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.crypto_manager.kms.provider. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.crypto_manager.kms.provider.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersType"
+ },
+ "native_info": {
+ "description": "Native provider information\nThis field is optional and it is only relevant when the value of Providers.ImportResult.type is NATIVE.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersNativeProviderInfo"
+ },
+ "export_time": {
+ "description": "Time when the provider was exported",
+ "type": "string",
+ "format": "date-time"
+ },
+ "constraints": {
+ "description": "The constraints on the provider.\nIf unset, there are no constraints on the provider.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersConstraints"
+ }
+ },
+ "required": [
+ "provider",
+ "type",
+ "export_time"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersImportSpec": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "description": "Configuration to import.\nCurrently this is required. Other import methods may be supported in the future.",
+ "type": "string",
+ "format": "binary"
+ },
+ "password": {
+ "description": "Password to decrypt the configuration to import.\nIf unset or empty, configuration to import must be unencrypted.",
+ "type": "string",
+ "format": "password"
+ },
+ "constraints": {
+ "description": "Constraints to impose on the imported provider\nIf unset, the imported provider constraints will match the exported provider constraints.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersConstraintsSpec"
+ },
+ "dry_run": {
+ "description": "Whether to perform a trial import without actuallly creating a provider.\nIf unset, a new provider will be created.",
+ "type": "boolean"
+ }
+ }
+ },
+ "VcenterCryptoManagerKmsProvidersInfo": {
+ "type": "object",
+ "properties": {
+ "health": {
+ "description": "Health status of the provider",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersHealth"
+ },
+ "details": {
+ "description": "Details regarding the health status of the provider. \n When the provider Providers.Health is not NONE or OK, this field will provide actionable descriptions of the issues.\n",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "constraints": {
+ "description": "The constraints on the provider.\nIf unset, there are no constraints on the provider.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersConstraints"
+ },
+ "type": {
+ "description": "Provider type",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersType"
+ },
+ "native_info": {
+ "description": "Native provider information\nThis field is optional and it is only relevant when the value of Providers.Info.type is NATIVE.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersNativeProviderInfo"
+ }
+ },
+ "required": [
+ "health",
+ "details",
+ "type"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersLocation": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Provider configuration download URL",
+ "type": "string",
+ "format": "uri"
+ },
+ "download_token": {
+ "description": "Information about the token required in the HTTP GET request to download the provider configuration.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersToken"
+ }
+ },
+ "required": [
+ "url",
+ "download_token"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersNativeProviderCreateSpec": {
+ "type": "object",
+ "properties": {
+ "key_id": {
+ "description": "Key identifier for the provider. \n The key identifier is required to be a 128-bit UUID represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nIf unset, the key identifier will be generated automatically.",
+ "type": "string"
+ },
+ "key_derivation_key": {
+ "description": "Key used to derive data encryption keys. Base64 encoded.\nIf unset, the key derivation key will be generated automatically.",
+ "type": "string",
+ "format": "password"
+ }
+ }
+ },
+ "VcenterCryptoManagerKmsProvidersNativeProviderInfo": {
+ "type": "object",
+ "properties": {
+ "key_id": {
+ "description": "Key identifier for the provider",
+ "type": "string"
+ }
+ },
+ "required": [
+ "key_id"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersNativeProviderUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "key_id": {
+ "description": "Key identifier for the provider. \n The key identifier is required to be a 128-bit UUID represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nIf unset, the key identifier will remain unchanged.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterCryptoManagerKmsProvidersSummary": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider identifier\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.crypto_manager.kms.provider. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.crypto_manager.kms.provider.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersType"
+ },
+ "health": {
+ "description": "Health status of the provider",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersHealth"
+ }
+ },
+ "required": [
+ "provider",
+ "type",
+ "health"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersToken": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "A one-time, short-lived token required in \"Authorization\" field of the HTTP header of the request to the url. \n After the token expires, any attempt to download the configuration with said token will fail.\n",
+ "type": "string",
+ "format": "password"
+ },
+ "expiry": {
+ "description": "Expiry time of the token",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "token",
+ "expiry"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersType": {
+ "type": "string",
+ "description": "The Providers.Type enumerated type contains the types of providers.",
+ "enum": [
+ "NATIVE"
+ ]
+ },
+ "VcenterCryptoManagerKmsProvidersUpdate": {
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersUpdateSpec",
+ "description": "Provider information."
+ },
+ "VcenterCryptoManagerKmsProvidersUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "native_spec": {
+ "description": "New Configuration for NATIVE provider. \n\n\nIf unset, provider configuration will remain unchanged.",
+ "$ref": "#/components/schemas/VcenterCryptoManagerKmsProvidersNativeProviderUpdateSpec"
+ }
+ }
+ },
+ "VcenterLcmDiscoveryAssociatedProductsCreate": {
+ "$ref": "#/components/schemas/VcenterLcmDiscoveryAssociatedProductsCreateSpec",
+ "description": "Info creation specification."
+ },
+ "VcenterLcmDiscoveryAssociatedProductsCreateSpec": {
+ "type": "object",
+ "properties": {
+ "product_name": {
+ "description": "The name of the product.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Current product version.",
+ "type": "string"
+ },
+ "deployments": {
+ "description": "The list of hostname/IPs of the instances of the VMware products deployed in the environment.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "product_name",
+ "version"
+ ]
+ },
+ "VcenterLcmDiscoveryAssociatedProductsUpdate": {
+ "$ref": "#/components/schemas/VcenterLcmDiscoveryAssociatedProductsUpdateSpec",
+ "description": ""
+ },
+ "VcenterLcmDiscoveryAssociatedProductsUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "deployments": {
+ "description": "The list of hostname/IPs of the instances of the VMware products deployed in the environment.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterLcmDiscoveryInteropReportCreateTask": {
+ "$ref": "#/components/schemas/VcenterLcmDiscoveryInteropReportSpec",
+ "description": "Specifies the target version against this interoperability check report will be generated. If unset the report will be generated for the currently installed version of the vCenter server."
+ },
+ "VcenterLcmDiscoveryInteropReportSpec": {
+ "type": "object",
+ "properties": {
+ "target_version": {
+ "description": "The vCenter Server version. \n It is used for checking against the other products registered with that instance of vCenter Server.\n",
+ "type": "string"
+ }
+ },
+ "required": [
+ "target_version"
+ ]
+ },
+ "VcenterLcmDiscoveryProduct": {
+ "type": "object",
+ "properties": {
+ "installed_product": {
+ "description": "Identifies a product and a version uniquely. \nThe identifier consists of product internal name and version.\n\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: PRODUCT. When operations return a value of this structure as a result, the field will be an identifier for the resource type: PRODUCT.",
+ "type": "string"
+ },
+ "name": {
+ "description": "A public official product name.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Current product version.",
+ "type": "string"
+ },
+ "target_version": {
+ "description": "Future version of the product after upgrade.\nProduct.target-version may not be applicable.",
+ "type": "string"
+ },
+ "deployments": {
+ "description": "The list of hostname/IPs of the instances of the VMware products deployed in the environment. This field would be empty for manually added products.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "auto": {
+ "description": "Indicates if the product is auto-detected by the system or manually added. If it is set to true it means it is auto-detected.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "installed_product",
+ "name",
+ "version",
+ "auto"
+ ]
+ },
+ "VcenterLcmDiscoveryProductCatalogSummary": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "A product name that the customer is aware of.",
+ "type": "string"
+ },
+ "versions": {
+ "description": "List of versions the customer can select from.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "versions"
+ ]
+ },
+ "VcenterLcmNotification": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The notification id.",
+ "type": "string"
+ },
+ "time": {
+ "description": "The time the notification was raised/found.\nOnly if the time information is available.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "message": {
+ "description": "The notification message.",
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ },
+ "resolution": {
+ "description": "The resolution message, if any.\nOnly set for warnings and errors.",
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "required": [
+ "id",
+ "message"
+ ]
+ },
+ "VcenterLcmNotifications": {
+ "type": "object",
+ "properties": {
+ "info": {
+ "description": "Info notification messages reported.\nOnly set if an info was reported by the appliance task.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterLcmNotification"
+ }
+ },
+ "warnings": {
+ "description": "Warning notification messages reported.\nOnly set if an warning was reported by the appliance task.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterLcmNotification"
+ }
+ },
+ "errors": {
+ "description": "Error notification messages reported.\nOnly set if an error was reported by the appliance task.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterLcmNotification"
+ }
+ }
+ }
+ },
+ "VcenterLcmReportsLocation": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "description": "Report Download URI.",
+ "type": "string",
+ "format": "uri"
+ },
+ "download_file_token": {
+ "description": "Information about the token required in the HTTP GET request to retrieve the report",
+ "$ref": "#/components/schemas/VcenterLcmReportsToken"
+ }
+ },
+ "required": [
+ "uri",
+ "download_file_token"
+ ]
+ },
+ "VcenterLcmReportsToken": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "A one-time, short-lived token required in the HTTP header of the request to the url. This token needs to be passed in as a header with the name \"session-id\".",
+ "type": "string"
+ },
+ "expiry": {
+ "description": "Expiry time of the token",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "token",
+ "expiry"
+ ]
+ },
+ "VcenterLcmUpdatePendingCategory": {
+ "type": "string",
+ "description": "The Pending.Category enumerated type defines the type of payload this release has on top of previous release",
+ "enum": [
+ "SECURITY",
+ "FIX",
+ "UPDATE",
+ "UPGRADE"
+ ]
+ },
+ "VcenterLcmUpdatePendingInfo": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description of the vSphere update",
+ "type": "string"
+ },
+ "pending_update": {
+ "description": "Identifier of the given vSphere update\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.lcm.update.pending. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.lcm.update.pending.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the vSphere update or patch",
+ "type": "string"
+ },
+ "release_date": {
+ "description": "Release date of the vSphere update or patch",
+ "type": "string",
+ "format": "date-time"
+ },
+ "severity": {
+ "description": "Severity of the issues fixed in the vSphere update or patch",
+ "$ref": "#/components/schemas/VcenterLcmUpdatePendingSeverityType"
+ },
+ "build": {
+ "description": "Build number of the vCenter Release",
+ "type": "string"
+ },
+ "update_type": {
+ "description": "Type of the Release based on the current vCenter version",
+ "$ref": "#/components/schemas/VcenterLcmUpdatePendingUpdateType"
+ },
+ "category": {
+ "description": "Category of the release based on features bundled on top of previous release",
+ "$ref": "#/components/schemas/VcenterLcmUpdatePendingCategory"
+ },
+ "reboot_required": {
+ "description": "Flag to suggest a reboot after the release is applied",
+ "type": "boolean"
+ },
+ "execute_URL": {
+ "description": "VAMI or ISO URL for update or upgrade execute phase redirection",
+ "type": "string",
+ "format": "uri"
+ },
+ "release_notes": {
+ "description": "List of URI pointing to patch or update release notes",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "required": [
+ "description",
+ "pending_update",
+ "version",
+ "release_date",
+ "severity",
+ "build",
+ "update_type",
+ "category",
+ "reboot_required",
+ "execute_URL",
+ "release_notes"
+ ]
+ },
+ "VcenterLcmUpdatePendingListResult": {
+ "type": "object",
+ "properties": {
+ "last_check_time": {
+ "description": "Time when the software depo was last checked.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "update_count": {
+ "description": "Number of pending updates\nOnly set if there are available updates",
+ "type": "integer",
+ "format": "int64"
+ },
+ "upgrade_count": {
+ "description": "Number of pending upgrades\nOnly set if there are available upgrades",
+ "type": "integer",
+ "format": "int64"
+ },
+ "updates": {
+ "description": "List of pending update details",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterLcmUpdatePendingSummary"
+ }
+ },
+ "issues": {
+ "description": "Lists of issues encountered during pending updates retrieval.\nset if any issues encountered.",
+ "$ref": "#/components/schemas/VcenterLcmNotifications"
+ }
+ },
+ "required": [
+ "last_check_time",
+ "updates"
+ ]
+ },
+ "VcenterLcmUpdatePendingSeverityType": {
+ "type": "string",
+ "description": "Level of severity for applying a given patch or update.",
+ "enum": [
+ "CRITICAL",
+ "IMPORTANT",
+ "MODERATE",
+ "LOW"
+ ]
+ },
+ "VcenterLcmUpdatePendingSummary": {
+ "type": "object",
+ "properties": {
+ "pending_update": {
+ "description": "Identifier of the given vSphere update\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.lcm.update.pending. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.lcm.update.pending.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the vSphere update or patch",
+ "type": "string"
+ },
+ "release_date": {
+ "description": "Release date of the vSphere update or patch",
+ "type": "string",
+ "format": "date-time"
+ },
+ "severity": {
+ "description": "Severity of the issues fixed in the vSphere update or patch",
+ "$ref": "#/components/schemas/VcenterLcmUpdatePendingSeverityType"
+ },
+ "build": {
+ "description": "Build number of the vCenter Release",
+ "type": "string"
+ },
+ "update_type": {
+ "description": "Type of the Release based on the current vCenter version",
+ "$ref": "#/components/schemas/VcenterLcmUpdatePendingUpdateType"
+ },
+ "category": {
+ "description": "Category of the release based on features bundled on top of previous release",
+ "$ref": "#/components/schemas/VcenterLcmUpdatePendingCategory"
+ },
+ "reboot_required": {
+ "description": "Flag to suggest a reboot after the release is applied",
+ "type": "boolean"
+ },
+ "execute_URL": {
+ "description": "VAMI or ISO URL for update or upgrade execute phase redirection",
+ "type": "string",
+ "format": "uri"
+ },
+ "release_notes": {
+ "description": "List of URI pointing to patch or update release notes",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "required": [
+ "pending_update",
+ "version",
+ "release_date",
+ "severity",
+ "build",
+ "update_type",
+ "category",
+ "reboot_required",
+ "execute_URL",
+ "release_notes"
+ ]
+ },
+ "VcenterLcmUpdatePendingUpdateType": {
+ "type": "string",
+ "description": "The Pending.UpdateType enumerated type defines update type",
+ "enum": [
+ "PATCH",
+ "UPDATE",
+ "UPGRADE"
+ ]
+ },
+ "VcenterNamespaceManagementCNSFileConfig": {
+ "type": "object",
+ "properties": {
+ "vsan_clusters": {
+ "description": "\nCNSFileConfig.vsan-clusters is a list of clusters to be used for provisioning file volumes.\n \nAs a prerequisite these clusters must have vSAN and vSAN file services enabled, and must be in the same vCenter as the Supervisor.\n \nCurrently this list must have a single entry which is the cluster identifier of the current cluster. This cluster must be a vSAN cluster and must have vSAN File Service enabled.\n \nIf a cluster in the list is not a vSAN cluster or does not have vSAN File Service enabled, an InvalidArgument error will be thrown from Clusters.enable, Clusters.update and Clusters.set APIs.\n \nAn empty list may be specified to disable file volume support on the Supervisor.\n\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "vsan_clusters"
+ ]
+ },
+ "VcenterNamespaceManagementClusterAvailableVersionsSummary": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Version of the upgrade.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the upgrade.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the upgrade.",
+ "type": "string"
+ },
+ "release_date": {
+ "description": "Release date of the upgrade.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "release_notes": {
+ "description": "Release details of the upgrade.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "name",
+ "description",
+ "release_date",
+ "release_notes"
+ ]
+ },
+ "VcenterNamespaceManagementClusterCompatibilityFilterSpec": {
+ "type": "object",
+ "properties": {
+ "compatible": {
+ "description": "Set this flag to true to only list vSphere clusters that are currently compatible with the Namespaces feature. If set to false, both compatible and incompatible vSphere clusters will be listed.\nIf unset, both compatible and incompatible vSphere clusters will be listed.",
+ "type": "boolean"
+ },
+ "network_provider": {
+ "description": "The network provider whose networks will be considered.\nIf unset, this will default to NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ }
+ }
+ },
+ "VcenterNamespaceManagementClusterCompatibilitySummary": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier of the vSphere cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "compatible": {
+ "description": "Compatibility of this vSphere cluster. If false, the list of incompatibility issues will be given in the ClusterCompatibility.Summary.incompatibility-reasons field.",
+ "type": "boolean"
+ },
+ "incompatibility_reasons": {
+ "description": "Reasons for incompatibility.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ }
+ },
+ "required": [
+ "cluster",
+ "compatible",
+ "incompatibility_reasons"
+ ]
+ },
+ "VcenterNamespaceManagementClusterSizeInfoInfo": {
+ "type": "object",
+ "properties": {
+ "num_supported_pods": {
+ "description": "The maximum number of supported pods.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "num_supported_services": {
+ "description": "The maximum number of supported services.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "default_service_cidr": {
+ "description": "Default CIDR range from which Kubernetes allocates service cluster IP addresses.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ },
+ "default_pod_cidr": {
+ "description": "Default CIDR range from which Kubernetes allocates pod IP addresses.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ },
+ "master_vm_info": {
+ "description": "Information about Kubernetes API server virtual machine configuration.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClusterSizeInfoVmInfo"
+ },
+ "worker_vm_info": {
+ "description": "Information about worker virtual machine configuration.\nIf unset, the configuration of the worker VM is not fixed.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClusterSizeInfoVmInfo"
+ }
+ },
+ "required": [
+ "num_supported_pods",
+ "num_supported_services",
+ "default_service_cidr",
+ "default_pod_cidr",
+ "master_vm_info"
+ ]
+ },
+ "VcenterNamespaceManagementClusterSizeInfoVmInfo": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "description": "Number of CPU cores.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cores_per_socket": {
+ "description": "Number of CPU cores per socket.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory": {
+ "description": "Memory size, in mebibytes.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "capacity": {
+ "description": "Overall capacity of the disks in the virtual machine, in mebibytes.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "count",
+ "cores_per_socket",
+ "memory",
+ "capacity"
+ ]
+ },
+ "VcenterNamespaceManagementClustersConfigStatus": {
+ "type": "string",
+ "description": "The Clusters.ConfigStatus enumerated type describes the status of reaching the desired state configuration for the cluster.",
+ "enum": [
+ "CONFIGURING",
+ "REMOVING",
+ "RUNNING",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespaceManagementClustersEnable": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersEnableSpec",
+ "description": "Specification for setting up the Kubernetes API server and the worker nodes."
+ },
+ "VcenterNamespaceManagementClustersEnableSpec": {
+ "type": "object",
+ "properties": {
+ "size_hint": {
+ "description": "This affects the size and resources allocated to the Kubernetes API server. It also affects the suggested default serviceCidr and podCidrs.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSizingHint"
+ },
+ "service_cidr": {
+ "description": "CIDR block from which Kubernetes allocates service cluster IP addresses. This range should not overlap with those in Clusters.NCPClusterNetworkEnableSpec.pod-cidrs, Clusters.NCPClusterNetworkEnableSpec.ingress-cidrs, Clusters.NCPClusterNetworkEnableSpec.egress-cidrs, or other services running in the datacenter.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ },
+ "network_provider": {
+ "description": "The provider of cluster networking for this vSphere Namespaces cluster.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ },
+ "ncp_cluster_network_spec": {
+ "description": "Specification for the NSX Container Plugin cluster network.\nThis field is optional and it is only relevant when the value of Clusters.EnableSpec.network-provider is NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNCPClusterNetworkEnableSpec"
+ },
+ "workload_networks_spec": {
+ "description": "Specification for the workload networks to be associated with the cluster.\nThis field is optional and it is only relevant when the value of Clusters.EnableSpec.network-provider is VSPHERE_NETWORK.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersWorkloadNetworksEnableSpec"
+ },
+ "workload_ntp_servers": {
+ "description": "List of NTP server DNS names or IP addresses to use for workloads such as Tanzu Kubernetes Grid VMs, specified in order of preference.\nIf unset, NTP server for Kubernetes API servers will be used.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "load_balancer_config_spec": {
+ "description": "The load balancer configuration is derived from the user-provisioned load balancer that will be used to operate a load balancer that fronts vSphere Namespaces cluster servers, Tanzu Kubernetes Grid API servers, and other servers upon request. This configuration is required for network providers that do not have a default load balancer included.\nThis field is optional and it is only relevant when the value of Clusters.EnableSpec.network-provider is VSPHERE_NETWORK.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersConfigSpec"
+ },
+ "master_management_network": {
+ "description": "Specification for the management network on Kubernetes API server. Clusters.NetworkSpec.mode must be STATICRANGE as we require Kubernetes API server to have a stable address.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkSpec"
+ },
+ "master_DNS": {
+ "description": "List of DNS server IP addresses to use on Kubernetes API server, specified in order of preference.\nIf unset, no default DNS servers are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "worker_DNS": {
+ "description": "List of DNS server IP addresses to use on the worker nodes, specified in order of preference.\nIf unset, no default DNS servers are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_DNS_search_domains": {
+ "description": "List of domains (for example \"vmware.com\") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference.\nIf unset, no default DNS search domains are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_NTP_servers": {
+ "description": "List of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference.\nIf unset, VMware Tools based time synchronization is enabled.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_storage_policy": {
+ "description": "Identifier of storage policy associated with Kubernetes API server.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "ephemeral_storage_policy": {
+ "description": "Identifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "cns_file_config": {
+ "description": "Specification for configuring Cloud Native Storage file volume support on Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this cluster and/or external clusters.\nIf unset, file volume support will not be enabled on this Supervisor.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementCNSFileConfig"
+ },
+ "login_banner": {
+ "description": "Disclaimer to be displayed prior to login via the Kubectl plugin.\nIf unset, just skip it.",
+ "type": "string"
+ },
+ "Master_DNS_names": {
+ "description": "List of additional DNS names to associate with the Kubernetes API server. These DNS names are embedded in the TLS certificate presented by the API server.\nIf unset, no additional DNS names are embedded in the TLS certificate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "image_storage": {
+ "description": "Specification for storage to be used for container images.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersImageStorageSpec"
+ },
+ "default_image_registry": {
+ "description": "Default image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name.\nIf unset, defaults to Docker Hub.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersImageRegistry"
+ },
+ "default_image_repository": {
+ "description": "Default image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name.\nIf unset, defaults to Docker Hub official repository in case of Docker Hub image registry, otherwise defaults to empty string.",
+ "type": "string"
+ },
+ "default_kubernetes_service_content_library": {
+ "description": "Identifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. This Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository.\nIf unset, the Content Library will be automatically generated and configured to the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: content.Library. When operations return a value of this structure as a result, the field will be an identifier for the resource type: content.Library.",
+ "type": "string"
+ },
+ "cluster_proxy_config": {
+ "description": "Proxy configuration that will be applied to the Supervisor. The proxy should be reachable from the management network and will be used for image pulling and container traffic exiting out of the Supervisor.\nIf unset the settings will be inherited from the vCenter settings if available.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementProxyConfiguration"
+ }
+ },
+ "required": [
+ "size_hint",
+ "service_cidr",
+ "network_provider",
+ "master_management_network",
+ "master_storage_policy",
+ "ephemeral_storage_policy",
+ "image_storage"
+ ]
+ },
+ "VcenterNamespaceManagementClustersImageRegistry": {
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "IP address or the hostname of container image registry.",
+ "type": "string"
+ },
+ "port": {
+ "description": "Port number of the container image registry.\nIf unset, defaults to 443.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "hostname"
+ ]
+ },
+ "VcenterNamespaceManagementClustersImageStorageSpec": {
+ "type": "object",
+ "properties": {
+ "storage_policy": {
+ "description": "Identifier of the storage policy.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "storage_policy"
+ ]
+ },
+ "VcenterNamespaceManagementClustersInfo": {
+ "type": "object",
+ "properties": {
+ "size_hint": {
+ "description": "Current setting for SizingHint. This affects the size and resources allocated to the Kubernetes API server.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSizingHint"
+ },
+ "stat_summary": {
+ "description": "Basic runtime statistics for the cluster.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersStats"
+ },
+ "config_status": {
+ "description": "Current setting for Clusters.ConfigStatus.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersConfigStatus"
+ },
+ "messages": {
+ "description": "Current set of messages associated with the object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersMessage"
+ }
+ },
+ "kubernetes_status": {
+ "description": "Current setting for Clusters.KubernetesStatus.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersKubernetesStatus"
+ },
+ "kubernetes_status_messages": {
+ "description": "Current set of messages associated with the object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersMessage"
+ }
+ },
+ "api_server_management_endpoint": {
+ "description": "Kubernetes API Server IP address on the management network. This is a floating IP and assigned to one of the control plane VMs on the management network. This endpoint is used by vSphere components.",
+ "type": "string"
+ },
+ "api_server_cluster_endpoint": {
+ "description": "Kubernetes API Server IP address via cluster network. This is the IP address of the Kubernetes LoadBalancer type service fronting the apiservers. This endpoint is the one configured in kubeconfig after login, and used for most human and application interaction with Kubernetes.",
+ "type": "string"
+ },
+ "api_servers": {
+ "description": "Identifier of the Kubernetes API servers. These are the IP addresses of the VM instances for the Kubernetes control plane on the management network.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "tls_management_endpoint_certificate": {
+ "description": "PEM-encoded x509 certificate used by TLS endpoint on Kubernetes API servers when accessed from the management network, e.g. from ESX servers or VCSA.\nset only when Clusters.Info.api-server-management-endpoint is used.",
+ "type": "string"
+ },
+ "tls_endpoint_certificate": {
+ "description": "PEM-encoded x509 certificate used by TLS endpoint on Kubernetes API servers when accessed via the load balancer, e.g. devops user on corporate network.\nset only when Clusters.Info.api-server-management-endpoint is used.",
+ "type": "string"
+ },
+ "network_provider": {
+ "description": "The provider of cluster networking for this vSphere Namespaces cluster.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ },
+ "ncp_cluster_network_info": {
+ "description": "Specification for the NSX Container Plugin cluster network.\nThis field is optional and it is only relevant when the value of Clusters.Info.network-provider is NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNCPClusterNetworkInfo"
+ },
+ "workload_networks": {
+ "description": "Information about workload networks associated with the cluster.\nThis field is optional and it is only relevant when the value of Clusters.Info.network-provider is VSPHERE_NETWORK.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersWorkloadNetworksInfo"
+ },
+ "workload_ntp_servers": {
+ "description": "Information about NTP server DNS names or IP addresses to use for workloads such as Tanzu Kubernetes Grid VMs, specified in order of preference.\nunset when NTP server for Kubernetes API servers is used.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "load_balancers": {
+ "description": "Information related to the Load balancer used for provisioning virtual servers in the namespace.\nThis field is optional and it is only relevant when the value of Clusters.Info.network-provider is VSPHERE_NETWORK.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersInfo"
+ }
+ },
+ "service_cidr": {
+ "description": "CIDR block from which Kubernetes allocates service cluster IP addresses.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ },
+ "master_management_network": {
+ "description": "Specification for the management network on Kubernetes API server.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkSpec"
+ },
+ "master_DNS": {
+ "description": "List of DNS server IP addresses to use on Kubernetes API server, specified in order of preference.\nIf unset, no default DNS servers are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "worker_DNS": {
+ "description": "List of DNS server IP addresses to use for pods that execute on the worker nodes (which are native pods on ESXi hosts in the vSphere Namespaces Supervisor).\nIf unset, no default DNS servers are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_storage_policy": {
+ "description": "Identifier of storage policy associated with Kubernetes API server.\nThis field is optional because it was added in a newer version than its parent node.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "ephemeral_storage_policy": {
+ "description": "Identifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster.\nThis field is optional because it was added in a newer version than its parent node.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "cns_file_config": {
+ "description": "Specification for configuring Cloud Native Storage file volume support on Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this cluster and/or external clusters.\nIf unset, it means the file volume support is not enabled on this Supervisor.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementCNSFileConfig"
+ },
+ "login_banner": {
+ "description": "Disclaimer to be displayed prior to login via the Kubectl plugin.\nIf unset, just skip it.",
+ "type": "string"
+ },
+ "Master_DNS_names": {
+ "description": "List of additional DNS names to associate with the Kubernetes API server. These DNS names are embedded in the TLS certificate presented by the API server.\nIf unset, no additional DNS names are embedded in the TLS certificate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "image_storage": {
+ "description": "Specification for storage to be used for container images.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersImageStorageSpec"
+ },
+ "default_image_registry": {
+ "description": "Default image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name.\nIf unset, defaults to Docker Hub.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersImageRegistry"
+ },
+ "default_image_repository": {
+ "description": "Default image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name.\nIf unset, defaults to Docker Hub official repository in case of Docker Hub image registry, otherwise defaults to empty string.",
+ "type": "string"
+ },
+ "master_DNS_search_domains": {
+ "description": "List of domains (for example \"vmware.com\") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference.\nIf unset, no default DNS search domains are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_NTP_servers": {
+ "description": "List of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference.\nIf unset, VMware Tools based time synchronization is enabled.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "default_kubernetes_service_content_library": {
+ "description": "Identifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. This Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository.\nIf unset, a default subscribed Content Library will be created. It will sync VMware-supplied images for Tanzu Kubernetes Grid over the internet.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: content.Library. When operations return a value of this structure as a result, the field will be an identifier for the resource type: content.Library.",
+ "type": "string"
+ },
+ "cluster_proxy_config": {
+ "description": "Proxy configuration that is applied to the Supervisor. The proxy should be reachable from the management network and is used for image pulling and container traffic exiting out of the Supervisor. \n Note that the proxy password will be removed from the URLs as per Section 3.2.1 of RFC3986 security recommendation.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementProxyConfiguration"
+ }
+ },
+ "required": [
+ "stat_summary",
+ "config_status",
+ "messages",
+ "kubernetes_status",
+ "kubernetes_status_messages",
+ "api_server_management_endpoint",
+ "api_server_cluster_endpoint",
+ "api_servers",
+ "network_provider",
+ "service_cidr"
+ ]
+ },
+ "VcenterNamespaceManagementClustersIpv4Range": {
+ "type": "object",
+ "properties": {
+ "starting_address": {
+ "description": "The IPv4 address denoting the start of the range.",
+ "type": "string"
+ },
+ "address_count": {
+ "description": "The number of IP addresses in the range. Addresses are derived by incrementing Clusters.Ipv4Range.starting-address.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "subnet_mask": {
+ "description": "Subnet mask to be set.",
+ "type": "string"
+ },
+ "gateway": {
+ "description": "The IPv4 address of the gateway associated with the range indicated by Clusters.Ipv4Range.starting-address and Clusters.Ipv4Range.address-count.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "starting_address",
+ "address_count",
+ "subnet_mask",
+ "gateway"
+ ]
+ },
+ "VcenterNamespaceManagementClustersKubernetesStatus": {
+ "type": "string",
+ "description": "The Clusters.KubernetesStatus enumerated type describes the cluster's ability to deploy pods.",
+ "enum": [
+ "READY",
+ "WARNING",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespaceManagementClustersMessage": {
+ "type": "object",
+ "properties": {
+ "severity": {
+ "description": "Type of the message.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersMessageSeverity"
+ },
+ "details": {
+ "description": "Details about the message.\nIf unset, message details are not required for taking actions.",
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "required": [
+ "severity"
+ ]
+ },
+ "VcenterNamespaceManagementClustersMessageSeverity": {
+ "type": "string",
+ "description": "The Clusters.Message.Severity enumerated type represents the severity of the message.",
+ "enum": [
+ "INFO",
+ "WARNING",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespaceManagementClustersNCPClusterNetworkEnableSpec": {
+ "type": "object",
+ "properties": {
+ "pod_cidrs": {
+ "description": "CIDR blocks from which Kubernetes allocates pod IP addresses. This range should not overlap with those in Clusters.EnableSpec.service-cidr, Clusters.NCPClusterNetworkEnableSpec.ingress-cidrs, Clusters.NCPClusterNetworkEnableSpec.egress-cidrs, or other services running in the datacenter. All Pod CIDR blocks must be of at least subnet size /23.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "ingress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in Clusters.NCPClusterNetworkEnableSpec.pod-cidrs, Clusters.EnableSpec.service-cidr, Clusters.NCPClusterNetworkEnableSpec.egress-cidrs, or other services running in the datacenter.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "egress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in Clusters.NCPClusterNetworkEnableSpec.pod-cidrs, Clusters.EnableSpec.service-cidr, Clusters.NCPClusterNetworkEnableSpec.ingress-cidrs, or other services running in the datacenter.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "cluster_distributed_switch": {
+ "description": "vSphere Distributed Switch used to connect this cluster.\nThis field is required when configuring a cluster that uses NSX-T. If unset and using NSXe, the system will choose a suitable vSphere Distributed Switch.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vSphereDistributedSwitch. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vSphereDistributedSwitch.",
+ "type": "string"
+ },
+ "nsx_edge_cluster": {
+ "description": "NSX Edge Cluster to be used for Kubernetes Services of type LoadBalancer, Kubernetes Ingresses, and NSX SNAT.\nThis field is required when configuring a cluster that uses NSX-T. If unset and using NSXe, the system will choose a suitable NSX Edge Cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXEdgeCluster. When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXEdgeCluster.",
+ "type": "string"
+ },
+ "nsx_tier0_gateway": {
+ "description": "NSX Tier0 Gateway used for this cluster.\nThis field is required when configuring a cluster that uses NSX-T.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXTier0Gateway. When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXTier0Gateway.",
+ "type": "string"
+ },
+ "namespace_subnet_prefix": {
+ "description": "Size of the subnet reserved for namespaces segments.\nIf unset, defaults to 28.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "routed_mode": {
+ "description": "Routed mode for this cluster. When set to True, the traffic in the cluster is not NATed. When this field is set to True, Clusters.NCPClusterNetworkEnableSpec.egress-cidrs is not allowed.\nIf unset, defaults to False.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "pod_cidrs",
+ "ingress_cidrs",
+ "egress_cidrs"
+ ]
+ },
+ "VcenterNamespaceManagementClustersNCPClusterNetworkInfo": {
+ "type": "object",
+ "properties": {
+ "pod_cidrs": {
+ "description": "CIDR blocks from which Kubernetes allocates pod IP addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "ingress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "egress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "cluster_distributed_switch": {
+ "description": "vSphere Distributed Switch used to connect this cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vSphereDistributedSwitch. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vSphereDistributedSwitch.",
+ "type": "string"
+ },
+ "nsx_edge_cluster": {
+ "description": "NSX Edge Cluster to be used for Kubernetes Services of type LoadBalancer, Kubernetes Ingresses, and NSX SNAT.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXEdgeCluster. When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXEdgeCluster.",
+ "type": "string"
+ },
+ "default_ingress_tls_certificate": {
+ "description": "PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services.",
+ "type": "string"
+ },
+ "nsx_tier0_gateway": {
+ "description": "NSX Tier0 Gateway used for this cluster.\nThis is set when the cluster uses NSX-T.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXTier0Gateway. When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXTier0Gateway.",
+ "type": "string"
+ },
+ "namespace_subnet_prefix": {
+ "description": "Size of the subnet reserved for namespaces segments.\nIf unset, defaults to 28.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "routed_mode": {
+ "description": "Routed mode for this cluster.\nIf unset, defaults to False.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "pod_cidrs",
+ "ingress_cidrs",
+ "egress_cidrs",
+ "cluster_distributed_switch",
+ "nsx_edge_cluster",
+ "default_ingress_tls_certificate"
+ ]
+ },
+ "VcenterNamespaceManagementClustersNCPClusterNetworkSetSpec": {
+ "type": "object",
+ "properties": {
+ "pod_cidrs": {
+ "description": "CIDR blocks from which Kubernetes allocates pod IP addresses. This range should not overlap with those in Clusters.EnableSpec.service-cidr, Clusters.NCPClusterNetworkSetSpec.ingress-cidrs, Clusters.NCPClusterNetworkSetSpec.egress-cidrs, or other services running in the datacenter. A set operation only allows for addition of new CIDR blocks to the existing list. All Pod CIDR blocks must be of at least subnet size /23.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "ingress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in Clusters.NCPClusterNetworkSetSpec.pod-cidrs, Clusters.EnableSpec.service-cidr, Clusters.NCPClusterNetworkSetSpec.egress-cidrs, or other services running in the datacenter. A set operation only allows for addition of new CIDR blocks to the existing list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "egress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in Clusters.NCPClusterNetworkSetSpec.pod-cidrs, Clusters.EnableSpec.service-cidr, Clusters.NCPClusterNetworkSetSpec.ingress-cidrs, or other services running in the datacenter. A set operation only allows for addition of new CIDR blocks to the existing list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "default_ingress_tls_certificate": {
+ "description": "PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pod_cidrs",
+ "ingress_cidrs",
+ "egress_cidrs",
+ "default_ingress_tls_certificate"
+ ]
+ },
+ "VcenterNamespaceManagementClustersNCPClusterNetworkUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "pod_cidrs": {
+ "description": "CIDR blocks from which Kubernetes allocates pod IP addresses. This range should not overlap with those in Clusters.EnableSpec.service-cidr, Clusters.NCPClusterNetworkUpdateSpec.ingress-cidrs, Clusters.NCPClusterNetworkUpdateSpec.egress-cidrs, or other services running in the datacenter. An update operation only allows for addition of new CIDR blocks to the existing list. All Pod CIDR blocks must be of at least subnet size /23.\nIf unset, CIDRs from which Kubernetes allocates pod IP addresses will not be modified.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "ingress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in Clusters.NCPClusterNetworkUpdateSpec.pod-cidrs, Clusters.EnableSpec.service-cidr, Clusters.NCPClusterNetworkUpdateSpec.egress-cidrs, or other services running in the datacenter. An update operation only allows for addition of new CIDR blocks to the existing list.\nIf unset, CIDRs from which Kubernetes allocates ingress IP addresses will not be modified.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "egress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in Clusters.NCPClusterNetworkUpdateSpec.pod-cidrs, Clusters.EnableSpec.service-cidr, Clusters.NCPClusterNetworkUpdateSpec.ingress-cidrs, or other services running in the datacenter. An update operation only allows for addition of new CIDR blocks to the existing list.\nIf unset, CIDR from which Kubernetes allocates egress IP addresses will not be modified.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "default_ingress_tls_certificate": {
+ "description": "PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services.\nIf unset, the Kubernetes Ingress services certificate will not be modified.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterNamespaceManagementClustersNetworkProvider": {
+ "type": "string",
+ "description": "Identifies the network plugin that cluster networking functionalities for this vSphere Namespaces Cluster.",
+ "enum": [
+ "NSXT_CONTAINER_PLUGIN",
+ "VSPHERE_NETWORK"
+ ]
+ },
+ "VcenterNamespaceManagementClustersNetworkSpec": {
+ "type": "object",
+ "properties": {
+ "floating_IP": {
+ "description": "Optionally specify the Floating IP used by the cluster control plane in case of DHCP.\nIf unset, the existing effective management network floating IP will be used.",
+ "type": "string"
+ },
+ "network": {
+ "description": "Identifier for the network.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network.",
+ "type": "string"
+ },
+ "mode": {
+ "description": "The address assignment mode.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkSpecIpv4Mode"
+ },
+ "address_range": {
+ "description": "Settings for the interfaces on the network.\nThis field is optional and it is only relevant when the value of Clusters.NetworkSpec.mode is STATICRANGE.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersIpv4Range"
+ }
+ },
+ "required": [
+ "network",
+ "mode"
+ ]
+ },
+ "VcenterNamespaceManagementClustersNetworkSpecIpv4Mode": {
+ "type": "string",
+ "description": "The Clusters.NetworkSpec.Ipv4Mode enumerated type defines various IPv4 address assignment modes.",
+ "enum": [
+ "DHCP",
+ "STATICRANGE"
+ ]
+ },
+ "VcenterNamespaceManagementClustersSet": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersSetSpec",
+ "description": "New specification for the Supervisor cluster."
+ },
+ "VcenterNamespaceManagementClustersSetSpec": {
+ "type": "object",
+ "properties": {
+ "size_hint": {
+ "description": "This affects the size and resources allocated to the Kubernetes API server.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSizingHint"
+ },
+ "floating_IP": {
+ "description": "Optionally, you can edit the floating IP address that is assigned to the Supervisor in case the DHCP server fails during the Supervisor enablement process. The field is only relevant when the DHCP mode of the Supervisor management network is set with Clusters.EnableSpec.master-management-network. Set this floating IP parameter to remediate a supervisor enablement failure in the case where it was detected that the DHCP server does not support DHCP client identifiers.\nIf unset, the existing effective management network floating IP will not be modified.",
+ "type": "string"
+ },
+ "network_provider": {
+ "description": "The provider of cluster networking for this vSphere Namespaces cluster.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ },
+ "ncp_cluster_network_spec": {
+ "description": "Specification for the NSX Container Plugin cluster network.\nThis field is optional and it is only relevant when the value of Clusters.SetSpec.network-provider is NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNCPClusterNetworkSetSpec"
+ },
+ "master_DNS": {
+ "description": "List of DNS server IP addresses to use on Kubernetes API server, specified in order of preference.\nIf unset, DNS servers set on Kubernetes API server will be cleared.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "worker_DNS": {
+ "description": "List of DNS server IP addresses to use on the worker nodes, specified in order of preference.\nIf unset, DNS servers set on worker nodes will be cleared.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_DNS_search_domains": {
+ "description": "List of domains (for example \"vmware.com\") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference.\nIf unset, DNS search domains set on Kubernetes API server will be cleared.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_NTP_servers": {
+ "description": "List of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference.\nIf unset, VMware Tools based time synchronization is enabled and any set NTP servers are cleared.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_storage_policy": {
+ "description": "Identifier of storage policy associated with Kubernetes API server.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "ephemeral_storage_policy": {
+ "description": "Identifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "cns_file_config": {
+ "description": "Specification for configuring Cloud Native Storage file volume support on Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this cluster and/or external clusters.\nIf unset, file volume support will not be enabled on this Supervisor.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementCNSFileConfig"
+ },
+ "login_banner": {
+ "description": "Disclaimer to be displayed prior to login via the Kubectl plugin.\nIf unset, disclaimer to be displayed prior to login via the Kubectl plugin will be cleared.",
+ "type": "string"
+ },
+ "image_storage": {
+ "description": "Specification for storage to be used for container images.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersImageStorageSpec"
+ },
+ "default_image_registry": {
+ "description": "Default image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name.\nIf unset, default image registry will be set to Docker Hub.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersImageRegistry"
+ },
+ "default_image_repository": {
+ "description": "Default image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name.\nIf unset, default image repository will be set to Docker Hub official repository in case of Docker Hub image registry, otherwise will be set to empty string.",
+ "type": "string"
+ },
+ "default_kubernetes_service_content_library": {
+ "description": "Identifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. This Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository. Modifying or clearing the Content Library identifier will not affect existing vSphere Kubernetes Service clusters. However, upgrades or scale-out of existing clusters may be affected if the new Content Library doesn't have the necessary VM Images.\nIf unset, the Content Library identifier will be cleared.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: content.Library. When operations return a value of this structure as a result, the field will be an identifier for the resource type: content.Library.",
+ "type": "string"
+ },
+ "workload_ntp_servers": {
+ "description": "List of NTP server DNS names or IP addresses to use for workloads such as Tanzu Kubernetes Grid VMs, specified in order of preference.\nIf unset, NTP for Kubernetes API servers will be used.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cluster_proxy_config": {
+ "description": "Proxy configuration that will be applied to the Supervisor. The proxy should be reachable from the management network and will be used for image pulling and container traffic exiting out of the Supervisor. Modifying these settings will result in a restart of the container runtime. Workloads might fail to pull their images for a short period of time. There will be no effect on the currently running containers.\nIf unset the settings will be inherited from the vCenter settings if available.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementProxyConfiguration"
+ }
+ },
+ "required": [
+ "size_hint",
+ "network_provider",
+ "master_storage_policy",
+ "ephemeral_storage_policy",
+ "image_storage"
+ ]
+ },
+ "VcenterNamespaceManagementClustersStats": {
+ "type": "object",
+ "properties": {
+ "cpu_used": {
+ "description": "Overall CPU usage of the cluster, in MHz. This is the sum of CPU usage across all worker nodes in the cluster.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cpu_capacity": {
+ "description": "Total CPU capacity in the cluster available for vSphere Namespaces, in MHz. This is the sum of CPU capacities from all worker nodes in the cluster.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_used": {
+ "description": "Overall memory usage of the cluster, in mebibytes. This is the sum of memory usage across all worker nodes in the cluster.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_capacity": {
+ "description": "Total memory capacity of the cluster available for vSphere Namespaces, in mebibytes. This is the sum of memory capacities from all worker nodesin the cluster.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "storage_used": {
+ "description": "Overall storage used by the cluster, in mebibytes. This is the sum of storage used across all worker nodes in the cluster.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "storage_capacity": {
+ "description": "Overall storage capacity of the cluster available for vSphere Namespaces, in mebibytes. This is the sum of total storage available from all worker nodes in the cluster.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "cpu_used",
+ "cpu_capacity",
+ "memory_used",
+ "memory_capacity",
+ "storage_used",
+ "storage_capacity"
+ ]
+ },
+ "VcenterNamespaceManagementClustersSummary": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier for the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "cluster_name": {
+ "description": "Name of the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource.name. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.name.",
+ "type": "string"
+ },
+ "stats": {
+ "description": "Basic runtime statistics for the cluster.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersStats"
+ },
+ "config_status": {
+ "description": "Current setting for Clusters.ConfigStatus.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersConfigStatus"
+ },
+ "kubernetes_status": {
+ "description": "Current setting for Clusters.KubernetesStatus.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersKubernetesStatus"
+ }
+ },
+ "required": [
+ "cluster",
+ "cluster_name",
+ "stats",
+ "config_status",
+ "kubernetes_status"
+ ]
+ },
+ "VcenterNamespaceManagementClustersUpdate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersUpdateSpec",
+ "description": "New specification for the Supervisor cluster."
+ },
+ "VcenterNamespaceManagementClustersUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "size_hint": {
+ "description": "This affects the size and resources allocated to the Kubernetes API server.\nIf unset, size and resources allocated to Kubernetes API server will not be modified.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSizingHint"
+ },
+ "floating_IP": {
+ "description": "Optionally, you can edit the floating IP address that is assigned to the Supervisor in case the DHCP server fails during the Supervisor enablement process. The field is only relevant when the DHCP mode of the Supervisor management network is set with Clusters.EnableSpec.master-management-network. Set this floating IP parameter to remediate a supervisor enablement failure in the case where it was detected that the DHCP server does not support DHCP client identifiers.\nIf unset, the existing effective management network floating IP will not be modified.",
+ "type": "string"
+ },
+ "network_provider": {
+ "description": "The provider of cluster networking for this vSphere Namespaces cluster.\nIf unset, the existing effective cluster network specification will not be modified.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ },
+ "ncp_cluster_network_spec": {
+ "description": "Updated specification for the cluster network configuration.\nIf unset, the existing effective cluster network specification will not be modified.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNCPClusterNetworkUpdateSpec"
+ },
+ "master_DNS": {
+ "description": "List of DNS server IP addresses to use on Kubernetes API server, specified in order of preference.\nIf set, DNS servers set on Kubernetes API server will be replaced. Otherwise, they will not be modified.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "worker_DNS": {
+ "description": "List of DNS server IP addresses to use on the worker nodes, specified in order of preference.\nIf set, DNS servers set on worker nodes will be replaced. Otherwise, they will not be modified.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_DNS_search_domains": {
+ "description": "List of domains (for example \"vmware.com\") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference.\nIf set, DNS search domains on Kubernetes API server will be replaced. Otherwise, they will not be modified.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_NTP_servers": {
+ "description": "List of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference.\nIf set, NTP servers on Kubernetes API server will be replaced. Otherwise, they will not be modified.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "master_storage_policy": {
+ "description": "Identifier of storage policy associated with Kubernetes API server.\nIf unset, storage policy associated with Kubernetes API server will not be modified.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "ephemeral_storage_policy": {
+ "description": "Identifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster.\nIf unset, storage policy associated with ephemeral disks of all the Kubernetes Pods will not be modified.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "cns_file_config": {
+ "description": "Specification for configuring Cloud Native Storage file volume support on Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this cluster and/or external clusters.\nIf unset, configuration for file volumes will remain unchanged.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementCNSFileConfig"
+ },
+ "login_banner": {
+ "description": "Disclaimer to be displayed prior to login via the Kubectl plugin.\nIf unset, disclaimer to be displayed prior to login via the Kubectl plugin will not be modified.",
+ "type": "string"
+ },
+ "image_storage": {
+ "description": "Specification for storage to be used for container images.\nIf unset, configuration of storage used for container images is not modified.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersImageStorageSpec"
+ },
+ "default_image_registry": {
+ "description": "Default image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name.\nIf unset, default image registry will not be modified.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersImageRegistry"
+ },
+ "default_image_repository": {
+ "description": "Default image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name.\nIf unset, default image repository will not be modified.",
+ "type": "string"
+ },
+ "tls_endpoint_certificate": {
+ "description": "Certificate issued for Kubernetes API Server. Certificate used must be created by signing the Certificate Signing Request obtained from the Namespace Certificate Management API. Because a Kubernetes CertificateSigningRequest is created on an existing Namespaces-enabled cluster, you must use the Clusters.UpdateSpec to specify this Clusters.UpdateSpec.tls-endpoint-certificate on an existing cluster rather than during initially enabling Namespaces on a cluster.\nIf unset, Kubernetes API Server certificate will not be modified.",
+ "type": "string"
+ },
+ "default_kubernetes_service_content_library": {
+ "description": "Identifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. This Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository. Modifying or clearing the Content Library identifier will not affect existing vSphere Kubernetes Service clusters. However, upgrades or scale-out of existing clusters may be affected if the new Content Library doesn't have the necessary VM Images.\nIf unset, the Content Library will will not be modified.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: content.Library. When operations return a value of this structure as a result, the field will be an identifier for the resource type: content.Library.",
+ "type": "string"
+ },
+ "workload_ntp_servers": {
+ "description": "List of NTP server DNS names or IP addresses to use for workloads such as Tanzu Kubernetes Grid VMs, specified in order of preference.\nIf unset, NTP servers for workloads will be unmodified.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cluster_proxy_config": {
+ "description": "Proxy configuration that will be applied to the Supervisor. The proxy should be reachable from the management network and will be used for image pulling and container traffic exiting out of the Supervisor. Modifying these settings will result in a restart of the container runtime. Workloads might fail to pull their images for a short period of time. There will be no effect on the currently running containers.\nIf unset no change will be made to the cluster.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementProxyConfiguration"
+ }
+ }
+ },
+ "VcenterNamespaceManagementClustersWorkloadNetworksEnableSpec": {
+ "type": "object",
+ "properties": {
+ "supervisor_primary_workload_network": {
+ "description": "The Networks#CreateSpec of the vSphere Namespaces network that will be used by Kubernetes control plane VMs to expose Kubernetes API server to devops users and other workloads. It can also used as backing network for Tanzu Kubernetes Cluster VMs.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksCreateSpec"
+ },
+ "network_list": {
+ "description": "Networks#CreateSpec structurees for additional list of vSphere Namespaces networks to be associated with this cluster.\nIf unset no additional networks will be associated with the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksCreateSpec"
+ }
+ }
+ },
+ "required": [
+ "supervisor_primary_workload_network"
+ ]
+ },
+ "VcenterNamespaceManagementClustersWorkloadNetworksInfo": {
+ "type": "object",
+ "properties": {
+ "supervisor_primary_workload_network": {
+ "description": "vSphere Namespaces network used by Kubernetes control plane VMs to access load-balanced services on the various workload networks.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksInfo"
+ },
+ "network_list": {
+ "description": "List of vSphere Namespaces networks associated with this cluster.\nIf unset no additional networks are associated with the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksInfo"
+ }
+ }
+ },
+ "required": [
+ "supervisor_primary_workload_network"
+ ]
+ },
+ "VcenterNamespaceManagementDistributedSwitchCompatibilityFilterSpec": {
+ "type": "object",
+ "properties": {
+ "compatible": {
+ "description": "Compatibility criteria for matching the filter. If true, only Distributed Switches which are compatible with vSphere Namespaces match the filter. If false, only Distributed Switches which are incompatible with vSphere Namespaces match the filter.\nIf unset, both compatible and incompatible Distributed Switches match the filter.",
+ "type": "boolean"
+ },
+ "network_provider": {
+ "description": "The network provider whose networks will be considered. If unset, this will default to NSXT_CONTAINER_PLUGIN.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ }
+ }
+ },
+ "VcenterNamespaceManagementDistributedSwitchCompatibilitySummary": {
+ "type": "object",
+ "properties": {
+ "distributed_switch": {
+ "description": "Identifier of the switch. If DistributedSwitchCompatibility.Summary.network-provider is either unset or is set to NSXT_CONTAINER_PLUGIN, the value of this field will refer to the UUID of a vim.DistributedVirtualSwitch. Otherwise, the value of the field will refer to the ID of a vim.DistributedVirtualSwitch.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vSphereDistributedSwitch. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vSphereDistributedSwitch.",
+ "type": "string"
+ },
+ "compatible": {
+ "description": "Compatibility of this switch with vSphere Namespaces.",
+ "type": "boolean"
+ },
+ "incompatibility_reasons": {
+ "description": "List of reasons for incompatibility.\nIf unset, this Distributed Switch is compatible.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "network_provider": {
+ "description": "The network provider whose networks were considered.\nIf unset, clients clients should assume the value to be NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ },
+ "compatible_networks": {
+ "description": "List of compatible (PortGroup) Networks under the distributed switch.\nThis field is optional because it was added in a newer version than its parent node.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Network. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Network.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "distributed_switch",
+ "compatible"
+ ]
+ },
+ "VcenterNamespaceManagementEdgeClusterCompatibilityFilterSpec": {
+ "type": "object",
+ "properties": {
+ "compatible": {
+ "description": "Compatibility criteria for matching the filter. If true, only Edge Clusters which are compatible with vSphere Namespaces match the filter. If false, only Edge Clusters which are incompatible with vSphere Namespaces match the filter.\nIf unset, both compatible and incompatible Edge Clusters match the filter.",
+ "type": "boolean"
+ }
+ }
+ },
+ "VcenterNamespaceManagementEdgeClusterCompatibilitySummary": {
+ "type": "object",
+ "properties": {
+ "edge_cluster": {
+ "description": "Identifier of the Edge Cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXEdgeCluster. When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXEdgeCluster.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the Edge Cluster.",
+ "type": "string"
+ },
+ "compatible": {
+ "description": "Compatibility of this Edge Cluster with Namespaces feature.",
+ "type": "boolean"
+ },
+ "incompatibility_reasons": {
+ "description": "List of reasons for incompatibility.\nIf unset, this Edge Cluster is compatible.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ }
+ },
+ "required": [
+ "edge_cluster",
+ "display_name",
+ "compatible"
+ ]
+ },
+ "VcenterNamespaceManagementHostsConfigInfo": {
+ "type": "object",
+ "properties": {
+ "namespaces_supported": {
+ "description": "True if vSphere Namespace feature is supported in this VC.",
+ "type": "boolean"
+ },
+ "namespaces_licensed": {
+ "description": "True if vSphere Namespace feature is licensed on any hosts in this VC.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "namespaces_supported",
+ "namespaces_licensed"
+ ]
+ },
+ "VcenterNamespaceManagementIPRange": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The starting address of the range.",
+ "type": "string"
+ },
+ "count": {
+ "description": "The number of IP addresses in the range.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "address",
+ "count"
+ ]
+ },
+ "VcenterNamespaceManagementIpv4Cidr": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The IPv4 address.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The CIDR prefix.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "address",
+ "prefix"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersAviConfigCreateSpec": {
+ "type": "object",
+ "properties": {
+ "server": {
+ "description": "Server is the address for the Avi Controller, used to configure Virtual Servers.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersServer"
+ },
+ "username": {
+ "description": "An administrator user name for accessing the Avi Controller.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password for the administrator user.",
+ "type": "string",
+ "format": "password"
+ },
+ "certificate_authority_chain": {
+ "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "server",
+ "username",
+ "password",
+ "certificate_authority_chain"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersAviConfigSetSpec": {
+ "type": "object",
+ "properties": {
+ "server": {
+ "description": "Server is the address for the Avi Controller, used to configure Virtual Servers. Note: This field cannot be updated and should match existing value.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersServer"
+ },
+ "username": {
+ "description": "An administrator user name for accessing the Avi Controller.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password for the administrator user.",
+ "type": "string",
+ "format": "password"
+ },
+ "certificate_authority_chain": {
+ "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "server",
+ "username",
+ "password",
+ "certificate_authority_chain"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersAviConfigUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "An administrator user name for accessing the Avi Controller.\nIf unset, the existing username will not be modified.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password for the administrator user.\nIf unset, the existing password will not be modified.",
+ "type": "string",
+ "format": "password"
+ },
+ "certificate_authority_chain": {
+ "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\nIf unset, the existing PEM-encoded CA chain will not be modified.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterNamespaceManagementLoadBalancersAviInfo": {
+ "type": "object",
+ "properties": {
+ "server": {
+ "description": "Server is the address for the Avi Controller, used to configure Virtual Servers.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersServer"
+ },
+ "username": {
+ "description": "An administrator user name for accessing the Avi Controller.",
+ "type": "string"
+ },
+ "certificate_authority_chain": {
+ "description": "PEM-encoded CA certificate chain which is used to verify x509 certificates received from the server.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "server",
+ "username",
+ "certificate_authority_chain"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersConfigSpec": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "An identifier that identifies a load balancer and can be used to query or configure load balancer properties via these resources. The identifier has DNS_LABEL restrictions as specified in . This must be an alphanumeric (a-z and 0-9) string, with a maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name is unique across all Namespaces in this vCenter server.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.LoadBalancerConfig. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.LoadBalancerConfig.",
+ "type": "string"
+ },
+ "address_ranges": {
+ "description": "List of address ranges that will be used to derive frontend IP addresses for L4 virtual servers. At least one range must be provided.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIPRange"
+ }
+ },
+ "provider": {
+ "description": "The LoadBalancers.ConfigSpec.provider selects a provider from the list of available providers to be used with vSphere Namespaces.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersProvider"
+ },
+ "ha_proxy_config_create_spec": {
+ "description": "The LoadBalancers.HAProxyConfigCreateSpec is a conditional configuration made available upon selecting the HA_PROXY load balancer provider. It is used to configure the load balancer at run time.\nThis field is optional and it is only relevant when the value of LoadBalancers.ConfigSpec.provider is HA_PROXY.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersHAProxyConfigCreateSpec"
+ },
+ "avi_config_create_spec": {
+ "description": "The LoadBalancers.AviConfigCreateSpec is a conditional configuration made available upon selecting the AVI load balancer provider. It is used to configure the load balancer at run time.\nThis field is optional and it is only relevant when the value of LoadBalancers.ConfigSpec.provider is AVI.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersAviConfigCreateSpec"
+ }
+ },
+ "required": [
+ "id",
+ "address_ranges",
+ "provider"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersHAProxyConfigCreateSpec": {
+ "type": "object",
+ "properties": {
+ "servers": {
+ "description": "Servers is a list of the addresses for the data plane API servers used to configure Virtual Servers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersServer"
+ }
+ },
+ "username": {
+ "description": "An administrator user name for accessing the HAProxy Data Plane API server.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password for the administrator user.",
+ "type": "string",
+ "format": "password"
+ },
+ "certificate_authority_chain": {
+ "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "servers",
+ "username",
+ "password",
+ "certificate_authority_chain"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersHAProxyConfigSetSpec": {
+ "type": "object",
+ "properties": {
+ "servers": {
+ "description": "Servers is a list of the addresses for the data plane API servers used to configure HAProxy. Note: This field cannot be updated and should match existing list of servers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersServer"
+ }
+ },
+ "username": {
+ "description": "An administrator user name for accessing the HAProxy Data Plane API server.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password for the administrator user.",
+ "type": "string",
+ "format": "password"
+ },
+ "certificate_authority_chain": {
+ "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "servers",
+ "username",
+ "password",
+ "certificate_authority_chain"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersHAProxyConfigUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "An administrator user name for accessing the HAProxy Data Plane API server.\nIf unset, the existing username will not be modified.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password for the administrator user.\nIf unset, the existing password will not be modified.",
+ "type": "string",
+ "format": "password"
+ },
+ "certificate_authority_chain": {
+ "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\nIf unset, the existing PEM-encoded CA chain will not be modified.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterNamespaceManagementLoadBalancersHAProxyInfo": {
+ "type": "object",
+ "properties": {
+ "servers": {
+ "description": "A list of the addresses for the DataPlane API servers used to configure HAProxy.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersServer"
+ }
+ },
+ "username": {
+ "description": "An administrator user name for accessing the HAProxy Data Plane API server.",
+ "type": "string"
+ },
+ "certificate_authority_chain": {
+ "description": "PEM-encoded CA certificate chain which is used to verify x509 certificates received from the server.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "servers",
+ "username",
+ "certificate_authority_chain"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "An DNS compliant identifier for a load balancer, which can be used to query or configure the load balancer properties.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.LoadBalancerConfig. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.LoadBalancerConfig.",
+ "type": "string"
+ },
+ "address_ranges": {
+ "description": "IP address range from which virtual servers are assigned their IPs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIPRange"
+ }
+ },
+ "provider": {
+ "description": "Load balancer provider for the namespace.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersProvider"
+ },
+ "ha_proxy_info": {
+ "description": "The LoadBalancers.HAProxyInfo is a conditional configuration made available upon selecting the HA_PROXY load balancer provider. It is used to configure the load balancer at run time.\nThis field is optional and it is only relevant when the value of LoadBalancers.Info.provider is HA_PROXY.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersHAProxyInfo"
+ },
+ "avi_info": {
+ "description": "The LoadBalancers.AviInfo is a conditional configuration made available upon selecting the AVI load balancer provider. It is used to configure the load balancer at run time.\nThis field is optional and it is only relevant when the value of LoadBalancers.Info.provider is AVI.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersAviInfo"
+ }
+ },
+ "required": [
+ "id",
+ "address_ranges",
+ "provider"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersProvider": {
+ "type": "string",
+ "description": "The LoadBalancers.Provider enumerates the kinds of load balancers supported by vSphere Namespaces.",
+ "enum": [
+ "HA_PROXY",
+ "AVI"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersServer": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "description": "Load balancer hostname or IPv4 address.",
+ "type": "string"
+ },
+ "port": {
+ "description": "Load balancer port.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "host",
+ "port"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersSet": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersSetSpec",
+ "description": "Information about the load balancer object to be set."
+ },
+ "VcenterNamespaceManagementLoadBalancersSetSpec": {
+ "type": "object",
+ "properties": {
+ "address_ranges": {
+ "description": "List of address ranges that will be used to derive frontend IP addresses for L4 virtual servers. At least one range must be provided. A set operation only allows for addition of new IP ranges to the existing list of IP ranges.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIPRange"
+ }
+ },
+ "provider": {
+ "description": "The LoadBalancers.SetSpec.provider selects a provider from the list of available providers to be used with vSphere Namespaces.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersProvider"
+ },
+ "ha_proxy_config_set_spec": {
+ "description": "The LoadBalancers.HAProxyConfigSetSpec is a conditional configuration made available upon selecting the HA_PROXY load balancer provider. It is used to configure the load balancer at run time.\nThis field is optional and it is only relevant when the value of LoadBalancers.SetSpec.provider is HA_PROXY.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersHAProxyConfigSetSpec"
+ },
+ "avi_config_set_spec": {
+ "description": "The LoadBalancers.AviConfigSetSpec is a conditional configuration made available upon selecting the AVI load balancer provider. It is used to configure the load balancer at run time.\nThis field is optional and it is only relevant when the value of LoadBalancers.SetSpec.provider is AVI.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersAviConfigSetSpec"
+ }
+ },
+ "required": [
+ "address_ranges",
+ "provider"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersSummary": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "An DNS compliant identifier for a load balancer, which can be used to query or configure the load balancer properties.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.LoadBalancerConfig. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.LoadBalancerConfig.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Load balancer provider for the namespace.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersProvider"
+ }
+ },
+ "required": [
+ "id",
+ "provider"
+ ]
+ },
+ "VcenterNamespaceManagementLoadBalancersUpdate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersUpdateSpec",
+ "description": "Information about the load balancer object to be updated."
+ },
+ "VcenterNamespaceManagementLoadBalancersUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "address_ranges": {
+ "description": "List of address ranges that will be used to derive frontend IP addresses for L4 virtual servers. At least one range must be provided. An update operation only allows for addition of new IP ranges to the existing list of IP ranges.\nIf unset, the existing list of address ranges will not be modified.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIPRange"
+ }
+ },
+ "provider": {
+ "description": "The LoadBalancers.UpdateSpec.provider selects a provider from the list of available providers to be used with vSphere Namespaces.\nIf set, corresponding load balancer UpdateSpec will be used to update the configuration. Note: This field cannot be updated and can only be used a qualifer for the provider specific update spec.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersProvider"
+ },
+ "ha_proxy_config_update_spec": {
+ "description": "The LoadBalancers.HAProxyConfigUpdateSpec is a conditional configuration made available upon selecting the HA_PROXY load balancer provider. It is used to configure the load balancer at run time.\nIf unset, the HAProxy load balancer configuration will not be modified.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersHAProxyConfigUpdateSpec"
+ },
+ "avi_config_update_spec": {
+ "description": "The LoadBalancers.AviConfigUpdateSpec is a conditional configuration made available upon selecting the AVI load balancer provider. It is used to configure the load balancer at run time.\nIf unset, the Avi load balancer configuration will not be modified.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementLoadBalancersAviConfigUpdateSpec"
+ }
+ }
+ },
+ "VcenterNamespaceManagementNSXTier0GatewaySummary": {
+ "type": "object",
+ "properties": {
+ "tier0_gateway": {
+ "description": "Identifier of the Tier0 Gateway.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXTier0Gateway. When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXTier0Gateway.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the Tier0 Gateway.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tier0_gateway",
+ "display_name"
+ ]
+ },
+ "VcenterNamespaceManagementNamespaceResourceOptionsInfo": {
+ "type": "object",
+ "properties": {
+ "create_resource_quota_type": {
+ "description": "Identifier of the structure used to set resource quotas on the namespace. See vcenter.namespaces.Instances#create and vcenter.namespaces.Instances#set.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.structure. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.structure.",
+ "type": "string"
+ },
+ "update_resource_quota_type": {
+ "description": "Identifier of the structure used to update resource quotas on the namespace. See vcenter.namespaces.Instances#update.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.structure. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.structure.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "create_resource_quota_type",
+ "update_resource_quota_type"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksCreate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksCreateSpec",
+ "description": "Information about the network object to be created."
+ },
+ "VcenterNamespaceManagementNetworksCreateSpec": {
+ "type": "object",
+ "properties": {
+ "network": {
+ "description": "Identifier of the network. This has DNS_LABEL restrictions as specified in . This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name must be unique within a cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.Network.",
+ "type": "string"
+ },
+ "network_provider": {
+ "description": "The network provider that will manage the vSphere Namespaces network object.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ },
+ "vsphere_network": {
+ "description": "The create spec for a DVPG-backed Namespaces network object, supported by VSPHERE_NETWORK network provider.\nThis field is optional and it is only relevant when the value of Networks.CreateSpec.network-provider is VSPHERE_NETWORK.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksVsphereDVPGNetworkCreateSpec"
+ },
+ "nsx_network": {
+ "description": "The create spec for a NSXT-backed Namespaces network configuration, supported by NSXT_CONTAINER_PLUGIN network provider.\nThis field is optional and it is only relevant when the value of Networks.CreateSpec.network-provider is NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksNsxNetworkCreateSpec"
+ }
+ },
+ "required": [
+ "network",
+ "network_provider"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksIPAssignmentMode": {
+ "type": "string",
+ "description": "The Networks.IPAssignmentMode enumerated type defines various IP address assignment modes.",
+ "enum": [
+ "DHCP",
+ "STATICRANGE"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksInfo": {
+ "type": "object",
+ "properties": {
+ "network": {
+ "description": "Identifier of the network.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.Network.",
+ "type": "string"
+ },
+ "network_provider": {
+ "description": "The network provider that will manage the vSphere Namespaces network object.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ },
+ "vsphere_network": {
+ "description": "Updated configuration specification for a DVPG-backed Namespaces network object, supported by VSPHERE_NETWORK network provider.\nThis field is optional and it is only relevant when the value of Networks.Info.network-provider is VSPHERE_NETWORK.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksVsphereDVPGNetworkInfo"
+ },
+ "nsx_network": {
+ "description": "Configuration specification for a NSXT-backed Namespaces network configuration, supported by NSXT_CONTAINER_PLUGIN network provider.\nThis field is optional and it is only relevant when the value of Networks.Info.network-provider is NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksNsxNetworkInfo"
+ },
+ "namespaces": {
+ "description": "A list of Supervisor Namespaces associated with this network.\nThis field is optional because it was added in a newer version than its parent node.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.namespaces.Instance.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "network",
+ "network_provider"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksLoadBalancerSize": {
+ "type": "string",
+ "description": "The Networks.LoadBalancerSize enumerates the kinds of load balancer sizes supported by NSX. Small load balancer can host 10 to 20 virtual servers depending on NSX-T version. Medium load balancer can host 100 virtual servers. Large load balancer can host 1000 virtual servers.",
+ "enum": [
+ "SMALL",
+ "MEDIUM",
+ "LARGE"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksNsxNetworkCreateSpec": {
+ "type": "object",
+ "properties": {
+ "namespace_network_cidrs": {
+ "description": "CIDR blocks from which Kubernetes allocates IP addresss for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs. This range should not overlap with those in Networks.NsxNetworkCreateSpec.ingress-cidrs, Networks.NsxNetworkCreateSpec.egress-cidrs, or other services running in the datacenter.\nThis field is required when Networks.NsxNetworkCreateSpec.nsx-tier0-gateway or any of Networks.NsxNetworkCreateSpec.ingress-cidrs, Networks.NsxNetworkCreateSpec.egress-cidrs are specified. An update operation only allows for addition of new CIDR blocks to the existing list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "ingress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in Networks.NsxNetworkCreateSpec.namespace-network-cidrs, Networks.NsxNetworkCreateSpec.egress-cidrs, or other services running in the datacenter.\nThis field is required when Networks.NsxNetworkCreateSpec.nsx-tier0-gateway or any of Networks.NsxNetworkCreateSpec.namespace-network-cidrs, Networks.NsxNetworkCreateSpec.egress-cidrs is specified. An update operation only allows for addition of new CIDR blocks to the existing list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "egress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in Networks.NsxNetworkCreateSpec.namespace-network-cidrs, Networks.NsxNetworkCreateSpec.ingress-cidrs, or other services running in the datacenter.\nThis field is required when Networks.NsxNetworkCreateSpec.routed-mode is set to False and Networks.NsxNetworkCreateSpec.nsx-tier0-gateway or any of Networks.NsxNetworkCreateSpec.namespace-network-cidrs, Networks.NsxNetworkCreateSpec.ingress-cidrs is specified. When Networks.NsxNetworkCreateSpec.routed-mode is set to True, this field is not allowed. An update operation only allows for addition of new CIDR blocks to the existing list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "nsx_tier0_gateway": {
+ "description": "NSX Tier0 Gateway used for the namespace. This field does not allow update once applied.\nThis field is required when configuring a cluster that uses NSX-T.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXTier0Gateway. When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXTier0Gateway.",
+ "type": "string"
+ },
+ "subnet_prefix_length": {
+ "description": "Size of the subnet reserved for namespace segments.\nIf unset, defaults to 28. This field does not allow update once applied.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "routed_mode": {
+ "description": "Routed mode for thw namespace. When set to True, the traffic in the namespace is not NATed.\nIf unset, defaults to False. When this field is set to True, Networks.NsxNetworkCreateSpec.egress-cidrs is not allowed. This field does not allow update once applied.",
+ "type": "boolean"
+ },
+ "load_balancer_size": {
+ "description": "The size of the NSX Load Balancer used by the namespace. This field does not allow update once applied.\nIf unset, defaults to SMALL.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksLoadBalancerSize"
+ }
+ }
+ },
+ "VcenterNamespaceManagementNetworksNsxNetworkInfo": {
+ "type": "object",
+ "properties": {
+ "namespace_network_cidrs": {
+ "description": "CIDR blocks from which Kubernetes allocates IP addresses for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs.\nIf unset, cluster level settings specified in Clusters.NCPClusterNetworkInfo.pod-cidrs will be applied.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "ingress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.\nIf unset, cluster level settings specified in Clusters.NCPClusterNetworkInfo.ingress-cidrs will be applied.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "egress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.\nIf unset, cluster level settings specified in Clusters.NCPClusterNetworkInfo.egress-cidrs will be applied.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "nsx_tier0_gateway": {
+ "description": "NSX Tier0 Gateway used for this namespace.\nIf unset, cluster level settings specified in Clusters.NCPClusterNetworkInfo.nsx-tier0-gateway will be applied.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXTier0Gateway. When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXTier0Gateway.",
+ "type": "string"
+ },
+ "subnet_prefix_length": {
+ "description": "Size of the subnet reserved for namespace segments\nIf unset, cluster level settings specified in Clusters.NCPClusterNetworkInfo.namespace-subnet-prefix will be applied.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "routed_mode": {
+ "description": "Routed mode for this namespace. When set to True, the traffic in the namespace is not NATed.\nIf unset, cluster level settings specified in Clusters.NCPClusterNetworkInfo.routed-mode will be applied.",
+ "type": "boolean"
+ },
+ "load_balancer_size": {
+ "description": "The size of the NSX Load Balancer used by the namespace.\nIf unset, then SMALL is used.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksLoadBalancerSize"
+ }
+ }
+ },
+ "VcenterNamespaceManagementNetworksNsxNetworkSetSpec": {
+ "type": "object",
+ "properties": {
+ "namespace_network_cidrs": {
+ "description": "CIDR blocks from which Kubernetes allocates IP addresses for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a InvalidArgument error.\nIf unset, the current value will be retained.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "ingress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a InvalidArgument error.\nIf unset, the current value will be retained.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "egress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a InvalidArgument error.\nIf unset, the current value will be retained.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementNetworksNsxNetworkUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "namespace_network_cidrs": {
+ "description": "CIDR blocks from which Kubernetes allocates IP addresses for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a InvalidArgument error.\nIf unset, the current value will be retained.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "ingress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a InvalidArgument error.\nIf unset, the current value will be retained.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ },
+ "egress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a InvalidArgument error.\nIf unset, the current value will be retained.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIpv4Cidr"
+ }
+ }
+ }
+ },
+ "VcenterNamespaceManagementNetworksSet": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksSetSpec",
+ "description": "Information about the network object to be set."
+ },
+ "VcenterNamespaceManagementNetworksSetSpec": {
+ "type": "object",
+ "properties": {
+ "network_provider": {
+ "description": "The network provider that will manage the vSphere Namespaces network object.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ },
+ "vsphere_network": {
+ "description": "Modified configuration specification for a DVPG-backed Namespaces network object, supported by VSPHERE_NETWORK network provider.\nThis field is optional and it is only relevant when the value of Networks.SetSpec.network-provider is VSPHERE_NETWORK.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksVsphereDVPGNetworkSetSpec"
+ },
+ "nsx_network": {
+ "description": "Modified configuration specification for a NSXT-backed Namespaces network configuration, supported by NSXT_CONTAINER_PLUGIN network provider.\nThis field is optional and it is only relevant when the value of Networks.SetSpec.network-provider is NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksNsxNetworkSetSpec"
+ }
+ },
+ "required": [
+ "network_provider"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksUpdate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksUpdateSpec",
+ "description": "Information about the network object to be updated."
+ },
+ "VcenterNamespaceManagementNetworksUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "network_provider": {
+ "description": "The network provider that will manage the vSphere Namespaces network object.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementClustersNetworkProvider"
+ },
+ "vsphere_network": {
+ "description": "Updated configuration specification for a DVPG-backed Namespaces network object, supported by VSPHERE_NETWORK network provider.\nThis field is optional and it is only relevant when the value of Networks.UpdateSpec.network-provider is VSPHERE_NETWORK.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksVsphereDVPGNetworkUpdateSpec"
+ },
+ "nsx_network": {
+ "description": "Updated configuration specification for a NSXT-backed Namespaces network configuration, supported by NSXT_CONTAINER_PLUGIN network provider.\nThis field is optional and it is only relevant when the value of Networks.UpdateSpec.network-provider is NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksNsxNetworkUpdateSpec"
+ }
+ },
+ "required": [
+ "network_provider"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksVsphereDVPGNetworkCreateSpec": {
+ "type": "object",
+ "properties": {
+ "portgroup": {
+ "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network.",
+ "type": "string"
+ },
+ "ip_assignment_mode": {
+ "description": "IP address assignment mode. If set to DHCP, then field Networks.VsphereDVPGNetworkCreateSpec.address-ranges must be set to an empty list and fields Networks.VsphereDVPGNetworkCreateSpec.gateway and Networks.VsphereDVPGNetworkCreateSpec.subnet-mask must be set to empty strings.\nIf unset, defaults to STATICRANGE.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksIPAssignmentMode"
+ },
+ "address_ranges": {
+ "description": "Usable IP pools on this network.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIPRange"
+ }
+ },
+ "gateway": {
+ "description": "Gateway for the network.",
+ "type": "string"
+ },
+ "subnet_mask": {
+ "description": "Subnet mask of the network.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "portgroup",
+ "address_ranges",
+ "gateway",
+ "subnet_mask"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksVsphereDVPGNetworkInfo": {
+ "type": "object",
+ "properties": {
+ "portgroup": {
+ "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network.",
+ "type": "string"
+ },
+ "ip_assignment_mode": {
+ "description": "IP address assignment mode.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementNetworksIPAssignmentMode"
+ },
+ "address_ranges": {
+ "description": "Usable IP pools on this network.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIPRange"
+ }
+ },
+ "gateway": {
+ "description": "Gateway for the network.",
+ "type": "string"
+ },
+ "subnet_mask": {
+ "description": "Subnet mask of the network.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "portgroup",
+ "address_ranges",
+ "gateway",
+ "subnet_mask"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksVsphereDVPGNetworkSetSpec": {
+ "type": "object",
+ "properties": {
+ "portgroup": {
+ "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object. If the network object is associated with a Namespace or is Clusters.WorkloadNetworksEnableSpec.supervisor-primary-workload-network, modification to existing portgroup will result in the operation failing with a ResourceInUse error.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network.",
+ "type": "string"
+ },
+ "address_ranges": {
+ "description": "Usable IP pools on this network. If the network object is associated with a Namespace or is Clusters.WorkloadNetworksEnableSpec.supervisor-primary-workload-network, then replacement of or modification to any existing range in this list will result in operation failing with a ResourceInUse error. To add new address ranges to the list, existing address ranges have to be passed in without modifications.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIPRange"
+ }
+ },
+ "gateway": {
+ "description": "Gateway for the network. If the network object is associated with a Namespace or is Clusters.WorkloadNetworksEnableSpec.supervisor-primary-workload-network, then modification to existing gateway will result in the operation failing with a ResourceInUse error.",
+ "type": "string"
+ },
+ "subnet_mask": {
+ "description": "Subnet mask of the network. If the network object is associated with a Namespace or is Clusters.WorkloadNetworksEnableSpec.supervisor-primary-workload-network, then modification to existing subnet mask will result in the operation failing with a ResourceInUse error.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "portgroup",
+ "address_ranges",
+ "gateway",
+ "subnet_mask"
+ ]
+ },
+ "VcenterNamespaceManagementNetworksVsphereDVPGNetworkUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "portgroup": {
+ "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object. If the network object is associated with a Namespace or is Clusters.WorkloadNetworksEnableSpec.supervisor-primary-workload-network, then modification to existing portgroup will result in the operation failing with a ResourceInUse error.\nIf unset, the current value will be retained.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network.",
+ "type": "string"
+ },
+ "address_ranges": {
+ "description": "Usable IP pools on this network. If the network object is associated with a Namespace or is Clusters.WorkloadNetworksEnableSpec.supervisor-primary-workload-network, then replacement of or modification to any existing range in this list will result in operation failing with a ResourceInUse error. To add new address ranges to the list, existing address ranges have to be passed in without modifications.\nIf unset, the current value will be retained.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementIPRange"
+ }
+ },
+ "gateway": {
+ "description": "Gateway for the network. If the network object is associated with a Namespace or is Clusters.WorkloadNetworksEnableSpec.supervisor-primary-workload-network, then modification to existing gateway will result in the operation failing with a ResourceInUse error.\nIf unset, the current value will be retained.",
+ "type": "string"
+ },
+ "subnet_mask": {
+ "description": "Subnet mask of the network. If the network object is associated with a Namespace or is Clusters.WorkloadNetworksEnableSpec.supervisor-primary-workload-network, then modification to existing subnet mask will result in the operation failing with a ResourceInUse error.\nIf unset, the current value will be retained.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterNamespaceManagementProxyConfiguration": {
+ "type": "object",
+ "properties": {
+ "proxy_settings_source": {
+ "description": "The source of the proxy settings. If VC_INHERITED or NONE is specified, then the other configuration in ProxyConfiguration will be ignored.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementProxySettingsSource"
+ },
+ "https_proxy_config": {
+ "description": "HTTPS proxy configuration. Examples: \n - http://username:password@proxy.vmware.com:8080\n - https://proxy.vmware.com:4443\n This will be used if CLUSTER_CONFIGURED is used for the source, otherwise this will be ignored.\nIf unset no HTTPS proxy will be used.",
+ "type": "string"
+ },
+ "http_proxy_config": {
+ "description": "HTTP proxy configuration. Examples: \n - http://username:password@proxy.vmware.com:8080\n - https://proxy.vmware.com:4443\n This will be used if CLUSTER_CONFIGURED is used for the source, otherwise this will be ignored.\nIf unset no HTTP proxy will be used.",
+ "type": "string"
+ },
+ "no_proxy_config": {
+ "description": "List of addresses that should be accessed directly. This will be used if CLUSTER_CONFIGURED is used for the source, otherwise this will be ignored.\nIf unset there won't be any excluded addresses.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tls_root_ca_bundle": {
+ "description": "Proxy TLS root CA bundle which will be used to verify the proxies certificates. Every certificate in the bundle is expected to be in PEM format. This will be used if CLUSTER_CONFIGURED is used for the source, otherwise this will be ignored.\nIf unset only the vCenter certificates applied in VECS (VMware Endpoint Certificate Store) will be used.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "proxy_settings_source"
+ ]
+ },
+ "VcenterNamespaceManagementProxySettingsSource": {
+ "type": "string",
+ "description": "The settings can be inherited from the vCenter settings, so the cluster settings will be synced. The settings can be applied directly on the cluster level, or the cluster can be configured not to use a proxy.",
+ "enum": [
+ "VC_INHERITED",
+ "CLUSTER_CONFIGURED",
+ "NONE"
+ ]
+ },
+ "VcenterNamespaceManagementSizingHint": {
+ "type": "string",
+ "description": "The SizingHint enumerated type determines the configuration of Kubernetes API server and the worker nodes. It also determines the default values associated with the maximum number of pods and services. Use ClusterSizeInfo.get to get information associated with a SizingHint.",
+ "enum": [
+ "TINY",
+ "SMALL",
+ "MEDIUM",
+ "LARGE"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersInfo": {
+ "type": "object",
+ "properties": {
+ "current_version": {
+ "description": "Current version of the cluster.",
+ "type": "string"
+ },
+ "available_versions": {
+ "description": "Set of available versions can be upgraded to.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "last_upgraded_date": {
+ "description": "Date of last successful upgrade.\nIf unset, the cluster has not yet been upgraded.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "messages": {
+ "description": "Current set of messages associated with the cluster version.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersMessage"
+ }
+ },
+ "state": {
+ "description": "Current state of the upgrade.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersState"
+ },
+ "upgrade_status": {
+ "description": "Information about upgrade in progress.\nIf unset, the cluster upgrade is not in progress.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersUpgradeStatus"
+ }
+ },
+ "required": [
+ "current_version",
+ "available_versions",
+ "messages",
+ "state"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersMessage": {
+ "type": "object",
+ "properties": {
+ "severity": {
+ "description": "Type of the message.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersMessageSeverity"
+ },
+ "details": {
+ "description": "Details about the message.",
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "required": [
+ "severity",
+ "details"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersMessageSeverity": {
+ "type": "string",
+ "description": "The Clusters.Message.Severity enumerated type represents the severity of the message.",
+ "enum": [
+ "INFO",
+ "WARNING",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersResult": {
+ "type": "object",
+ "properties": {
+ "res": {
+ "description": "The result of batch upgrade method.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersResultRes"
+ },
+ "exception": {
+ "description": "Exception when cluster pre-check failed during upgrade invocation.\nThis field is optional and it is only relevant when the value of Clusters.Result.res is REJECTED.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "res"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersResultRes": {
+ "type": "string",
+ "description": "The Clusters.Result.Res enumerated type represents the upgrade invocation result for each cluster.",
+ "enum": [
+ "STARTED",
+ "REJECTED"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersState": {
+ "type": "string",
+ "description": "The Clusters.State enumerated type describes the state of the upgrade.",
+ "enum": [
+ "PENDING",
+ "READY",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersSummary": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier for the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "cluster_name": {
+ "description": "Name of the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource.name. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.name.",
+ "type": "string"
+ },
+ "current_version": {
+ "description": "Current version of the cluster.",
+ "type": "string"
+ },
+ "available_versions": {
+ "description": "Set of versions available for upgrade.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "last_upgraded_date": {
+ "description": "Date of last successful upgrade.\nIf unset, the cluster has not yet been upgraded.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "desired_version": {
+ "description": "Desired version the cluster will be upgraded to.\nIf unset, the cluster upgrade is not in progress.",
+ "type": "string"
+ },
+ "state": {
+ "description": "Current state of the upgrade.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersState"
+ }
+ },
+ "required": [
+ "cluster",
+ "cluster_name",
+ "current_version",
+ "available_versions",
+ "state"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersUpgrade": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersUpgradeSpec",
+ "description": "Specification for upgrading the cluster."
+ },
+ "VcenterNamespaceManagementSoftwareClustersUpgradeMultiple": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersUpgradeSpec"
+ },
+ "description": "Specifications for upgrading selected clusters.\nThe key in the parameter map must be an identifier for the resource type: ClusterComputeResource."
+ },
+ "VcenterNamespaceManagementSoftwareClustersUpgradeProgress": {
+ "type": "object",
+ "properties": {
+ "total": {
+ "description": "Total amount of the work for the operation. The work here represents the number of master nodes in the cluster need to be upgraded.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "completed": {
+ "description": "The amount of work completed for the operation. The value can only be incremented. The number or master nodes which upgrade completed.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "message": {
+ "description": "Message about the work progress.",
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "required": [
+ "total",
+ "completed",
+ "message"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersUpgradeSpec": {
+ "type": "object",
+ "properties": {
+ "desired_version": {
+ "description": "Version number the cluster is going to be upgraded to.",
+ "type": "string"
+ },
+ "ignore_precheck_warnings": {
+ "description": "If true, the upgrade workflow will ignore any pre-check warnings and proceed with the upgrade.\nIf unset, the upgrade workflow will not ignore pre-check warnings and fail the upgrade. It is equivalent to setting the value to false. The workflow adopts a conservative approach of failing the upgrade if unset to solely let the user decide whether to force the upgrade despite the warnings.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "desired_version"
+ ]
+ },
+ "VcenterNamespaceManagementSoftwareClustersUpgradeStatus": {
+ "type": "object",
+ "properties": {
+ "desired_version": {
+ "description": "Desired version the cluster will be upgraded to.\nIf unset, the cluster upgrade is not in progress.",
+ "type": "string"
+ },
+ "messages": {
+ "description": "Current set of messages associated with the upgrade state.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersMessage"
+ }
+ },
+ "progress": {
+ "description": "Information about upgrade progess.\nIf unset, the cluster upgrade is not in progress.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSoftwareClustersUpgradeProgress"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "VcenterNamespaceManagementStatsTimeSeriesPodIdentifier": {
+ "type": "object",
+ "properties": {
+ "namespace": {
+ "description": "The namespace that the pod is running in.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "type": "string"
+ },
+ "pod_name": {
+ "description": "The name of the pod itself.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "namespace",
+ "pod_name"
+ ]
+ },
+ "VcenterNamespaceManagementStatsTimeSeriesSpec": {
+ "type": "object",
+ "properties": {
+ "obj_type": {
+ "description": "Type of statistics object that the request is operating on.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementStatsTimeSeriesSpecObjType"
+ },
+ "pod": {
+ "description": "Pod Identifier for queries on an individual pod.\nThis field is optional and it is only relevant when the value of TimeSeries.Spec.obj-type is POD.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementStatsTimeSeriesPodIdentifier"
+ },
+ "namespace": {
+ "description": "Namespace name for queries for a namespace.\nThis field is optional and it is only relevant when the value of TimeSeries.Spec.obj-type is NAMESPACE.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "Cluster identifier for queries for a cluster.\nThis field is optional and it is only relevant when the value of TimeSeries.Spec.obj-type is CLUSTER.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "start": {
+ "description": "UNIX timestamp value indicating when the requested series of statistical samples should begin. https://en.wikipedia.org/wiki/Unix_time",
+ "type": "integer",
+ "format": "int64"
+ },
+ "end": {
+ "description": "UNIX timestamp value indicating when the requested series of statistical samples should end. https://en.wikipedia.org/wiki/Unix_time",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "obj_type",
+ "start",
+ "end"
+ ]
+ },
+ "VcenterNamespaceManagementStatsTimeSeriesSpecObjType": {
+ "type": "string",
+ "description": "Type of statistics object that this request is operating on.",
+ "enum": [
+ "CLUSTER",
+ "NAMESPACE",
+ "POD"
+ ]
+ },
+ "VcenterNamespaceManagementStatsTimeSeriesTimeSeries": {
+ "type": "object",
+ "properties": {
+ "counter": {
+ "description": "Counter identifier.",
+ "type": "string"
+ },
+ "time_stamps": {
+ "description": "Sequence of UNIX timestamp values at which statistical values were sampled. https://en.wikipedia.org/wiki/Unix_time",
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "values": {
+ "description": "Sequence of sampled values corresponding to the timestamps in tss.",
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "required": [
+ "counter",
+ "time_stamps",
+ "values"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesCheckContent": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesContentCheckSpec",
+ "description": "Specification for the content to be checked."
+ },
+ "VcenterNamespaceManagementSupervisorServicesCheckResult": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indicates if the provided content is valid.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesValidationStatus"
+ },
+ "content_type": {
+ "description": "The type of the provided content. When this SupervisorServices.CheckResult.content-type is CUSTOM_YAML, the SupervisorServices.CheckResult.status is always VALID because a custom format is not validated.\nIf unset, the content type cannot be determined from the provided content.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsContentType"
+ },
+ "vsphere_apps_check_result": {
+ "description": "The information about the Supervisor Service version retrieved from the provided content as a result of validation checks if the content is in the vSphere application format.\nIf unset, the content is not in the vSphere application service format, or the SupervisorServices.CheckResult.status is INVALID.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVsphereAppsCheckResult"
+ },
+ "warning_messages": {
+ "description": "A list of messages indicating why the content was considered valid but contains information that should be reviewed closely.\nThis field is optional and it is only relevant when the value of SupervisorServices.CheckResult.status is VALID_WITH_WARNINGS.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "error_messages": {
+ "description": "A list of messages indicating why the content was considered invalid.\nThis field is optional and it is only relevant when the value of SupervisorServices.CheckResult.status is INVALID.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesConfigStatus": {
+ "type": "string",
+ "description": "The ClusterSupervisorServices.ConfigStatus enumerated type describes the status of reaching the desired state configuration for the Supervisor Service.",
+ "enum": [
+ "CONFIGURING",
+ "REMOVING",
+ "CONFIGURED",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesCreate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesCreateSpec",
+ "description": "Specification for the Supervisor Service on the cluster."
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "supervisor_service": {
+ "description": "Identifier of the Supervisor Service. This Supervisor Service must be in the ACTIVATED state.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.SupervisorService. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Identifier of the Supervisor Service version which contains the service definition. This Supervisor Service version must be in the ACTIVATED state.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version.",
+ "type": "string"
+ },
+ "service_config": {
+ "description": "A generic key-value map for additional configuration parameters required during service creation. As an example, a third party operator might reference a private registry using parameters such as \"registryName\" for the registry name, \"registryUsername\" and \"registryPassword\" for the registry credentials.\nIf unset, no additional configuration parameters will be applied when installing a Supervisor Service in the vSphere Supervisor.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "supervisor_service",
+ "version"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesInfo": {
+ "type": "object",
+ "properties": {
+ "desired_version": {
+ "description": "The desired version of this Supervisor Service.",
+ "type": "string"
+ },
+ "service_namespace": {
+ "description": "Identifier of the namespace to allocate the Supervisor Service's operators.\nIf unset, there is an error when creating the service namespace or the namespace has not been created yet.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "type": "string"
+ },
+ "config_status": {
+ "description": "Current setting for ClusterSupervisorServices.ConfigStatus.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesConfigStatus"
+ },
+ "messages": {
+ "description": "Current set of messages associated with the Supervisor Service on the vSphere Supervisor.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesMessage"
+ }
+ },
+ "current_version": {
+ "description": "The current version for the Supervisor Service.\nIf unset, there is no version installed for the Supervisor Service.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A human readable name of the Supervisor Service.",
+ "type": "string"
+ },
+ "description": {
+ "description": "A human readable description of the Supervisor Service.\nIf unset, the description for the service version is empty.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The prefix that will be added to the names of the Supervisor Service's kubernetes resources.\nIf unset, the prefix is not assigned yet.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "desired_version",
+ "config_status",
+ "messages",
+ "display_name"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesMessage": {
+ "type": "object",
+ "properties": {
+ "severity": {
+ "description": "Type of the message.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesMessageMessageSeverity"
+ },
+ "details": {
+ "description": "Details about the message.\nIf unset, message details are not required for taking actions.",
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "required": [
+ "severity"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesMessageMessageSeverity": {
+ "type": "string",
+ "description": "The ClusterSupervisorServices.Message.MessageSeverity enumerated type represents the severity of the message.",
+ "enum": [
+ "INFO",
+ "WARNING",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesSet": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesSetSpec",
+ "description": "Specification for the Supervisor Service on the cluster."
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesSetSpec": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Identifier of the Supervisor Service version which contains the service definition. This Supervisor Service version must be in the ACTIVATED state.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version.",
+ "type": "string"
+ },
+ "service_config": {
+ "description": "A generic key-value map for additional configuration parameters required during service upgrade. As an example, a third party operator might reference a private registry using parameters such as \"registryName\" for the registry name, \"registryUsername\" and \"registryPassword\" for the registry credentials.\nIf unset, no additional configuration parameters will be applied when upgrading a Supervisor Service in the vSphere Supervisor.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "version"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesSummary": {
+ "type": "object",
+ "properties": {
+ "supervisor_service": {
+ "description": "The identifier of the Supervisor Service.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.SupervisorService. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "type": "string"
+ },
+ "desired_version": {
+ "description": "The desired version of this Supervisor Service.",
+ "type": "string"
+ },
+ "config_status": {
+ "description": "Current setting for ClusterSupervisorServices.ConfigStatus.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesClusterSupervisorServicesConfigStatus"
+ },
+ "current_version": {
+ "description": "The current version for the Supervisor Service.\nIf unset, there is no version installed for the Supervisor Service.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "supervisor_service",
+ "desired_version",
+ "config_status"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesContentCheckSpec": {
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "The content of a Supervisor Service version, which shall be base64 encoded.\nIf unset, the content shall be provided separately. In the current release, this field is required, otherwise InvalidArgument will be thrown.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesCreate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesCreateSpec",
+ "description": "Specification for the Supervisor Service with version definition."
+ },
+ "VcenterNamespaceManagementSupervisorServicesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "custom_spec": {
+ "description": "The specification required to create a Supervisor Service with a version from inline content that is based on a plain Kubernetes YAML format. \n\n\nIf set, the service will be created from a version based on a plain Kubernetes YAML format.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesCustomCreateSpec"
+ },
+ "vsphere_spec": {
+ "description": "The specification required to create a Supervisor Service with a version from inline content that is based on the vSphere application service format. \n\n\nIf set, the service will be created from a version based on the vSphere application service format.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVsphereCreateSpec"
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesCustomCreateSpec": {
+ "type": "object",
+ "properties": {
+ "supervisor_service": {
+ "description": "The identifier of the Supervisor Service. This has DNS_LABEL restrictions as specified in . This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This identifier must be unique across all Namespaces in this vCenter server. Additionally, the ID 'namespaces' is reserved and must not be used.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.SupervisorService. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A human readable name of the Supervisor Service.",
+ "type": "string"
+ },
+ "description": {
+ "description": "A human readable description of the Supervisor Service.\nIf unset, the Supervisor Service description will be empty.",
+ "type": "string"
+ },
+ "version_spec": {
+ "description": "Supervisor service version specification that provides the service definition for one Supervisor Service version.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsCustomCreateSpec"
+ }
+ },
+ "required": [
+ "supervisor_service",
+ "display_name",
+ "version_spec"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesInfo": {
+ "type": "object",
+ "properties": {
+ "display_name": {
+ "description": "The human readable name of the Supervisor Service.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The current SupervisorServices.State of the Supervisor Service.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesState"
+ },
+ "description": {
+ "description": "A human readable description of the Supervisor Service.\nIf unset, no description is available for the Supervisor Service.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "display_name",
+ "state"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesState": {
+ "type": "string",
+ "description": "The SupervisorServices.State enumerated type defines the state of a Supervisor Service.",
+ "enum": [
+ "ACTIVATED",
+ "DEACTIVATED"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesSummary": {
+ "type": "object",
+ "properties": {
+ "supervisor_service": {
+ "description": "The identifier of the Supervisor Service.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.SupervisorService. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "The human readable name of the Supervisor Service.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The current SupervisorServices.State of the Supervisor Service.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesState"
+ }
+ },
+ "required": [
+ "supervisor_service",
+ "display_name",
+ "state"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesUpdate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesUpdateSpec",
+ "description": "Specification for the Supervisor Service metadata to be updated."
+ },
+ "VcenterNamespaceManagementSupervisorServicesUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "display_name": {
+ "description": "A human readable name of the Supervisor Service.\nIf unset, the display name of the service will not be modified.",
+ "type": "string"
+ },
+ "description": {
+ "description": "A human readable description of the Supervisor Service.\nIf unset, the description of the service will not be modified.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesValidationStatus": {
+ "type": "string",
+ "description": "The SupervisorServices.ValidationStatus enumerated type defines the type of status for validating content of a Supervisor Service version.",
+ "enum": [
+ "VALID",
+ "VALID_WITH_WARNINGS",
+ "INVALID"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesVersionsContentType": {
+ "type": "string",
+ "description": "The Versions.ContentType enumerated type defines the type of content that describes the format of Supervisor Service version definition.",
+ "enum": [
+ "VSPHERE_APPS_YAML",
+ "CUSTOM_YAML"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesVersionsCreate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsCreateSpec",
+ "description": "Specification for the Supervisor Service version to be created."
+ },
+ "VcenterNamespaceManagementSupervisorServicesVersionsCreateSpec": {
+ "type": "object",
+ "properties": {
+ "custom_spec": {
+ "description": "The specification required to create a Supervisor Service version from inline content that is based on a plain Kubernetes YAML format. \n\n\nIf set, the service version will be created from inline content based on a plain Kubernetes YAML format.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsCustomCreateSpec"
+ },
+ "vsphere_spec": {
+ "description": "The specification required to create a Supervisor Service version from inline content that is based on the vSphere application service format. \n\n\nIf set, the service version will be created from inline content based on the vSphere application service format.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsVsphereCreateSpec"
+ }
+ }
+ },
+ "VcenterNamespaceManagementSupervisorServicesVersionsCustomCreateSpec": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The identifier of the Supervisor Service version. This must be a semantic version.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A human readable name of the Supervisor Service version.",
+ "type": "string"
+ },
+ "description": {
+ "description": "A human readable description of the Supervisor Service version.\nIf unset, the description for the service version will be empty.",
+ "type": "string"
+ },
+ "content": {
+ "description": "Inline content that contains all service definition of the version, which shall be base64 encoded. The service definition here follows a plain Kubernetes YAML format.",
+ "type": "string"
+ },
+ "trusted_provider": {
+ "description": "Whether or not the Supervisor Service version is from a trusted provider, this field must be set to false if the service version is not from a trusted provider. If it is set to be true, but the Versions.CustomCreateSpec.content is not signed or the signature is invalid, an InvalidArgument will be thrown.\nIf unset, the default value is true. In this case, the Versions.CustomCreateSpec.content must be signed and will be verified.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "version",
+ "display_name",
+ "content"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesVersionsInfo": {
+ "type": "object",
+ "properties": {
+ "display_name": {
+ "description": "The human readable name of the Supervisor Service version.",
+ "type": "string"
+ },
+ "description": {
+ "description": "A human-readable description of the Supervisor Service version.\nIf unset, no description is available for the Supervisor Service version.",
+ "type": "string"
+ },
+ "EULA": {
+ "description": "The End User License Agreement (EULA) associated with the Supervisor Service version.\nIf unset, no EULA is available for the Supervisor Service version.",
+ "type": "string"
+ },
+ "content_type": {
+ "description": "The content type of Versions.Info.content.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsContentType"
+ },
+ "content": {
+ "description": "Inline content that contains base64 encoded service definition for the version.\nIf unset, no content is available for the Supervisor Service version.",
+ "type": "string"
+ },
+ "trust_verified": {
+ "description": "If true, the Supervisor Service version is from trusted provider and the trust is verified.",
+ "type": "boolean"
+ },
+ "state": {
+ "description": "The current Versions.State of the version.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsState"
+ }
+ },
+ "required": [
+ "display_name",
+ "content_type",
+ "trust_verified",
+ "state"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesVersionsState": {
+ "type": "string",
+ "description": "The Versions.State enumerated type defines the state of a Supervisor Service version.",
+ "enum": [
+ "ACTIVATED",
+ "DEACTIVATED"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesVersionsSummary": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The identifier of the Supervisor Service version.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A human readable name of the Supervisor Service version.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The current Versions.State of the Supervisor Service version.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsState"
+ },
+ "description": {
+ "description": "A human readable description of the Supervisor Service version.\nIf unset, no description is available for the service version.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "display_name",
+ "state"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesVersionsVsphereCreateSpec": {
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "Inline content that contains all service definition of the version in vSphere application service format, which shall be base64 encoded.",
+ "type": "string"
+ },
+ "trusted_provider": {
+ "description": "Whether or not the Supervisor Service version is from a trusted provider, this field must be set to false if the service version is not from a trusted provider. If it is set to be true, but the Versions.VsphereCreateSpec.content is not signed or the signature is invalid, an InvalidArgument will be thrown.\nIf unset, the default value is true. In this case, the Versions.VsphereCreateSpec.content must be signed and will be verified.",
+ "type": "boolean"
+ },
+ "accept_EULA": {
+ "description": "Whether or not the End User License Agreement (EULA) that is specified in the Versions.VsphereCreateSpec.content is accepted. If a EULA is specified, this field must be set to be true so that the Supervisor Service version can be created.\nIf unset, the default value is false.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "content"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesVsphereAppsCheckResult": {
+ "type": "object",
+ "properties": {
+ "supervisor_service": {
+ "description": "The identifier of the Supervisor Service.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.SupervisorService. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.SupervisorService.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The identifier of the Supervisor Service version.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.supervisor_services.Version.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A human readable name of the Supervisor Service version.",
+ "type": "string"
+ },
+ "description": {
+ "description": "A human readable description of the Supervisor Service version.\nIf unset, no description is available for the Supervisor Service version.",
+ "type": "string"
+ },
+ "eula": {
+ "description": "The End User License Agreement (EULA) of the Supervisor Service version.\nIf unset, no EULA is available for the Supervisor Service version.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "supervisor_service",
+ "version",
+ "display_name"
+ ]
+ },
+ "VcenterNamespaceManagementSupervisorServicesVsphereCreateSpec": {
+ "type": "object",
+ "properties": {
+ "version_spec": {
+ "description": "Supervisor service version specification that provides the service definitions for one Supervisor Service version.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupervisorServicesVersionsVsphereCreateSpec"
+ }
+ },
+ "required": [
+ "version_spec"
+ ]
+ },
+ "VcenterNamespaceManagementSupportBundleLocation": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Support Bundle Download URL.",
+ "type": "string"
+ },
+ "wcp_support_bundle_token": {
+ "description": "Information about the token required in the HTTP GET request to generate the support bundle.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementSupportBundleToken"
+ }
+ },
+ "required": [
+ "url",
+ "wcp_support_bundle_token"
+ ]
+ },
+ "VcenterNamespaceManagementSupportBundleToken": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "A one-time, short-lived token required in the HTTP header of the request to the url. This token needs to be passed in as a header with the name \"wcp-support-bundle-token\".",
+ "type": "string"
+ },
+ "expiry": {
+ "description": "Expiry time of the token",
+ "type": "string"
+ }
+ },
+ "required": [
+ "token",
+ "expiry"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesConfigStatus": {
+ "type": "string",
+ "description": "ConfigStatus represents the config status of the VM class.",
+ "enum": [
+ "READY",
+ "REMOVING"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesCreate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesCreateSpec",
+ "description": "Information about the VM class object to be created."
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Identifier of the virtual machine class. This has DNS_LABEL restrictions as specified in . This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name is unique in this vCenter server.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.VirtualMachineClass. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.VirtualMachineClass.",
+ "type": "string"
+ },
+ "cpu_count": {
+ "description": "The number of CPUs configured for virtual machine of this class.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cpu_reservation": {
+ "description": "The percentage of total available CPUs reserved for a virtual machine. We multiply this percentage by the minimum frequency amongst all the cluster nodes to get the CPU reservation that is specified to vSphere in MHz.\nIf unset, no CPU reservation is requested for the virtual machine.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_MB": {
+ "description": "The amount of memory in MB configured for virtual machine of this class.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_reservation": {
+ "description": "The percentage of available memory reserved for a virtual machine of this class. Memory reservation must be set to 100% for VM class with vGPU or Dynamic DirectPath I/O devices.\nIf unset, no memory reservation is requested for virtual machine.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "description": {
+ "description": "Description for the VM class.\nIf unset, no description is added to the VM class.",
+ "type": "string"
+ },
+ "devices": {
+ "description": "Virtual devices that will be attached to the VMs created with this class.\nIf unset, no Virtual device will be attached to the VMs created with this class.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesVirtualDevices"
+ },
+ "instance_storage": {
+ "description": "Instance storage that will be attached to the VMs created with this class.\nIf unset, instance storage specification will not be created.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesInstanceStorage"
+ }
+ },
+ "required": [
+ "id",
+ "cpu_count",
+ "memory_MB"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesDynamicDirectPathIODevice": {
+ "type": "object",
+ "properties": {
+ "vendor_id": {
+ "description": "The vendor ID of this device.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "device_id": {
+ "description": "The device ID of this device.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "custom_label": {
+ "description": "The custom label attached to this device.\nIf unset, custom label is not used to identify the device.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "vendor_id",
+ "device_id"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Identifier for the VM class.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespace_management.VirtualMachineClass. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespace_management.VirtualMachineClass.",
+ "type": "string"
+ },
+ "cpu_count": {
+ "description": "The number of CPUs configured for virtual machine of this class.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cpu_reservation": {
+ "description": "The percentage of total available CPUs reserved for a virtual machine. We multiply this percentage by the minimum frequency amongst all the cluster nodes to get the CPU reservation that is specified to vSphere in MHz.\nIf unset, no CPU reservation is requested for the virtual machine.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_MB": {
+ "description": "The amount of memory in MB configured for virtual machine of this class.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_reservation": {
+ "description": "The percentage of available memory reserved for a virtual machine of this class.\nIf unset, no memory reservation is requested for virtual machine.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "description": {
+ "description": "Description of the VM class.",
+ "type": "string"
+ },
+ "namespaces": {
+ "description": "Set of Namespaces associated with this VM class.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.namespaces.Instance.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "vms": {
+ "description": "Set of virtual machines deployed for VM class.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: VirtualMachine.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "config_status": {
+ "description": "Configstatus of VM class",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesConfigStatus"
+ },
+ "messages": {
+ "description": "Current set of messages associated with the object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesMessage"
+ }
+ },
+ "devices": {
+ "description": "Virtual devices corresponding to the VM class.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesVirtualDevices"
+ },
+ "instance_storage": {
+ "description": "Instance storage associated with the VM class.\nIf unset, no instance storage is present.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesInstanceStorage"
+ }
+ },
+ "required": [
+ "id",
+ "cpu_count",
+ "memory_MB",
+ "description",
+ "namespaces",
+ "vms",
+ "config_status",
+ "messages"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesInstanceStorage": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "Policy corresponding to the instance storage. To use VM class with instance storage, this policy should also be associated with Supervisor namespace. See vcenter.namespaces.Instances.StorageSpec.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "volumes": {
+ "description": "List of instance storage volumes. At least one volume is required when configuring a VM class with instance storage.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesInstanceStorageVolume"
+ }
+ }
+ },
+ "required": [
+ "policy",
+ "volumes"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesInstanceStorageVolume": {
+ "type": "object",
+ "properties": {
+ "size": {
+ "description": "The size of instance storage volume in mebibytes (MiB) available for the virtual machine of this class",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "size"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesMessage": {
+ "type": "object",
+ "properties": {
+ "severity": {
+ "description": "Type of the message.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesMessageMessageSeverity"
+ },
+ "details": {
+ "description": "Details about the message.\nIf unset, message details are not required for taking actions.",
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "required": [
+ "severity"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesMessageMessageSeverity": {
+ "type": "string",
+ "description": "The VirtualMachineClasses.Message.MessageSeverity enumerated type represents the severity of the message.",
+ "enum": [
+ "INFO",
+ "WARNING",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesUpdate": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesUpdateSpec",
+ "description": "Information about the VM class object to be updated."
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "cpu_count": {
+ "description": "The number of CPUs configured for virtual machine of this class.\nIf unset the current value the will not be modified.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cpu_reservation": {
+ "description": "The percentage of total available CPUs reserved for a virtual machine. We multiply this percentage by the minimum frequency amongst all the cluster nodes to get the CPU reservation that is specified to vSphere in MHz.\nIf unset, no CPU reservation is requested for the virtual machine.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_MB": {
+ "description": "The amount of memory in MB configured for virtual machine of this class.\nIf unset the current value the will not be modified.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_reservation": {
+ "description": "The percentage of available memory reserved for a virtual machine of this class. Memory reservation must be set to 100% for VM class with vGPU or Dynamic DirectPath I/O devices.\nIf unset, no memory reservation is requested for virtual machine.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "description": {
+ "description": "Description for the VM class.\nIf unset, description is not updated.",
+ "type": "string"
+ },
+ "devices": {
+ "description": "Virtual devices corresponding to the VM class.\nIf unset, virtual devices will not be updated.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesVirtualDevices"
+ },
+ "instance_storage": {
+ "description": "Instance storage associated with the VM class.\nIf unset, instance storage specification will not be updated.",
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesInstanceStorage"
+ }
+ }
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesVGPUDevice": {
+ "type": "object",
+ "properties": {
+ "profile_name": {
+ "description": "Profile name corresponding to the device.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "profile_name"
+ ]
+ },
+ "VcenterNamespaceManagementVirtualMachineClassesVirtualDevices": {
+ "type": "object",
+ "properties": {
+ "vgpu_devices": {
+ "description": "List of vGPU devices.\nIf unset, no vGPU devices are present.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesVGPUDevice"
+ }
+ },
+ "dynamic_direct_path_IO_devices": {
+ "description": "List of Dynamic DirectPath I/O devices.\nIf unset, no Dynamic DirectPath I/O devices are present.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespaceManagementVirtualMachineClassesDynamicDirectPathIODevice"
+ }
+ }
+ }
+ },
+ "VcenterNamespacesAccessCreate": {
+ "$ref": "#/components/schemas/VcenterNamespacesAccessCreateSpec",
+ "description": "Information about the access control to be created."
+ },
+ "VcenterNamespacesAccessCreateSpec": {
+ "type": "object",
+ "properties": {
+ "role": {
+ "description": "Role to be assigned.",
+ "$ref": "#/components/schemas/VcenterNamespacesAccessRole"
+ }
+ },
+ "required": [
+ "role"
+ ]
+ },
+ "VcenterNamespacesAccessInfo": {
+ "type": "object",
+ "properties": {
+ "role": {
+ "description": "Role of the subject on the namespace.",
+ "$ref": "#/components/schemas/VcenterNamespacesAccessRole"
+ },
+ "inherited": {
+ "description": "Flag to indicate if the Access.Info.role is direct or inherited. The value is set to true if the Access.Info.role is inherited from group membership\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "role"
+ ]
+ },
+ "VcenterNamespacesAccessRole": {
+ "type": "string",
+ "description": "The Access.Role enumerated type lists the default roles which can be associated with a subject on a domain on the namespace.",
+ "enum": [
+ "OWNER",
+ "EDIT",
+ "VIEW"
+ ]
+ },
+ "VcenterNamespacesAccessSet": {
+ "$ref": "#/components/schemas/VcenterNamespacesAccessSetSpec",
+ "description": "Information about the new access control to be assigned."
+ },
+ "VcenterNamespacesAccessSetSpec": {
+ "type": "object",
+ "properties": {
+ "role": {
+ "description": "Role to be assigned.",
+ "$ref": "#/components/schemas/VcenterNamespacesAccessRole"
+ }
+ },
+ "required": [
+ "role"
+ ]
+ },
+ "VcenterNamespacesAccessSubjectType": {
+ "type": "string",
+ "description": "The Access.SubjectType enumerated type lists the types of subjects who can be associated with a Access.Role on the namespace.",
+ "enum": [
+ "USER",
+ "GROUP"
+ ]
+ },
+ "VcenterNamespacesInstancesAccess": {
+ "type": "object",
+ "properties": {
+ "subject_type": {
+ "description": "Type of the subject.",
+ "$ref": "#/components/schemas/VcenterNamespacesAccessSubjectType"
+ },
+ "subject": {
+ "description": "Name of the subject.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "Domain of the subject.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Role of the subject on the namespace instance.",
+ "$ref": "#/components/schemas/VcenterNamespacesAccessRole"
+ }
+ },
+ "required": [
+ "subject_type",
+ "subject",
+ "domain",
+ "role"
+ ]
+ },
+ "VcenterNamespacesInstancesConfigStatus": {
+ "type": "string",
+ "description": "The Instances.ConfigStatus enumerated type describes the status of reaching the desired state configuration for the namespace.",
+ "enum": [
+ "CONFIGURING",
+ "REMOVING",
+ "RUNNING",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespacesInstancesCreate": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesCreateSpec",
+ "description": "The specification for setting up the namespace."
+ },
+ "VcenterNamespacesInstancesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier of the cluster on which the namespace is being created.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Identifier of the namespace. This has DNS_LABEL restrictions as specified in . This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name is unique across all Namespaces in this vCenter server. In this version, this maps to the name of a Kubernetes namespace.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description for the namespace.\nIf unset, no description is added to the namespace.",
+ "type": "string"
+ },
+ "resource_spec": {
+ "description": "Resource quota on the namespace. Refer to vcenter.namespace_management.NamespaceResourceOptions.Info#createResourceQuotaType and use vcenter.namespace_management.NamespaceResourceOptions#get for retrieving the type for the value for this field. For an example of this, see ResourceQuotaOptionsV1.\nIf unset, no resource limits will be set on the namespace.",
+ "type": "object"
+ },
+ "access_list": {
+ "description": "Access controls associated with the namespace.\nIf unset, only users with Administrator role can access the namespace.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesAccess"
+ }
+ },
+ "storage_specs": {
+ "description": "Storage associated with the namespace.\nIf unset, storage policies will not be associated with the namespace which will prevent users from being able to provision pods with persistent storage on the namespace. Users will be able to provision pods which use local storage.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesStorageSpec"
+ }
+ },
+ "networks": {
+ "description": "vSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing vcenter.namespace_management.Networks.Info structures.\nThe field must be left unset if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN as the network provider, since the network(s) for this namespace will be managed by NSX-T Container Plugin. If field is unset when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. The field currently accepts at most only 1 vSphere Namespaces network object reference.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.namespace_management.Network. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.namespace_management.Network.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "vm_service_spec": {
+ "description": "VM Service specification associated with the namespace.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesVMServiceSpec"
+ },
+ "creator": {
+ "description": "Creator of the namespace. Namespace self-service uses this field to populate the user who created this namespace.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesPrincipal"
+ },
+ "namespace_network": {
+ "description": "This field that accepts parameters to define a vSphere Namespace Network object that will automatically be associated with this Namespace. Networks created in this operation will be given an autogenerated ID and cannot be referenced by other Namespaces.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesNetworkCreateSpec"
+ }
+ },
+ "required": [
+ "cluster",
+ "namespace"
+ ]
+ },
+ "VcenterNamespacesInstancesInfo": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier for the vSphere cluster hosting the namespace.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "config_status": {
+ "description": "Current setting for Instances.ConfigStatus.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesConfigStatus"
+ },
+ "messages": {
+ "description": "Current set of messages associated with the object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesMessage"
+ }
+ },
+ "stats": {
+ "description": "Basic runtime statistics for the namespace.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesStats"
+ },
+ "description": {
+ "description": "Description of the namespace.",
+ "type": "string"
+ },
+ "resource_spec": {
+ "description": "Quotas on the namespace resources. Refer to vcenter.namespace_management.NamespaceResourceOptions#get for the type of the value for this field.\nIf unset, no resource constraints are associated with the namespace.",
+ "type": "object"
+ },
+ "access_list": {
+ "description": "Access controls associated with the namespace.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesAccess"
+ }
+ },
+ "storage_specs": {
+ "description": "Storage associated with the namespace.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesStorageSpec"
+ }
+ },
+ "networks": {
+ "description": "vSphere Networks associated with the namespace.\nThis field is unset if the cluster hosting this namespace uses NSXT_CONTAINER_PLUGIN as its network provider.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.namespace_management.Network. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.namespace_management.Network.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "vm_service_spec": {
+ "description": "VM Service specification associated with the namespace.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesVMServiceSpec"
+ },
+ "creator": {
+ "description": "Creator of the namespace. Namespace self-service uses this field to populate the user who created this namespace.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesPrincipal"
+ },
+ "self_service_namespace": {
+ "description": "Flag to indicate the self service namespace.\nIf unset, the namespace is not marked as self service namespace.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "cluster",
+ "config_status",
+ "messages",
+ "stats",
+ "description",
+ "access_list",
+ "storage_specs"
+ ]
+ },
+ "VcenterNamespacesInstancesIpv4Cidr": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The IPv4 address.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The CIDR prefix.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "address",
+ "prefix"
+ ]
+ },
+ "VcenterNamespacesInstancesLoadBalancerSize": {
+ "type": "string",
+ "description": "The Instances.LoadBalancerSize enumerates the kinds of load balancer sizes supported by NSX. Small load balancer can host 10 to 20 virtual servers depending on NSX-T version. Medium load balancer can host 100 virtual servers. Large load balancer can host 1000 virtual servers.",
+ "enum": [
+ "SMALL",
+ "MEDIUM",
+ "LARGE"
+ ]
+ },
+ "VcenterNamespacesInstancesMessage": {
+ "type": "object",
+ "properties": {
+ "severity": {
+ "description": "Type of the message.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesMessageMessageSeverity"
+ },
+ "details": {
+ "description": "Details about the message.\nIf unset, message details are not required for taking actions.",
+ "$ref": "#/components/schemas/VapiStdLocalizableMessage"
+ }
+ },
+ "required": [
+ "severity"
+ ]
+ },
+ "VcenterNamespacesInstancesMessageMessageSeverity": {
+ "type": "string",
+ "description": "The Instances.Message.MessageSeverity enumerated type represents the severity of the message.",
+ "enum": [
+ "INFO",
+ "WARNING",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespacesInstancesNetworkCreateSpec": {
+ "type": "object",
+ "properties": {
+ "network_provider": {
+ "description": "The network provider that will manage the vSphere Namespaces network object.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesNetworkProvider"
+ },
+ "network": {
+ "description": "The create spec for an NSXT-backed Namespaces network configuration, supported by NSXT_CONTAINER_PLUGIN network provider.\nThis field is optional and it is only relevant when the value of Instances.NetworkCreateSpec.network-provider is NSXT_CONTAINER_PLUGIN.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesNsxNetworkCreateSpec"
+ }
+ },
+ "required": [
+ "network_provider"
+ ]
+ },
+ "VcenterNamespacesInstancesNetworkProvider": {
+ "type": "string",
+ "description": "Identifies the network plugin that networking functionalities for this vSphere Namespace.",
+ "enum": [
+ "NSXT_CONTAINER_PLUGIN",
+ "VSPHERE_NETWORK"
+ ]
+ },
+ "VcenterNamespacesInstancesNsxNetworkCreateSpec": {
+ "type": "object",
+ "properties": {
+ "namespace_network_cidrs": {
+ "description": "CIDR blocks from which Kubernetes allocates IP addresss for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs. This range should not overlap with those in Instances.NsxNetworkCreateSpec.ingress-cidrs, Instances.NsxNetworkCreateSpec.egress-cidrs, or other services running in the datacenter.\nThis field is required when Instances.NsxNetworkCreateSpec.nsx-tier0-gateway or any of Instances.NsxNetworkCreateSpec.ingress-cidrs, Instances.NsxNetworkCreateSpec.egress-cidrs are specified. An update operation only allows for addition of new CIDR blocks to the existing list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesIpv4Cidr"
+ }
+ },
+ "ingress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in Instances.NsxNetworkCreateSpec.namespace-network-cidrs, Instances.NsxNetworkCreateSpec.egress-cidrs, or other services running in the datacenter.\nThis field is required when Instances.NsxNetworkCreateSpec.nsx-tier0-gateway or any of Instances.NsxNetworkCreateSpec.namespace-network-cidrs, Instances.NsxNetworkCreateSpec.egress-cidrs are specified. An update operation only allows for addition of new CIDR blocks to the existing list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesIpv4Cidr"
+ }
+ },
+ "egress_cidrs": {
+ "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in Instances.NsxNetworkCreateSpec.namespace-network-cidrs, Instances.NsxNetworkCreateSpec.ingress-cidrs, or other services running in the datacenter.\nThis field is required when Instances.NsxNetworkCreateSpec.routed-mode is set to False and Instances.NsxNetworkCreateSpec.nsx-tier0-gateway or any of Instances.NsxNetworkCreateSpec.namespace-network-cidrs, Instances.NsxNetworkCreateSpec.ingress-cidrs is specified. When Instances.NsxNetworkCreateSpec.routed-mode is set to True, this field is not allowed. An update operation only allows for addition of new CIDR blocks to the existing list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesIpv4Cidr"
+ }
+ },
+ "nsx_tier0_gateway": {
+ "description": "NSX Tier0 Gateway used for this namespace. This field does not allow update once applied.\nIf unset, cluster level settings specified in vcenter.namespace_management.Clusters.NCPClusterNetworkInfo#nsxTier0Gateway will be applied.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXTier0Gateway. When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXTier0Gateway.",
+ "type": "string"
+ },
+ "subnet_prefix_length": {
+ "description": "Size of the subnet reserved for namespace segments.\nIf unset, cluster level settings specified in vcenter.namespace_management.Clusters.NCPClusterNetworkInfo#namespaceSubnetPrefix will be applied.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "routed_mode": {
+ "description": "Routed mode for this namespace. When set to True, the traffic in the namespace is not NATed.\nIf unset, defaults to False. When this field is set to True, Instances.NsxNetworkCreateSpec.egress-cidrs is not allowed. This field does not allow update once applied.",
+ "type": "boolean"
+ },
+ "load_balancer_size": {
+ "description": "The size of the NSX Load Balancer used by the namespace. This field does not allow update once applied.\nIf unset, defaults to SMALL.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesLoadBalancerSize"
+ }
+ }
+ },
+ "VcenterNamespacesInstancesPrincipal": {
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "Name of the subject.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "Domain of the subject.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "subject",
+ "domain"
+ ]
+ },
+ "VcenterNamespacesInstancesSet": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesSetSpec",
+ "description": "New specification for the namespace."
+ },
+ "VcenterNamespacesInstancesSetSpec": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the namespace.\nIf unset, the description of the namespace will be cleared.",
+ "type": "string"
+ },
+ "resource_spec": {
+ "description": "Resource quota for the namespace. This will replace the existing resource constraints on the namespace in entirety. Refer to vcenter.namespace_management.NamespaceResourceOptions.Info#createResourceQuotaType and use vcenter.namespace_management.NamespaceResourceOptions#get for retrieving the type for the value for this field. For an example of this, see ResourceQuotaOptionsV1.\nIf unset, the resource constraints on the namespace will be cleared.",
+ "type": "object"
+ },
+ "access_list": {
+ "description": "Access control associated with the namespace.\nIf unset, the existing access controls on the namespace will be removed and users will not be able to access this namespace to create new pods. Existing pods from users will continue to run.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesAccess"
+ }
+ },
+ "storage_specs": {
+ "description": "Storage associated with the namespace.\nIf unset, the existing storage policies will be disassociated with the namespace and existing limits will be cleared. Pods which are already using persistent storage from the earlier version of storage policies will be able to access them till the datastores are attached to the worker nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesStorageSpec"
+ }
+ },
+ "vm_service_spec": {
+ "description": "VM Service specification associated with the namespace.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesVMServiceSpec"
+ }
+ }
+ },
+ "VcenterNamespacesInstancesStats": {
+ "type": "object",
+ "properties": {
+ "cpu_used": {
+ "description": "Overall CPU usage of the namespace, in MHz. This is the sum of CPU usage across all pods in the Kubernetes namespace.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_used": {
+ "description": "Overall memory usage of the namespace (in mebibytes). This is the sum of memory usage across all pods.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "storage_used": {
+ "description": "Overall storage used by the namespace (in mebibytes). This is the sum of storage used by pods across all datastores in the cluster associated with storage policies configured for the namespace.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "cpu_used",
+ "memory_used",
+ "storage_used"
+ ]
+ },
+ "VcenterNamespacesInstancesStorageSpec": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "ID of the storage policy. A Kubernetes storage class is created for this storage policy if it does not exist already.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "limit": {
+ "description": "The maximum amount of storage (in mebibytes) which can be utilized by the namespace for this specification.\nIf unset, no limits are placed.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "policy"
+ ]
+ },
+ "VcenterNamespacesInstancesSummary": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier for the vSphere cluster hosting the namespace.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Identifier of the namespace.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the namespace.",
+ "type": "string"
+ },
+ "config_status": {
+ "description": "Current setting for Instances.ConfigStatus.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesConfigStatus"
+ },
+ "stats": {
+ "description": "Basic runtime statistics for the namespace.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesStats"
+ },
+ "self_service_namespace": {
+ "description": "Flag to indicate the self service namespace.\nIf unset, the namespace is not marked as self service namespace.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "cluster",
+ "namespace",
+ "description",
+ "config_status",
+ "stats"
+ ]
+ },
+ "VcenterNamespacesInstancesUpdate": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesUpdateSpec",
+ "description": "Specification for updating the namespace."
+ },
+ "VcenterNamespacesInstancesUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the namespace.\nIf unset, the description of the namespace will not be modified.",
+ "type": "string"
+ },
+ "resource_spec": {
+ "description": "Resource quota updates on the namespace. Refer to vcenter.namespace_management.NamespaceResourceOptions.Info#updateResourceQuotaType and use vcenter.namespace_management.NamespaceResourceOptions#get for retrieving the type for the value for this field. For an example of this, see ResourceQuotaOptionsV1Update.\nIf unset, the resource constraints on the namespace will not be modified.",
+ "type": "object"
+ },
+ "access_list": {
+ "description": "Access control associated with the namespace.\nIf unset, access controls on the namespace will not be modified. Existing pods from users will continue to run.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesAccess"
+ }
+ },
+ "storage_specs": {
+ "description": "Storage associated with the namespace.\nIf unset, storage policies and their limit will not be modified. Pods which are already using persistent storage from the earlier version of storage policies will be able to access them till the datastores are attached to the worker nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesStorageSpec"
+ }
+ },
+ "vm_service_spec": {
+ "description": "VM Service specification associated with the namespace.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesVMServiceSpec"
+ }
+ }
+ },
+ "VcenterNamespacesInstancesVMServiceSpec": {
+ "type": "object",
+ "properties": {
+ "content_libraries": {
+ "description": "Set of content libraries for use by the VM Service. The content libraries specified should exist in vSphere inventory.\nThis field is optional because it was added in a newer version than its parent node.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: content.Library. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: content.Library.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "vm_classes": {
+ "description": "Set of VirtualMachineClasses for use by the VM Service. The class names specified here should exist in vSphere inventory. If this field is empty in an updated specification, all VirtualMachineClasses that are currently associated with the namespace will be disassociated from it. \n NOTE: Any change in virtual machine classes associated with the namespace will not impact existing VMs.\n\nThis field is optional because it was added in a newer version than its parent node.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.namespace_management.VirtualMachineClass. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.namespace_management.VirtualMachineClass.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterNamespacesNamespaceSelfServiceActivateTemplateSpec": {
+ "type": "object",
+ "properties": {
+ "template": {
+ "description": "Identifier of the namespace template that is being activated.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.NamespaceTemplate. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.NamespaceTemplate.",
+ "type": "string"
+ },
+ "permissions": {
+ "description": "Namespace Self Service permission to subjects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesNamespaceTemplatesSubject"
+ }
+ },
+ "resource_spec": {
+ "description": "Resource quotas that the template defines. Resource quota on the namespace. Refer to vcenter.namespace_management.NamespaceResourceOptions.Info#createResourceQuotaType and use vcenter.namespace_management.NamespaceResourceOptions#get for retrieving the type for the value for this field. For an example of this, see ResourceQuotaOptionsV1.",
+ "type": "object"
+ },
+ "storage_specs": {
+ "description": "Storage associated with the self service namespace.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesStorageSpec"
+ }
+ },
+ "networks": {
+ "description": "vSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing vcenter.namespace_management.Networks.Info structures.\nThe field must be left unset if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN as the network provider, since the network(s) for this namespace will be managed by NSX-T Container Plugin. If field is unset when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. The field currently accepts at most only 1 vSphere Namespaces network object reference.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "vm_service_spec": {
+ "description": "VM Service specification to be associated with the namespace template. Namespaces created using this template will have access to the virtual machine classes and Content Libraries specified in the NamespaceSelfService.ActivateTemplateSpec.vm-service-spec by default.\nIf unset, the namespaces created using this template will not have access to any virtual machine classes and Content Libraries by default.",
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesVMServiceSpec"
+ }
+ },
+ "required": [
+ "template",
+ "permissions",
+ "resource_spec",
+ "storage_specs"
+ ]
+ },
+ "VcenterNamespacesNamespaceSelfServiceActivateWithTemplate": {
+ "$ref": "#/components/schemas/VcenterNamespacesNamespaceSelfServiceActivateTemplateSpec",
+ "description": "Specification for activating namespace self service on the cluster by granting users/groups to create Supervisor Namespaces."
+ },
+ "VcenterNamespacesNamespaceSelfServiceCapability": {
+ "type": "string",
+ "description": "The NamespaceSelfService.Capability enumerated type describes the self-service namespace capability of the cluster on which vSphere Namespaces enabled.",
+ "enum": [
+ "UNKNOWN",
+ "SUPPORTED",
+ "NOTSUPPORTED"
+ ]
+ },
+ "VcenterNamespacesNamespaceSelfServiceInfo": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier for the cluster to which namespace service is associated.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "capability": {
+ "description": "The self-service namespace capability of the cluster with vSphere Namespaces enabled.",
+ "$ref": "#/components/schemas/VcenterNamespacesNamespaceSelfServiceCapability"
+ },
+ "status": {
+ "description": "The current status of the namespace-self-service.",
+ "$ref": "#/components/schemas/VcenterNamespacesNamespaceSelfServiceStatus"
+ },
+ "messages": {
+ "description": "Current set of messages associated with the object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterNamespacesInstancesMessage"
+ }
+ }
+ },
+ "required": [
+ "cluster",
+ "capability",
+ "status",
+ "messages"
+ ]
+ },
+ "VcenterNamespacesNamespaceSelfServiceStatus": {
+ "type": "string",
+ "description": "The page describes the status of the namespace self-service on the cluster on which vSphere Namespaces enabled.",
+ "enum": [
+ "CONFIGURING",
+ "RUNNING",
+ "REMOVING",
+ "DEACTIVATED",
+ "ERROR"
+ ]
+ },
+ "VcenterNamespacesNamespaceSelfServiceSummary": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier for the cluster to which namespace service is associated.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "capability": {
+ "description": "The self-service namespace capability of the cluster with vSphere Namespaces enabled.",
+ "$ref": "#/components/schemas/VcenterNamespacesNamespaceSelfServiceCapability"
+ },
+ "status": {
+ "description": "The current status of the namespace-self-service.",
+ "$ref": "#/components/schemas/VcenterNamespacesNamespaceSelfServiceStatus"
+ }
+ },
+ "required": [
+ "cluster",
+ "capability",
+ "status"
+ ]
+ },
+ "VcenterNamespacesNamespaceTemplatesSubject": {
+ "type": "object",
+ "properties": {
+ "subject_type": {
+ "description": "Type of the subject.",
+ "$ref": "#/components/schemas/VcenterNamespacesAccessSubjectType"
+ },
+ "subject": {
+ "description": "Name of the subject.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "Domain of the subject.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "subject_type",
+ "subject",
+ "domain"
+ ]
+ },
+ "VcenterNamespacesUserInstancesSummary": {
+ "type": "object",
+ "properties": {
+ "namespace": {
+ "description": "Identifier of the namespace.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.Instance. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.Instance.",
+ "type": "string"
+ },
+ "master_host": {
+ "description": "IP address or FQDN of the API endpoint for the given namespace.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "namespace",
+ "master_host"
+ ]
+ },
+ "VcenterTaggingAssociationsIterationSpec": {
+ "type": "object",
+ "properties": {
+ "marker": {
+ "description": "Marker is an opaque token that allows the caller to request the next page of tag associations.\nIf unset or empty, first page of tag associations will be returned.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.tagging.associations.Marker. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.tagging.associations.Marker.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterTaggingAssociationsLastIterationStatus": {
+ "type": "string",
+ "description": "The last status for the iterator. A field of this type is returned as part of the result and indicates to the caller of the API whether it can continue to make requests for more data. \n The last status only reports on the state of the iteration at the time data was last returned. As a result, it not does guarantee if the next call will succeed in getting more data or not. \n\n Failures to retrieve results will be returned as Error responses. These last statuses are only returned when the iterator is operating as expected.\n",
+ "enum": [
+ "READY",
+ "END_OF_DATA"
+ ]
+ },
+ "VcenterTaggingAssociationsListResult": {
+ "type": "object",
+ "properties": {
+ "associations": {
+ "description": "List of tag associations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTaggingAssociationsSummary"
+ }
+ },
+ "marker": {
+ "description": "Marker is an opaque data structure that allows the caller to request the next page of tag associations.\nIf unset or empty, there are no more tag associations to request.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.tagging.associations.Marker. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.tagging.associations.Marker.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The last status for the iterator that indicates whether any more results can be expected if the caller continues to make requests for more data using the iterator.",
+ "$ref": "#/components/schemas/VcenterTaggingAssociationsLastIterationStatus"
+ }
+ },
+ "required": [
+ "associations",
+ "status"
+ ]
+ },
+ "VcenterTaggingAssociationsSummary": {
+ "type": "object",
+ "properties": {
+ "tag": {
+ "description": "The identifier of a tag.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.tagging.Tag. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.tagging.Tag.",
+ "type": "string"
+ },
+ "object": {
+ "description": "The identifier of an associated object.",
+ "$ref": "#/components/schemas/VapiStdDynamicID"
+ }
+ },
+ "required": [
+ "tag",
+ "object"
+ ]
+ },
+ "VcenterTrustedInfrastructureAttestationServicesCreate": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureAttestationServicesCreateSpec",
+ "description": "The CreateSpec for the new service."
+ },
+ "VcenterTrustedInfrastructureAttestationServicesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ },
+ "group": {
+ "description": "The group specifies the Key Provider Service instances that can accept reports issued by this Attestation Service instance.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Attestation Service belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "trusted_CA",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureAttestationServicesFilterSpec": {
+ "type": "object",
+ "properties": {
+ "services": {
+ "description": "A set of IDs by which to filter the services.\nIf unset, the services will not be filtered by ID.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.trusted_infrastructure.attestation.Service. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "address": {
+ "description": "A set of address by which to filter.\nIf unset, the services will not be filtered by address.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ }
+ },
+ "group": {
+ "description": "The group specifies the Key Provider Service instances that can accept reports issued by this Attestation Service instance.\nIf unset, the services will not be filtered by group.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Attestation Service belongs to.\nIf unset, the services will not be filtered by trustAuthorityCluster.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureAttestationServicesInfo": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ },
+ "group": {
+ "description": "The group specifies the Key Provider Service instances that can accept reports issued by this Attestation Service instance.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Attestation Service belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "trusted_CA",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureAttestationServicesList": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureAttestationServicesFilterSpec",
+ "description": "Return only services matching the specified filters.\nIf {@term.unset} return all services."
+ },
+ "VcenterTrustedInfrastructureAttestationServicesSummary": {
+ "type": "object",
+ "properties": {
+ "service": {
+ "description": "The service's unique identifier.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "group": {
+ "description": "The group specifies the Key Provider Service instances that can accept reports issued by this Attestation Service instance.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Attestation Service instance belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "service",
+ "address",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureKmsServicesCreate": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureKmsServicesCreateSpec",
+ "description": "The CreateSpec for the new service."
+ },
+ "VcenterTrustedInfrastructureKmsServicesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ },
+ "group": {
+ "description": "The group determines the Attestation Service instances this Key Provider service can accept reports from.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "trusted_CA",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureKmsServicesFilterSpec": {
+ "type": "object",
+ "properties": {
+ "services": {
+ "description": "A set of IDs by which to filter the services.\nIf unset, the services will not be filtered by ID.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.trusted_infrastructure.kms.Service. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "address": {
+ "description": "A set of address by which to filter.\nIf unset, the services will not be filtered by address.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ }
+ },
+ "group": {
+ "description": "The group determines the Attestation Service instances this Key Provider Service can accept reports from.\nIf unset, the Services will not be filtered by group.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.\nIf unset, the Services will not be filtered by trustAuthorityCluster.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureKmsServicesInfo": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ },
+ "group": {
+ "description": "The group determines the Attestation Service instances this Key Provider Service can accept reports from.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "trusted_CA",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureKmsServicesList": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureKmsServicesFilterSpec",
+ "description": "Return only services matching the specified filters.\nIf {@term.unset} return all services."
+ },
+ "VcenterTrustedInfrastructureKmsServicesSummary": {
+ "type": "object",
+ "properties": {
+ "service": {
+ "description": "The service's unique identifier.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "group": {
+ "description": "The group determines the Attestation Service instances this Key Provider Service can accept reports from.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Key Provider service belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "service",
+ "address",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureNetworkAddress": {
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "The IP address or DNS resolvable name of the service.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port of the service.\nIf unset, port 443 will be used.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "hostname"
+ ]
+ },
+ "VcenterTrustedInfrastructurePrincipalInfo": {
+ "type": "object",
+ "properties": {
+ "certificates": {
+ "description": "The certificates used by the STS to sign tokens for this vCenter.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ }
+ },
+ "issuer": {
+ "description": "The service which created and signed the security token.",
+ "type": "string"
+ },
+ "principal": {
+ "description": "The principal used by this vCenter instance to retrieve tokens. Currently this is the vCenter solution user.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureStsPrincipal"
+ },
+ "name": {
+ "description": "The user-friednly name of the vCenter.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "certificates",
+ "issuer",
+ "principal",
+ "name"
+ ]
+ },
+ "VcenterTrustedInfrastructureStsPrincipal": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The principal's ID.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureStsPrincipalId"
+ },
+ "type": {
+ "description": "The type of the principal (user or group).",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureStsPrincipalType"
+ }
+ },
+ "required": [
+ "id",
+ "type"
+ ]
+ },
+ "VcenterTrustedInfrastructureStsPrincipalId": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The principal's username.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "The principal's domain.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "domain"
+ ]
+ },
+ "VcenterTrustedInfrastructureStsPrincipalType": {
+ "type": "string",
+ "description": "The StsPrincipalType enum can be either users or groups.",
+ "enum": [
+ "STS_USER",
+ "STS_GROUP"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationOsEsxBaseImagesFilterSpec": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Search criteria by ESX base image version numbers.\nversion if {@term.unset} return all ESX version numbers.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "display_name": {
+ "description": "Search criteria by ESX base image version version numbers.\ndisplayName if {@term.unset} return all ESX display version numbers.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "health": {
+ "description": "Search criteria by health indicator.\nhealth if {@term.unset} return all health indicators.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationOsEsxBaseImagesHealth"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationOsEsxBaseImagesHealth": {
+ "type": "string",
+ "enum": [
+ "NONE",
+ "OK",
+ "WARNING",
+ "ERROR"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationOsEsxBaseImagesImportFromImgdbTask": {
+ "type": "string",
+ "format": "binary",
+ "description": "ESX metadata on a cluster level."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2CaCertificatesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "A unique name for the TPM CA certificate.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate.",
+ "type": "string"
+ },
+ "cert_chain": {
+ "description": "The CA certificate chain. \n Certificates may either be added one at a time, or as a chain. Adding the certificates as a chain allows the group to be managed as a whole. For example, an entire chain can be deleted in one CaCertificates.delete operation. \n\n When certificates are added one at a time, the order must be root first, followed by any intermediates. The intermediates certificates must also be ordered in the direction from root to leaf. \n\n Similarly, when added as a chain the list must be ordered in the direction from root to leaf.\n\nIf unset creation will fail.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2CaCertificatesCreateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2CaCertificatesCreateSpec",
+ "description": "The new CA certificate details."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2EndorsementKeysCreateSpec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "A unique name for the TPM endorsement key. \n The unique name should be something that an administrator can use to easily identify the remote system. For example, the hostname, or hardware UUID.\n\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey.",
+ "type": "string"
+ },
+ "public_key": {
+ "description": "TPM public endorsement key in PEM format.\nIf unset EndorsementKeys.CreateSpec.certificate must be set.",
+ "type": "string"
+ },
+ "certificate": {
+ "description": "TPM endorsement key certificate in PEM format. \n When a endorsement key certificate is provided, it will be verified against the CA certificate list. Endorsement key certificates that are not signed by one of the CA certificates will be rejected. \n\n Using this format allows for failures to be caught during configuration rather than later during attestation.\n\nIf unset EndorsementKeys.CreateSpec.public-key must be set.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2EndorsementKeysCreateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2EndorsementKeysCreateSpec",
+ "description": "The configuration."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2SettingsUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "require_endorsement_keys": {
+ "description": "Require registered TPM endorsement keys.\nIf unset the current state will remain unchanged.",
+ "type": "boolean"
+ },
+ "require_certificate_validation": {
+ "description": "Require TPM endorsement key certificate validation.\nIf unset the current state will remain unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2SettingsUpdateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersAttestationTpm2SettingsUpdateSpec",
+ "description": "The settings."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsCreateSpec": {
+ "type": "object",
+ "properties": {
+ "certificates": {
+ "description": "The certificates used by the vCenter STS to sign tokens.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ }
+ },
+ "issuer_alias": {
+ "description": "A user-friendly alias of the service which created and signed the security token.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: esx.authentication.trust.security-token-issuer. When operations return a value of this structure as a result, the field will be an identifier for the resource type: esx.authentication.trust.security-token-issuer.",
+ "type": "string"
+ },
+ "issuer": {
+ "description": "The service which created and signed the security token.",
+ "type": "string"
+ },
+ "principal": {
+ "description": "The principal used by the vCenter to retrieve tokens.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureStsPrincipal"
+ }
+ },
+ "required": [
+ "certificates",
+ "issuer_alias",
+ "issuer",
+ "principal"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsCreateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsCreateSpec",
+ "description": "The CreateSpec specifying the connection information."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsFilterSpec": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The unqiue identifier of a connection profile.\nIf unset, no filtration will be performed by ID.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: esx.authentication.clientprofile. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: esx.authentication.clientprofile.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "principals": {
+ "description": "The principal used by the vCenter to retrieve tokens.\nIf unset, no filtration will be performed by principals.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureStsPrincipal"
+ }
+ },
+ "issuer": {
+ "description": "The service which created and signed the security token.\nIf unset, no filtration will be performed by issuer.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: esx.authentication.trust.security-token-issuer. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: esx.authentication.trust.security-token-issuer.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsListTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersConsumerPrincipalsFilterSpec",
+ "description": "A FilterSpec specifying the profiles to be listed.\nIf {@term.unset} return all policies."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersFilterSpec": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifies the cluster.\ncluster If {@term.unset} return all Trust Authority Clusters.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "state": {
+ "description": "The state of the TrustAuthorityClusters.\nstate If {@term.unset} return all Trust Authority Clusters.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersState"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersInfo": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifies the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state of the cluster.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersState"
+ }
+ },
+ "required": [
+ "cluster",
+ "state"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersClientCertificateUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "Public certificate used by every host in the cluster.",
+ "type": "string"
+ },
+ "private_key": {
+ "description": "Private part of the certificate.\nIf unset, the update request is for a public/private client certificate pair, not for a signed CSR.",
+ "type": "string",
+ "format": "password"
+ }
+ },
+ "required": [
+ "certificate"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersClientCertificateUpdateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersClientCertificateUpdateSpec",
+ "description": "The update spec."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCreateSpec": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider. \n A unique string chosen by the client.\n\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider.",
+ "type": "string"
+ },
+ "master_key_id": {
+ "description": "Master key ID created for the provider. \n A unique Key ID.\n",
+ "type": "string"
+ },
+ "key_server": {
+ "description": "Key server associated with this Provider.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerCreateSpec"
+ }
+ },
+ "required": [
+ "provider",
+ "master_key_id",
+ "key_server"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCreateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCreateSpec",
+ "description": "Provider information."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCredentialSetTask": {
+ "type": "string",
+ "format": "password",
+ "description": "KMIP KMS password or AWS access key."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersCurrentPeerCertificatesFilterSpec": {
+ "type": "object",
+ "properties": {
+ "server_names": {
+ "description": "Names that key server must have to match the filter (see CurrentPeerCertificates.Summary.server-name).\nIf unset or empty, key servers with any name match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "trusted": {
+ "description": "Trust status that server certificates must have to match the filter (see CurrentPeerCertificates.Summary.trusted).\nIf unset, trusted and untrusted server certificates match the filter.",
+ "type": "boolean"
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerCreateSpec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the key server.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerCreateSpecType"
+ },
+ "description": {
+ "description": "Description of the key server.\nIf unset, description will not be added.",
+ "type": "string"
+ },
+ "proxy_server": {
+ "description": "Proxy server configuration.\nIf unset, the key server will not use a proxy server.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "connection_timeout": {
+ "description": "Connection timeout in seconds.\nIf unset, connection timeout will not be set.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "kmip_server": {
+ "description": "Configuration information for Key Management Interoperability Protocol (KMIP) based key server.\nThis field is optional and it is only relevant when the value of Providers.KeyServerCreateSpec.type is KMIP.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKmipServerCreateSpec"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerCreateSpecType": {
+ "type": "string",
+ "description": "The Providers.KeyServerCreateSpec.Type enumerated type lists the key server types.",
+ "enum": [
+ "KMIP"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the key server. \n\n\nIf unset, key server type and configuration information will remain unchanged. In this case all key server configuration information fields (e.g KMIP) should be unset.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerUpdateSpecType"
+ },
+ "description": {
+ "description": "Description of the key server. \n\n\nIf unset, description will remain unchanged.",
+ "type": "string"
+ },
+ "proxy_server": {
+ "description": "Proxy server configuration. \n\n\nIf unset, proxy server configuration will remain unchanged.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "connection_timeout": {
+ "description": "Connection timeout in seconds. \n\n\nIf unset, connection timeout will remain unchanged.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "kmip_server": {
+ "description": "Configuration information for KMIP based key server. \n\n\nIf unset, kmip server configuration will remain unchanged.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKmipServerUpdateSpec"
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerUpdateSpecType": {
+ "type": "string",
+ "description": "The Providers.KeyServerUpdateSpec.Type enumerated type list the key server types.",
+ "enum": [
+ "KMIP"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKmipServerCreateSpec": {
+ "type": "object",
+ "properties": {
+ "servers": {
+ "description": "List of Key Management Interoperability Protocol (KMIP) compliant key servers. \n Key servers must be configured for active-active replication. If the server port is unset, a default value for KMIP's port will be used.\n",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersServer"
+ }
+ },
+ "username": {
+ "description": "Username for authentication.\nIf unset, no username will be added.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "servers"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKmipServerUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "servers": {
+ "description": "List of KMIP compliant key servers. \n Key servers must be configured for active-active replication. If the server port is unset, a default value for KMIP's port will be used. \n\n\n\nIf unset, server configuration will remain unchanged.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersServer"
+ }
+ },
+ "username": {
+ "description": "Username for authentication. \n\n\nIf unset, username will remain unchanged.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersServer": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the server. \n A unique string chosen by the client.\n",
+ "type": "string"
+ },
+ "address": {
+ "description": "The server's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ }
+ },
+ "required": [
+ "name",
+ "address"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersTrustedPeerCertificatesUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "certificates": {
+ "description": "Public certificates of key server to trust.\nIf unset, the trusted server certificates will not be updated.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersTrustedPeerCertificatesUpdateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersTrustedPeerCertificatesUpdateSpec",
+ "description": "The update spec"
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "master_key_id": {
+ "description": "Master key identifier created for the provider. \n A unique Key identifier. \n\n\n\nIf unset, masterKeyId will remain unchanged.",
+ "type": "string"
+ },
+ "key_server": {
+ "description": "Key server associated with this provider. \n\n\nIf unset, key server configuration will remain unchanged.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerUpdateSpec"
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersUpdateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersKmsProvidersUpdateSpec",
+ "description": "Provider information."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersState": {
+ "type": "string",
+ "enum": [
+ "ENABLE",
+ "DISABLE"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersSummary": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifies the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state of the TrustAuthorityClusters.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersState"
+ }
+ },
+ "required": [
+ "cluster",
+ "state"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "The state of the TrustAuthorityClusters.\nstate If {@term.unset} no operation is performed.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersState"
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityClustersUpdateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityClustersUpdateSpec",
+ "description": "The specification for update of a cluster."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsAttestationFilterSpec": {
+ "type": "object",
+ "properties": {
+ "hosts": {
+ "description": "A set of host IDs by which to filter the services.\nIf unset, the services will not be filtered by the hosts on which they run.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: HostSystem. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: HostSystem.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "clusters": {
+ "description": "A set of cluster IDs by which to filter the services.\nIf unset, the services will not be filtered by the clusters on which they run.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "address": {
+ "description": "The service's address.\nIf unset, the services will not be filtered by address.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ }
+ },
+ "groups": {
+ "description": "The group IDs determines which Attestation Service instances this Attestation Service can communicate with.\nIf unset, the services will not be filtered by groupId.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsAttestationInfo": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "description": "The trusted ESX on which the service runs.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "group": {
+ "description": "The group ID determines which Attestation Service instances this Attestation Service can communicate with.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "The opaque string identifier of the cluster in which the Attestation Service is part of.",
+ "type": "string"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ }
+ },
+ "required": [
+ "host",
+ "address",
+ "group",
+ "cluster",
+ "trusted_CA"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsAttestationList": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsAttestationFilterSpec",
+ "description": "Return details about Attestation Services matching the filter.\nIf {@term.unset} return all registered Attestation Services."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsAttestationSummary": {
+ "type": "object",
+ "properties": {
+ "summary_type": {
+ "description": "Defines the verbosity of the summary.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsAttestationSummaryType"
+ },
+ "host": {
+ "description": "The trusted ESX on which the service runs.\nThis field is optional and it is only relevant when the value of Attestation.Summary.summary-type is one of BRIEF, NORMAL, or FULL.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The service's address.\nThis field is optional and it is only relevant when the value of Attestation.Summary.summary-type is one of BRIEF, NORMAL, or FULL.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "group": {
+ "description": "The group ID determines which Attestation Service instances this Attestation Service can communicate with.\nThis field is optional and it is only relevant when the value of Attestation.Summary.summary-type is one of NORMAL or FULL.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "The opaque string identifier of the cluster in which the Attestation Service is part of.\nThis field is optional and it is only relevant when the value of Attestation.Summary.summary-type is one of NORMAL or FULL.",
+ "type": "string"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.\nThis field is optional and it is only relevant when the value of Attestation.Summary.summary-type is FULL.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ }
+ },
+ "required": [
+ "summary_type"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsAttestationSummaryType": {
+ "type": "string",
+ "description": "The connection information could include the certificates or be a shorter summary.",
+ "enum": [
+ "FULL",
+ "NORMAL",
+ "BRIEF"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsKmsFilterSpec": {
+ "type": "object",
+ "properties": {
+ "hosts": {
+ "description": "A set of host IDs by which to filter the services.\nIf unset, the services will not be filtered by the hosts on which they run.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: HostSystem. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: HostSystem.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "clusters": {
+ "description": "A set of cluster IDs by which to filter the services.\nIf unset, the services will not be filtered by the clusters on which they run.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "address": {
+ "description": "The service's address.\nIf unset, the services will not be filtered by address.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ }
+ },
+ "groups": {
+ "description": "The group determines reports issued by which Attestation Service instances this Key Provider Service can accept.\nIf unset, the services will not be filtered by groupId.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsKmsInfo": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "description": "The trusted ESX on which the service runs.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "group": {
+ "description": "The group ID determines which Attestation Service instances this Key Provider Service can communicate with.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "The opaque string identifier of the cluster in which the Key Provider Service is part of.",
+ "type": "string"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ }
+ },
+ "required": [
+ "host",
+ "address",
+ "group",
+ "cluster",
+ "trusted_CA"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsKmsList": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsKmsFilterSpec",
+ "description": "Return details about Key Provider Services matching the filter.\nIf {@term.unset} return all registered Key Provider Services."
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsKmsSummary": {
+ "type": "object",
+ "properties": {
+ "summary_type": {
+ "description": "Defines the verbosity of the summary.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustAuthorityHostsKmsSummaryType"
+ },
+ "host": {
+ "description": "The trusted ESX on which the service runs.\nThis field is optional and it is only relevant when the value of Kms.Summary.summary-type is one of BRIEF, NORMAL, or FULL.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The service's address.\nThis field is optional and it is only relevant when the value of Kms.Summary.summary-type is one of BRIEF, NORMAL, or FULL.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "group": {
+ "description": "The group ID determines which Attestation Service instances this Key Provider Service can communicate with.\nThis field is optional and it is only relevant when the value of Kms.Summary.summary-type is one of NORMAL or FULL.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "The opaque string identifier of the cluster in which the Key Provider Service is part of.\nThis field is optional and it is only relevant when the value of Kms.Summary.summary-type is one of NORMAL or FULL.",
+ "type": "string"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.\nThis field is optional and it is only relevant when the value of Kms.Summary.summary-type is FULL.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ }
+ },
+ "required": [
+ "summary_type"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustAuthorityHostsKmsSummaryType": {
+ "type": "string",
+ "description": "The connection information could include the certificates or be a shorter summary.",
+ "enum": [
+ "FULL",
+ "NORMAL",
+ "BRIEF"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesAppliedConfigFilterSpec": {
+ "type": "object",
+ "properties": {
+ "health": {
+ "description": "The health of the applied Attestation Service configuration.\nIf unset, no filtration will be performed by health.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesAppliedConfigHealth"
+ }
+ },
+ "address": {
+ "description": "The network address of the Attestation Service configured for use in the Trusted Cluster.\nIf unset, no filtration will be performed by network address.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesAppliedConfigHealth": {
+ "type": "string",
+ "description": "The ServicesAppliedConfig.Health enumerated type is an indicator for the consistency of the applied Attestation Service configuration in a cluster with respect to the desired state.",
+ "enum": [
+ "NONE",
+ "OK",
+ "ERROR"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesAppliedConfigListTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesAppliedConfigFilterSpec",
+ "description": "The specification for the subset of results desired to be returned.\nIf {@term.unset} all results are returned."
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Source of truth for the configuration of the Attestation Service.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesCreateSpecSourceType"
+ },
+ "service": {
+ "description": "The service's unique ID.\nThis field is optional and it is only relevant when the value of Services.CreateSpec.type is SERVICE.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The attestation cluster's unique ID.\nThis field is optional and it is only relevant when the value of Services.CreateSpec.type is CLUSTER.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesCreateSpecSourceType": {
+ "type": "string",
+ "description": "The Services.CreateSpec.SourceType enumerated type specifies the source of truth the Attestation Service will use for its configuration.",
+ "enum": [
+ "SERVICE",
+ "CLUSTER"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesCreateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesCreateSpec",
+ "description": "Describes the registered instance of the Attestation Service"
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesFilterSpec": {
+ "type": "object",
+ "properties": {
+ "services": {
+ "description": "A set of IDs by which to filter the services.\nIf unset, the services will not be filtered by ID.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.trusted_infrastructure.attestation.Service. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "address": {
+ "description": "The service's address.\nIf unset, the services will not be filtered by address.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ }
+ },
+ "group": {
+ "description": "The group specifies the Key Provider Service instances can accept reports issued by this Attestation Service instance.\nIf unset, the services will not be filtered by group.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Attestation Service instance belongs to.\nIf unset, the services will not be filtered by trustAuthorityCluster.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesInfo": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ },
+ "group": {
+ "description": "The group determines the Key Provider Service instances can accept reports issued by this Attestation Service instance.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Attestation Service belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "trusted_CA",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesList": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersAttestationServicesFilterSpec",
+ "description": "Only return services matching the filters.\nIf {@term.unset} return all services."
+ },
+ "VcenterTrustedInfrastructureTrustedClustersAttestationServicesSummary": {
+ "type": "object",
+ "properties": {
+ "service": {
+ "description": "The service's unique identifier.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.trusted_infrastructure.attestation.Service.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "group": {
+ "description": "The group specifies the Key Provider Service instances can accept reports issued by this Attestation Service instance.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Attestation Service belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "service",
+ "address",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesAppliedConfigFilterSpec": {
+ "type": "object",
+ "properties": {
+ "health": {
+ "description": "The health of the applied Key Provider Service configuration.\nIf unset, no filtration will be performed by health.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesAppliedConfigHealth"
+ }
+ },
+ "address": {
+ "description": "The network address of the Key Provider Service configured for use in the Trusted Cluster.\nIf unset, no filtration will be performed by network address.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesAppliedConfigHealth": {
+ "type": "string",
+ "description": "The ServicesAppliedConfig.Health enumerated type is an indicator for the consistency of the applied Key Provider Service configuration in a cluster with respect to the desired state.",
+ "enum": [
+ "NONE",
+ "OK",
+ "ERROR"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesAppliedConfigListTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesAppliedConfigFilterSpec",
+ "description": "The specification for the subset of results desired to be returned.\nIf {@term.unset} all results are returned."
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Source of truth for the configuration of the Key Provider Service.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesCreateSpecSourceType"
+ },
+ "service": {
+ "description": "The service's unique ID.\nThis field is optional and it is only relevant when the value of Services.CreateSpec.type is SERVICE.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The attestation cluster's unique ID.\nThis field is optional and it is only relevant when the value of Services.CreateSpec.type is CLUSTER.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesCreateSpecSourceType": {
+ "type": "string",
+ "description": "The Services.CreateSpec.SourceType enumerated type specifies source of truth the Key Provider Service will use for its configuration.",
+ "enum": [
+ "SERVICE",
+ "CLUSTER"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesCreateTask": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesCreateSpec",
+ "description": "Describes the registered instance of the Key Provider Service"
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesFilterSpec": {
+ "type": "object",
+ "properties": {
+ "services": {
+ "description": "A set of IDs by which to filter the services.\nIf unset, the services will not be filtered by ID.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.trusted_infrastructure.kms.Service. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "address": {
+ "description": "The service's address.\nIf unset, the services will not be filtered by address.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ }
+ },
+ "group": {
+ "description": "The group determines the Attestation Service instances this Key Provider Service can accept reports from.\nIf unset, the services will not be filtered by group.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Key Provider Service instance belongs to.\nIf unset, the services will not be filtered by trustAuthorityCluster.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesInfo": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "trusted_CA": {
+ "description": "The service's TLS certificate chain.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureX509CertChain"
+ },
+ "group": {
+ "description": "The group determines the Attestation Service instances this Key Provider Service can accept reports from.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "trusted_CA",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesList": {
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureTrustedClustersKmsServicesFilterSpec",
+ "description": "Only return services matching the filters.\nIf {@term.unset} return all services."
+ },
+ "VcenterTrustedInfrastructureTrustedClustersKmsServicesSummary": {
+ "type": "object",
+ "properties": {
+ "service": {
+ "description": "The service's unique identifier.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.trusted_infrastructure.kms.Service.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The service's address.",
+ "$ref": "#/components/schemas/VcenterTrustedInfrastructureNetworkAddress"
+ },
+ "group": {
+ "description": "The group determines the Attestation Service instances this Key Provider Service can accept reports from.",
+ "type": "string"
+ },
+ "trust_authority_cluster": {
+ "description": "The cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "service",
+ "address",
+ "group",
+ "trust_authority_cluster"
+ ]
+ },
+ "VcenterTrustedInfrastructureX509CertChain": {
+ "type": "object",
+ "properties": {
+ "cert_chain": {
+ "description": "Certificate chain in base64 format",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "cert_chain"
+ ]
+ },
+ "VcenterVmComputePoliciesInfo": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The compliance status of the policy on a specified object.",
+ "$ref": "#/components/schemas/VcenterComputePoliciesObjectCompliance"
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "VcenterVmGuestCredentials": {
+ "type": "object",
+ "properties": {
+ "interactive_session": {
+ "description": "If set, the operation will interact with the logged-in desktop session in the guest. This requires that the logged-on user matches the user specified by the Credentials. This is currently only supported for USERNAME_PASSWORD.",
+ "type": "boolean"
+ },
+ "type": {
+ "description": "The guest credentials type",
+ "$ref": "#/components/schemas/VcenterVmGuestCredentialsType"
+ },
+ "user_name": {
+ "description": "For SAML_BEARER_TOKEN, this is the guest user to be associated with the credentials. For USERNAME_PASSWORD this is the guest username.\nIf no user is specified for SAML_BEARER_TOKEN, a guest dependent mapping will decide what guest user account is applied.",
+ "type": "string"
+ },
+ "password": {
+ "description": "password\nThis field is optional and it is only relevant when the value of Credentials.type is USERNAME_PASSWORD.",
+ "type": "string",
+ "format": "password"
+ },
+ "saml_token": {
+ "description": "SAML Bearer Token\nThis field is optional and it is only relevant when the value of Credentials.type is SAML_BEARER_TOKEN.",
+ "type": "string",
+ "format": "password"
+ }
+ },
+ "required": [
+ "interactive_session",
+ "type"
+ ]
+ },
+ "VcenterVmGuestCredentialsType": {
+ "type": "string",
+ "description": "Types of guest credentials",
+ "enum": [
+ "USERNAME_PASSWORD",
+ "SAML_BEARER_TOKEN"
+ ]
+ },
+ "VcenterVmGuestEnvironmentGet": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The guest authentication data. See Credentials."
+ },
+ "VcenterVmGuestEnvironmentList": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The names of the variables to be read. If the set is empty, then all the environment variables are returned.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "VcenterVmGuestFilesystemDirectoriesCreate": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "Whether any parent directories should be created. If any failure occurs, some parent directories could be left behind.\nIf unset parent directories are not created.",
+ "type": "boolean"
+ },
+ "VcenterVmGuestFilesystemDirectoriesCreateTemporary": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The complete path to the directory in which to create the new directory.\nDirectory If unset a guest-specific default will be used.",
+ "type": "string"
+ },
+ "VcenterVmGuestFilesystemDirectoriesDelete": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "If true, all files and subdirectories are also deleted. If false, the directory must be empty for the operation to succeed.\nIf unset, any directory content is not deleted.",
+ "type": "boolean"
+ },
+ "VcenterVmGuestFilesystemDirectoriesMove": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The complete path to where the directory is moved or its new name. It cannot be a path to an existing directory or an existing file.",
+ "type": "string"
+ },
+ "VcenterVmGuestFilesystemFilesCreateTemporary": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The complete path to the directory in which to create the file.\nDirectory to use if specified, otherwise a guest-specific default will be used.",
+ "type": "string"
+ },
+ "VcenterVmGuestFilesystemFilesDelete": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The guest authentication data."
+ },
+ "VcenterVmGuestFilesystemFilesFileAttributesInfo": {
+ "type": "object",
+ "properties": {
+ "last_modified": {
+ "description": "The date and time the file was last modified.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "last_accessed": {
+ "description": "The date and time the file was last accessed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "symlink_target": {
+ "description": "The target for the file if it's a symbolic link. This is currently only set for Posix guest operating systems, but may be supported in the future on Windows guest operating systems that support symbolic links.\nSet if the file is a symbolic link.",
+ "type": "string"
+ },
+ "filesystem_family": {
+ "description": "The type of guest filesystem.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesFilesystemFamily"
+ },
+ "win_attributes": {
+ "description": "Windows-specific file information.\nThis field is optional and it is only relevant when the value of Files.FileAttributesInfo.filesystem-family is WINDOWS.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesWindowsFileAttributesInfo"
+ },
+ "posix_attributes": {
+ "description": "Posix-specific file information.\nThis field is optional and it is only relevant when the value of Files.FileAttributesInfo.filesystem-family is POSIX.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesPosixFileAttributesInfo"
+ }
+ },
+ "required": [
+ "last_modified",
+ "last_accessed",
+ "filesystem_family"
+ ]
+ },
+ "VcenterVmGuestFilesystemFilesFileAttributesUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "last_modified": {
+ "description": "The date and time the file was last modified.\nIf unset the value will not be changed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "last_accessed": {
+ "description": "The date and time the file was last accessed.\nIf unset the value will not be changed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "windows": {
+ "description": "Windows-specific file update information.\nSet if the guest operating system is Windows.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesWindowsFileAttributesUpdateSpec"
+ },
+ "posix": {
+ "description": "Posix-specific file update information.\nSet if the guest operating system is Posix.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesPosixFileAttributesUpdateSpec"
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesFilesystemFamily": {
+ "type": "string",
+ "description": "The Files.FilesystemFamily enumerated type defines the types of guest operating fllesystem.",
+ "enum": [
+ "WINDOWS",
+ "POSIX"
+ ]
+ },
+ "VcenterVmGuestFilesystemFilesFilterSpec": {
+ "type": "object",
+ "properties": {
+ "match_pattern": {
+ "description": "The perl-compatible regular expression used to filter the returned files.\nIf unset the pattern '.*' (match everything) is used.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesGet": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The guest authentication data."
+ },
+ "VcenterVmGuestFilesystemFilesInfo": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of file.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesType"
+ },
+ "size": {
+ "description": "The file size in bytes.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "attributes": {
+ "description": "Attributes of a file.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesFileAttributesInfo"
+ }
+ },
+ "required": [
+ "type",
+ "size",
+ "attributes"
+ ]
+ },
+ "VcenterVmGuestFilesystemFilesIterationSpec": {
+ "type": "object",
+ "properties": {
+ "size": {
+ "description": "Specifies the maximum number of results to return.\nIf unset information about at most 50 files will be returned.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "index": {
+ "description": "Which result to start the list with. If this value exceeds the number of results, an empty list will be returned.\nIf unset, the start of the list of files will be returned.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesLastIterationStatus": {
+ "type": "string",
+ "description": "The last status for the iterator. A field of this type is returned as part of the result and indicates to the caller of the API whether it can continue to make requests for more data. The last status only reports on the state of the iteration at the time data was last returned. As a result, it not does guarantee if the next call will succeed in getting more data or not. Failures to retrieve results will be returned as Error responses. These last statuses are only returned when the iterator is operating as expected.",
+ "enum": [
+ "READY",
+ "END_OF_DATA"
+ ]
+ },
+ "VcenterVmGuestFilesystemFilesList": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesFilterSpec",
+ "description": "Specification to match files for which information should be returned.\nIf unset, the behavior is the equivalent to a Files.FilterSpec with all fields unset which means all filenames match the filter.",
+ "type": "string"
+ },
+ "VcenterVmGuestFilesystemFilesListResult": {
+ "type": "object",
+ "properties": {
+ "files": {
+ "description": "A list of Files.Summary structures containing information for all the matching files.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesSummary"
+ }
+ },
+ "total": {
+ "description": "The total number of results from the Files.list. This is a hint to the user of the iterator regarding how many items are available to be retrieved. The total could change if the inventory of items are being changed.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "start_index": {
+ "description": "Positional index into the logical item list of the first item returned in the list of results. The first item in the logical item list has an index of 0. This is a hint to the user of the iterator regarding the logical position in the iteration. For example, this can be used to display to the user which page of the iteration is being shown. The total could change if the inventory of items are being changed.\nIf unset no items were returned.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "end_index": {
+ "description": "Positional index into the logical item list of the last item returned in the list of results. The first item in the logical item list has an index of 0. This is a hint to the user of the iterator regarding the logical position in the iteration. For example, this can be used to display to the user which page of the iteration is being shown. The total could change if the inventory of items are being changed.\nIf unset no items were returned.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "status": {
+ "description": "The last status for the iterator that indicates whether any more results can be expected if the caller continues to make requests for more data using the iterator.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesLastIterationStatus"
+ }
+ },
+ "required": [
+ "files",
+ "total",
+ "status"
+ ]
+ },
+ "VcenterVmGuestFilesystemFilesMove": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "If true, the destination file is overwritten.\nIf unset, the destination file is not overwritten.",
+ "type": "boolean"
+ },
+ "VcenterVmGuestFilesystemFilesPosixFileAttributesInfo": {
+ "type": "object",
+ "properties": {
+ "owner": {
+ "description": "The owner ID.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "group": {
+ "description": "The group ID.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "permissions": {
+ "description": "The file permissions in chmod(2) format. This field is presented as octal.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "owner",
+ "group",
+ "permissions"
+ ]
+ },
+ "VcenterVmGuestFilesystemFilesPosixFileAttributesUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "owner_id": {
+ "description": "The owner ID.\nIf unset the value will not be changed.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "group_id": {
+ "description": "The group ID.\nIf unset the value will not be changed.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "permissions": {
+ "description": "The file permissions in chmod(2) format. This field is interpreted as octal.\nIf unset the value will not be changed.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemFilesSummary": {
+ "type": "object",
+ "properties": {
+ "filename": {
+ "description": "The name of the file or directory with any leading directories removed.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of file.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesType"
+ },
+ "size": {
+ "description": "The file size in bytes.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "filename",
+ "type",
+ "size"
+ ]
+ },
+ "VcenterVmGuestFilesystemFilesType": {
+ "type": "string",
+ "description": "The Files.Type enumerated type defines the valid types of files.",
+ "enum": [
+ "FILE",
+ "DIRECTORY",
+ "SYMLINK"
+ ]
+ },
+ "VcenterVmGuestFilesystemFilesUpdate": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemFilesFileAttributesUpdateSpec",
+ "description": "Specifies the different file attributes of the guest file to be changed. See Files.FileAttributesUpdateSpec.",
+ "type": "string"
+ },
+ "VcenterVmGuestFilesystemFilesWindowsFileAttributesInfo": {
+ "type": "object",
+ "properties": {
+ "hidden": {
+ "description": "The file is hidden.",
+ "type": "boolean"
+ },
+ "read_only": {
+ "description": "The file is read-only.",
+ "type": "boolean"
+ },
+ "created": {
+ "description": "The date and time the file was created.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "hidden",
+ "read_only",
+ "created"
+ ]
+ },
+ "VcenterVmGuestFilesystemFilesWindowsFileAttributesUpdateSpec": {
+ "type": "object",
+ "properties": {
+ "hidden": {
+ "description": "The file is hidden.\nIf {term unset} the value will not be changed.",
+ "type": "boolean"
+ },
+ "read_only": {
+ "description": "The file is read-only.\nIf {term unset} the value will not be changed.",
+ "type": "boolean"
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemTransfersCreate": {
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemTransfersCreateSpec",
+ "description": "A specification of the type of file transfer and any applicable attibutes."
+ },
+ "VcenterVmGuestFilesystemTransfersCreateSpec": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "The complete destination path in the guest to transfer the file to or from the client. It cannot be a path to a directory or a symbolic link.",
+ "type": "string"
+ },
+ "attributes": {
+ "description": "Details about the file to be transferred into the guest.\nMust be set if the file is being transferred to the guest. Must not be set if the file is being transferred from the guest.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemTransfersFileCreationAttributes"
+ }
+ },
+ "required": [
+ "path"
+ ]
+ },
+ "VcenterVmGuestFilesystemTransfersFileCreationAttributes": {
+ "type": "object",
+ "properties": {
+ "size": {
+ "description": "The size in bytes of the file to be transferred into the guest.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "overwrite": {
+ "description": "Whether an existing file should be overwritten.\nIf unset any existing file will not be overwritten.",
+ "type": "boolean"
+ },
+ "last_modified": {
+ "description": "The date and time the file was last modified.\nIf unset the value will be the time when the file is transferred into the guest.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "last_accessed": {
+ "description": "The date and time the file was last accessed.\nIf unset the value will be the time when the file is transferred into the guest.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "windows": {
+ "description": "Windows-specific file creation information.\nIf unset, the behavior is equivalent to a Transfers.WindowsFileAttributesCreateSpec with all fields unset which means the defaults are used. May only be set if the guest operating system is Windows.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemTransfersWindowsFileAttributesCreateSpec"
+ },
+ "posix": {
+ "description": "Posix-specific file creation information.\nIf unset, the behavior is equivalent to a Transfers.PosixFileAttributesCreateSpec with all fields unset which means the defaults are used. May only be set if the guest operating system is Posix.",
+ "$ref": "#/components/schemas/VcenterVmGuestFilesystemTransfersPosixFileAttributesCreateSpec"
+ }
+ },
+ "required": [
+ "size"
+ ]
+ },
+ "VcenterVmGuestFilesystemTransfersPosixFileAttributesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "owner_id": {
+ "description": "The owner ID. If this property is not specified when passing a Transfers.PosixFileAttributesCreateSpec object to Transfers.create, the default value will be the owner Id of the user who invoked the file transfer operation.\nDefaults to uid of user invoking the operation.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "group_id": {
+ "description": "The group ID. If this property is not specified when passing a Transfers.PosixFileAttributesCreateSpec object to Transfers.create, the default value will be the group Id of the user who invoked the file transfer operation.\nDefaults to gid of user invoking the operation.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "permissions": {
+ "description": "The file permissions in chmod(2) format. If this property is not specified when passing a Transfers.PosixFileAttributesCreateSpec object to Transfers.create, the file will be created with 0644 permissions. This field is interpreted as octal.\nDefaults to 0644.",
+ "type": "string"
+ }
+ }
+ },
+ "VcenterVmGuestFilesystemTransfersWindowsFileAttributesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "hidden": {
+ "description": "The file is hidden.\nIf unset the file will not be hidden.",
+ "type": "boolean"
+ },
+ "read_only": {
+ "description": "The file is read-only.\nIf unset the file will be writeable.",
+ "type": "boolean"
+ }
+ }
+ },
+ "VcenterVmGuestOperationsInfo": {
+ "type": "object",
+ "properties": {
+ "guest_operations_ready": {
+ "description": "Guest operations availability. Whether or not the virtual machine is ready to process guest operations.",
+ "type": "boolean"
+ },
+ "interactive_guest_operations_ready": {
+ "description": "Interactive guest operations availability. Whether or not the virtual machine is ready to process interactive guest operations.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "guest_operations_ready",
+ "interactive_guest_operations_ready"
+ ]
+ },
+ "VcenterVmGuestProcessesCreate": {
+ "$ref": "#/components/schemas/VcenterVmGuestProcessesCreateSpec",
+ "description": "The arguments describing the program to be started."
+ },
+ "VcenterVmGuestProcessesCreateSpec": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "The absolute path to the program to start. \n For Linux guest operating systems, /bin/bash is used to start the program. \n\n For Solaris guest operating systems, if /bin/bash exists, its used to start the program, otherwise /bin/sh is used. If /bin/sh is used, then the process ID returned by Processes.create will be that of the shell used to start the program, rather than the program itself, due to the differences in how /bin/sh and /bin/bash work. This PID will still be usable for watching the process with Processes.list to find its exit code and elapsed time. \n\n For Windows, no shell is used. Using a simple batch file instead by prepending c:\\windows\\system32\\cmd.exe /c will allow stdio redirection to work if passed in the Processes.CreateSpec.arguments parameter.\n",
+ "type": "string"
+ },
+ "arguments": {
+ "description": "The arguments to the program. \n Characters which must be escaped to the shell should also be escaped in Processes.CreateSpec.arguments. \n\n In Linux and Solaris guest operating systems, stdio redirection arguments may be used. \n\n For Windows, stdio redirection can be added to the argments if Processes.CreateSpec.path is prefixed with c:\\windows\\system32\\cmd.exe /c.\n\nIf unset no arguments are passed to the program.",
+ "type": "string"
+ },
+ "working_directory": {
+ "description": "The absolute path of the working directory for the program to be run. VMware recommends explicitly setting the working directory for the program to be run.\n If unset or is an empty string, the behavior depends on the guest operating system. For Linux guest operating systems, if unset or is an empty string, the working directory will be the home directory of the user associated with the guest authentication. For other guest operating systems, if unset, the behavior is unspecified.",
+ "type": "string"
+ },
+ "environment_variables": {
+ "description": "A map of environment variables, specified using the guest OS rules (for example PATH, c:\\bin;c:\\windows\\system32 or LD_LIBRARY_PATH,/usr/lib:/lib), to be set for the program being run. Note that these are not additions to the default environment variables; they define the complete set available to the program.\nIf unset, the environment variables used are guest dependent defaults.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "start_minimized": {
+ "description": "Makes any program window start minimized in Windows operating systems. Returns an error if set for non-Windows guests.\nDefaults to false.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "path"
+ ]
+ },
+ "VcenterVmGuestProcessesDelete": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The guest authentication data. See Credentials."
+ },
+ "VcenterVmGuestProcessesGet": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The guest authentication data. See Credentials."
+ },
+ "VcenterVmGuestProcessesInfo": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The process name.",
+ "type": "string"
+ },
+ "owner": {
+ "description": "The process owner.",
+ "type": "string"
+ },
+ "command": {
+ "description": "The full command line of the process.",
+ "type": "string"
+ },
+ "started": {
+ "description": "The start time of the process.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "finished": {
+ "description": "If the process was started using Processes.create then the process completion time will be available if queried within 5 minutes after it completes.\nSet if the process was started with Processes.create and has recently exited.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "exit_code": {
+ "description": "If the process was started using Processes.create then the process exit code will be available if queried within 5 minutes after it completes.\nSet if the process was started with Processes.create and has recently exited.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "name",
+ "owner",
+ "command",
+ "started"
+ ]
+ },
+ "VcenterVmGuestProcessesList": {
+ "$ref": "#/components/schemas/VcenterVmGuestCredentials",
+ "description": "The guest authentication data. See Credentials."
+ },
+ "VcenterVmGuestProcessesSummary": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The process name.",
+ "type": "string"
+ },
+ "pid": {
+ "description": "The process ID.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "owner": {
+ "description": "The process owner.",
+ "type": "string"
+ },
+ "command": {
+ "description": "The full command line of the process.",
+ "type": "string"
+ },
+ "started": {
+ "description": "The start time of the process.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "name",
+ "pid",
+ "owner",
+ "command",
+ "started"
+ ]
+ },
+ "cis.task.progress": {
+ "type": "object",
+ "properties": {
+ "total": {
+ "description": "Total amount of the work for the operation.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "completed": {
+ "description": "The amount of work completed for the operation. The value can only be incremented.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "message": {
+ "description": "Message about the work progress.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "total",
+ "completed",
+ "message"
+ ]
+ },
+ "cis.task.status": {
+ "type": "string",
+ "description": "The Status enumerated type defines the status values that can be reported for an operation.",
+ "enum": [
+ "PENDING",
+ "RUNNING",
+ "BLOCKED",
+ "SUCCEEDED",
+ "FAILED"
+ ]
+ },
+ "vapi.std.dynamic_ID": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of resource being identified (for example {@code com.acme.Person}). {@term Services} that contain {@term operations} for creating and deleting resources typically contain a {@term constant} specifying the resource type for the resources being created and deleted. The API metamodel metadata {@term services} include a {@term service} that allows retrieving all the known resource types.",
+ "type": "string"
+ },
+ "id": {
+ "description": "The identifier for a resource whose type is specified by {@link #type}.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "id"
+ ]
+ },
+ "vapi.std.errors.already_exists": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.already_exists_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.already_exists"
+ }
+ }
+ },
+ "vapi.std.errors.already_in_desired_state": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.already_in_desired_state_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.already_in_desired_state"
+ }
+ }
+ },
+ "vapi.std.errors.error": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.error.type": {
+ "type": "string",
+ "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.",
+ "enum": [
+ "ERROR",
+ "ALREADY_EXISTS",
+ "ALREADY_IN_DESIRED_STATE",
+ "CANCELED",
+ "CONCURRENT_CHANGE",
+ "FEATURE_IN_USE",
+ "INTERNAL_SERVER_ERROR",
+ "INVALID_ARGUMENT",
+ "INVALID_ELEMENT_CONFIGURATION",
+ "INVALID_ELEMENT_TYPE",
+ "INVALID_REQUEST",
+ "NOT_ALLOWED_IN_CURRENT_STATE",
+ "NOT_FOUND",
+ "OPERATION_NOT_FOUND",
+ "RESOURCE_BUSY",
+ "RESOURCE_IN_USE",
+ "RESOURCE_INACCESSIBLE",
+ "SERVICE_UNAVAILABLE",
+ "TIMED_OUT",
+ "UNABLE_TO_ALLOCATE_RESOURCE",
+ "UNAUTHENTICATED",
+ "UNAUTHORIZED",
+ "UNEXPECTED_INPUT",
+ "UNSUPPORTED",
+ "UNVERIFIED_PEER"
+ ]
+ },
+ "vapi.std.errors.error_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.error"
+ }
+ }
+ },
+ "vapi.std.errors.internal_server_error": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.internal_server_error_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.internal_server_error"
+ }
+ }
+ },
+ "vapi.std.errors.invalid_argument": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.invalid_argument_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.invalid_argument"
+ }
+ }
+ },
+ "vapi.std.errors.invalid_element_configuration": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.invalid_element_configuration_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.invalid_element_configuration"
+ }
+ }
+ },
+ "vapi.std.errors.invalid_element_type": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.invalid_element_type_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.invalid_element_type"
+ }
+ }
+ },
+ "vapi.std.errors.invalid_request": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.invalid_request_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.invalid_request"
+ }
+ }
+ },
+ "vapi.std.errors.not_allowed_in_current_state": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.not_allowed_in_current_state_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_allowed_in_current_state"
+ }
+ }
+ },
+ "vapi.std.errors.not_found": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.not_found_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.not_found"
+ }
+ }
+ },
+ "vapi.std.errors.resource_busy": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.resource_busy_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_busy"
+ }
+ }
+ },
+ "vapi.std.errors.resource_in_use": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.resource_in_use_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_in_use"
+ }
+ }
+ },
+ "vapi.std.errors.resource_inaccessible": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.resource_inaccessible_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.resource_inaccessible"
+ }
+ }
+ },
+ "vapi.std.errors.service_unavailable": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.service_unavailable_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.service_unavailable"
+ }
+ }
+ },
+ "vapi.std.errors.timed_out": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.timed_out_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.timed_out"
+ }
+ }
+ },
+ "vapi.std.errors.unable_to_allocate_resource": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.unable_to_allocate_resource_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.unable_to_allocate_resource"
+ }
+ }
+ },
+ "vapi.std.errors.unauthenticated": {
+ "type": "object",
+ "properties": {
+ "challenge": {
+ "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"",
+ "type": "string"
+ },
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.unauthenticated_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthenticated"
+ }
+ }
+ },
+ "vapi.std.errors.unauthorized": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.unauthorized_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ },
+ "vapi.std.errors.unsupported": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.unsupported_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.unsupported"
+ }
+ }
+ },
+ "vapi.std.errors.unverified_peer": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ },
+ "error_type": {
+ "description": "Discriminator field to help API consumers identify the structure type.",
+ "$ref": "#/components/schemas/vapi.std.errors.error.type"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vapi.std.errors.unverified_peer_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.errors.unverified_peer"
+ }
+ }
+ },
+ "vapi.std.localizable_message": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the localizable string or message template. This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.",
+ "type": "string"
+ },
+ "default_message": {
+ "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.",
+ "type": "string"
+ },
+ "args": {
+ "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "params": {
+ "description": "Named arguments to be substituted into the message template.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.localization_param"
+ }
+ }
+ }
+ },
+ "localized": {
+ "description": "Localized string value as per request requirements.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "default_message",
+ "args"
+ ]
+ },
+ "vapi.std.localization_param": {
+ "type": "object",
+ "properties": {
+ "s": {
+ "description": "{@term String} value associated with the parameter.",
+ "type": "string"
+ },
+ "dt": {
+ "description": "Date and time value associated with the parameter. Use the {@name #format} {@term field} to specify date and time display style.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "i": {
+ "description": "{@term long} value associated with the parameter.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "d": {
+ "description": "The {@term double} value associated with the parameter. The number of displayed fractional digits is changed via {@name #precision} {@term field}.",
+ "type": "number",
+ "format": "double"
+ },
+ "l": {
+ "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form {@term enumerated type} and {@term boolean} values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive {@name NestedLocalizableMessage} instances can be used for localizing short lists of items.",
+ "$ref": "#/components/schemas/vapi.std.nested_localizable_message"
+ },
+ "format": {
+ "description": "Format associated with the date and time value in {@name #dt} {@term field}. The {@term enumeration value} {@code SHORT_DATETIME} will be used as default.",
+ "$ref": "#/components/schemas/vapi.std.localization_param.date_time_format"
+ },
+ "precision": {
+ "description": "Number of fractional digits to include in formatted {@term double} value.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "vapi.std.localization_param.date_time_format": {
+ "type": "string",
+ "description": "The {@name DateTimeFormat} {@term enumerated type} lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.",
+ "enum": [
+ "SHORT_DATE",
+ "MED_DATE",
+ "LONG_DATE",
+ "FULL_DATE",
+ "SHORT_TIME",
+ "MED_TIME",
+ "LONG_TIME",
+ "FULL_TIME",
+ "SHORT_DATE_TIME",
+ "MED_DATE_TIME",
+ "LONG_DATE_TIME",
+ "FULL_DATE_TIME"
+ ]
+ },
+ "vapi.std.nested_localizable_message": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the localizable string or message template. This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.",
+ "type": "string"
+ },
+ "params": {
+ "description": "Named Arguments to be substituted into the message template.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vapi.std.localization_param"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "vcenter.VM.clone_placement_spec": {
+ "type": "object",
+ "properties": {
+ "folder": {
+ "description": "Virtual machine folder into which the cloned virtual machine should be placed.\nIf field is unset, the system will use the virtual machine folder of the source virtual machine. If this results in a conflict due to other placement parameters, the virtual machine clone operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "Resource pool into which the cloned virtual machine should be placed.\nIf field is unset, the system will use the resource pool of the source virtual machine. If this results in a conflict due to other placement parameters, the virtual machine clone operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host onto which the cloned virtual machine should be placed. \n If VM.ClonePlacementSpec.host and VM.ClonePlacementSpec.resource-pool are both specified, VM.ClonePlacementSpec.resource-pool must belong to VM.ClonePlacementSpec.host. \n\n If VM.ClonePlacementSpec.host and VM.ClonePlacementSpec.cluster are both specified, VM.ClonePlacementSpec.host must be a member of VM.ClonePlacementSpec.cluster.\n\nIf this field is unset, if VM.ClonePlacementSpec.resource-pool is unset, the cloned virtual machine will use the host of the source virtual machine. if VM.ClonePlacementSpec.resource-pool is set, and the target is a standalone host, the host is used. if VM.ClonePlacementSpec.resource-pool is set, and the target is a DRS cluster, a host will be picked by DRS. if VM.ClonePlacementSpec.resource-pool is set, and the target is a cluster without DRS, InvalidArgument will be thrown.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "Cluster into which the cloned virtual machine should be placed. \n If VM.ClonePlacementSpec.cluster and VM.ClonePlacementSpec.resource-pool are both specified, VM.ClonePlacementSpec.resource-pool must belong to VM.ClonePlacementSpec.cluster. \n\n If VM.ClonePlacementSpec.cluster and VM.ClonePlacementSpec.host are both specified, VM.ClonePlacementSpec.host must be a member of VM.ClonePlacementSpec.cluster.\n\nIf VM.ClonePlacementSpec.resource-pool or VM.ClonePlacementSpec.host is specified, it is recommended that this field be unset.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "datastore": {
+ "description": "Datastore on which the cloned virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are created as part of the virtual machine clone operation unless individually overridden.\nIf field is unset, the system will use the datastore of the source virtual machine.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.VM.clone_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.VM.clone_spec": {
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "Virtual machine to clone from.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will be an identifier for the resource type: VirtualMachine.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Virtual machine name.",
+ "type": "string"
+ },
+ "placement": {
+ "description": "Virtual machine placement information.\nIf this field is unset, the system will use the values from the source virtual machine. If specified, each field will be used for placement. If the fields result in disjoint placement the operation will fail. If the fields along with the placement values of the source virtual machine result in disjoint placement the operation will fail.",
+ "$ref": "#/components/schemas/vcenter.VM.clone_placement_spec"
+ },
+ "disks_to_remove": {
+ "description": "Set of Disks to Remove.\nIf unset, all disks will be copied. If the same identifier is in VM.CloneSpec.disks-to-update InvalidArgument fault will be returned.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "disks_to_update": {
+ "description": "Map of Disks to Update.\nIf unset, all disks will copied to the datastore specified in the VM.ClonePlacementSpec.datastore field of VM.CloneSpec.placement. If the same identifier is in VM.CloneSpec.disks-to-remove InvalidArgument fault will be thrown.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.VM.disk_clone_spec"
+ }
+ }
+ }
+ },
+ "power_on": {
+ "description": "Attempt to perform a VM.CloneSpec.power-on after clone.\nIf unset, the virtual machine will not be powered on.",
+ "type": "boolean"
+ },
+ "guest_customization_spec": {
+ "description": "Guest customization spec to apply to the virtual machine after the virtual machine is deployed.\nIf unset, the guest operating system is not customized after clone.",
+ "$ref": "#/components/schemas/vcenter.VM.guest_customization_spec"
+ }
+ },
+ "required": [
+ "source",
+ "name"
+ ]
+ },
+ "vcenter.VM.clone_task_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.VM.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.VM.create_spec": {
+ "type": "object",
+ "properties": {
+ "guest_OS": {
+ "description": "Guest OS.",
+ "$ref": "#/components/schemas/vcenter.vm.guest_OS"
+ },
+ "name": {
+ "description": "Virtual machine name.\nIf unset, a default name will be generated by the server.",
+ "type": "string"
+ },
+ "placement": {
+ "description": "Virtual machine placement information.\nThis field is currently required. In the future, if this field is unset, the system will attempt to choose suitable resources on which to place the virtual machine.",
+ "$ref": "#/components/schemas/vcenter.VM.placement_spec"
+ },
+ "hardware_version": {
+ "description": "Virtual hardware version.\nIf unset, defaults to the most recent version supported by the server.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.version"
+ },
+ "boot": {
+ "description": "Boot configuration.\nIf unset, guest-specific default values will be used.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.create_spec"
+ },
+ "boot_devices": {
+ "description": "Boot device configuration.\nIf unset, a server-specific boot sequence will be used.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.device.entry_create_spec"
+ }
+ },
+ "cpu": {
+ "description": "CPU configuration.\nIf unset, guest-specific default values will be used.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cpu.update_spec"
+ },
+ "memory": {
+ "description": "Memory configuration.\nIf unset, guest-specific default values will be used.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.memory.update_spec"
+ },
+ "disks": {
+ "description": "List of disks.\nIf unset, a single blank virtual disk of a guest-specific size will be created on the same storage as the virtual machine configuration, and will use a guest-specific host bus adapter type. If the guest-specific size is 0, no virtual disk will be created.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.create_spec"
+ }
+ },
+ "nics": {
+ "description": "List of Ethernet adapters.\nIf unset, no Ethernet adapters will be created.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.create_spec"
+ }
+ },
+ "cdroms": {
+ "description": "List of CD-ROMs.\nIf unset, no CD-ROM devices will be created.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.create_spec"
+ }
+ },
+ "floppies": {
+ "description": "List of floppy drives.\nIf unset, no floppy drives will be created.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.create_spec"
+ }
+ },
+ "parallel_ports": {
+ "description": "List of parallel ports.\nIf unset, no parallel ports will be created.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.create_spec"
+ }
+ },
+ "serial_ports": {
+ "description": "List of serial ports.\nIf unset, no serial ports will be created.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.create_spec"
+ }
+ },
+ "sata_adapters": {
+ "description": "List of SATA adapters.\nIf unset, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a SATA host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is SATA.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata.create_spec"
+ }
+ },
+ "scsi_adapters": {
+ "description": "List of SCSI adapters.\nIf unset, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a SCSI host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is SCSI. The type of the SCSI adapter will be a guest-specific default type.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.create_spec"
+ }
+ },
+ "nvme_adapters": {
+ "description": "List of NVMe adapters.\nIf unset, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a NVMe host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is NVMe.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.nvme.create_spec"
+ }
+ },
+ "storage_policy": {
+ "description": "The VM.StoragePolicySpec structure contains information about the storage policy that is to be associated with the virtual machine home (which contains the configuration and log files).\nIf unset the datastore default storage policy (if applicable) is applied. Currently a default storage policy is only supported by object datastores : VVol and vSAN. For non-object datastores, if unset then no storage policy would be associated with the virtual machine home.",
+ "$ref": "#/components/schemas/vcenter.VM.storage_policy_spec"
+ }
+ },
+ "required": [
+ "guest_OS"
+ ]
+ },
+ "vcenter.VM.disk_clone_spec": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Destination datastore to clone disk.\nThis field is currently required. In the future, if this field is unset disk will be copied to the datastore specified in the VM.ClonePlacementSpec.datastore field of VM.CloneSpec.placement.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.VM.disk_relocate_spec": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Destination datastore to relocate disk.\nThis field is currently required. In the future, if this field is unset, disk will use the datastore specified in VM.RelocatePlacementSpec.datastore field of VM.RelocateSpec.placement.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.VM.filter_spec": {
+ "type": "object",
+ "properties": {
+ "vms": {
+ "description": "Identifiers of virtual machines that can match the filter.\nIf unset or empty, virtual machines with any identifier match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: VirtualMachine.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "Names that virtual machines must have to match the filter (see VM.Info.name).\nIf unset or empty, virtual machines with any name match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "folders": {
+ "description": "Folders that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines in any folder match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "datacenters": {
+ "description": "Datacenters that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines in any datacenter match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "hosts": {
+ "description": "Hosts that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines on any host match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: HostSystem. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: HostSystem.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "clusters": {
+ "description": "Clusters that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines in any cluster match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "resource_pools": {
+ "description": "Resource pools that must contain the virtual machine for the virtual machine to match the filter.\nIf unset or empty, virtual machines in any resource pool match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ResourcePool.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "power_states": {
+ "description": "Power states that a virtual machine must be in to match the filter (see Power.Info.state.\nIf unset or empty, virtual machines in any power state match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.power.state"
+ }
+ }
+ }
+ },
+ "vcenter.VM.guest_customization_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the customization specification.\nIf unset, no guest customization is performed.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.VM.info": {
+ "type": "object",
+ "properties": {
+ "guest_OS": {
+ "description": "Guest OS.",
+ "$ref": "#/components/schemas/vcenter.vm.guest_OS"
+ },
+ "name": {
+ "description": "Virtual machine name.",
+ "type": "string"
+ },
+ "identity": {
+ "description": "Identity of the virtual machine.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/vcenter.vm.identity.info"
+ },
+ "power_state": {
+ "description": "Power state of the virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm.power.state"
+ },
+ "instant_clone_frozen": {
+ "description": "Indicates whether the virtual machine is frozen for instant clone, or not.\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "boolean"
+ },
+ "hardware": {
+ "description": "Virtual hardware version information.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.info"
+ },
+ "boot": {
+ "description": "Boot configuration.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.info"
+ },
+ "boot_devices": {
+ "description": "Boot device configuration. If the list has no entries, a server-specific default boot sequence is used.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.device.entry"
+ }
+ },
+ "cpu": {
+ "description": "CPU configuration.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cpu.info"
+ },
+ "memory": {
+ "description": "Memory configuration.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.memory.info"
+ },
+ "disks": {
+ "description": "List of disks.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.info"
+ }
+ }
+ }
+ },
+ "nics": {
+ "description": "List of Ethernet adapters.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Ethernet. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.info"
+ }
+ }
+ }
+ },
+ "cdroms": {
+ "description": "List of CD-ROMs.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Cdrom. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Cdrom.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.info"
+ }
+ }
+ }
+ },
+ "floppies": {
+ "description": "List of floppy drives.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Floppy. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Floppy.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.info"
+ }
+ }
+ }
+ },
+ "parallel_ports": {
+ "description": "List of parallel ports.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.ParallelPort. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.ParallelPort.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.info"
+ }
+ }
+ }
+ },
+ "serial_ports": {
+ "description": "List of serial ports.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.SerialPort. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.SerialPort.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.info"
+ }
+ }
+ }
+ },
+ "sata_adapters": {
+ "description": "List of SATA adapters.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.SataAdapter. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.SataAdapter.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata.info"
+ }
+ }
+ }
+ },
+ "scsi_adapters": {
+ "description": "List of SCSI adapters.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.ScsiAdapter. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.ScsiAdapter.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.info"
+ }
+ }
+ }
+ },
+ "nvme_adapters": {
+ "description": "List of NVMe adapters.\nThis field is optional because it was added in a newer version than its parent node.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.NvmeAdapter. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.NvmeAdapter.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.nvme.info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "guest_OS",
+ "name",
+ "power_state",
+ "hardware",
+ "boot",
+ "boot_devices",
+ "cpu",
+ "memory",
+ "disks",
+ "nics",
+ "cdroms",
+ "floppies",
+ "parallel_ports",
+ "serial_ports",
+ "sata_adapters",
+ "scsi_adapters"
+ ]
+ },
+ "vcenter.VM.instant_clone_placement_spec": {
+ "type": "object",
+ "properties": {
+ "folder": {
+ "description": "Virtual machine folder into which the InstantCloned virtual machine should be placed.\nIf field is unset, the system will use the virtual machine folder of the source virtual machine.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "Resource pool into which the InstantCloned virtual machine should be placed.\nIf field is unset, the system will use the resource pool of the source virtual machine.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool.",
+ "type": "string"
+ },
+ "datastore": {
+ "description": "Datastore on which the InstantCloned virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are created as part of the virtual machine InstantClone operation.\nIf field is unset, the system will use the datastore of the source virtual machine.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.VM.instant_clone_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.VM.instant_clone_spec": {
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "Virtual machine to InstantClone from.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will be an identifier for the resource type: VirtualMachine.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the new virtual machine.",
+ "type": "string"
+ },
+ "placement": {
+ "description": "Virtual machine placement information.\nIf this field is unset, the system will use the values from the source virtual machine. If specified, each field will be used for placement. If the fields result in disjoint placement the operation will fail. If the fields along with the placement values of the source virtual machine result in disjoint placement the operation will fail.",
+ "$ref": "#/components/schemas/vcenter.VM.instant_clone_placement_spec"
+ },
+ "nics_to_update": {
+ "description": "Map of NICs to update.\nIf unset, no NICs will be updated.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Ethernet. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.update_spec"
+ }
+ }
+ }
+ },
+ "disconnect_all_nics": {
+ "description": "Indicates whether all NICs on the destination virtual machine should be disconnected from the newtwork\nIf unset, connection status of all NICs on the destination virtual machine will be the same as on the source virtual machine.",
+ "type": "boolean"
+ },
+ "parallel_ports_to_update": {
+ "description": "Map of parallel ports to Update.\nIf unset, no parallel ports will be updated.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.ParallelPort. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.ParallelPort.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.update_spec"
+ }
+ }
+ }
+ },
+ "serial_ports_to_update": {
+ "description": "Map of serial ports to Update.\nIf unset, no serial ports will be updated.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.SerialPort. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.SerialPort.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.update_spec"
+ }
+ }
+ }
+ },
+ "bios_uuid": {
+ "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\nIf unset, will be generated.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "name"
+ ]
+ },
+ "vcenter.VM.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.VM.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.VM.placement_spec": {
+ "type": "object",
+ "properties": {
+ "folder": {
+ "description": "Virtual machine folder into which the virtual machine should be placed.\nThis field is currently required. In the future, if this field is unset, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine creation operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "Resource pool into which the virtual machine should be placed.\nThis field is currently required if both VM.ComputePlacementSpec.host and VM.ComputePlacementSpec.cluster are unset. In the future, if this field is unset, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine creation operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host onto which the virtual machine should be placed. \n If VM.ComputePlacementSpec.host and VM.ComputePlacementSpec.resource-pool are both specified, VM.ComputePlacementSpec.resource-pool must belong to VM.ComputePlacementSpec.host. \n\n If VM.ComputePlacementSpec.host and VM.ComputePlacementSpec.cluster are both specified, VM.ComputePlacementSpec.host must be a member of VM.ComputePlacementSpec.cluster.\n\nThis field may be unset if VM.ComputePlacementSpec.resource-pool or VM.ComputePlacementSpec.cluster is specified. If unset, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine creation operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "Cluster into which the virtual machine should be placed. \n If VM.ComputePlacementSpec.cluster and VM.ComputePlacementSpec.resource-pool are both specified, VM.ComputePlacementSpec.resource-pool must belong to VM.ComputePlacementSpec.cluster. \n\n If VM.ComputePlacementSpec.cluster and VM.ComputePlacementSpec.host are both specified, VM.ComputePlacementSpec.host must be a member of VM.ComputePlacementSpec.cluster.\n\nIf VM.ComputePlacementSpec.resource-pool or VM.ComputePlacementSpec.host is specified, it is recommended that this field be unset.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "datastore": {
+ "description": "Datastore on which the virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are created as part of the virtual machine creation operation.\nThis field is currently required. In the future, if this field is unset, the system will attempt to choose suitable storage for the virtual machine; if storage cannot be chosen, the virtual machine creation operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.VM.register_placement_spec": {
+ "type": "object",
+ "properties": {
+ "folder": {
+ "description": "Virtual machine folder into which the virtual machine should be placed.\nThis field is currently required. In the future, if this field is unset, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine creation operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "Resource pool into which the virtual machine should be placed.\nThis field is currently required if both VM.ComputePlacementSpec.host and VM.ComputePlacementSpec.cluster are unset. In the future, if this field is unset, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine creation operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host onto which the virtual machine should be placed. \n If VM.ComputePlacementSpec.host and VM.ComputePlacementSpec.resource-pool are both specified, VM.ComputePlacementSpec.resource-pool must belong to VM.ComputePlacementSpec.host. \n\n If VM.ComputePlacementSpec.host and VM.ComputePlacementSpec.cluster are both specified, VM.ComputePlacementSpec.host must be a member of VM.ComputePlacementSpec.cluster.\n\nThis field may be unset if VM.ComputePlacementSpec.resource-pool or VM.ComputePlacementSpec.cluster is specified. If unset, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine creation operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "Cluster into which the virtual machine should be placed. \n If VM.ComputePlacementSpec.cluster and VM.ComputePlacementSpec.resource-pool are both specified, VM.ComputePlacementSpec.resource-pool must belong to VM.ComputePlacementSpec.cluster. \n\n If VM.ComputePlacementSpec.cluster and VM.ComputePlacementSpec.host are both specified, VM.ComputePlacementSpec.host must be a member of VM.ComputePlacementSpec.cluster.\n\nIf VM.ComputePlacementSpec.resource-pool or VM.ComputePlacementSpec.host is specified, it is recommended that this field be unset.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.VM.register_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.VM.register_spec": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Identifier of the datastore on which the virtual machine's configuration state is stored.\nIf unset, VM.RegisterSpec.path must also be unset and VM.RegisterSpec.datastore-path must be set.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path to the virtual machine's configuration file on the datastore corresponding to {@link #datastore).\nIf unset, VM.RegisterSpec.datastore must also be unset and VM.RegisterSpec.datastore-path must be set.",
+ "type": "string"
+ },
+ "datastore_path": {
+ "description": "Datastore path for the virtual machine's configuration file in the format \"[datastore name] path\". For example \"[storage1] Test-VM/Test-VM.vmx\".\nIf unset, both VM.RegisterSpec.datastore and VM.RegisterSpec.path must be set.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Virtual machine name.\nIf unset, the display name from the virtual machine's configuration file will be used.",
+ "type": "string"
+ },
+ "placement": {
+ "description": "Virtual machine placement information.\nThis field is currently required. In the future, if this field is unset, the system will attempt to choose suitable resources on which to place the virtual machine.",
+ "$ref": "#/components/schemas/vcenter.VM.register_placement_spec"
+ }
+ }
+ },
+ "vcenter.VM.relocate_placement_spec": {
+ "type": "object",
+ "properties": {
+ "folder": {
+ "description": "Virtual machine folder into which the virtual machine should be placed.\nIf this field is unset, the virtual machine will stay in the current folder.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "Resource pool into which the virtual machine should be placed.\nIf this field is unset, the virtual machine will stay in the current resource pool.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host onto which the virtual machine should be placed. \n If VM.RelocatePlacementSpec.host and VM.RelocatePlacementSpec.resource-pool are both specified, VM.RelocatePlacementSpec.resource-pool must belong to VM.RelocatePlacementSpec.host. \n\n If VM.RelocatePlacementSpec.host and VM.RelocatePlacementSpec.cluster are both specified, VM.RelocatePlacementSpec.host must be a member of VM.RelocatePlacementSpec.cluster.\n\nIf this field is unset, if VM.RelocatePlacementSpec.resource-pool is unset, the virtual machine will remain on the current host. if VM.RelocatePlacementSpec.resource-pool is set, and the target is a standalone host, the host is used. if VM.RelocatePlacementSpec.resource-pool is set, and the target is a DRS cluster, a host will be picked by DRS. if VM.RelocatePlacementSpec.resource-pool is set, and the target is a cluster without DRS, InvalidArgument will be thrown.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "Cluster into which the virtual machine should be placed. \n If VM.RelocatePlacementSpec.cluster and VM.RelocatePlacementSpec.resource-pool are both specified, VM.RelocatePlacementSpec.resource-pool must belong to VM.RelocatePlacementSpec.cluster. \n\n If VM.RelocatePlacementSpec.cluster and VM.RelocatePlacementSpec.host are both specified, VM.RelocatePlacementSpec.host must be a member of VM.RelocatePlacementSpec.cluster.\n\nIf VM.RelocatePlacementSpec.resource-pool or VM.RelocatePlacementSpec.host is specified, it is recommended that this field be unset.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "datastore": {
+ "description": "Datastore on which the virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are associated with the virtual machine, unless individually overridden.\nIf this field is unset, the virtual machine will remain on the current datastore.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.VM.relocate_spec": {
+ "type": "object",
+ "properties": {
+ "placement": {
+ "description": "Virtual machine placement information.\nIf this field is unset, the system will use the values from the source virtual machine. If specified, each field will be used for placement. If the fields result in disjoint placement the operation will fail. If the fields along with the other existing placement of the virtual machine result in disjoint placement the operation will fail.",
+ "$ref": "#/components/schemas/vcenter.VM.relocate_placement_spec"
+ },
+ "disks": {
+ "description": "Individual disk relocation map.\nIf unset, all disks will migrate to the datastore specified in the VM.RelocatePlacementSpec.datastore field of VM.RelocateSpec.placement.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.VM.disk_relocate_spec"
+ }
+ }
+ }
+ }
+ }
+ },
+ "vcenter.VM.relocate_task_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.VM.storage_policy_spec": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "Identifier of the storage policy which should be associated with the virtual machine.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.StoragePolicy.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "policy"
+ ]
+ },
+ "vcenter.VM.summary": {
+ "type": "object",
+ "properties": {
+ "vm": {
+ "description": "Identifier of the virtual machine.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will be an identifier for the resource type: VirtualMachine.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the Virtual machine.",
+ "type": "string"
+ },
+ "power_state": {
+ "description": "Power state of the virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm.power.state"
+ },
+ "cpu_count": {
+ "description": "Number of CPU cores.\nThis field will be unset if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the intial phases of virtual machine creation.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memory_size_MiB": {
+ "description": "Memory size in mebibytes.\nThis field will be unset if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the intial phases of virtual machine creation.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "vm",
+ "name",
+ "power_state"
+ ]
+ },
+ "vcenter.VM_clone": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.VM.clone_spec",
+ "description": "Virtual machine clone specification."
+ }
+ }
+ },
+ "vcenter.VM_clone_task": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.VM.clone_spec",
+ "description": "Virtual machine clone specification."
+ }
+ }
+ },
+ "vcenter.VM_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.VM.create_spec",
+ "description": "Virtual machine specification."
+ }
+ }
+ },
+ "vcenter.VM_instant_clone": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.VM.instant_clone_spec",
+ "description": "Virtual machine InstantCloneSpec."
+ }
+ }
+ },
+ "vcenter.VM_register": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.VM.register_spec",
+ "description": "Specification of the location of the virtual machine files and the placement of the new virtual machine."
+ }
+ }
+ },
+ "vcenter.VM_relocate": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.VM.relocate_spec",
+ "description": "Relocate specification."
+ }
+ }
+ },
+ "vcenter.VM_relocate_task": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.VM.relocate_spec",
+ "description": "Relocate specification."
+ }
+ }
+ },
+ "vcenter.VM_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.VM.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.tls.info": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Version (version number) value from the certificate.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "serial_number": {
+ "description": "SerialNumber value from the certificate.",
+ "type": "string"
+ },
+ "signature_algorithm": {
+ "description": "Signature algorithm name from the certificate.",
+ "type": "string"
+ },
+ "issuer_dn": {
+ "description": "Issuer (issuer distinguished name) value from the certificate.",
+ "type": "string"
+ },
+ "valid_from": {
+ "description": "validFrom specify the start date of the certificate.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "valid_to": {
+ "description": "validTo specify the end date of the certificate.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "subject_dn": {
+ "description": "Subject (subject distinguished name) value from the certificate.",
+ "type": "string"
+ },
+ "thumbprint": {
+ "description": "Thumbprint value from the certificate.",
+ "type": "string"
+ },
+ "is_CA": {
+ "description": "Certificate constraints isCA from the critical BasicConstraints extension, (OID = 2.5.29.19).",
+ "type": "boolean"
+ },
+ "path_length_constraint": {
+ "description": "Certificate constraints path length from the critical BasicConstraints extension, (OID = 2.5.29.19).",
+ "type": "integer",
+ "format": "int64"
+ },
+ "key_usage": {
+ "description": "Collection of keyusage contained in the certificate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "extended_key_usage": {
+ "description": "Collection of extended keyusage that contains details for which the certificate can be used for.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "subject_alternative_name": {
+ "description": "Collection of subject alternative names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "authority_information_access_uri": {
+ "description": "Collection of authority information access URI.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cert": {
+ "description": "TLS certificate in PEM format.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "serial_number",
+ "signature_algorithm",
+ "issuer_dn",
+ "valid_from",
+ "valid_to",
+ "subject_dn",
+ "thumbprint",
+ "is_CA",
+ "path_length_constraint",
+ "key_usage",
+ "extended_key_usage",
+ "subject_alternative_name",
+ "authority_information_access_uri",
+ "cert"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.tls.replace_spec": {
+ "type": "object",
+ "properties": {
+ "key_size": {
+ "description": "The size of the key to be used for public and private key generation.\nIf unset the key size will be '2048'.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "common_name": {
+ "description": "The common name of the host for which certificate is generated\nIf unset will default to PNID of host.",
+ "type": "string"
+ },
+ "organization": {
+ "description": "Organization field in certificate subject",
+ "type": "string"
+ },
+ "organization_unit": {
+ "description": "Organization unit field in certificate subject",
+ "type": "string"
+ },
+ "locality": {
+ "description": "Locality field in certificate subject",
+ "type": "string"
+ },
+ "state_or_province": {
+ "description": "State field in certificate subject",
+ "type": "string"
+ },
+ "country": {
+ "description": "Country field in certificate subject",
+ "type": "string"
+ },
+ "email_address": {
+ "description": "Email field in Certificate extensions",
+ "type": "string"
+ },
+ "subject_alt_name": {
+ "description": "SubjectAltName is list of Dns Names and Ip addresses\nIf unset PNID of host will be used as IPAddress or Hostname for certificate generation .",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "organization",
+ "organization_unit",
+ "locality",
+ "state_or_province",
+ "country",
+ "email_address"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.tls.spec": {
+ "type": "object",
+ "properties": {
+ "cert": {
+ "description": "Certificate string in PEM format.",
+ "type": "string"
+ },
+ "key": {
+ "description": "Private key string in PEM format.\nIf unset the private key from the certificate store will be used. It is required when replacing the certificate with a third party signed certificate.",
+ "type": "string",
+ "format": "password"
+ },
+ "root_cert": {
+ "description": "Third party Root CA certificate in PEM format.\nIf unset the new third party root CA certificate will not be added to the trust store. It is required when replacing the certificate with a third party signed certificate if the root certificate of the third party is not already a trusted root.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "cert"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.tls_csr.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.certificate_management.vcenter.tls_csr.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.tls_csr.info": {
+ "type": "object",
+ "properties": {
+ "csr": {
+ "description": "Certificate Signing Request in PEM format.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "csr"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.tls_csr.spec": {
+ "type": "object",
+ "properties": {
+ "key_size": {
+ "description": "keySize will take 2048 bits if not modified.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "common_name": {
+ "description": "commonName will take PNID if not modified.",
+ "type": "string"
+ },
+ "organization": {
+ "description": "Organization field in certificate subject",
+ "type": "string"
+ },
+ "organization_unit": {
+ "description": "Organization unit field in certificate subject",
+ "type": "string"
+ },
+ "locality": {
+ "description": "Locality field in certificate subject",
+ "type": "string"
+ },
+ "state_or_province": {
+ "description": "State field in certificate subject",
+ "type": "string"
+ },
+ "country": {
+ "description": "Country field in certificate subject",
+ "type": "string"
+ },
+ "email_address": {
+ "description": "Email field in Certificate extensions",
+ "type": "string"
+ },
+ "subject_alt_name": {
+ "description": "subjectAltName is list of Dns Names and Ip addresses",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "organization",
+ "organization_unit",
+ "locality",
+ "state_or_province",
+ "country",
+ "email_address"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.tls_csr_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.certificate_management.vcenter.tls_csr.spec",
+ "description": "The information needed to create a CSR."
+ }
+ }
+ },
+ "vcenter.certificate_management.vcenter.tls_renew": {
+ "type": "object",
+ "properties": {
+ "duration": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The duration (in days) of the new TLS certificate. The duration should be less than or equal to 730 days.\nIf unset, the duration will be 730 days (two years)."
+ }
+ }
+ },
+ "vcenter.certificate_management.vcenter.tls_replace_vmca_signed": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.certificate_management.vcenter.tls.replace_spec",
+ "description": "The information needed to generate VMCA signed Machine SSL"
+ }
+ }
+ },
+ "vcenter.certificate_management.vcenter.tls_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.certificate_management.vcenter.tls.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.tls_set": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.certificate_management.vcenter.tls.spec",
+ "description": "The information needed to replace the TLS certificate."
+ }
+ }
+ },
+ "vcenter.certificate_management.vcenter.trusted_root_chains.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.trusted_root_chains.create_spec": {
+ "type": "object",
+ "properties": {
+ "cert_chain": {
+ "description": "Certificate chain in base64 encoding",
+ "$ref": "#/components/schemas/vcenter.certificate_management.x509_cert_chain"
+ },
+ "chain": {
+ "description": "Unique identifier for this trusted root. Client can specify at creation as long as it is unique, otherwise one will be generated. An example of a client providing the identifier would be if this trusted root is associated with a VC trust. In this case the identifier would be the domain id.\nA unique id will be generated if not given.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "cert_chain"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.trusted_root_chains.info": {
+ "type": "object",
+ "properties": {
+ "cert_chain": {
+ "description": "A certificate chain in base64 encoding",
+ "$ref": "#/components/schemas/vcenter.certificate_management.x509_cert_chain"
+ }
+ },
+ "required": [
+ "cert_chain"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.trusted_root_chains.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.certificate_management.vcenter.trusted_root_chains.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.trusted_root_chains.summary": {
+ "type": "object",
+ "properties": {
+ "chain": {
+ "description": "Unique identifier for chain.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "chain"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.trusted_root_chains_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.certificate_management.vcenter.trusted_root_chains.create_spec",
+ "description": "The information needed to create a trusted root certificate chain."
+ }
+ }
+ },
+ "vcenter.certificate_management.vcenter.trusted_root_chains_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.certificate_management.vcenter.trusted_root_chains.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.certificate_management.vcenter.vmca_root.create_spec": {
+ "type": "object",
+ "properties": {
+ "key_size": {
+ "description": "The size of the key to be used for public and private key generation.\nIf unset the key size will be 2048.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "common_name": {
+ "description": "The common name of the host for which certificate is generated.\nIf unset the common name will be the primary network identifier (PNID) of the vCenter Virtual Server Appliance (VCSA).",
+ "type": "string"
+ },
+ "organization": {
+ "description": "Organization field in certificate subject.\nIf unset the organization will be 'VMware'.",
+ "type": "string"
+ },
+ "organization_unit": {
+ "description": "Organization unit field in certificate subject.\nIf unset the organization unit will be 'VMware Engineering'.",
+ "type": "string"
+ },
+ "locality": {
+ "description": "Locality field in certificate subject.\nIf unset the locality will be 'Palo Alto'.",
+ "type": "string"
+ },
+ "state_or_province": {
+ "description": "State field in certificate subject.\nIf unset the state will be 'California'.",
+ "type": "string"
+ },
+ "country": {
+ "description": "Country field in certificate subject.\nIf unset the country will be 'US'.",
+ "type": "string"
+ },
+ "email_address": {
+ "description": "Email field in Certificate extensions.\nIf unset the emailAddress will be 'email@acme.com'.",
+ "type": "string"
+ },
+ "subject_alt_name": {
+ "description": "SubjectAltName is list of Dns Names and Ip addresses.\nIf unset PNID of host will be used as IPAddress or Hostname for certificate generation.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.certificate_management.vcenter.vmca_root_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.certificate_management.vcenter.vmca_root.create_spec",
+ "description": "The information needed to generate VMCA signed Root Certificate.\nDefault values will be set for all null parameters."
+ }
+ }
+ },
+ "vcenter.certificate_management.x509_cert_chain": {
+ "type": "object",
+ "properties": {
+ "cert_chain": {
+ "description": "Certificate chain in base64 format",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "cert_chain"
+ ]
+ },
+ "vcenter.cluster.filter_spec": {
+ "type": "object",
+ "properties": {
+ "clusters": {
+ "description": "Identifiers of clusters that can match the filter.\nIf unset or empty, clusters with any identifier match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "Names that clusters must have to match the filter (see Cluster.Info.name).\nIf unset or empty, clusters with any name match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "folders": {
+ "description": "Folders that must contain the cluster for the cluster to match the filter.\nIf unset or empty, clusters in any folder match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "datacenters": {
+ "description": "Datacenters that must contain the cluster for the cluster to match the filter.\nIf unset or empty, clusters in any datacenter match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.cluster.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the cluster",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "Identifier of the root resource pool of the cluster\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "resource_pool"
+ ]
+ },
+ "vcenter.cluster.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.cluster.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.cluster.summary": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier of the cluster.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the cluster.",
+ "type": "string"
+ },
+ "ha_enabled": {
+ "description": "Flag indicating whether the vSphere HA feature is enabled for the cluster.",
+ "type": "boolean"
+ },
+ "drs_enabled": {
+ "description": "Flag indicating whether the vSphere DRS service is enabled for the cluster.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "cluster",
+ "name",
+ "ha_enabled",
+ "drs_enabled"
+ ]
+ },
+ "vcenter.cluster_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.cluster.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.content.registries.day_of_week": {
+ "type": "string",
+ "description": "The {@name DayOfWeek} {@term enumerated type} describes the supported days of the week to run a specific operation for a container registry.",
+ "enum": [
+ "SUNDAY",
+ "MONDAY",
+ "TUESDAY",
+ "WEDNESDAY",
+ "THURSDAY",
+ "FRIDAY",
+ "SATURDAY"
+ ]
+ },
+ "vcenter.content.registries.harbor.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.content.registries.harbor.create_spec": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier of the cluster hosting the registry.",
+ "type": "string"
+ },
+ "garbage_collection": {
+ "description": "Garbage collection configuration for the Harbor registry.",
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.garbage_collection"
+ },
+ "storage": {
+ "description": "Storage associated with the Harbor registry. The list contains only one storage backing in this version.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.storage_spec"
+ }
+ }
+ },
+ "required": [
+ "storage"
+ ]
+ },
+ "vcenter.content.registries.harbor.garbage_collection": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Frequency of garbage collection.",
+ "$ref": "#/components/schemas/vcenter.content.registries.recurrence"
+ },
+ "day_of_week": {
+ "description": "Day of the week when garbage collection should run.",
+ "$ref": "#/components/schemas/vcenter.content.registries.day_of_week"
+ },
+ "hour": {
+ "description": "Hour at which garbage collection should run.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "minute": {
+ "description": "Minute at which garbage collection should run.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.content.registries.harbor.info": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier of the cluster.",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Identifier of the Harbor namespace in case it is created in a Kubernetes environment.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the registry.",
+ "type": "string"
+ },
+ "creation_time": {
+ "description": "The date and time when the harbor registry was created.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "ui_access_url": {
+ "description": "URL to access the UI of the registry.",
+ "type": "string",
+ "format": "uri"
+ },
+ "cert_chain": {
+ "description": "Harbor certificate chain in base64 format.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "garbage_collection": {
+ "description": "Garbage collection information for the registry.",
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.garbage_collection"
+ },
+ "storage": {
+ "description": "Storage information associated with the registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.storage_info"
+ }
+ },
+ "health": {
+ "description": "Health status of the container registry.",
+ "$ref": "#/components/schemas/vcenter.content.registries.health.info"
+ }
+ },
+ "required": [
+ "version",
+ "creation_time",
+ "ui_access_url",
+ "cert_chain",
+ "garbage_collection",
+ "storage",
+ "health"
+ ]
+ },
+ "vcenter.content.registries.harbor.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.content.registries.harbor.projects.config_status": {
+ "type": "string",
+ "description": "The {@name ConfigStatus} {@term enumerated type} describes the status of reaching the desired configuration state for the Harbor project.",
+ "enum": [
+ "PENDING",
+ "REMOVING",
+ "ERROR",
+ "READY"
+ ]
+ },
+ "vcenter.content.registries.harbor.projects.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.content.registries.harbor.projects.create_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Harbor project. Should be between 1-63 characters long alphanumeric string and may contain the following characters: a-z,0-9, and '-'. Must be starting with characters or numbers, with the '-' character allowed anywhere except the first or last character.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Access type of a Harbor project.",
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.projects.scope"
+ }
+ },
+ "required": [
+ "name",
+ "scope"
+ ]
+ },
+ "vcenter.content.registries.harbor.projects.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Harbor project. Should be between 1-63 characters long alphanumeric string and may contain the following characters: a-z,0-9, and '-'. Must be starting with characters or numbers, with the '-' character allowed anywhere except the first or last character.",
+ "type": "string"
+ },
+ "config_status": {
+ "description": "The status of the Harbor project.",
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.projects.config_status"
+ },
+ "scope": {
+ "description": "The access type of a Harbor project.",
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.projects.scope"
+ },
+ "creation_time": {
+ "description": "The date and time when the harbor project creation API was triggered and project identifier generated.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "update_time": {
+ "description": "The date and time when the harbor project purge API was triggered. In case no purge was triggered, {@name #updateTime} is same as {@name #creationTime}.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "access_url": {
+ "description": "URL to access the harbor project through docker client.",
+ "type": "string",
+ "format": "uri"
+ },
+ "message": {
+ "description": "Details about the ERROR project status.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "name",
+ "config_status",
+ "scope",
+ "creation_time"
+ ]
+ },
+ "vcenter.content.registries.harbor.projects.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.projects.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.content.registries.harbor.projects.scope": {
+ "type": "string",
+ "description": "The {@name Scope} {@term enumerated type} in a project defines access levels of the project.",
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ]
+ },
+ "vcenter.content.registries.harbor.projects.summary": {
+ "type": "object",
+ "properties": {
+ "project": {
+ "description": "Identifier of the harbor project.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the Harbor project. Should be between 1-63 characters long alphanumeric string and may contain the following characters: a-z,0-9, and '-'. Must be starting with characters or numbers, with the '-' character allowed anywhere except the first or last character.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Access type of a Harbor project.",
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.projects.scope"
+ }
+ },
+ "required": [
+ "project",
+ "name",
+ "scope"
+ ]
+ },
+ "vcenter.content.registries.harbor.projects_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.projects.create_spec",
+ "description": "Information used to create the Harbor project."
+ }
+ }
+ },
+ "vcenter.content.registries.harbor.projects_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.projects.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.content.registries.harbor.storage_info": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "Identifier of the storage policy.",
+ "type": "string"
+ },
+ "capacity": {
+ "description": "Total capacity for the registry storage (in mebibytes). This is the storage limit set on the Harbor registry. If a storage limit was not set on the registry, the default registry capacity - 204800 mebibytes is used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "used": {
+ "description": "Overall storage used by the registry (in mebibytes). This is the sum of used storage associated with storage policies configured for the registry.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "policy",
+ "capacity",
+ "used"
+ ]
+ },
+ "vcenter.content.registries.harbor.storage_spec": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "Identifier of the storage policy.",
+ "type": "string"
+ },
+ "limit": {
+ "description": "The maximum amount of storage (in mebibytes) which can be utilized by the registry for this specification.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "policy"
+ ]
+ },
+ "vcenter.content.registries.harbor.summary": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier of the cluster.",
+ "type": "string"
+ },
+ "registry": {
+ "description": "Identifier of the registry.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the registry.",
+ "type": "string"
+ },
+ "ui_access_url": {
+ "description": "URL to access the UI of the registry.",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": [
+ "registry",
+ "version",
+ "ui_access_url"
+ ]
+ },
+ "vcenter.content.registries.harbor_create": {
+ "type": "object",
+ "properties": {
+ "client_token": {
+ "type": "string",
+ "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation."
+ },
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.create_spec",
+ "description": "Specification for creating the Harbor registry."
+ }
+ }
+ },
+ "vcenter.content.registries.harbor_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.content.registries.harbor.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.content.registries.health.info": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Container registry status.",
+ "$ref": "#/components/schemas/vcenter.content.registries.health.status"
+ },
+ "details": {
+ "description": "Details about the status.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "vcenter.content.registries.health.status": {
+ "type": "string",
+ "description": "The {@name Status} {@term enumerated type} describes the status of the container registry.",
+ "enum": [
+ "STARTING",
+ "RUNNING",
+ "WARNING",
+ "ERROR",
+ "DELETING"
+ ]
+ },
+ "vcenter.content.registries.health_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.content.registries.health.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.content.registries.recurrence": {
+ "type": "string",
+ "description": "The {@name Recurrence} {@term enumerated type} defines the supported values for how often to run a specific operation for a container registry.",
+ "enum": [
+ "NONE",
+ "DAILY",
+ "WEEKLY"
+ ]
+ },
+ "vcenter.datacenter.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.datacenter.create_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the datacenter to be created.",
+ "type": "string"
+ },
+ "folder": {
+ "description": "Datacenter folder in which the new datacenter should be created.\nThis field is currently required. In the future, if this field is unset, the system will attempt to choose a suitable folder for the datacenter; if a folder cannot be chosen, the datacenter creation operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "vcenter.datacenter.filter_spec": {
+ "type": "object",
+ "properties": {
+ "datacenters": {
+ "description": "Identifiers of datacenters that can match the filter.\nIf unset or empty, datacenters with any identifier match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "Names that datacenters must have to match the filter (see Datacenter.Info.name).\nIf unset or empty, datacenters with any name match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "folders": {
+ "description": "Folders that must contain the datacenters for the datacenter to match the filter.\nIf unset or empty, datacenters in any folder match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.datacenter.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the datacenter.",
+ "type": "string"
+ },
+ "datastore_folder": {
+ "description": "The root datastore folder associated with the datacenter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "host_folder": {
+ "description": "The root host and cluster folder associated with the datacenter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "network_folder": {
+ "description": "The root network folder associated with the datacenter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "vm_folder": {
+ "description": "The root virtual machine folder associated with the datacenter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "datastore_folder",
+ "host_folder",
+ "network_folder",
+ "vm_folder"
+ ]
+ },
+ "vcenter.datacenter.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.datacenter.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.datacenter.summary": {
+ "type": "object",
+ "properties": {
+ "datacenter": {
+ "description": "Identifier of the datacenter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datacenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datacenter.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the datacenter.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "datacenter",
+ "name"
+ ]
+ },
+ "vcenter.datacenter_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.datacenter.create_spec",
+ "description": "Specification for the new datacenter to be created."
+ }
+ }
+ },
+ "vcenter.datacenter_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.datacenter.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.datastore.default_policy_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.datastore.filter_spec": {
+ "type": "object",
+ "properties": {
+ "datastores": {
+ "description": "Identifiers of datastores that can match the filter.\nIf unset or empty, datastores with any identifier match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datastore. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datastore.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "Names that datastores must have to match the filter (see Datastore.Info.name).\nIf unset or empty, datastores with any name match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "types": {
+ "description": "Types that datastores must have to match the filter (see Datastore.Summary.type).\nIf unset or empty, datastores with any type match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/vcenter.datastore.type"
+ }
+ },
+ "folders": {
+ "description": "Folders that must contain the datastore for the datastore to match the filter.\nIf unset or empty, datastores in any folder match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "datacenters": {
+ "description": "Datacenters that must contain the datastore for the datastore to match the filter.\nIf unset or empty, datastores in any datacenter match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.datastore.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the datastore.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type (Type) of the datastore.",
+ "$ref": "#/components/schemas/vcenter.datastore.type"
+ },
+ "accessible": {
+ "description": "Whether or not this datastore is accessible.",
+ "type": "boolean"
+ },
+ "free_space": {
+ "description": "Available space of this datastore, in bytes. \n The server periodically updates this value.\n\nThis field will be unset if the available space of this datastore is not known.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "multiple_host_access": {
+ "description": "Whether or not more than one host in the datacenter has been configured with access to the datastore.",
+ "type": "boolean"
+ },
+ "thin_provisioning_supported": {
+ "description": "Whether or not the datastore supports thin provisioning on a per file basis. When thin provisioning is used, backing storage is lazily allocated.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name",
+ "type",
+ "accessible",
+ "multiple_host_access",
+ "thin_provisioning_supported"
+ ]
+ },
+ "vcenter.datastore.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.datastore.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.datastore.summary": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Identifier of the datastore.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the datastore.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type (Type) of the datatore.",
+ "$ref": "#/components/schemas/vcenter.datastore.type"
+ },
+ "free_space": {
+ "description": "Available space of this datastore, in bytes. \n The server periodically updates this value.\n\nThis field will be unset if the available space of this datastore is not known.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "capacity": {
+ "description": "Capacity of this datastore, in bytes. \n The server periodically updates this value.\n\nThis field will be unset if the capacity of this datastore is not known.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "datastore",
+ "name",
+ "type"
+ ]
+ },
+ "vcenter.datastore.type": {
+ "type": "string",
+ "enum": [
+ "VMFS",
+ "NFS",
+ "NFS41",
+ "CIFS",
+ "VSAN",
+ "VFFS",
+ "VVOL"
+ ]
+ },
+ "vcenter.datastore_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.datastore.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.appliance_size": {
+ "type": "string",
+ "description": "The ApplianceSize enumerated type defines the vCenter Server Appliance sizes.",
+ "enum": [
+ "TINY",
+ "SMALL",
+ "MEDIUM",
+ "LARGE",
+ "XLARGE"
+ ]
+ },
+ "vcenter.deployment.appliance_state": {
+ "type": "string",
+ "description": "The ApplianceState enumerated type defines the various states the vCenter Appliance can be in.",
+ "enum": [
+ "NOT_INITIALIZED",
+ "INITIALIZED",
+ "CONFIG_IN_PROGRESS",
+ "QUESTION_RAISED",
+ "FAILED",
+ "CONFIGURED"
+ ]
+ },
+ "vcenter.deployment.appliance_type": {
+ "type": "string",
+ "description": "The ApplianceType enumerated type defines the vCenter appliance types.",
+ "enum": [
+ "VCSA_EMBEDDED",
+ "VCSA_EXTERNAL",
+ "PSC_EXTERNAL"
+ ]
+ },
+ "vcenter.deployment.check_info": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the check.",
+ "$ref": "#/components/schemas/vcenter.deployment.check_status"
+ },
+ "result": {
+ "description": "Result of the check.\nThis field will be unset if result is not available at the current step of the task.",
+ "$ref": "#/components/schemas/vcenter.deployment.notifications"
+ },
+ "source_info": {
+ "description": "Information collected from the source machine.\nThis field is used only for upgrade and migrate.",
+ "$ref": "#/components/schemas/vcenter.deployment.source_info"
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "vcenter.deployment.check_status": {
+ "type": "string",
+ "description": "The CheckStatus enumerated type defines the status of the checks.",
+ "enum": [
+ "SUCCESS",
+ "FAILED"
+ ]
+ },
+ "vcenter.deployment.data_migration_estimate": {
+ "type": "object",
+ "properties": {
+ "estimated_export_time": {
+ "description": "The time estimated to export data from the source vCenter Server.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "estimated_import_time": {
+ "description": "The time estimated to import data to the upgraded vCenter Server.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "required_free_disk_space_on_source": {
+ "description": "The extra free space required on source vCenter Server.",
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "estimated_export_time",
+ "estimated_import_time",
+ "required_free_disk_space_on_source"
+ ]
+ },
+ "vcenter.deployment.data_migration_info": {
+ "type": "object",
+ "properties": {
+ "core": {
+ "description": "Migrate only core data and configuration from vCenter Server. Events, tasks, and stats will not be migrated.",
+ "$ref": "#/components/schemas/vcenter.deployment.data_migration_estimate"
+ },
+ "core_events_tasks": {
+ "description": "Migrate core, events, and tasks from vCenter Server. Stats will not be migrated.",
+ "$ref": "#/components/schemas/vcenter.deployment.data_migration_estimate"
+ },
+ "all": {
+ "description": "Migrate all data from vCenter Server.",
+ "$ref": "#/components/schemas/vcenter.deployment.data_migration_estimate"
+ },
+ "core_events_tasks_with_deferred": {
+ "description": "Migrate core, events, and tasks from vCenter Server. Events and tasks will be migrated after the upgrade. Stats will not be migrated.\nThis field will be available only if the source database is using an external database.",
+ "$ref": "#/components/schemas/vcenter.deployment.data_migration_estimate"
+ },
+ "all_with_deferred": {
+ "description": "Migrate all data from vCenter Server. Events, tasks, and stats will be migrated after the upgrade.\nThis field will be available only if the source database is using an external database.",
+ "$ref": "#/components/schemas/vcenter.deployment.data_migration_estimate"
+ }
+ },
+ "required": [
+ "core",
+ "core_events_tasks",
+ "all"
+ ]
+ },
+ "vcenter.deployment.history_migration_option": {
+ "type": "string",
+ "description": "The HistoryMigrationOption enumerated type defines the vCenter history migration option choices.",
+ "enum": [
+ "EVENTS_TASKS",
+ "ALL"
+ ]
+ },
+ "vcenter.deployment.history_migration_spec": {
+ "type": "object",
+ "properties": {
+ "data_set": {
+ "description": "Defines what part of vCenter historical data will be migrated along with core data.",
+ "$ref": "#/components/schemas/vcenter.deployment.history_migration_option"
+ },
+ "defer_import": {
+ "description": "Defines how vCenter history will be migrated. If set to true, vCenter history will be migrated separately after successful upgrade(supported scenarios are upgrade from 6.0 or 6.5 to 6.7) or migration, otherwise it will be migrated along with core data during the upgrade or migration process. vCSA upgrade with deferred import is no longer supported for target version 7.0 and later.\nIf unset, vCenter historical data won't be deferred and will be migrated along with core data.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "data_set"
+ ]
+ },
+ "vcenter.deployment.import_history.create_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the vCenter history import task",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the vCenter history import task.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "description"
+ ]
+ },
+ "vcenter.deployment.import_history.info": {
+ "type": "object",
+ "properties": {
+ "progress": {
+ "description": "The progress info of this task.\nThis field is optional and it is only relevant when the value of CommonInfo#status is one of RUNNING, FAILED, BLOCKED, or SUCCEEDED.",
+ "$ref": "#/components/schemas/cis.task.progress"
+ },
+ "result": {
+ "description": "Result of the operation. If an operation reports partial results before it completes, this field could be set before the cis.task.CommonInfo#status has the value SUCCEEDED. The value could change as the operation progresses.\nThis field will be unset if result is not available at the current step of the operation.",
+ "$ref": "#/components/schemas/vcenter.deployment.notifications"
+ },
+ "description": {
+ "description": "Description of the operation associated with the task.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ },
+ "service": {
+ "description": "Identifier of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.service.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Identifier of the operation associated with the task.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.operation.",
+ "type": "string"
+ },
+ "parent": {
+ "description": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.task. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.task.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Identifier of the target created by the operation or an existing one the operation performed on.\nThis field will be unset if the operation has no target or multiple targets.",
+ "$ref": "#/components/schemas/vapi.std.dynamic_ID"
+ },
+ "status": {
+ "description": "Status of the operation associated with the task.",
+ "$ref": "#/components/schemas/cis.task.status"
+ },
+ "cancelable": {
+ "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.",
+ "type": "boolean"
+ },
+ "error": {
+ "description": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info.result).",
+ "type": "string"
+ },
+ "start_time": {
+ "description": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "end_time": {
+ "description": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of SUCCEEDED or FAILED.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "user": {
+ "description": "Name of the user who performed the operation.\nThis field will be unset if the operation is performed by the system.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "description",
+ "service",
+ "operation",
+ "status",
+ "cancelable"
+ ]
+ },
+ "vcenter.deployment.import_history_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.import_history.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.import_history_start": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.import_history.create_spec",
+ "description": "An optional ImportHistory.CreateSpec info that can be passed for creating a new historical data import task and starts it.\nIf unset, default value will be: \n - name : vcenter.deployment.history.import\n - description : vCenter Server history import\n"
+ }
+ }
+ },
+ "vcenter.deployment.info": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "State of the vCenter Server Appliance.",
+ "$ref": "#/components/schemas/vcenter.deployment.appliance_state"
+ },
+ "progress": {
+ "description": "The progress info of the current appliance status.\nThis field is optional and it is only relevant when the value of CommonInfo#status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.",
+ "$ref": "#/components/schemas/cis.task.progress"
+ },
+ "subtask_order": {
+ "description": "The ordered list of subtasks for this deployment operation.\nOnly set when the appliance state is RUNNING_IN_PROGRESS, FAILED, CANCELLED and SUCCEEDED.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "subtasks": {
+ "description": "The map of the deployment subtasks and their status infomation.\nOnly set when the appliance state is RUNNING_IN_PROGRESS, FAILED, CANCELLED and SUCCEEDED.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.task"
+ }
+ }
+ }
+ },
+ "description": {
+ "description": "Description of the operation associated with the task.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ },
+ "service": {
+ "description": "Identifier of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.service.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Identifier of the operation associated with the task.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.operation.",
+ "type": "string"
+ },
+ "parent": {
+ "description": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.task. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.task.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Identifier of the target created by the operation or an existing one the operation performed on.\nThis field will be unset if the operation has no target or multiple targets.",
+ "$ref": "#/components/schemas/vapi.std.dynamic_ID"
+ },
+ "status": {
+ "description": "Status of the operation associated with the task.",
+ "$ref": "#/components/schemas/cis.task.status"
+ },
+ "cancelable": {
+ "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.",
+ "type": "boolean"
+ },
+ "error": {
+ "description": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info.result).",
+ "type": "string"
+ },
+ "start_time": {
+ "description": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "end_time": {
+ "description": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of SUCCEEDED or FAILED.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "user": {
+ "description": "Name of the user who performed the operation.\nThis field will be unset if the operation is performed by the system.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "state",
+ "description",
+ "service",
+ "operation",
+ "status",
+ "cancelable"
+ ]
+ },
+ "vcenter.deployment.install.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.check_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.install.initial_config.remote_psc.thumbprint.remote_spec": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The IP address or DNS resolvable name of the remote PSC.",
+ "type": "string"
+ },
+ "https_port": {
+ "description": "The HTTPS port of the remote PSC.\nIf unset, port 443 will be used.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "address"
+ ]
+ },
+ "vcenter.deployment.install.initial_config.remote_psc.thumbprint_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.install.install_spec": {
+ "type": "object",
+ "properties": {
+ "vcsa_embedded": {
+ "description": "Spec used to configure an embedded vCenter Server. This field describes how the embedded vCenter Server appliance should be configured.",
+ "$ref": "#/components/schemas/vcenter.deployment.install.vcsa_embedded_spec"
+ },
+ "auto_answer": {
+ "description": "Use the default option for any questions that may come up during appliance configuration.\nIf unset, will default to false.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "vcsa_embedded"
+ ]
+ },
+ "vcenter.deployment.install.psc.replicated.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.check_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.install.psc.replicated_check": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.replicated_psc_spec",
+ "description": "Information to configure a replicated PSC."
+ }
+ }
+ },
+ "vcenter.deployment.install.psc.standalone.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.check_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.install.psc.standalone_check": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.standalone_psc_spec",
+ "description": "Information to configure a non-replicated PSC."
+ }
+ }
+ },
+ "vcenter.deployment.install.remote_psc.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.check_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.install.remote_psc_check": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.remote_psc_spec",
+ "description": "Information to connect to the remote PSC."
+ }
+ }
+ },
+ "vcenter.deployment.install.vcsa_embedded_spec": {
+ "type": "object",
+ "properties": {
+ "standalone": {
+ "description": "Spec used to configure a standalone embedded vCenter Server. This field describes how the standalone vCenter Server appliance should be configured.\nIf unset, will default to None.",
+ "$ref": "#/components/schemas/vcenter.deployment.standalone_spec"
+ },
+ "replicated": {
+ "description": "Spec used to configure a replicated embedded vCenter Server. This field describes how the replicated vCenter Server appliance should be configured.\nIf unset, will default to None.",
+ "$ref": "#/components/schemas/vcenter.deployment.replicated_spec"
+ },
+ "ceip_enabled": {
+ "description": "Whether CEIP should be enabled or disabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ceip_enabled"
+ ]
+ },
+ "vcenter.deployment.install_check": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.install.install_spec",
+ "description": "InstallSpec parameters to run sanity check with."
+ }
+ }
+ },
+ "vcenter.deployment.install_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.install.install_spec"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.install_start": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.install.install_spec",
+ "description": "InstallSpec parameters to configure the appliance install."
+ }
+ }
+ },
+ "vcenter.deployment.location_spec": {
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "The IP address or DNS resolvable name of the container.",
+ "type": "string"
+ },
+ "https_port": {
+ "description": "The HTTPS port of the container.\nIf unset, port 443 will be used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "ssl_thumbprint": {
+ "description": "SHA1 thumbprint of the server SSL certificate will be used for verification.\nThis field is only relevant if LocationSpec.ssl-verify is unset or has the value true.",
+ "type": "string"
+ },
+ "ssl_verify": {
+ "description": "SSL verification should be enabled or disabled. If LocationSpec.ssl-verify is true and and LocationSpec.ssl-thumbprint is unset, the CA certificate will be used for verification. If LocationSpec.ssl-verify is true and LocationSpec.ssl-thumbprint is set then the thumbprint will be used for verification. No verification will be performed if LocationSpec.ssl-verify value is set to false.\nIf unset, ssl_verify true will be used.",
+ "type": "boolean"
+ },
+ "username": {
+ "description": "The administrator account on the host.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The administrator account password.",
+ "type": "string",
+ "format": "password"
+ }
+ },
+ "required": [
+ "hostname",
+ "username",
+ "password"
+ ]
+ },
+ "vcenter.deployment.migrate.active_directory.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.check_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.migrate.active_directory.check_spec": {
+ "type": "object",
+ "properties": {
+ "dns_servers": {
+ "description": "IP addresses of the DNS servers of the Active Directory server.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "domain": {
+ "description": "The domain name of the Active Directory server to which the migrated vCenter Server appliance should be joined.",
+ "type": "string"
+ },
+ "username": {
+ "description": "Active Directory user that has permission to join the Active Directory after the vCenter Server is migrated to appliance.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Active Directory user password that has permission to join the Active Directory after the vCenter Server is migrated to appliance.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "dns_servers",
+ "domain",
+ "username",
+ "password"
+ ]
+ },
+ "vcenter.deployment.migrate.active_directory_check": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.migrate.active_directory.check_spec",
+ "description": "Information to connect to Active Directory."
+ }
+ }
+ },
+ "vcenter.deployment.migrate.active_directory_spec": {
+ "type": "object",
+ "properties": {
+ "domain": {
+ "description": "The domain name of the Active Directory server to which the migrated vCenter Server appliance should be joined.",
+ "type": "string"
+ },
+ "username": {
+ "description": "Active Directory user that has permission to join the Active Directory after the vCenter Server is migrated to appliance.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Active Directory user password that has permission to join the Active Directory after the vCenter Server is migrated to appliance.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "domain",
+ "username",
+ "password"
+ ]
+ },
+ "vcenter.deployment.migrate.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.check_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.migrate.migrate_spec": {
+ "type": "object",
+ "properties": {
+ "source_vc_windows": {
+ "description": "Information specific to the Windows vCenter Server.",
+ "$ref": "#/components/schemas/vcenter.deployment.migrate.source_vc_windows"
+ },
+ "existing_migration_assistant": {
+ "description": "Information specific to the Migration Assistant that is running on the Windows vCenter Server.",
+ "$ref": "#/components/schemas/vcenter.deployment.migrate.migration_assistant_spec"
+ },
+ "history": {
+ "description": "Determines how vCenter history will be migrated during the migration process. vCenter history consists of: \n - Statistics\n - Events\n - Tasks\n By default only core data will be migrated. Use this spec to define which part of vCenter history data will be migrated and when.\nIf unset, only core database content will be migrated.",
+ "$ref": "#/components/schemas/vcenter.deployment.history_migration_spec"
+ },
+ "vcsa_embedded": {
+ "description": "Information specific to an embedded vCenter Server.\nOnly required if the vCenter Server that is going to be migrated is an embedded vCenter Server.",
+ "$ref": "#/components/schemas/vcenter.deployment.migrate.vcsa_embedded_spec"
+ },
+ "psc": {
+ "description": "Information specific to a Platform Services Controller.\nOnly required if the vCenter Server that is going to be migrated is a Platform Services Controller.",
+ "$ref": "#/components/schemas/vcenter.deployment.migrate.psc_spec"
+ },
+ "active_directory": {
+ "description": "Information specific to the Active Directory server to which the source windows vCenter Server is joined.\nIf unset, existing appliance will not be joined to an Active Directory.",
+ "$ref": "#/components/schemas/vcenter.deployment.migrate.active_directory_spec"
+ },
+ "auto_answer": {
+ "description": "Use the default option for any questions that may come up during appliance configuration.\nIf unset, will default to false.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "source_vc_windows",
+ "existing_migration_assistant"
+ ]
+ },
+ "vcenter.deployment.migrate.migration_assistant_spec": {
+ "type": "object",
+ "properties": {
+ "https_port": {
+ "description": "The HTTPS port being used by Migration Assistant.\nIf unset, port 9123 will be used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "ssl_thumbprint": {
+ "description": "SHA1 thumbprint of the Migration Assistant SSL certificate that will be used for verification.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "ssl_thumbprint"
+ ]
+ },
+ "vcenter.deployment.migrate.psc_spec": {
+ "type": "object",
+ "properties": {
+ "ceip_enabled": {
+ "description": "Customer experience improvement program should be enabled or disabled for this Platform Services Controller migration.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ceip_enabled"
+ ]
+ },
+ "vcenter.deployment.migrate.source_vc_windows": {
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "The IP address or DNS resolvable name of the source Windows machine.",
+ "type": "string"
+ },
+ "username": {
+ "description": "The SSO account with administrative privilege to perform the migration operation.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The SSO administrator account password.",
+ "type": "string",
+ "format": "password"
+ }
+ },
+ "required": [
+ "hostname",
+ "username",
+ "password"
+ ]
+ },
+ "vcenter.deployment.migrate.vcsa_embedded_spec": {
+ "type": "object",
+ "properties": {
+ "ceip_enabled": {
+ "description": "Customer experience improvement program should be enabled or disabled for this embedded vCenter Server migration.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ceip_enabled"
+ ]
+ },
+ "vcenter.deployment.migrate_check": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.migrate.migrate_spec",
+ "description": "MigrateSpec parameters to run sanity check on."
+ }
+ }
+ },
+ "vcenter.deployment.migrate_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.migrate.migrate_spec"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.migrate_start": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.migrate.migrate_spec",
+ "description": "MigrateSpec parameters to configure the appliance migration."
+ }
+ }
+ },
+ "vcenter.deployment.notification": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The notification id.",
+ "type": "string"
+ },
+ "time": {
+ "description": "The time the notification was raised/found.\nOnly set if the time information is available.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "message": {
+ "description": "The notification message.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ },
+ "resolution": {
+ "description": "The resolution message, if any.\nOnly set for warnings and errors.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "id",
+ "message"
+ ]
+ },
+ "vcenter.deployment.notifications": {
+ "type": "object",
+ "properties": {
+ "info": {
+ "description": "Info notification messages reported.\nOnly set if an info was reported by the task.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.deployment.notification"
+ }
+ },
+ "warnings": {
+ "description": "Warning notification messages reported.\nOnly set if an warning was reported by the task.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.deployment.notification"
+ }
+ },
+ "errors": {
+ "description": "Error notification messages reported.\nOnly set if an error was reported by the task.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.deployment.notification"
+ }
+ }
+ }
+ },
+ "vcenter.deployment.question.answer_spec": {
+ "type": "object",
+ "properties": {
+ "question_id": {
+ "description": "Id of the question being answered.",
+ "type": "string"
+ },
+ "answer_val": {
+ "description": "The answer value.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "question_id",
+ "answer_val"
+ ]
+ },
+ "vcenter.deployment.question.info": {
+ "type": "object",
+ "properties": {
+ "questions": {
+ "description": "One or more questions raised during the deployment.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.deployment.question.question"
+ }
+ }
+ },
+ "required": [
+ "questions"
+ ]
+ },
+ "vcenter.deployment.question.question": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the question raised.",
+ "type": "string"
+ },
+ "question": {
+ "description": "Message describing the question.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ },
+ "type": {
+ "description": "Type of the question raised.",
+ "$ref": "#/components/schemas/vcenter.deployment.question.question_type"
+ },
+ "default_answer": {
+ "description": "Default answer value.",
+ "type": "string"
+ },
+ "possible_answers": {
+ "description": "Possible answers values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "question",
+ "type",
+ "default_answer",
+ "possible_answers"
+ ]
+ },
+ "vcenter.deployment.question.question_type": {
+ "type": "string",
+ "description": "The Question.QuestionType enumerated type defines the type of the question raised.",
+ "enum": [
+ "YES_NO",
+ "OK_CANCEL",
+ "ABORT_RETRY_IGNORE"
+ ]
+ },
+ "vcenter.deployment.question_answer": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.question.answer_spec",
+ "description": "AnswerSpec with the answer to the raised question."
+ }
+ }
+ },
+ "vcenter.deployment.question_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.question.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.remote_psc_spec": {
+ "type": "object",
+ "properties": {
+ "psc_hostname": {
+ "description": "The IP address or DNS resolvable name of the remote PSC to which this configuring vCenter Server will be registered to.",
+ "type": "string"
+ },
+ "https_port": {
+ "description": "The HTTPS port of the external PSC appliance.\nIf unset, port 443 will be used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "sso_admin_password": {
+ "description": "The SSO administrator account password.",
+ "type": "string"
+ },
+ "ssl_thumbprint": {
+ "description": "SHA1 thumbprint of the server SSL certificate will be used for verification when ssl_verify field is set to true.\nThis field is only relevant if RemotePscSpec.ssl-verify is unset or has the value true.",
+ "type": "string"
+ },
+ "ssl_verify": {
+ "description": "SSL verification should be enabled or disabled. If RemotePscSpec.ssl-verify is true and and RemotePscSpec.ssl-thumbprint is unset, the CA certificate will be used for verification. If RemotePscSpec.ssl-verify is true and RemotePscSpec.ssl-thumbprint is set then the thumbprint will be used for verification. No verification will be performed if RemotePscSpec.ssl-verify value is set to false.\nIf unset, RemotePscSpec.ssl-verify true will be used.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "psc_hostname",
+ "sso_admin_password"
+ ]
+ },
+ "vcenter.deployment.replicated_psc_spec": {
+ "type": "object",
+ "properties": {
+ "sso_site_name": {
+ "description": "The SSO sitename that will be used in PSC replication.\nIf unset, default-first-site will be used.",
+ "type": "string"
+ },
+ "partner_hostname": {
+ "description": "The IP address or DNS resolvable name of the partner PSC appliance.",
+ "type": "string"
+ },
+ "https_port": {
+ "description": "The HTTPS port of the external PSC appliance.\nIf unset, port 443 will be used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "sso_admin_password": {
+ "description": "The SSO administrator account password.",
+ "type": "string"
+ },
+ "ssl_thumbprint": {
+ "description": "SHA1 thumbprint of the server SSL certificate will be used for verification.\nThis field is only relevant if ReplicatedSpec.ssl-verify is unset or has the value true.",
+ "type": "string"
+ },
+ "ssl_verify": {
+ "description": "SSL verification should be enabled or disabled.\nIf unset, ssl_verify true will be used.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "partner_hostname",
+ "sso_admin_password"
+ ]
+ },
+ "vcenter.deployment.replicated_spec": {
+ "type": "object",
+ "properties": {
+ "partner_hostname": {
+ "description": "The IP address or DNS resolvable name of the partner PSC appliance.",
+ "type": "string"
+ },
+ "https_port": {
+ "description": "The HTTPS port of the external PSC appliance.\nIf unset, port 443 will be used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "sso_admin_password": {
+ "description": "The SSO administrator account password.",
+ "type": "string"
+ },
+ "ssl_thumbprint": {
+ "description": "SHA1 thumbprint of the server SSL certificate will be used for verification.\nThis field is only relevant if ReplicatedSpec.ssl-verify is unset or has the value true.",
+ "type": "string"
+ },
+ "ssl_verify": {
+ "description": "SSL verification should be enabled or disabled.\nIf unset, ssl_verify true will be used.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "partner_hostname",
+ "sso_admin_password"
+ ]
+ },
+ "vcenter.deployment.source_info": {
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "The IP address or DNS resolvable name of the source vCenter Server.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Source vCenter Server version.",
+ "type": "string"
+ },
+ "deployment_type": {
+ "description": "Deployment type of the source vCenter Server.",
+ "$ref": "#/components/schemas/vcenter.deployment.appliance_type"
+ },
+ "deployment_size": {
+ "description": "Deployment size of the source vCenter Server.",
+ "$ref": "#/components/schemas/vcenter.deployment.appliance_size"
+ },
+ "sso_domain_name": {
+ "description": "The SSO domain name of the source vCenter Server.",
+ "type": "string"
+ },
+ "active_directory_domain": {
+ "description": "The domain name of the Active Directory server to which the source vCenter Server is joined.",
+ "type": "string"
+ },
+ "dns_servers": {
+ "description": "IP addresses of the DNS servers of the Active Directory server.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "data_migration_info": {
+ "description": "Contains all the available migrate options, estimated export and import time and the space required to migrate the data.\nThis field will be available if estimate data is available for the appliance.",
+ "$ref": "#/components/schemas/vcenter.deployment.data_migration_info"
+ }
+ },
+ "required": [
+ "hostname",
+ "version",
+ "deployment_type",
+ "deployment_size",
+ "sso_domain_name",
+ "active_directory_domain",
+ "dns_servers"
+ ]
+ },
+ "vcenter.deployment.standalone_psc_spec": {
+ "type": "object",
+ "properties": {
+ "sso_site_name": {
+ "description": "The SSO site name used for this PSC.\nIf unset, default-first-site will be used.",
+ "type": "string"
+ },
+ "sso_admin_password": {
+ "description": "The SSO administrator account password.",
+ "type": "string"
+ },
+ "sso_domain_name": {
+ "description": "The SSO domain name to be used to configure this appliance.\nIf unset, vsphere.local will be used.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "sso_admin_password"
+ ]
+ },
+ "vcenter.deployment.standalone_spec": {
+ "type": "object",
+ "properties": {
+ "sso_admin_password": {
+ "description": "The SSO administrator account password.",
+ "type": "string"
+ },
+ "sso_domain_name": {
+ "description": "The SSO domain name to be used to configure this appliance.\nIf unset, vsphere.local will be used.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "sso_admin_password"
+ ]
+ },
+ "vcenter.deployment.task": {
+ "type": "object",
+ "properties": {
+ "progress": {
+ "description": "The progress info of this deployment task.\nThis field is optional and it is only relevant when the value of CommonInfo#status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.",
+ "$ref": "#/components/schemas/cis.task.progress"
+ },
+ "result": {
+ "description": "Result of the task.\nThis field will be unset if result is not available at the current step of the task.",
+ "$ref": "#/components/schemas/vcenter.deployment.notifications"
+ },
+ "description": {
+ "description": "Description of the operation associated with the task.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ },
+ "service": {
+ "description": "Identifier of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.service.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Identifier of the operation associated with the task.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vapi.operation.",
+ "type": "string"
+ },
+ "parent": {
+ "description": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: cis.task. When operations return a value of this structure as a result, the field will be an identifier for the resource type: cis.task.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Identifier of the target created by the operation or an existing one the operation performed on.\nThis field will be unset if the operation has no target or multiple targets.",
+ "$ref": "#/components/schemas/vapi.std.dynamic_ID"
+ },
+ "status": {
+ "description": "Status of the operation associated with the task.",
+ "$ref": "#/components/schemas/cis.task.status"
+ },
+ "cancelable": {
+ "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.",
+ "type": "boolean"
+ },
+ "error": {
+ "description": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info.result).",
+ "type": "string"
+ },
+ "start_time": {
+ "description": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "end_time": {
+ "description": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of SUCCEEDED or FAILED.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "user": {
+ "description": "Name of the user who performed the operation.\nThis field will be unset if the operation is performed by the system.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "description",
+ "service",
+ "operation",
+ "status",
+ "cancelable"
+ ]
+ },
+ "vcenter.deployment.upgrade.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.check_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.upgrade.psc_spec": {
+ "type": "object",
+ "properties": {
+ "ceip_enabled": {
+ "description": "Customer experience improvement program should be enabled or disabled for this Platform Services Controller upgrade.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ceip_enabled"
+ ]
+ },
+ "vcenter.deployment.upgrade.source_appliance_spec": {
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "The IP address or DNS resolvable name of the source appliance.",
+ "type": "string"
+ },
+ "https_port": {
+ "description": "The HTTPS port of the source appliance.\nIf unset, port 443 will be used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "ssl_thumbprint": {
+ "description": "SHA1 thumbprint of the server SSL certificate will be used for verification.\nThis field is only relevant if Upgrade.SourceApplianceSpec.ssl-verify is unset or has the value true.",
+ "type": "string"
+ },
+ "ssl_verify": {
+ "description": "SSL verification should be enabled or disabled for the source appliance validations. By default it is enabled and will use SSL certificate for verification. If thumbprint is provided, will use thumbprint for the verification.\nIf unset, ssl_verify true will be used.",
+ "type": "boolean"
+ },
+ "sso_admin_username": {
+ "description": "The SSO administrator account on the source appliance.",
+ "type": "string"
+ },
+ "sso_admin_password": {
+ "description": "The SSO administrator account password.",
+ "type": "string",
+ "format": "password"
+ },
+ "root_password": {
+ "description": "The password of the root user on the source appliance.",
+ "type": "string",
+ "format": "password"
+ },
+ "ssh_verify": {
+ "description": "Appliance SSH verification should be enabled or disabled. By default it is disabled and will not use any verification. If thumbprint is provided, thumbprint verification will be performed.\nIf unset, ssh_verify true will be used.",
+ "type": "boolean"
+ },
+ "ssh_thumbprint": {
+ "description": "MD5 thumbprint of the server SSH key will be used for verification.\nThis field is only relevant if Upgrade.SourceApplianceSpec.ssh-verify is unset or has the value true.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "hostname",
+ "sso_admin_username",
+ "sso_admin_password",
+ "root_password"
+ ]
+ },
+ "vcenter.deployment.upgrade.upgrade_spec": {
+ "type": "object",
+ "properties": {
+ "source_appliance": {
+ "description": "Source appliance spec.",
+ "$ref": "#/components/schemas/vcenter.deployment.upgrade.source_appliance_spec"
+ },
+ "source_location": {
+ "description": "Source location spec.",
+ "$ref": "#/components/schemas/vcenter.deployment.location_spec"
+ },
+ "history": {
+ "description": "Determines how vCenter history will be migrated during the upgrade process. vCenter history consists of: \n - Statistics\n - Events\n - Tasks\n By default only core data will be migrated. Use this spec to define which part of vCenter history data will be migrated and when.\nIf unset, only core database content will be migrated.",
+ "$ref": "#/components/schemas/vcenter.deployment.history_migration_spec"
+ },
+ "vcsa_embedded": {
+ "description": "Information that are specific to this embedded vCenter Server.\nIf unset, ceip_enabled for embedded vcenter server upgrade will default to enabled.",
+ "$ref": "#/components/schemas/vcenter.deployment.upgrade.vcsa_embedded_spec"
+ },
+ "psc": {
+ "description": "Information that are specific to this Platform Services Controller.\nIf unset, ceip_enabled for psc upgrade will default to enabled.",
+ "$ref": "#/components/schemas/vcenter.deployment.upgrade.psc_spec"
+ },
+ "auto_answer": {
+ "description": "Use the default option for any questions that may come up during appliance configuration.\nIf unset, will default to false.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "source_appliance",
+ "source_location"
+ ]
+ },
+ "vcenter.deployment.upgrade.vcsa_embedded_spec": {
+ "type": "object",
+ "properties": {
+ "ceip_enabled": {
+ "description": "Customer experience improvement program should be enabled or disabled for this embedded vCenter Server upgrade.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ceip_enabled"
+ ]
+ },
+ "vcenter.deployment.upgrade_check": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.upgrade.upgrade_spec",
+ "description": "UpgradeSpec parameters to run sanity check on."
+ }
+ }
+ },
+ "vcenter.deployment.upgrade_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.upgrade.upgrade_spec"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.deployment.upgrade_start": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.upgrade.upgrade_spec",
+ "description": "UpgradeSpec parameters to configure the appliance upgrade."
+ }
+ }
+ },
+ "vcenter.deployment_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.deployment.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.folder.filter_spec": {
+ "type": "object",
+ "properties": {
+ "folders": {
+ "description": "Identifiers of folders that can match the filter.\nIf unset or empty, folders with any identifier match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "Names that folders must have to match the filter (see Folder.Summary.name).\nIf unset or empty, folders with any name match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Type that folders must have to match the filter (see Folder.Summary.type).\nIf unset, folders with any type match the filter.",
+ "$ref": "#/components/schemas/vcenter.folder.type"
+ },
+ "parent_folders": {
+ "description": "Folders that must contain the folder for the folder to match the filter.\nIf unset or empty, folder in any folder match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "datacenters": {
+ "description": "Datacenters that must contain the folder for the folder to match the filter.\nIf unset or empty, folder in any datacenter match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.folder.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.folder.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.folder.summary": {
+ "type": "object",
+ "properties": {
+ "folder": {
+ "description": "Identifier of the folder.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the vCenter Server folder.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type (Type) of the vCenter Server folder.",
+ "$ref": "#/components/schemas/vcenter.folder.type"
+ }
+ },
+ "required": [
+ "folder",
+ "name",
+ "type"
+ ]
+ },
+ "vcenter.folder.type": {
+ "type": "string",
+ "description": "The Folder.Type enumerated type defines the type of a vCenter Server folder. The type of a folder determines what what kinds of children can be contained in the folder.",
+ "enum": [
+ "DATACENTER",
+ "DATASTORE",
+ "HOST",
+ "NETWORK",
+ "VIRTUAL_MACHINE"
+ ]
+ },
+ "vcenter.guest.IP_settings": {
+ "type": "object",
+ "properties": {
+ "ipv4": {
+ "description": "Specification to configure IPv4 address, subnet mask and gateway info for this virtual network adapter.\nIf unset, no IPv4 addresses are set.",
+ "$ref": "#/components/schemas/vcenter.guest.ipv4"
+ },
+ "ipv6": {
+ "description": "Specification to configure IPv6 address, subnet mask and gateway info for this virtual network adapter.\nIf unset, no IPv6 addresses are set.",
+ "$ref": "#/components/schemas/vcenter.guest.ipv6"
+ },
+ "windows": {
+ "description": "Windows settings to be configured for this specific virtual Network adapter. This is valid only for Windows guest operating systems.\nIf unset, no specific Windows settings are set.",
+ "$ref": "#/components/schemas/vcenter.guest.windows_network_adapter_settings"
+ }
+ }
+ },
+ "vcenter.guest.adapter_mapping": {
+ "type": "object",
+ "properties": {
+ "mac_address": {
+ "description": "The MAC address of a network adapter being customized.\nIf unset, the customization process maps the the settings from the list of AdapterMappings.IPSettings in the CustomizationSpec.interfaces to the virtual machine's network adapters, in PCI slot order. The first virtual network adapter on the PCI bus is assigned interfaces[0].IPSettings, the second adapter is assigned interfaces[1].IPSettings, and so on.",
+ "type": "string"
+ },
+ "adapter": {
+ "description": "The IP settings for the associated virtual network adapter.",
+ "$ref": "#/components/schemas/vcenter.guest.IP_settings"
+ }
+ },
+ "required": [
+ "adapter"
+ ]
+ },
+ "vcenter.guest.cloud_configuration": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the cloud configuration.",
+ "$ref": "#/components/schemas/vcenter.guest.cloud_configuration.type"
+ },
+ "cloudinit": {
+ "description": "cloud-init configuration\nThis field is optional and it is only relevant when the value of CloudConfiguration.type is CLOUDINIT.",
+ "$ref": "#/components/schemas/vcenter.guest.cloudinit_configuration"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.guest.cloud_configuration.type": {
+ "type": "string",
+ "description": "The CloudConfiguration.Type enumerated type specifies different types of the cloud configuration.",
+ "enum": [
+ "CLOUDINIT"
+ ]
+ },
+ "vcenter.guest.cloudinit_configuration": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata includes the network, instance id and hostname that cloud-init processes to configure the virtual machine. It is in json or yaml format. The max size of the metadata is 524288 bytes. See https://cloudinit.readthedocs.io/en/latest/topics/datasources/ovf.html about supported meta data formats.",
+ "type": "string"
+ },
+ "userdata": {
+ "description": "Userdata is the user customized content that cloud-init processes to configure the virtual machine. See https://cloudinit.readthedocs.io/en/latest/topics/format.html about user data formats. See https://cloudinit.readthedocs.io/en/latest/topics/modules.html# about user data modules. The max size of the userdata is 524288 bytes.\nIf unset, no cloud-init user data will be used as part of the cloud-init configuration.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ },
+ "vcenter.guest.configuration_spec": {
+ "type": "object",
+ "properties": {
+ "windows_config": {
+ "description": "Guest customization specification for a Windows guest operating system\nIf unset, ConfigurationSpec.linux-config or ConfigurationSpec.cloud-config must be set. Otherwise, an appropriate fault will be thrown.",
+ "$ref": "#/components/schemas/vcenter.guest.windows_configuration"
+ },
+ "linux_config": {
+ "description": "Guest customization specification for a linux guest operating system\nIf unset, ConfigurationSpec.windows-config or ConfigurationSpec.cloud-config must be set. Otherwise, an appropriate fault will be thrown.",
+ "$ref": "#/components/schemas/vcenter.guest.linux_configuration"
+ },
+ "cloud_config": {
+ "description": "Guest customization specification with cloud configuration.\nIf unset, ConfigurationSpec.windows-config or ConfigurationSpec.linux-config must be set. Otherwise, an appropriate fault will be thrown.",
+ "$ref": "#/components/schemas/vcenter.guest.cloud_configuration"
+ }
+ }
+ },
+ "vcenter.guest.customization_spec": {
+ "type": "object",
+ "properties": {
+ "configuration_spec": {
+ "description": "Settings to be applied to the guest during the customization.",
+ "$ref": "#/components/schemas/vcenter.guest.configuration_spec"
+ },
+ "global_DNS_settings": {
+ "description": "Global DNS settings constitute the DNS settings that are not specific to a particular virtual network adapter.",
+ "$ref": "#/components/schemas/vcenter.guest.global_DNS_settings"
+ },
+ "interfaces": {
+ "description": "IP settings that are specific to a particular virtual network adapter. The AdapterMapping structure maps a network adapter's MAC address to its IPSettings. May be empty if there are no network adapters, else should match number of network adapters configured for the VM.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.guest.adapter_mapping"
+ }
+ }
+ },
+ "required": [
+ "configuration_spec",
+ "global_DNS_settings",
+ "interfaces"
+ ]
+ },
+ "vcenter.guest.customization_specs.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.guest.customization_specs.create_spec": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "description": "The specification object.",
+ "$ref": "#/components/schemas/vcenter.guest.customization_spec"
+ },
+ "description": {
+ "description": "Description of the specification.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the specification.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "spec",
+ "description",
+ "name"
+ ]
+ },
+ "vcenter.guest.customization_specs.export_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.guest.customization_specs.filter_spec": {
+ "type": "object",
+ "properties": {
+ "names": {
+ "description": "Names that guest customization specifications must have to match the filter (see CustomizationSpecs.Summary.name).\nIf unset or empty, guest customization specifications with any name match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.guest.CustomizationSpec. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.guest.CustomizationSpec.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "OS_type": {
+ "description": "Guest operating system type that guest customization specifications must have to match the filter (see CustomizationSpecs.Summary.os-type).\nIf unset, guest customization specifications with any guest operating system type match the filter.",
+ "$ref": "#/components/schemas/vcenter.guest.customization_specs.os_type"
+ }
+ }
+ },
+ "vcenter.guest.customization_specs.format": {
+ "type": "string",
+ "description": "The CustomizationSpecs.Format enumerated type specifies the formats the customization specification can be exported to.",
+ "enum": [
+ "JSON",
+ "XML"
+ ]
+ },
+ "vcenter.guest.customization_specs.import_specification_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.guest.customization_specs.create_spec"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.guest.customization_specs.info": {
+ "type": "object",
+ "properties": {
+ "last_modified": {
+ "description": "Time when the specification was last modified.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "spec": {
+ "description": "The Spec object including specification and metadata information.",
+ "$ref": "#/components/schemas/vcenter.guest.customization_specs.spec"
+ }
+ },
+ "required": [
+ "last_modified",
+ "spec"
+ ]
+ },
+ "vcenter.guest.customization_specs.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.guest.customization_specs.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.guest.customization_specs.os_type": {
+ "type": "string",
+ "description": "The CustomizationSpecs.OsType enumerated type defines the types of guest operating systems for which guest customization is supported.",
+ "enum": [
+ "WINDOWS",
+ "LINUX"
+ ]
+ },
+ "vcenter.guest.customization_specs.spec": {
+ "type": "object",
+ "properties": {
+ "fingerprint": {
+ "description": "The fingerprint is a unique identifier for a given version of the configuration. Each change to the configuration will update this value. A client cannot change this value. If specified when updating a specification, the changes will only be applied if the current fingerprint matches the specified fingerprint. This field can be used to guard against updates that has happened between the specification content was read and until it is applied.",
+ "type": "string"
+ },
+ "spec": {
+ "description": "The specification object.",
+ "$ref": "#/components/schemas/vcenter.guest.customization_spec"
+ },
+ "description": {
+ "description": "Description of the specification.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the specification.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "fingerprint",
+ "spec",
+ "description",
+ "name"
+ ]
+ },
+ "vcenter.guest.customization_specs.summary": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the guest customization specification.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.guest.CustomizationSpec. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.guest.CustomizationSpec.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the guest customization specification.",
+ "type": "string"
+ },
+ "OS_type": {
+ "description": "Guest operating system type for which that this guest customization specification applies.",
+ "$ref": "#/components/schemas/vcenter.guest.customization_specs.os_type"
+ },
+ "last_modified": {
+ "description": "Date and tme when this guest customization specification was last modified.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "name",
+ "description",
+ "OS_type",
+ "last_modified"
+ ]
+ },
+ "vcenter.guest.customization_specs_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.guest.customization_specs.create_spec",
+ "description": "The information i.e. name, description and the settings i.e hostname, ip address etc for the new customization specification that needs to be created."
+ }
+ }
+ },
+ "vcenter.guest.customization_specs_export": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "$ref": "#/components/schemas/vcenter.guest.customization_specs.format",
+ "description": "The format in which the customization specification has to be returned."
+ }
+ }
+ },
+ "vcenter.guest.customization_specs_import_specification": {
+ "type": "object",
+ "properties": {
+ "customization_spec": {
+ "type": "string",
+ "description": "content to be converted to the spec."
+ }
+ }
+ },
+ "vcenter.guest.customization_specs_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.guest.customization_specs.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.guest.customization_specs_set": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.guest.customization_specs.spec",
+ "description": "The new specification that will overwrite the existing specification."
+ }
+ }
+ },
+ "vcenter.guest.domain": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of network to join after the customization.",
+ "$ref": "#/components/schemas/vcenter.guest.domain.type"
+ },
+ "workgroup": {
+ "description": "The workgroup that the virtual machine should join.\nThis field is optional and it is only relevant when the value of Domain.type is WORKGROUP.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "The domain to which the virtual machine should be joined.\nThis field is optional and it is only relevant when the value of Domain.type is DOMAIN.",
+ "type": "string"
+ },
+ "domain_username": {
+ "description": "The domain user that has permission to join the domain after virtual machine is joined.\nThis field is optional and it is only relevant when the value of Domain.type is DOMAIN.",
+ "type": "string"
+ },
+ "domain_password": {
+ "description": "The domain user password that has permission to join the Domain.domain-username after customization.\nThis field is optional and it is only relevant when the value of Domain.type is DOMAIN.",
+ "type": "string",
+ "format": "password"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.guest.domain.type": {
+ "type": "string",
+ "description": "The Domain.Type enumerated type defines the types of network the virtual machine should join to after the customization is completed.",
+ "enum": [
+ "WORKGROUP",
+ "DOMAIN"
+ ]
+ },
+ "vcenter.guest.global_DNS_settings": {
+ "type": "object",
+ "properties": {
+ "dns_suffix_list": {
+ "description": "List of name resolution suffixes for the virtual network adapter. This list applies to both Windows and Linux guest customization. For Linux, this setting is global, whereas in Windows, this setting is listed on a per-adapter basis.\nIf unset, no DNS suffixes are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dns_servers": {
+ "description": "List of DNS servers, for a virtual network adapter with a static IP address. If this list is empty, then the guest operating system is expected to use a DHCP server to get its DNS server settings. These settings configure the virtual machine to use the specified DNS servers. These DNS server settings are listed in the order of preference.\nIf unset, no DNS servers are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.guest.gui_unattended": {
+ "type": "object",
+ "properties": {
+ "auto_logon": {
+ "description": "Flag to determine whether or not the machine automatically logs on as Administrator. See the GuiUnattended.password property. If GuiUnattended.auto-logon flag is set, then GuiUnattended.password must not be unset or the guest customization will fail.",
+ "type": "boolean"
+ },
+ "auto_logon_count": {
+ "description": "If the GuiUnattended.auto-logon flag is set, then this property specifies the number of times the machine should automatically log on as Administrator. Generally it should be 1, but if the setup requires a number of reboots, you may want to increase it. This number may be determined by the list of commands.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "password": {
+ "description": "The new administrator password for the machine. To specify that the password should be set to blank (that is, no password), leave it unset.\nIf unset, blank password will be used.",
+ "type": "string",
+ "format": "password"
+ },
+ "time_zone": {
+ "description": "The time zone index for the virtual machine. Numbers correspond to time zones at https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "auto_logon",
+ "auto_logon_count",
+ "time_zone"
+ ]
+ },
+ "vcenter.guest.hostname_generator": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the Name Generator",
+ "$ref": "#/components/schemas/vcenter.guest.hostname_generator.type"
+ },
+ "fixed_name": {
+ "description": "The virtual machine name specified by the client.\nThis field is optional and it is only relevant when the value of HostnameGenerator.type is FIXED.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "Base prefix, to which a unique number is appended.\nThis field is optional and it is only relevant when the value of HostnameGenerator.type is PREFIX.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.guest.hostname_generator.type": {
+ "type": "string",
+ "description": "The HostnameGenerator.Type enumerated type specifies different types of Name Generators.",
+ "enum": [
+ "FIXED",
+ "PREFIX",
+ "VIRTUAL_MACHINE",
+ "USER_INPUT_REQUIRED"
+ ]
+ },
+ "vcenter.guest.ipv4": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the IPv4 configuration.",
+ "$ref": "#/components/schemas/vcenter.guest.ipv4.type"
+ },
+ "ip_address": {
+ "description": "The static IPv4 address\nThis field is optional and it is only relevant when the value of Ipv4.type is STATIC.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The IPv4 CIDR prefix, for example, 24. See http://www.oav.net/mirrors/cidr.html for netmask-to-prefix conversion.\nThis field is optional and it is only relevant when the value of Ipv4.type is STATIC.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "gateways": {
+ "description": "Gateways for the IPv4 address.\nIf unset, no gateways are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.guest.ipv4.type": {
+ "type": "string",
+ "description": "The Ipv4.Type enumerated type specifies different types of the IPv4 configuration.",
+ "enum": [
+ "DHCP",
+ "STATIC",
+ "USER_INPUT_REQUIRED"
+ ]
+ },
+ "vcenter.guest.ipv6": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The IPv6 configuration type",
+ "$ref": "#/components/schemas/vcenter.guest.ipv6.type"
+ },
+ "ipv6": {
+ "description": "IPv6 address\nThis field is optional and it is only relevant when the value of Ipv6.type is STATIC.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.guest.ipv6_address"
+ }
+ },
+ "gateways": {
+ "description": "gateways for the IPv6 address.\nIf unset, no gateways are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.guest.ipv6.type": {
+ "type": "string",
+ "description": "The Ipv6.Type enumerated type specifies different types of the IPv6 configuration.",
+ "enum": [
+ "DHCP",
+ "STATIC",
+ "USER_INPUT_REQUIRED"
+ ]
+ },
+ "vcenter.guest.ipv6_address": {
+ "type": "object",
+ "properties": {
+ "ip_address": {
+ "description": "Static IPv6 Address.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The CIDR prefix for the interface.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "ip_address",
+ "prefix"
+ ]
+ },
+ "vcenter.guest.linux_configuration": {
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "The network host name of the Linux virtual machine.",
+ "$ref": "#/components/schemas/vcenter.guest.hostname_generator"
+ },
+ "domain": {
+ "description": "The fully qualified domain name.",
+ "type": "string"
+ },
+ "time_zone": {
+ "description": "The case-sensitive time zone, such as Europe/Sofia. Valid time zone values are based on the tz (time zone) database used by Linux. The values are strings (string) in the form \"Area/Location,\" in which Area is a continent or ocean name, and Location is the city, island, or other regional designation. \n See the https://kb.vmware.com/kb/2145518 for a list of supported time zones for different versions in Linux.\n\nIf unset, time zone is not modified inside guest operating system.",
+ "type": "string"
+ },
+ "script_text": {
+ "description": "The script to run before and after Linux guest customization.\n The max size of the script is 1500 bytes. As long as the script (shell, perl, python...) has the right \"#!\" in the header, it is supported. The caller should not assume any environment variables when the script is run. \n The script is invoked by the customization engine using the command line: 1) with argument \"precustomization\" before customization, 2) with argument \"postcustomization\" after customization. The script should parse this argument and implement pre-customization or post-customization task code details in the corresponding block. \n\n A Linux shell script example: \n\n #!/bin/sh\n if [ x$1 == x\"precustomization\" ]; then\n echo \"Do Precustomization tasks\"\n #code for pre-customization actions...\n elif [ x$1 == x\"postcustomization\" ]; then\n echo \"Do Postcustomization tasks\"\n #code for post-customization actions...\n fi\n \n\nIf unset, no script will be executed.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "hostname",
+ "domain"
+ ]
+ },
+ "vcenter.guest.user_data": {
+ "type": "object",
+ "properties": {
+ "computer_name": {
+ "description": "The computer name of the (Windows) virtual machine. A computer name may contain letters (A-Z), numbers(0-9) and hyphens (-) but no spaces or periods (.). The name may not consist entirely of digits. A computer name is restricted to 15 characters in length. If the computer name is longer than 15 characters, it will be truncated to 15 characters. Check HostnameGenerator for various options.",
+ "$ref": "#/components/schemas/vcenter.guest.hostname_generator"
+ },
+ "full_name": {
+ "description": "Full name of the end user. Note that this is not the username but full name specified in \"Firstname Lastname\" format.",
+ "type": "string"
+ },
+ "organization": {
+ "description": "Name of the organization that owns the computer.",
+ "type": "string"
+ },
+ "product_key": {
+ "description": "The product Key to use for activating Windows guest operating system.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "computer_name",
+ "full_name",
+ "organization",
+ "product_key"
+ ]
+ },
+ "vcenter.guest.windows_configuration": {
+ "type": "object",
+ "properties": {
+ "reboot": {
+ "description": "A value specifying the action that should be taken after customization.\nIf unset, the REBOOT option will be chosen.",
+ "$ref": "#/components/schemas/vcenter.guest.windows_configuration.reboot_option"
+ },
+ "sysprep": {
+ "description": "Customization settings like user details, administrator details, etc for the windows guest operating system. Exactly one of WindowsConfiguration.sysprep or WindowsConfiguration.sysprep-xml must be specified.\nIf unset, sysprep settings will not be applied to the windows guest operating system.",
+ "$ref": "#/components/schemas/vcenter.guest.windows_sysprep"
+ },
+ "sysprep_xml": {
+ "description": "All settings specified in a XML format. This is the content of a typical answer.xml file that is used by System administrators during the Windows image customization. Check https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/update-windows-settings-and-scripts-create-your-own-answer-file-sxs Exactly one of WindowsConfiguration.sysprep or WindowsConfiguration.sysprep-xml must be specified.\nIf unset, sysprep settings will not be applied to the windows guest operating system.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.guest.windows_configuration.reboot_option": {
+ "type": "string",
+ "description": "The WindowsConfiguration.RebootOption enumerated type specifies what should be done to the guest after the customization.",
+ "enum": [
+ "REBOOT",
+ "NO_REBOOT",
+ "SHUTDOWN"
+ ]
+ },
+ "vcenter.guest.windows_network_adapter_settings": {
+ "type": "object",
+ "properties": {
+ "dns_servers": {
+ "description": "A list of server IP addresses to use for DNS lookup in a Windows guest operating system. \n These servers should be specified in the order of preference. If this list is not empty, and if a DHCP IP address is used, then these settings override the DHCP settings.\n\nIf unset, no DNS servers are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dns_domain": {
+ "description": "A DNS domain suffix such as vmware.com.\nIf unset, no DNS domain is set.",
+ "type": "string"
+ },
+ "wins_servers": {
+ "description": "List of WINS Servers to set for the Windows guest operating system. A Maximum of two IP addresses can be specified in this list. The first IP address will be set as the primary WINS server. The second IP address will be set as the secondary WINS server.\nIf unset, no WINS Servers are set.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "net_BIOS_mode": {
+ "description": "NetBIOS setting for Windows.\nIf unset, existing NetBIOS mode will be retained.",
+ "$ref": "#/components/schemas/vcenter.guest.windows_network_adapter_settings.net_BIOS_mode"
+ }
+ }
+ },
+ "vcenter.guest.windows_network_adapter_settings.net_BIOS_mode": {
+ "type": "string",
+ "description": "The WindowsNetworkAdapterSettings.NetBIOSMode enumerated type specifies different NetBIOS settings for Windows guest operating systems.",
+ "enum": [
+ "USE_DHCP",
+ "ENABLE",
+ "DISABLE"
+ ]
+ },
+ "vcenter.guest.windows_sysprep": {
+ "type": "object",
+ "properties": {
+ "gui_run_once_commands": {
+ "description": "A list of commands to run at first user logon, after customizing the guest. These commands are directly mapped to the GuiRunOnce key in the sysprep.xml answer file. These commands are transferred into the sysprep.xml file that VirtualCenter stores on the target virtual disk. For more information about performing unattended installation, check https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx The commands listed here ar executed when a user logs on the first time after customization completes. The logon may be driven by GuiUnattended.auto-logon setting. These commands are directly mapped to the GuiRunOnce key in the\nIf unset, no commands are run.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "user_data": {
+ "description": "Personal data pertaining to the owner of the virtual machine.",
+ "$ref": "#/components/schemas/vcenter.guest.user_data"
+ },
+ "domain": {
+ "description": "Information needed to join a workgroup or domain.\nIf unset, the guest will not be joined to any workgroup or a domain.",
+ "$ref": "#/components/schemas/vcenter.guest.domain"
+ },
+ "gui_unattended": {
+ "description": "Information related to unattended installation.",
+ "$ref": "#/components/schemas/vcenter.guest.gui_unattended"
+ }
+ },
+ "required": [
+ "user_data",
+ "gui_unattended"
+ ]
+ },
+ "vcenter.host.connection_state": {
+ "type": "string",
+ "enum": [
+ "CONNECTED",
+ "DISCONNECTED",
+ "NOT_RESPONDING"
+ ]
+ },
+ "vcenter.host.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.host.create_spec": {
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "The IP address or DNS resolvable name of the host.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port of the host.\nIf unset, port 443 will be used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "user_name": {
+ "description": "The administrator account on the host.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password for the administrator account on the host.",
+ "type": "string",
+ "format": "password"
+ },
+ "folder": {
+ "description": "Host and cluster folder in which the new standalone host should be created.\nThis field is currently required. In the future, if this field is unset, the system will attempt to choose a suitable folder for the host; if a folder cannot be chosen, the host creation operation will fail.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.",
+ "type": "string"
+ },
+ "thumbprint_verification": {
+ "description": "Type of host's SSL certificate verification to be done.",
+ "$ref": "#/components/schemas/vcenter.host.create_spec.thumbprint_verification"
+ },
+ "thumbprint": {
+ "description": "The thumbprint of the SSL certificate, which the host is expected to have. The thumbprint is always computed using the SHA1 hash and is the string representation of that hash in the format: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx where, 'x' represents a hexadecimal digit.\nThis field is optional and it is only relevant when the value of Host.CreateSpec.thumbprint-verification is THUMBPRINT.",
+ "type": "string"
+ },
+ "force_add": {
+ "description": "Whether host should be added to the vCenter Server even if it is being managed by another vCenter Server. The original vCenterServer loses connection to the host.\nIf unset, forceAdd is default to false.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "hostname",
+ "user_name",
+ "password",
+ "thumbprint_verification"
+ ]
+ },
+ "vcenter.host.create_spec.thumbprint_verification": {
+ "type": "string",
+ "description": "The Host.CreateSpec.ThumbprintVerification enumerated type defines the thumbprint verification schemes for a host's SSL certificate.",
+ "enum": [
+ "NONE",
+ "THUMBPRINT"
+ ]
+ },
+ "vcenter.host.filter_spec": {
+ "type": "object",
+ "properties": {
+ "hosts": {
+ "description": "Identifiers of hosts that can match the filter.\nIf unset or empty, hosts with any identifier match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: HostSystem. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: HostSystem.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "Names that hosts must have to match the filter (see Host.Summary.name).\nIf unset or empty, hosts with any name match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "folders": {
+ "description": "Folders that must contain the hosts for the hosts to match the filter.\nIf unset or empty, hosts in any folder match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "datacenters": {
+ "description": "Datacenters that must contain the hosts for the hosts to match the filter.\nIf unset or empty, hosts in any datacenter match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "standalone": {
+ "description": "If true, only hosts that are not part of a cluster can match the filter, and if false, only hosts that are are part of a cluster can match the filter.\nIf unset Hosts can match filter independent of whether they are part of a cluster or not. If this field is true and Host.FilterSpec.clusters os not empty, no hosts will match the filter.",
+ "type": "boolean"
+ },
+ "clusters": {
+ "description": "Clusters that must contain the hosts for the hosts to match the filter.\nIf unset or empty, hosts in any cluster and hosts that are not in a cluster match the filter. If this field is not empty and Host.FilterSpec.standalone is true, no hosts will match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "connection_states": {
+ "description": "Connection states that a host must be in to match the filter (see Host.Summary.connection-state.\nIf unset or empty, hosts in any connection state match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/vcenter.host.connection_state"
+ }
+ }
+ }
+ },
+ "vcenter.host.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.host.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.host.power_state": {
+ "type": "string",
+ "description": "The Host.PowerState enumerated type defines the power states of a host.",
+ "enum": [
+ "POWERED_ON",
+ "POWERED_OFF",
+ "STANDBY"
+ ]
+ },
+ "vcenter.host.summary": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "description": "Identifier of the host.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the host.",
+ "type": "string"
+ },
+ "connection_state": {
+ "description": "Connection status of the host",
+ "$ref": "#/components/schemas/vcenter.host.connection_state"
+ },
+ "power_state": {
+ "description": "Power state of the host\nThis field is optional and it is only relevant when the value of Host.Summary.connection-state is CONNECTED.",
+ "$ref": "#/components/schemas/vcenter.host.power_state"
+ }
+ },
+ "required": [
+ "host",
+ "name",
+ "connection_state"
+ ]
+ },
+ "vcenter.host_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.host.create_spec",
+ "description": "Specification for the new host to be created."
+ }
+ }
+ },
+ "vcenter.hvc.links.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.hvc.links.create_spec": {
+ "type": "object",
+ "properties": {
+ "psc_hostname": {
+ "description": "The PSC hostname for the domain to be linked. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The HTTPS port of the PSC to be linked. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ },
+ "domain_name": {
+ "description": "The domain to which the PSC belongs. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ },
+ "username": {
+ "description": "The administrator username of the PSC. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The administrator password of the PSC. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string",
+ "format": "password"
+ },
+ "ssl_thumbprint": {
+ "description": "The ssl thumbprint of the server. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ },
+ "admin_groups": {
+ "description": "List of groups to be added to enable administrator access to. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "psc_hostname",
+ "domain_name",
+ "username",
+ "password"
+ ]
+ },
+ "vcenter.hvc.links.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.hvc.links.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.hvc.links.summary": {
+ "type": "object",
+ "properties": {
+ "link": {
+ "description": "Unique identifier for the link. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "The display name is set to the domain name which was set during create. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "link",
+ "display_name"
+ ]
+ },
+ "vcenter.hvc.links.sync.providers.info": {
+ "type": "object",
+ "properties": {
+ "last_sync_time": {
+ "description": "Last sync time for the provider. This indicates the last time that either a background sync or a force sync was started for the provider *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "status": {
+ "description": "Last Sync status for the provider. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/vcenter.hvc.links.sync.providers.status"
+ },
+ "polling_interval_in_seconds": {
+ "description": "Sync Polling interval between local and remote replicas for the provider *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "current_session_info": {
+ "description": "Returns information on the forced sync for the provider. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/vcenter.hvc.links.sync.providers.session_info"
+ },
+ "status_message": {
+ "description": "Localizable messages associated with sync status *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "status",
+ "polling_interval_in_seconds"
+ ]
+ },
+ "vcenter.hvc.links.sync.providers.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.hvc.links.sync.providers.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.hvc.links.sync.providers.session_info": {
+ "type": "object",
+ "properties": {
+ "stage": {
+ "description": "Sync stage for the session. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/vcenter.hvc.links.sync.providers.session_info.stage"
+ },
+ "completed_work": {
+ "description": "Completed work for the session. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "total_work": {
+ "description": "Total work for the session. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "completion_time": {
+ "description": "Time at which forced sync session was completed. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "start_time": {
+ "description": "Time at which force sync was initiated. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "exception": {
+ "description": "Exception message if there is a sync failure on forced sync. *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "stage",
+ "completed_work",
+ "total_work",
+ "start_time"
+ ]
+ },
+ "vcenter.hvc.links.sync.providers.session_info.stage": {
+ "type": "string",
+ "description": "The {@name Stage} {@term structure} defines the different stages of Sync. *Warning:* This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "enum": [
+ "CHANGE_DETECTION",
+ "CHANGE_ENUMERATION",
+ "CHANGE_APPLICATION",
+ "COMPLETED",
+ "FAILED",
+ "WAITING"
+ ]
+ },
+ "vcenter.hvc.links.sync.providers.status": {
+ "type": "string",
+ "description": "The {@name Status} {@term enumerated type} defines valid sync status. *Warning:* This enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "enum": [
+ "SUCCEEDED",
+ "FAILED",
+ "NO_SYNC_FOUND"
+ ]
+ },
+ "vcenter.hvc.links.sync.providers.summary": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Sync provider id *Warning:* This attribute is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "provider"
+ ]
+ },
+ "vcenter.hvc.links.sync.providers_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.hvc.links.sync.providers.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.hvc.links_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.hvc.links.create_spec",
+ "description": "Specification for the new link to be created."
+ }
+ }
+ },
+ "vcenter.hvc.management.administrators_add": {
+ "type": "object",
+ "properties": {
+ "group_name": {
+ "type": "string",
+ "description": "Name of the new group to be added. Ex - xyz@abc.com where xyz is the group name and abc.com is the domain name"
+ }
+ }
+ },
+ "vcenter.hvc.management.administrators_remove": {
+ "type": "object",
+ "properties": {
+ "group_name": {
+ "type": "string",
+ "description": "Name of the group to be removed. Ex - xyz@abc.com where xyz is the group name and abc.com is the domain name"
+ }
+ }
+ },
+ "vcenter.hvc.management.administrators_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.hvc.management.administrators_set": {
+ "type": "object",
+ "properties": {
+ "group_names": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Names the groups to be in the CloudAdminGroup Ex - xyz@abc.com where xyz is the group name and abc.com is the domain name"
+ }
+ }
+ },
+ "vcenter.identity.providers.active_directory_over_ldap": {
+ "type": "object",
+ "properties": {
+ "user_name": {
+ "description": "User name to connect to the active directory server.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password to connect to the active directory server.",
+ "type": "string",
+ "format": "password"
+ },
+ "users_base_dn": {
+ "description": "Base distinguished name for users",
+ "type": "string"
+ },
+ "groups_base_dn": {
+ "description": "Base distinguished name for groups",
+ "type": "string"
+ },
+ "server_endpoints": {
+ "description": "Active directory server endpoints. At least one active directory server endpoint must be set.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "cert_chain": {
+ "description": "SSL certificate chain in base64 encoding.\nThis field can be unset only, if all the active directory server endpoints use the LDAP (not LDAPS) protocol.",
+ "$ref": "#/components/schemas/vcenter.certificate_management.x509_cert_chain"
+ }
+ },
+ "required": [
+ "user_name",
+ "password",
+ "users_base_dn",
+ "groups_base_dn",
+ "server_endpoints"
+ ]
+ },
+ "vcenter.identity.providers.config_type": {
+ "type": "string",
+ "description": "The Providers.ConfigType structure contains the possible types of vCenter Server identity providers.",
+ "enum": [
+ "Oauth2",
+ "Oidc"
+ ]
+ },
+ "vcenter.identity.providers.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.identity.providers.create_spec": {
+ "type": "object",
+ "properties": {
+ "config_tag": {
+ "description": "The config type of the identity provider",
+ "$ref": "#/components/schemas/vcenter.identity.providers.config_type"
+ },
+ "oauth2": {
+ "description": "OAuth2 CreateSpec\nThis field is optional and it is only relevant when the value of Providers.CreateSpec.config-tag is Oauth2.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oauth2_create_spec"
+ },
+ "oidc": {
+ "description": "OIDC CreateSpec\nThis field is optional and it is only relevant when the value of Providers.CreateSpec.config-tag is Oidc.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oidc_create_spec"
+ },
+ "org_ids": {
+ "description": "The set of orgIds as part of SDDC creation which provides the basis for tenancy\nIf unset, the set will be empty.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "is_default": {
+ "description": "Specifies whether the provider is the default provider. Setting Providers.CreateSpec.is-default of current provider to True makes all other providers non-default. If no other providers created in this vCenter Server before, this parameter will be disregarded, and the provider will always be set to the default.\nIf unset the provider will be the default provider if it is the first provider that is created, and will not be the default provider otherwise.",
+ "type": "boolean"
+ },
+ "name": {
+ "description": "The user friendly name for the provider. This name can be used for human-readable identification purposes, but it does not have to be unique, as the system will use internal UUIDs to differentiate providers.\nIf unset, the name will be the empty string",
+ "type": "string"
+ },
+ "domain_names": {
+ "description": "Set of fully qualified domain names to trust when federating with this identity provider. Tokens from this identity provider will only be validated if the user belongs to one of these domains, and any domain-qualified groups in the tokens will be filtered to include only those groups that belong to one of these domains.\nIf unset, domainNames will be the empty set and the domain validation behavior at login with this identity provider will be as follows: the user's domain will be parsed from the User Principal Name (UPN) value that is found in the tokens returned by the identity provider. This domain will then be implicitly trusted and used to filter any groups that are also provided in the tokens.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "auth_query_params": {
+ "description": "\nkey/value pairs that are to be appended to the authEndpoint request.\n \nHow to append to authEndpoint request:\n If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\nIf unset, the map will be empty.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "idm_protocol": {
+ "description": "Communication protocol to the identity management endpoints.\nIf unset, no communication protocol will be configured for the identity provider.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.idm_protocol"
+ },
+ "idm_endpoints": {
+ "description": "Identity management endpoints. When specified, at least one endpoint must be provided.\nThis field is optional and it is only relevant when the value of Providers.CreateSpec.idm-protocol is one of REST, SCIM, or SCIM2_0.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "active_directory_over_ldap": {
+ "description": "Identity management configuration. If the protocol is LDAP, the configuration must be set, else InvalidArgument is thrown.\nThis field is optional and it is only relevant when the value of Providers.CreateSpec.idm-protocol is LDAP.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.active_directory_over_ldap"
+ },
+ "upn_claim": {
+ "description": "Specifies which claim provides the user principal name (UPN) for the user.\nIf unset, the claim named 'acct' will be used to provide backwards compatibility with CSP.",
+ "type": "string"
+ },
+ "groups_claim": {
+ "description": "Specifies which claim provides the group membership for the token subject. These groups will be used for mapping to local groups per the claim map.\nIf unset, the default behavior will be CSP backwards compatiblility. The groups for the subject will be comprised of the groups in 'group_names' and 'group_ids' claims.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "config_tag"
+ ]
+ },
+ "vcenter.identity.providers.idm_protocol": {
+ "type": "string",
+ "description": "The Providers.IdmProtocol structure contains the possible types of communication protocols to the identity management endpoints.",
+ "enum": [
+ "REST",
+ "SCIM",
+ "SCIM2_0",
+ "LDAP"
+ ]
+ },
+ "vcenter.identity.providers.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The user friendly name for the provider\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "string"
+ },
+ "org_ids": {
+ "description": "The set of orgIds as part of SDDC creation which provides the basis for tenancy",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "config_tag": {
+ "description": "The config type of the identity provider",
+ "$ref": "#/components/schemas/vcenter.identity.providers.config_type"
+ },
+ "oauth2": {
+ "description": "OAuth2 Info\nThis field is optional and it is only relevant when the value of Providers.Info.config-tag is Oauth2.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oauth2_info"
+ },
+ "oidc": {
+ "description": "OIDC Info\nThis field is optional and it is only relevant when the value of Providers.Info.config-tag is Oidc.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oidc_info"
+ },
+ "is_default": {
+ "description": "Specifies whether the provider is the default provider.",
+ "type": "boolean"
+ },
+ "domain_names": {
+ "description": "Set of fully qualified domain names to trust when federating with this identity provider. Tokens from this identity provider will only be validated if the user belongs to one of these domains, and any domain-qualified groups in the tokens will be filtered to include only those groups that belong to one of these domains. If domainNames is an empty set, domain validation behavior at login with this identity provider will be as follows: the user's domain will be parsed from the User Principal Name (UPN) value that is found in the tokens returned by the identity provider. This domain will then be implicitly trusted and used to filter any groups that are also provided in the tokens.\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "auth_query_params": {
+ "description": "\nkey/value pairs that are to be appended to the authEndpoint request.\n \nHow to append to authEndpoint request:\n If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "idm_protocol": {
+ "description": "Communication protocol to the identity management endpoints.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.idm_protocol"
+ },
+ "idm_endpoints": {
+ "description": "Identity management endpoints.\nThis field is optional and it is only relevant when the value of Providers.Info.idm-protocol is one of REST, SCIM, or SCIM2_0.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "active_directory_over_ldap": {
+ "description": "Identity management configuration.\nThis field is optional and it is only relevant when the value of Providers.Info.idm-protocol is LDAP.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.active_directory_over_ldap"
+ },
+ "upn_claim": {
+ "description": "Specifies which claim provides the user principal name (UPN) for the user.\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "string"
+ },
+ "groups_claim": {
+ "description": "Specifies which claim provides the group membership for the token subject. If empty, the default behavior for CSP is used. In this case, the groups for the subject will be comprised of the groups in 'group_names' and 'group_ids' claims.\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "org_ids",
+ "config_tag",
+ "is_default"
+ ]
+ },
+ "vcenter.identity.providers.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.identity.providers.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.identity.providers.oauth2_authentication_method": {
+ "type": "string",
+ "description": "The Providers.Oauth2AuthenticationMethod structure contains the possible types of OAuth2 authentication methods.",
+ "enum": [
+ "CLIENT_SECRET_BASIC",
+ "CLIENT_SECRET_POST",
+ "CLIENT_SECRET_JWT",
+ "PRIVATE_KEY_JWT"
+ ]
+ },
+ "vcenter.identity.providers.oauth2_create_spec": {
+ "type": "object",
+ "properties": {
+ "auth_endpoint": {
+ "description": "Authentication/authorization endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "token_endpoint": {
+ "description": "Token endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "public_key_uri": {
+ "description": "Endpoint to retrieve the provider public key for validation",
+ "type": "string",
+ "format": "uri"
+ },
+ "client_id": {
+ "description": "Client identifier to connect to the provider",
+ "type": "string"
+ },
+ "client_secret": {
+ "description": "The secret shared between the client and the provider",
+ "type": "string"
+ },
+ "claim_map": {
+ "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "issuer": {
+ "description": "The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token.",
+ "type": "string"
+ },
+ "authentication_method": {
+ "description": "Authentication method used by the provider",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oauth2_authentication_method"
+ },
+ "auth_query_params": {
+ "description": "\nkey/value pairs that are to be appended to the authEndpoint request.\n \nHow to append to authEndpoint request:\n If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\nIf unset, the map will be empty.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "auth_endpoint",
+ "token_endpoint",
+ "public_key_uri",
+ "client_id",
+ "client_secret",
+ "claim_map",
+ "issuer",
+ "authentication_method"
+ ]
+ },
+ "vcenter.identity.providers.oauth2_info": {
+ "type": "object",
+ "properties": {
+ "auth_endpoint": {
+ "description": "Authentication/authorization endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "token_endpoint": {
+ "description": "Token endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "public_key_uri": {
+ "description": "Endpoint to retrieve the provider public key for validation",
+ "type": "string",
+ "format": "uri"
+ },
+ "client_id": {
+ "description": "Client identifier to connect to the provider",
+ "type": "string"
+ },
+ "client_secret": {
+ "description": "The secret shared between the client and the provider",
+ "type": "string"
+ },
+ "claim_map": {
+ "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "issuer": {
+ "description": "The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token",
+ "type": "string"
+ },
+ "authentication_method": {
+ "description": "Authentication method used by the provider",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oauth2_authentication_method"
+ },
+ "auth_query_params": {
+ "description": "\nkey/value pairs that are to be appended to the authEndpoint request.\n \nHow to append to authEndpoint request:\n If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "auth_endpoint",
+ "token_endpoint",
+ "public_key_uri",
+ "client_id",
+ "client_secret",
+ "claim_map",
+ "issuer",
+ "authentication_method",
+ "auth_query_params"
+ ]
+ },
+ "vcenter.identity.providers.oauth2_summary": {
+ "type": "object",
+ "properties": {
+ "auth_endpoint": {
+ "description": "Authentication/authorization endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "token_endpoint": {
+ "description": "Token endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "client_id": {
+ "description": "Client identifier to connect to the provider",
+ "type": "string"
+ },
+ "authentication_header": {
+ "description": "The authentication data used as part of request header to acquire or refresh an OAuth2 token. The data format depends on the authentication method used. Example of basic authentication format: Authorization: Basic [base64Encode(clientId + \":\" + secret)]",
+ "type": "string"
+ },
+ "auth_query_params": {
+ "description": "\nkey/value pairs that are to be appended to the authEndpoint request.\n \nHow to append to authEndpoint request:\n If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "auth_endpoint",
+ "token_endpoint",
+ "client_id",
+ "authentication_header",
+ "auth_query_params"
+ ]
+ },
+ "vcenter.identity.providers.oauth2_update_spec": {
+ "type": "object",
+ "properties": {
+ "auth_endpoint": {
+ "description": "Authentication/authorization endpoint of the provider\nIf unset, leaves value unchanged.",
+ "type": "string",
+ "format": "uri"
+ },
+ "token_endpoint": {
+ "description": "Token endpoint of the provider.\nIf unset, leaves value unchanged.",
+ "type": "string",
+ "format": "uri"
+ },
+ "public_key_uri": {
+ "description": "Endpoint to retrieve the provider public key for validation\nIf unset, leaves value unchanged.",
+ "type": "string",
+ "format": "uri"
+ },
+ "client_id": {
+ "description": "Client identifier to connect to the provider\nIf unset, leaves value unchanged.",
+ "type": "string"
+ },
+ "client_secret": {
+ "description": "Shared secret between identity provider and client\nIf unset, leaves value unchanged.",
+ "type": "string"
+ },
+ "claim_map": {
+ "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.\nIf unset, leaves value unchanged.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "issuer": {
+ "description": "The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token\nIf unset, leaves value unchanged.",
+ "type": "string"
+ },
+ "authentication_method": {
+ "description": "Authentication method used by the provider\nIf unset, leaves value unchanged.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oauth2_authentication_method"
+ },
+ "auth_query_params": {
+ "description": "key/value pairs that are to be appended to the authEndpoint request. How to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details: If the value contains only one string, then the key is added with \"k=v\". If the value is an empty list, then the key is added without a \"=v\". If the value contains multiple strings, then the key is repeated in the query-string for each string in the value. If the map is empty, deletes all params.\nIf unset, leaves value unchanged.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "vcenter.identity.providers.oidc_create_spec": {
+ "type": "object",
+ "properties": {
+ "discovery_endpoint": {
+ "description": "Endpoint to retrieve the provider metadata",
+ "type": "string",
+ "format": "uri"
+ },
+ "client_id": {
+ "description": "Client identifier to connect to the provider",
+ "type": "string"
+ },
+ "client_secret": {
+ "description": "The secret shared between the client and the provider",
+ "type": "string"
+ },
+ "claim_map": {
+ "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "discovery_endpoint",
+ "client_id",
+ "client_secret",
+ "claim_map"
+ ]
+ },
+ "vcenter.identity.providers.oidc_info": {
+ "type": "object",
+ "properties": {
+ "discovery_endpoint": {
+ "description": "Endpoint to retrieve the provider metadata",
+ "type": "string",
+ "format": "uri"
+ },
+ "logout_endpoint": {
+ "description": "The endpoint to use for terminating the user's session at the identity provider. This value is automatically derived from the metadata information provided by the OIDC discovery endpoint.\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "string",
+ "format": "uri"
+ },
+ "auth_endpoint": {
+ "description": "Authentication/authorization endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "token_endpoint": {
+ "description": "Token endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "public_key_uri": {
+ "description": "Endpoint to retrieve the provider public key for validation",
+ "type": "string",
+ "format": "uri"
+ },
+ "client_id": {
+ "description": "Client identifier to connect to the provider",
+ "type": "string"
+ },
+ "client_secret": {
+ "description": "The secret shared between the client and the provider",
+ "type": "string"
+ },
+ "claim_map": {
+ "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "issuer": {
+ "description": "The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token",
+ "type": "string"
+ },
+ "authentication_method": {
+ "description": "Authentication method used by the provider",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oauth2_authentication_method"
+ },
+ "auth_query_params": {
+ "description": "\nkey/value pairs that are to be appended to the authEndpoint request.\n \nHow to append to authEndpoint request:\n If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "discovery_endpoint",
+ "auth_endpoint",
+ "token_endpoint",
+ "public_key_uri",
+ "client_id",
+ "client_secret",
+ "claim_map",
+ "issuer",
+ "authentication_method",
+ "auth_query_params"
+ ]
+ },
+ "vcenter.identity.providers.oidc_summary": {
+ "type": "object",
+ "properties": {
+ "discovery_endpoint": {
+ "description": "Endpoint to retrieve the provider metadata\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "string",
+ "format": "uri"
+ },
+ "logout_endpoint": {
+ "description": "The endpoint to use for terminating the user's session at the identity provider. This value is automatically derived from the metadata information provided by the OIDC discovery endpoint.\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "string",
+ "format": "uri"
+ },
+ "auth_endpoint": {
+ "description": "Authentication/authorization endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "token_endpoint": {
+ "description": "Token endpoint of the provider",
+ "type": "string",
+ "format": "uri"
+ },
+ "client_id": {
+ "description": "Client identifier to connect to the provider",
+ "type": "string"
+ },
+ "authentication_header": {
+ "description": "The authentication data used as part of request header to acquire or refresh an OAuth2 token. The data format depends on the authentication method used. Example of basic authentication format: Authorization: Basic [base64Encode(clientId + \":\" + secret)]",
+ "type": "string"
+ },
+ "auth_query_params": {
+ "description": "\nkey/value pairs that are to be appended to the authEndpoint request.\n \nHow to append to authEndpoint request:\n If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "auth_endpoint",
+ "token_endpoint",
+ "client_id",
+ "authentication_header",
+ "auth_query_params"
+ ]
+ },
+ "vcenter.identity.providers.oidc_update_spec": {
+ "type": "object",
+ "properties": {
+ "discovery_endpoint": {
+ "description": "Endpoint to retrieve the provider metadata\nIf unset, leaves value unchanged.",
+ "type": "string",
+ "format": "uri"
+ },
+ "client_id": {
+ "description": "Client identifier to connect to the provider\nIf unset, leaves value unchanged.",
+ "type": "string"
+ },
+ "client_secret": {
+ "description": "The secret shared between the client and the provider\nIf unset, leaves value unchanged.",
+ "type": "string"
+ },
+ "claim_map": {
+ "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.\nIf unset, leaves value unchanged.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "vcenter.identity.providers.summary": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The identifier of the provider\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.identity.Providers. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.identity.Providers.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The user friendly name for the provider\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "string"
+ },
+ "config_tag": {
+ "description": "The config type of the identity provider",
+ "$ref": "#/components/schemas/vcenter.identity.providers.config_type"
+ },
+ "oauth2": {
+ "description": "OAuth2 Summary\nThis field is optional and it is only relevant when the value of Providers.Summary.config-tag is Oauth2.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oauth2_summary"
+ },
+ "oidc": {
+ "description": "OIDC Summary\nThis field is optional and it is only relevant when the value of Providers.Summary.config-tag is Oidc.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oidc_summary"
+ },
+ "is_default": {
+ "description": "Specifies whether the provider is the default provider.",
+ "type": "boolean"
+ },
+ "domain_names": {
+ "description": "Set of fully qualified domain names to trust when federating with this identity provider. Tokens from this identity provider will only be validated if the user belongs to one of these domains, and any domain-qualified groups in the tokens will be filtered to include only those groups that belong to one of these domains. If domainNames is an empty set, domain validation behavior at login with this identity provider will be as follows: the user's domain will be parsed from the User Principal Name (UPN) value that is found in the tokens returned by the identity provider. This domain will then be implicitly trusted and used to filter any groups that are also provided in the tokens.\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "auth_query_params": {
+ "description": "\nkey/value pairs that are to be appended to the authEndpoint request.\n \nHow to append to authEndpoint request:\n If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "provider",
+ "config_tag",
+ "is_default"
+ ]
+ },
+ "vcenter.identity.providers.update_spec": {
+ "type": "object",
+ "properties": {
+ "config_tag": {
+ "description": "The config type of the identity provider",
+ "$ref": "#/components/schemas/vcenter.identity.providers.config_type"
+ },
+ "oauth2": {
+ "description": "OAuth2 UpdateSpec\nThis field is optional and it is only relevant when the value of Providers.UpdateSpec.config-tag is Oauth2.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oauth2_update_spec"
+ },
+ "oidc": {
+ "description": "OIDC UpdateSpec\nThis field is optional and it is only relevant when the value of Providers.UpdateSpec.config-tag is Oidc.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.oidc_update_spec"
+ },
+ "org_ids": {
+ "description": "The set orgIds as part of SDDC creation which provides the basis for tenancy\nIf unset, leaves value unchanged.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "make_default": {
+ "description": "Specifies whether to make this the default provider. If Providers.UpdateSpec.make-default is set to true, this provider will be flagged as the default provider and any other providers that had previously been flagged as the default will be made non-default. If Providers.UpdateSpec.make-default is set to false, this provider's default flag will not be modified.\nIf unset, leaves value unchanged.",
+ "type": "boolean"
+ },
+ "name": {
+ "description": "The user friendly name for the provider. This name can be used for human-readable identification purposes, but it does not have to be unique, as the system will use internal UUIDs to differentiate providers.\nIf unset, leaves value unchanged.",
+ "type": "string"
+ },
+ "domain_names": {
+ "description": "Set of fully qualified domain names to trust when federating with this identity provider. Tokens from this identity provider will only be validated if the user belongs to one of these domains, and any domain-qualified groups in the tokens will be filtered to include only those groups that belong to one of these domains.\nIf unset, leaves value unchanged. If domainNames is an empty set, domain validation behavior at login with this identity provider will be as follows: the user's domain will be parsed from the User Principal Name (UPN) value that is found in the tokens returned by the identity provider. This domain will then be implicitly trusted and used to filter any groups that are also provided in the tokens.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "auth_query_params": {
+ "description": "key/value pairs that are to be appended to the authEndpoint request. How to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details: If the value contains only one string, then the key is added with \"k=v\". If the value is an empty list, then the key is added without a \"=v\". If the value contains multiple strings, then the key is repeated in the query-string for each string in the value. If the map is empty, deletes all params.\nIf unset, leaves value unchanged.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "idm_protocol": {
+ "description": "The protocol to communicate to the identity management endpoints\nIf unset, leave value unchanged.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.idm_protocol"
+ },
+ "idm_endpoints": {
+ "description": "Identity management endpoints. When specified, at least one endpoint must be provided.\nThis field is optional and it is only relevant when the value of Providers.UpdateSpec.idm-protocol is one of REST, SCIM, or SCIM2_0.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "active_directory_over_ldap": {
+ "description": "Identity management configuration. If the protocol is LDAP, the configuration must be set, else InvalidArgument is thrown\nThis field is optional and it is only relevant when the value of Providers.UpdateSpec.idm-protocol is LDAP.",
+ "$ref": "#/components/schemas/vcenter.identity.providers.active_directory_over_ldap"
+ },
+ "upn_claim": {
+ "description": "Specifies which claim provides the user principal name (UPN) for the subject of the token.\nIf unset, leaves value unchanged.",
+ "type": "string"
+ },
+ "reset_upn_claim": {
+ "description": "Flag indicating whether the user principal name (UPN) claim should be set back to its default value. If this field is set to true, the user principal name (UPN) claim will be set to 'acct', which is used for backwards compatibility with CSP. If this field is set to false, the existing user principal name (UPN) claim will be changed to the value specified in Providers.UpdateSpec.upn-claim, if any.\nIf unset, the existing user principal name (UPN) claim will be changed to the value specified in Providers.UpdateSpec.upn-claim, if any.",
+ "type": "boolean"
+ },
+ "groups_claim": {
+ "description": "Specifies which claim provides the group membership for the token subject.\nIf unset, leaves value unchanged.",
+ "type": "string"
+ },
+ "reset_groups_claim": {
+ "description": "Flag indicating whether any existing groups claim value should be removed. If this field is set to true, the existing groups claim value is removed which defaults to backwards compatibility with CSP. In this case, the groups for the subject will be comprised of the groups in 'group_names' and 'group_ids' claims. If this field is set to false, the existing groups claim will be changed to the value specified in Providers.UpdateSpec.groups-claim, if any.\nIf unset, the existing groups claim will be changed to the value specified in Providers.UpdateSpec.groups-claim, if any.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "config_tag"
+ ]
+ },
+ "vcenter.identity.providers_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.identity.providers.create_spec",
+ "description": "the CreateSpec contains the information used to create the provider"
+ }
+ }
+ },
+ "vcenter.identity.providers_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.identity.providers.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.identity.providers_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.identity.providers.update_spec",
+ "description": "the UpdateSpec contains the information used to update the provider"
+ }
+ }
+ },
+ "vcenter.inventory.datastore.find_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.inventory.datastore.info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.inventory.datastore.info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the datastore.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.inventory.datastore_find": {
+ "type": "object",
+ "properties": {
+ "datastores": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Identifiers of the datastores for which information will be returned."
+ }
+ }
+ },
+ "vcenter.inventory.network.find_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.inventory.network.info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.inventory.network.info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the vCenter Server network.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.inventory.network_find": {
+ "type": "object",
+ "properties": {
+ "networks": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Identifiers of the vCenter Server networks for which information will be returned."
+ }
+ }
+ },
+ "vcenter.iso.image.mount_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.iso.image_mount": {
+ "type": "object",
+ "properties": {
+ "vm": {
+ "type": "string",
+ "description": "The identifier of the virtual machine where the specified ISO image will be mounted."
+ }
+ }
+ },
+ "vcenter.iso.image_unmount": {
+ "type": "object",
+ "properties": {
+ "cdrom": {
+ "type": "string",
+ "description": "The device identifier of the CD-ROM."
+ }
+ }
+ },
+ "vcenter.namespaces.access.subject_type": {
+ "type": "string",
+ "description": "The Access.SubjectType enumerated type lists the types of subjects who can be associated with a Access.Role on the namespace.",
+ "enum": [
+ "USER",
+ "GROUP"
+ ]
+ },
+ "vcenter.namespaces.instances.VM_service_spec": {
+ "type": "object",
+ "properties": {
+ "content_libraries": {
+ "description": "Set of content libraries for use by the VM Service. The content libraries specified should exist in vSphere inventory.\nThis field is optional because it was added in a newer version than its parent node.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: content.Library. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: content.Library.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "vm_classes": {
+ "description": "Set of VirtualMachineClasses for use by the VM Service. The class names specified here should exist in vSphere inventory. If this field is empty in an updated specification, all VirtualMachineClasses that are currently associated with the namespace will be disassociated from it. \n NOTE: Any change in virtual machine classes associated with the namespace will not impact existing VMs.\n\nThis field is optional because it was added in a newer version than its parent node.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.namespace_management.VirtualMachineClass. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.namespace_management.VirtualMachineClass.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.namespaces.instances.storage_spec": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "ID of the storage policy. A Kubernetes storage class is created for this storage policy if it does not exist already.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile. When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile.",
+ "type": "string"
+ },
+ "limit": {
+ "description": "The maximum amount of storage (in mebibytes) which can be utilized by the namespace for this specification.\nIf unset, no limits are placed.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "policy"
+ ]
+ },
+ "vcenter.namespaces.namespace_templates.create_spec": {
+ "type": "object",
+ "properties": {
+ "template": {
+ "description": "Identifier of the namespace template. This has DNS_LABEL restrictions as specified in . This name is unique across all namespaces templates in this vCenter server.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "resource_spec": {
+ "description": "Resource quotas that this template defines. Resource quota on the namespace. Refer to vcenter.namespace_management.NamespaceResourceOptions.Info#createResourceQuotaType and use vcenter.namespace_management.NamespaceResourceOptions#get for retrieving the type for the value for this field. For an example of this, see ResourceQuotaOptionsV1.",
+ "type": "object"
+ },
+ "storage_specs": {
+ "description": "Storage that this template defines and will be associated with a namespace after namespace realization. This field should not be empty and at least one policy should be supplied. The {link create} throws {term InvalidArgument} exception if this field is set empty.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.namespaces.instances.storage_spec"
+ }
+ },
+ "networks": {
+ "description": "vSphere Networks that this template captures and are associated with the namespace after namespace realization. vSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing vcenter.namespace_management.Networks.Info structures.\nThe field must be left unset if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN as the network provider, since the network(s) for this namespace will be managed by NSX-T Container Plugin. If field is unset when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. The field currently accepts at most only 1 vSphere Namespaces network object reference.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.namespace_management.Network. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.namespace_management.Network.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "permissions": {
+ "description": "Permissions associated with namespace template.\nIf unset, only users with the Administrator role can use this template; for example, this template is applied to the namespace created by self-service-users with the Administrator role.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.namespaces.namespace_templates.subject"
+ }
+ },
+ "vm_service_spec": {
+ "description": "VM Service specification to be associated with the namespace template. Namespaces created using this template will have access to the virtual machine classes and Content Libraries specified in the NamespaceTemplates.CreateSpec.vm-service-spec by default.\nIf unset, the namespaces created using this template will not have access to any virtual machine classes and Content Libraries by default.",
+ "$ref": "#/components/schemas/vcenter.namespaces.instances.VM_service_spec"
+ }
+ },
+ "required": [
+ "template",
+ "resource_spec",
+ "storage_specs"
+ ]
+ },
+ "vcenter.namespaces.namespace_templates.info": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier for the vSphere cluster associated with namespace template.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "template": {
+ "description": "Name of the namespace template.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.NamespaceTemplate. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.NamespaceTemplate.",
+ "type": "string"
+ },
+ "resource_spec": {
+ "description": "Resource quotas that this template defines. Quotas on the namespace resources. Refer to vcenter.namespace_management.NamespaceResourceOptions#get for the type of the value for this field.\nIf unset, no resource constraints are defined in the namespace template.",
+ "type": "object"
+ },
+ "storage_specs": {
+ "description": "Storage that this template defines and will be associated with a namespace after namespace realization.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.namespaces.instances.storage_spec"
+ }
+ },
+ "networks": {
+ "description": "vSphere Networks that this template captures and are associated with the namespace after namespace realization.\nThis field is unset if the cluster hosting this namespace uses NSXT_CONTAINER_PLUGIN as its network provider.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.namespace_management.Network. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.namespace_management.Network.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "permissions": {
+ "description": "Permissions associated with namespace template.\nIf unset, only users with the Administrator role can use this template; for example, this template is applied to the namespace created by self-service-users with the Administrator role.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.namespaces.namespace_templates.subject"
+ }
+ },
+ "vm_service_spec": {
+ "description": "Current set of virtual machine classes and Content Libraries associated with the template.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/vcenter.namespaces.instances.VM_service_spec"
+ }
+ },
+ "required": [
+ "cluster",
+ "template",
+ "storage_specs"
+ ]
+ },
+ "vcenter.namespaces.namespace_templates.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.namespaces.namespace_templates.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.namespaces.namespace_templates.subject": {
+ "type": "object",
+ "properties": {
+ "subject_type": {
+ "description": "Type of the subject.",
+ "$ref": "#/components/schemas/vcenter.namespaces.access.subject_type"
+ },
+ "subject": {
+ "description": "Name of the subject.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "Domain of the subject.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "subject_type",
+ "subject",
+ "domain"
+ ]
+ },
+ "vcenter.namespaces.namespace_templates.summary": {
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "description": "Identifier for the vSphere cluster associated with namespace template.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.",
+ "type": "string"
+ },
+ "template": {
+ "description": "Name of the namespace template.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.namespaces.NamespaceTemplate. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.namespaces.NamespaceTemplate.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "cluster",
+ "template"
+ ]
+ },
+ "vcenter.namespaces.namespace_templates.update_spec": {
+ "type": "object",
+ "properties": {
+ "resource_spec": {
+ "description": "Resource quota on the namespace. Refer to vcenter.namespace_management.NamespaceResourceOptions.Info#createResourceQuotaType and use vcenter.namespace_management.NamespaceResourceOptions#get for retrieving the type for the value for this field. For an example of this, see ResourceQuotaOptionsV1.\nIf unset, no resource limits will be set on the namespace.",
+ "type": "object"
+ },
+ "storage_specs": {
+ "description": "Storage that this template defines and will be associated with a namespace after namespace realization.\nIf unset then no update will be made.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.namespaces.instances.storage_spec"
+ }
+ },
+ "networks": {
+ "description": "vSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing vcenter.namespace_management.Networks.Info structures.\nThe field must be left unset if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN as the network provider, since the network(s) for this namespace will be managed by NSX-T Container Plugin. If field is unset when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. The field currently accepts at most only 1 vSphere Namespaces network object reference.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.namespace_management.Network. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.namespace_management.Network.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "permissions": {
+ "description": "Permissions associated with namespace template.\nIf unset, only users with the Administrator role can use this template; for example, this template is applied to the namespace created by self-service-users with the Administrator role.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.namespaces.namespace_templates.subject"
+ }
+ },
+ "vm_service_spec": {
+ "description": "VM Service specification to be associated with the namespace template. The virtual machine classes and Content Library associations of the template will be updated according to the NamespaceTemplates.UpdateSpec.vm-service-spec.\nIf unset, the virtual machine classes and Content Library associations of the template will not be modified.",
+ "$ref": "#/components/schemas/vcenter.namespaces.instances.VM_service_spec"
+ }
+ }
+ },
+ "vcenter.namespaces.namespace_templates_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.namespaces.namespace_templates.create_spec",
+ "description": "Specification for setting up the namespace template."
+ }
+ }
+ },
+ "vcenter.namespaces.namespace_templates_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.namespaces.namespace_templates.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.namespaces.namespace_templates_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.namespaces.namespace_templates.update_spec",
+ "description": "Specification for updating the namespace template."
+ }
+ }
+ },
+ "vcenter.network.filter_spec": {
+ "type": "object",
+ "properties": {
+ "networks": {
+ "description": "Identifiers of networks that can match the filter.\nIf unset or empty, networks with any identifier match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Network. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Network.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "Names that networks must have to match the filter (see Network.Summary.name).\nIf unset or empty, networks with any name match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "types": {
+ "description": "Types that networks must have to match the filter (see Network.Summary.type).\nIf unset, networks with any type match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/vcenter.network.type"
+ }
+ },
+ "folders": {
+ "description": "Folders that must contain the network for the network to match the filter.\nIf unset or empty, networks in any folder match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "datacenters": {
+ "description": "Datacenters that must contain the network for the network to match the filter.\nIf unset or empty, networks in any datacenter match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.network.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.network.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.network.summary": {
+ "type": "object",
+ "properties": {
+ "network": {
+ "description": "Identifier of the network.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the network.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type (Type) of the vCenter Server network.",
+ "$ref": "#/components/schemas/vcenter.network.type"
+ }
+ },
+ "required": [
+ "network",
+ "name",
+ "type"
+ ]
+ },
+ "vcenter.network.type": {
+ "type": "string",
+ "enum": [
+ "STANDARD_PORTGROUP",
+ "DISTRIBUTED_PORTGROUP",
+ "OPAQUE_NETWORK"
+ ]
+ },
+ "vcenter.ovf.disk_provisioning_type": {
+ "type": "string",
+ "description": "The {@name DiskProvisioningType} {@term enumerated type} defines the virtual disk provisioning types that can be set for a disk on the target platform.",
+ "enum": [
+ "thin",
+ "thick",
+ "eagerZeroedThick"
+ ]
+ },
+ "vcenter.ovf.export_flag.info": {
+ "type": "object",
+ "properties": {
+ "option": {
+ "description": "The name of the export flag that is supported by the server.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localizable description of the export flag.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "option",
+ "description"
+ ]
+ },
+ "vcenter.ovf.export_flag.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.ovf.export_flag.info"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.ovf.import_flag.info": {
+ "type": "object",
+ "properties": {
+ "option": {
+ "description": "The name of the import flag that is supported by the deployment platform.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localizable description of the import flag.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "option",
+ "description"
+ ]
+ },
+ "vcenter.ovf.import_flag.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.ovf.import_flag.info"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.ovf.library_item.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.create_result"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.ovf.library_item.create_result": {
+ "type": "object",
+ "properties": {
+ "succeeded": {
+ "description": "Whether the {@name LibraryItem#create} {@term operation} completed successfully.",
+ "type": "boolean"
+ },
+ "ovf_library_item_id": {
+ "description": "Identifier of the created or updated library item.",
+ "type": "string"
+ },
+ "error": {
+ "description": "Errors, warnings, and informational messages produced by the {@name LibraryItem#create} {@term operation}.",
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.result_info"
+ }
+ },
+ "required": [
+ "succeeded"
+ ]
+ },
+ "vcenter.ovf.library_item.create_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name to use in the OVF descriptor stored in the library item.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description to use in the OVF descriptor stored in the library item.",
+ "type": "string"
+ },
+ "flags": {
+ "description": "Flags to use for OVF package creation. The supported flags can be obtained using {@link ExportFlag#list}.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.ovf.library_item.create_target": {
+ "type": "object",
+ "properties": {
+ "library_id": {
+ "description": "Identifier of the library in which a new library item should be created. This {@term field} is not used if the {@name #libraryItemId} {@term field} is specified.",
+ "type": "string"
+ },
+ "library_item_id": {
+ "description": "Identifier of the library item that should be should be updated.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.ovf.library_item.deploy_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.deployment_result"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.ovf.library_item.deployable_identity": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the deployable resource.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Identifier of the deployable resource.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "id"
+ ]
+ },
+ "vcenter.ovf.library_item.deployment_result": {
+ "type": "object",
+ "properties": {
+ "succeeded": {
+ "description": "Whether the {@name LibraryItem#deploy} {@term operation} completed successfully.",
+ "type": "boolean"
+ },
+ "resource_id": {
+ "description": "Identifier of the deployed resource entity.",
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.deployable_identity"
+ },
+ "error": {
+ "description": "Errors, warnings, and informational messages produced by the {@name LibraryItem#deploy} {@term operation}.",
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.result_info"
+ }
+ },
+ "required": [
+ "succeeded"
+ ]
+ },
+ "vcenter.ovf.library_item.deployment_target": {
+ "type": "object",
+ "properties": {
+ "resource_pool_id": {
+ "description": "Identifier of the resource pool to which the virtual machine or virtual appliance should be attached.",
+ "type": "string"
+ },
+ "host_id": {
+ "description": "Identifier of the target host on which the virtual machine or virtual appliance will run. The target host must be a member of the cluster that contains the resource pool identified by {@link #resourcePoolId}.",
+ "type": "string"
+ },
+ "folder_id": {
+ "description": "Identifier of the vCenter folder that should contain the virtual machine or virtual appliance. The folder must be virtual machine folder.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resource_pool_id"
+ ]
+ },
+ "vcenter.ovf.library_item.filter_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.ovf_summary"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.ovf.library_item.ovf_summary": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Default name for the virtual machine or virtual appliance.",
+ "type": "string"
+ },
+ "annotation": {
+ "description": "Default annotation for the virtual machine or virtual appliance.",
+ "type": "string"
+ },
+ "EULAs": {
+ "description": "End User License Agreements specified in the OVF descriptor. All end user license agreements must be accepted in order for the {@name LibraryItem#deploy} {@term operation} to succeed. See {@link ResourcePoolDeploymentSpec#acceptAllEula}.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "networks": {
+ "description": "Section identifiers for sections of type ovf:NetworkSection in the OVF descriptor. These identifiers can be used as keys in {@link ResourcePoolDeploymentSpec#networkMappings}.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "storage_groups": {
+ "description": "Section identifiers for sections of type vmw:StorageGroupSection in the OVF descriptor. These identifiers can be used as keys in {@link ResourcePoolDeploymentSpec#storageMappings}.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additional_params": {
+ "description": "Additional OVF parameters which can be specified for the deployment target. These OVF parameters can be inspected, optionally modified, and used as values in {@link ResourcePoolDeploymentSpec#additionalParameters} for the {@name LibraryItem#deploy} {@term operation}.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "required": [
+ "EULAs"
+ ]
+ },
+ "vcenter.ovf.library_item.resource_pool_deployment_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name assigned to the deployed target virtual machine or virtual appliance.",
+ "type": "string"
+ },
+ "annotation": {
+ "description": "Annotation assigned to the deployed target virtual machine or virtual appliance.",
+ "type": "string"
+ },
+ "accept_all_EULA": {
+ "description": "Whether to accept all End User License Agreements. See {@link OvfSummary#eulas}.",
+ "type": "boolean"
+ },
+ "network_mappings": {
+ "description": "Specification of the target network to use for sections of type ovf:NetworkSection in the OVF descriptor. The key in the {@term map} is the section identifier of the ovf:NetworkSection section in the OVF descriptor and the value is the target network to be used for deployment.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "storage_mappings": {
+ "description": "Specification of the target storage to use for sections of type vmw:StorageGroupSection in the OVF descriptor. The key in the {@term map} is the section identifier of the ovf:StorageGroupSection section in the OVF descriptor and the value is the target storage specification to be used for deployment. See {@link StorageGroupMapping}.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.storage_group_mapping"
+ }
+ }
+ }
+ },
+ "storage_provisioning": {
+ "description": "Default storage provisioning type to use for all sections of type vmw:StorageSection in the OVF descriptor.",
+ "$ref": "#/components/schemas/vcenter.ovf.disk_provisioning_type"
+ },
+ "storage_profile_id": {
+ "description": "Default storage profile to use for all sections of type vmw:StorageSection in the OVF descriptor.",
+ "type": "string"
+ },
+ "locale": {
+ "description": "The locale to use for parsing the OVF descriptor.",
+ "type": "string"
+ },
+ "flags": {
+ "description": "Flags to be use for deployment. The supported flag values can be obtained using {@link ImportFlag#list}.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additional_parameters": {
+ "description": "Additional OVF parameters that may be needed for the deployment. Additional OVF parameters may be required by the OVF descriptor of the OVF package in the library item. Examples of OVF parameters that can be specified through this {@term field} include, but are not limited to: The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vcenter.tokenservice.invalid_grant_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.tokenservice.invalid_grant"
+ }
+ }
+ },
+ "vcenter.tokenservice.invalid_request": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vcenter.tokenservice.invalid_request_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.tokenservice.invalid_request"
+ }
+ }
+ },
+ "vcenter.tokenservice.invalid_scope": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers. The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "data": {
+ "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully. {@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vcenter.tokenservice.invalid_scope_error": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.tokenservice.invalid_scope"
+ }
+ }
+ },
+ "vcenter.tokenservice.token_exchange.exchange_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.tokenservice.token_exchange.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.tokenservice.token_exchange.exchange_spec": {
+ "type": "object",
+ "properties": {
+ "grant_type": {
+ "description": "The value of {@link TokenExchange#TOKEN_EXCHANGE_GRANT} indicates that a token exchange is being performed.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Indicates the location of the target service or resource where the client intends to use the requested security token.",
+ "type": "string"
+ },
+ "audience": {
+ "description": "The logical name of the target service where the client intends to use the requested security token. This serves a purpose similar to the {@link ExchangeSpec#resource} parameter, but with the client providing a logical name rather than a location.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "A list of space-delimited, case-sensitive strings, that allow the client to specify the desired scope of the requested security token in the context of the service or resource where the token will be used.",
+ "type": "string"
+ },
+ "requested_token_type": {
+ "description": "An identifier for the type of the requested security token. If the requested type is unspecified, the issued token type is at the discretion of the server and may be dictated by knowledge of the requirements of the service or resource indicated by the {@link ExchangeSpec#resource} or {@link ExchangeSpec#audience} parameter.",
+ "type": "string"
+ },
+ "subject_token": {
+ "description": "A security token that represents the identity of the party on behalf of whom exchange is being made. Typically, the subject of this token will be the subject of the security token issued. Token is base64-encoded.",
+ "type": "string"
+ },
+ "subject_token_type": {
+ "description": "An identifier, that indicates the type of the security token in the {@link ExchangeSpec#subject_token} parameter.",
+ "type": "string"
+ },
+ "actor_token": {
+ "description": "A security token that represents the identity of the acting party. Typically, this will be the party that is authorized to use the requested security token and act on behalf of the subject.",
+ "type": "string"
+ },
+ "actor_token_type": {
+ "description": "An identifier, that indicates the type of the security token in the {@link ExchangeSpec#actor_token} parameter.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "grant_type",
+ "subject_token",
+ "subject_token_type"
+ ]
+ },
+ "vcenter.tokenservice.token_exchange.info": {
+ "type": "object",
+ "properties": {
+ "access_token": {
+ "description": "The security token issued by the server in response to the token exchange request. Token is base64-encoded.",
+ "type": "string"
+ },
+ "issued_token_type": {
+ "description": "An identifier, that indicates the type of the security token in the {@link Info#access_token} parameter.",
+ "type": "string"
+ },
+ "token_type": {
+ "description": "A case-insensitive value specifying the method of using the access token issued.",
+ "type": "string"
+ },
+ "expires_in": {
+ "description": "The validity lifetime, in seconds, of the token issued by the server.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "scope": {
+ "description": "Scope of the issued security token.",
+ "type": "string"
+ },
+ "refresh_token": {
+ "description": "A refresh token can be issued in cases where the client of the token exchange needs the ability to access a resource even when the original credential is no longer valid.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "access_token",
+ "issued_token_type",
+ "token_type"
+ ]
+ },
+ "vcenter.tokenservice.token_exchange_exchange": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.tokenservice.token_exchange.exchange_spec",
+ "description": "{@name ExchangeSpec} {@term structure} contains arguments that define exchange process."
+ }
+ }
+ },
+ "vcenter.topology.nodes.appliance_type": {
+ "type": "string",
+ "enum": [
+ "VCSA_EMBEDDED",
+ "VCSA_EXTERNAL",
+ "PSC_EXTERNAL"
+ ]
+ },
+ "vcenter.topology.nodes.filter_spec": {
+ "type": "object",
+ "properties": {
+ "types": {
+ "description": "Types of the appliance that a vCenter and Platform Services Controller node must be to match the filter (see Nodes.ApplianceType.\nIf unset or empty, node of any ApplianceType match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/vcenter.topology.nodes.appliance_type"
+ }
+ }
+ }
+ },
+ "vcenter.topology.nodes.info": {
+ "type": "object",
+ "properties": {
+ "domain": {
+ "description": "Domain name of the node.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Appliance type of the node.",
+ "$ref": "#/components/schemas/vcenter.topology.nodes.appliance_type"
+ },
+ "replication_partners": {
+ "description": "List of replication partners' node identifiers. Identifiers can be either IP address or DNS resolvable name of the partner node.\nThis field is optional and it is only relevant when the value of Nodes.Info.type is one of VCSA_EMBEDDED or PSC_EXTERNAL.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.VCenter.name. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.VCenter.name.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "client_affinity": {
+ "description": "Identifier of the affinitized Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the affinitized node.\nThis field is optional and it is only relevant when the value of Nodes.Info.type is VCSA_EXTERNAL.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.VCenter.name. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.VCenter.name.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "domain",
+ "type"
+ ]
+ },
+ "vcenter.topology.nodes.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.topology.nodes.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.topology.nodes.summary": {
+ "type": "object",
+ "properties": {
+ "node": {
+ "description": "Identifier for the vCenter or Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the node.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.VCenter.name. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.VCenter.name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Appliance type of the node.",
+ "$ref": "#/components/schemas/vcenter.topology.nodes.appliance_type"
+ },
+ "replication_partners": {
+ "description": "List of replication partners' node identifiers. Identifiers can be either IP address or DNS resolvable name of the partner node.\nThis field is optional and it is only relevant when the value of Nodes.Summary.type is one of VCSA_EMBEDDED or PSC_EXTERNAL.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.VCenter.name. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.VCenter.name.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "client_affinity": {
+ "description": "Identifier of the affinitized Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the affinitized node.\nThis field is optional and it is only relevant when the value of Nodes.Summary.type is VCSA_EXTERNAL.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.VCenter.name. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.VCenter.name.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "node",
+ "type"
+ ]
+ },
+ "vcenter.topology.nodes_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.topology.nodes.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.topology.replication_status.filter_spec": {
+ "type": "object",
+ "properties": {
+ "nodes": {
+ "description": "Identifier that a vCenter and Platform Services Controller node must have to match the filter. (see ReplicationStatus.Summary.node).\nIf unset or empty, all vCenter and Platform Services Controller nodes of type VCSA_EMBEDDED/PSC_EXTERNAL match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.VCenter.name. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.VCenter.name.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.topology.replication_status.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.topology.replication_status.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.topology.replication_status.summary": {
+ "type": "object",
+ "properties": {
+ "node": {
+ "description": "Identifier for the vCenter or Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the node.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.VCenter.name. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.VCenter.name.",
+ "type": "string"
+ },
+ "replication_partner": {
+ "description": "Identifier for the vCenter or Platform Services Controller replication partner. Identifier can be either IP address or DNS resolvable name of the replication partner.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.VCenter.name. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.VCenter.name.",
+ "type": "string"
+ },
+ "partner_available": {
+ "description": "Indicates if the VMware Directory Service on partner is reachable or not.",
+ "type": "boolean"
+ },
+ "status_available": {
+ "description": "Indicates if the replication status for the node with respect to replication partner can be retrieved or not.",
+ "type": "boolean"
+ },
+ "replicating": {
+ "description": "Indicates if node is processing replication changes from the replication partner.\nThis field will be unset if the partner host or replication status is not available, i.e, if ReplicationStatus.Summary.partner-available or ReplicationStatus.Summary.status-available is false.",
+ "type": "boolean"
+ },
+ "change_lag": {
+ "description": "Number of replication changes node is behind the replication partner.\nThis field will be unset if the partner host or replication status is not available, i.e, if ReplicationStatus.Summary.partner-available or ReplicationStatus.Summary.status-available is false.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "node",
+ "replication_partner",
+ "partner_available",
+ "status_available"
+ ]
+ },
+ "vcenter.vcha.cluster.active.info": {
+ "type": "object",
+ "properties": {
+ "management": {
+ "description": "IP specification for the Management network.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_spec"
+ },
+ "ha": {
+ "description": "IP specification for the HA network.\nIf unset, then the second NIC of the Active Node of the VCHA cluster is not configured.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_spec"
+ },
+ "placement": {
+ "description": "Contains the placement information of the active node.\nIf unset, the request specified that placement information of the active node should not be included.",
+ "$ref": "#/components/schemas/vcenter.vcha.placement_info"
+ }
+ },
+ "required": [
+ "management"
+ ]
+ },
+ "vcenter.vcha.cluster.active_get": {
+ "type": "object",
+ "properties": {
+ "vc_spec": {
+ "$ref": "#/components/schemas/vcenter.vcha.credentials_spec",
+ "description": "Contains active node's management vCenter server credentials.\nIf unset, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance."
+ },
+ "partial": {
+ "type": "boolean",
+ "description": "If true, then return only the information that does not require connecting to the Active vCenter Server. \n If false or unset, then return all the information.\nIf unset, then return all the information."
+ }
+ }
+ },
+ "vcenter.vcha.cluster.active_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.active.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.active_spec": {
+ "type": "object",
+ "properties": {
+ "ha_network_type": {
+ "description": "The type of the Network object used by the HA network.\n If the Cluster.ActiveSpec.ha-network field is set, then the Cluster.ActiveSpec.ha-network-type field must be set.\n If the Cluster.ActiveSpec.ha-network field is unset, then the Cluster.ActiveSpec.ha-network-type field is ignored.\nIf unset and the Cluster.ActiveSpec.ha-network field is unset, then the second NIC is assumed to be already configured.\n If unset and the Cluster.ActiveSpec.ha-network field is set, then an error is reported.",
+ "$ref": "#/components/schemas/vcenter.vcha.network_type"
+ },
+ "ha_network": {
+ "description": "The identifier of the Network object used for the HA network.\n If the Cluster.ActiveSpec.ha-network field is set, then the Cluster.ActiveSpec.ha-network-type field must be set.\n If the Cluster.ActiveSpec.ha-network field is unset, then the Cluster.ActiveSpec.ha-network-type field is ignored.\nIf unset and the Cluster.ActiveSpec.ha-network-type field is unset, then the second NIC is assumed to be already configured.\n If unset and the Cluster.ActiveSpec.ha-network field is set, then an error is reported.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network:VCenter.",
+ "type": "string"
+ },
+ "ha_ip": {
+ "description": "IP specification for the HA network.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_spec"
+ }
+ },
+ "required": [
+ "ha_ip"
+ ]
+ },
+ "vcenter.vcha.cluster.cluster_mode": {
+ "type": "string",
+ "description": "The Cluster.ClusterMode enumerated type defines the possible modes for a VCHA Cluster.",
+ "enum": [
+ "ENABLED",
+ "DISABLED",
+ "MAINTENANCE"
+ ]
+ },
+ "vcenter.vcha.cluster.cluster_state": {
+ "type": "string",
+ "description": "The Cluster.ClusterState enumerated type defines the possible for a VCHA Cluster.",
+ "enum": [
+ "HEALTHY",
+ "DEGRADED",
+ "ISOLATED"
+ ]
+ },
+ "vcenter.vcha.cluster.config_state": {
+ "type": "string",
+ "description": "The Cluster.ConfigState enumerated type defines the VCHA configuration state.",
+ "enum": [
+ "CONFIGURED",
+ "NOTCONFIGURED",
+ "INVALID",
+ "PREPARED"
+ ]
+ },
+ "vcenter.vcha.cluster.deploy_spec": {
+ "type": "object",
+ "properties": {
+ "vc_spec": {
+ "description": "Contains the active node's management vCenter server credentials.\nIf unset, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.",
+ "$ref": "#/components/schemas/vcenter.vcha.credentials_spec"
+ },
+ "deployment": {
+ "description": "Contains the deployment type.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.type"
+ },
+ "active": {
+ "description": "Contains the active node's network configuration.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.active_spec"
+ },
+ "passive": {
+ "description": "Contains the passive node's placement configuration.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.passive_spec"
+ },
+ "witness": {
+ "description": "Contains the witness node's placement configuration.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.witness_spec"
+ }
+ },
+ "required": [
+ "deployment",
+ "active",
+ "passive",
+ "witness"
+ ]
+ },
+ "vcenter.vcha.cluster.deploy_task_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.deployment_type.info": {
+ "type": "object",
+ "properties": {
+ "deployment_type": {
+ "description": "Identifies the deployment type of the VCHA cluster.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.deployment_type.type"
+ }
+ },
+ "required": [
+ "deployment_type"
+ ]
+ },
+ "vcenter.vcha.cluster.deployment_type.type": {
+ "type": "string",
+ "description": "The DeploymentType.Type enumerated type defines the possible deployment types for a VCHA Cluster.",
+ "enum": [
+ "NONE",
+ "AUTO",
+ "MANUAL"
+ ]
+ },
+ "vcenter.vcha.cluster.deployment_type_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.deployment_type.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.error_condition": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Contains an error condition.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ },
+ "recommendation": {
+ "description": "Contains a recommendation on handling the error condition.\nIf unset, there is no tip for the error condition.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "vcenter.vcha.cluster.failover_task_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.info": {
+ "type": "object",
+ "properties": {
+ "config_state": {
+ "description": "Configuration state of the VCHA cluster.\n The active node's management vCenter server credentials are not required to populate this field.\nIf unset, then the information is unavailable.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.config_state"
+ },
+ "node1": {
+ "description": "Node configuration information for the VCHA cluster.\nIf unset, then the information is unavailable.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.node_info"
+ },
+ "node2": {
+ "description": "Node configuration information for the VCHA cluster.\nIf unset, then the information is unavailable or the node is not cloned yet.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.node_info"
+ },
+ "witness": {
+ "description": "Node configuration information for the VCHA cluster.\nIf unset, then the information is unavailable or the node is not cloned yet.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.witness_info"
+ },
+ "mode": {
+ "description": "Operational mode of the VCHA Cluster.\nIf unset, then the information is unavailable or the node is not cloned yet.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.cluster_mode"
+ },
+ "health_state": {
+ "description": "Last known state of the VCHA Cluster.\nIf unset, then the information is unavailable or the node is not cloned yet.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.cluster_state"
+ },
+ "health_exception": {
+ "description": "Health warning messages if the health information is unavailable.\nIf unset, then the cluster is in a healthy state.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "health_warnings": {
+ "description": "A collection of messages describing the reason for a non-healthy Cluster.\nIf unset, then the cluster is in a healthy state.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.error_condition"
+ }
+ },
+ "manual_failover_allowed": {
+ "description": "Specifies if manual failover is allowed.\nIf unset, then the cluster state healthy and manual failover allowance in accordance with the cluster mode.",
+ "type": "boolean"
+ },
+ "auto_failover_allowed": {
+ "description": "Specifies if automatic failover is allowed.\nIf unset, then the cluster state healthy and automatic failover allowance in accordance with the cluster mode.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vcha.cluster.ip_family": {
+ "type": "string",
+ "description": "The Cluster.IpFamily enumerated type defines the IP address family.",
+ "enum": [
+ "IPV4",
+ "IPV6"
+ ]
+ },
+ "vcenter.vcha.cluster.ip_info": {
+ "type": "object",
+ "properties": {
+ "ip_family": {
+ "description": "Family of the ip.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.ip_family"
+ },
+ "ipv4": {
+ "description": "If the type of the ip family is IPV4, then this will point to IPv4 address specification.\nThis field is optional and it is only relevant when the value of Cluster.IpInfo.ip-family is IPV4.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.ipv4_info"
+ },
+ "ipv6": {
+ "description": "If the type of the ip family is IPV6, then this will point to IPv6 address specification.\nThis field is optional and it is only relevant when the value of Cluster.IpInfo.ip-family is IPV6.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.ipv6_info"
+ },
+ "gateway_ip": {
+ "description": "Gateway IP address.\nIf unset, no gateway is specified.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "ip_family"
+ ]
+ },
+ "vcenter.vcha.cluster.ipv4_info": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "IP address of the configured network interface.",
+ "type": "string"
+ },
+ "subnet_mask": {
+ "description": "The subnet mask of the interface.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The CIDR prefix of the interface.\nIf unset , then the subnet mask is invalid.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "address",
+ "subnet_mask"
+ ]
+ },
+ "vcenter.vcha.cluster.ipv6_info": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "IP address of the configured network interface.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The CIDR prefix of the interface.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "address",
+ "prefix"
+ ]
+ },
+ "vcenter.vcha.cluster.mode.cluster_mode": {
+ "type": "string",
+ "description": "The Mode.ClusterMode enumerated type defines the possible modes for a VCHA Cluster.",
+ "enum": [
+ "ENABLED",
+ "DISABLED",
+ "MAINTENANCE"
+ ]
+ },
+ "vcenter.vcha.cluster.mode.info": {
+ "type": "object",
+ "properties": {
+ "mode": {
+ "description": "Identifies the mode of the VCHA cluster.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.mode.cluster_mode"
+ }
+ },
+ "required": [
+ "mode"
+ ]
+ },
+ "vcenter.vcha.cluster.mode.set_task_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.mode_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.mode.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.mode_set_task": {
+ "type": "object",
+ "properties": {
+ "mode": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.mode.cluster_mode",
+ "description": "Clustermode to change the VCHA cluster mode to."
+ }
+ }
+ },
+ "vcenter.vcha.cluster.node_info": {
+ "type": "object",
+ "properties": {
+ "failover_ip": {
+ "description": "Failover IP address that this node will assume after the failover to serve client requests. Each failover node can have a different failover IP address.\n The active node's management vCenter server credentials are not required to populate Cluster.NodeInfo.failover-ip.\nIf unset, then it will assume the public IP address of the Active vCenter Server.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.ip_info"
+ },
+ "ha_ip": {
+ "description": "VCHA Cluster network configuration of the node. All cluster communication (state replication, heartbeat, cluster messages) happens over this network.\n The active node's management vCenter server credentials are not required to populate this Cluster.NodeInfo.ha-ip.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.ip_info"
+ },
+ "runtime": {
+ "description": "Runtime information for the node in the VCHA Cluster.\n The active node's management vCenter server credentials are required to populate some fields of Cluster.NodeInfo.runtime.\nIf unset, then the information is unavailable or the specified Active vCenter server management credentials are invalid or the node is not cloned yet.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.node_runtime_info"
+ }
+ },
+ "required": [
+ "ha_ip"
+ ]
+ },
+ "vcenter.vcha.cluster.node_role": {
+ "type": "string",
+ "description": "The Cluster.NodeRole enumerated type defines the role node can be in a VCHA Cluster.",
+ "enum": [
+ "ACTIVE",
+ "PASSIVE",
+ "WITNESS"
+ ]
+ },
+ "vcenter.vcha.cluster.node_runtime_info": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Last known state of the node.\n The active node's management vCenter server credentials are not required to populate Cluster.NodeRuntimeInfo.state.\nIf unset, then information is unavailable or the passive and witness nodes are not cloned yet.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.node_state"
+ },
+ "role": {
+ "description": "Last known role of the node.\n The active node's management vCenter server credentials are not required to populate Cluster.NodeRuntimeInfo.role.\nIf unset, then information is unavailable or the passive and witness nodes are not cloned yet.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.node_role"
+ },
+ "placement": {
+ "description": "Placement information of the node.\n The active node's management vCenter server credentials are required to populate most fields of Cluster.NodeRuntimeInfo.placement.\nIf unset, then the information is unavailable or the specified Active vCenter server management credentials are invalid or the node is not cloned yet or the VCHA cluster was deployed in a manual fashion.",
+ "$ref": "#/components/schemas/vcenter.vcha.placement_info"
+ }
+ }
+ },
+ "vcenter.vcha.cluster.node_state": {
+ "type": "string",
+ "description": "The Cluster.NodeState enumerated type defines possible state a node can be in a VCHA Cluster.",
+ "enum": [
+ "UP",
+ "DOWN"
+ ]
+ },
+ "vcenter.vcha.cluster.node_vm_info": {
+ "type": "object",
+ "properties": {
+ "vm": {
+ "description": "The identifier of the virtual machine of the VCHA node.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: VirtualMachine:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: VirtualMachine:VCenter.",
+ "type": "string"
+ },
+ "bios_uuid": {
+ "description": "BIOS UUID for the node.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "vm",
+ "bios_uuid"
+ ]
+ },
+ "vcenter.vcha.cluster.passive.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.passive.check_result"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.passive.check_result": {
+ "type": "object",
+ "properties": {
+ "warnings": {
+ "description": "A list of problems which may require attention, but which are not fatal.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "errors": {
+ "description": "A list of problems which are fatal to the operation and the operation will fail.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ }
+ },
+ "required": [
+ "warnings",
+ "errors"
+ ]
+ },
+ "vcenter.vcha.cluster.passive.check_spec": {
+ "type": "object",
+ "properties": {
+ "vc_spec": {
+ "description": "Contains the active node's management vCenter server credentials.\nIf unset, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.",
+ "$ref": "#/components/schemas/vcenter.vcha.credentials_spec"
+ },
+ "placement": {
+ "description": "Contains the node's placement information for validation.",
+ "$ref": "#/components/schemas/vcenter.vcha.placement_spec"
+ }
+ },
+ "required": [
+ "placement"
+ ]
+ },
+ "vcenter.vcha.cluster.passive.redeploy_spec": {
+ "type": "object",
+ "properties": {
+ "vc_spec": {
+ "description": "Contains the active node's management vCenter server credentials.\nIf unset, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.",
+ "$ref": "#/components/schemas/vcenter.vcha.credentials_spec"
+ },
+ "placement": {
+ "description": "Contains the node's placement information.",
+ "$ref": "#/components/schemas/vcenter.vcha.placement_spec"
+ },
+ "ha_ip": {
+ "description": "Contains the VCHA HA network configuration of the node. All cluster communication (state replication, heartbeat, cluster messages) happens over this network.\nIf unset, then the stored network configuration for the VCHA HA network for the passive node will be used.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_spec"
+ },
+ "failover_ip": {
+ "description": "Failover IP address that this node must assume after the failover to serve client requests.\nIf unset, then the public IP address of the Active vCenter Server is assumed.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_spec"
+ }
+ },
+ "required": [
+ "placement"
+ ]
+ },
+ "vcenter.vcha.cluster.passive.redeploy_task_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.passive_check": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.passive.check_spec",
+ "description": "Contains the passive node's placement specification."
+ }
+ }
+ },
+ "vcenter.vcha.cluster.passive_redeploy_task": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.passive.redeploy_spec",
+ "description": "Contains the passive node's redeploy specification."
+ }
+ }
+ },
+ "vcenter.vcha.cluster.passive_spec": {
+ "type": "object",
+ "properties": {
+ "placement": {
+ "description": "Contains the placement configuration of the node.\nIf unset, then the it is assumed that the clone will be done manually by the customer. In this case, the placement configuration for the witness node should also be omitted. Only the network configuration will be setup. Once the passive and witness nodes are cloned from the active node, the VCHA high availability is turned on.",
+ "$ref": "#/components/schemas/vcenter.vcha.placement_spec"
+ },
+ "ha_ip": {
+ "description": "IP specification for the HA network.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_spec"
+ },
+ "failover_ip": {
+ "description": "IP specification for the management network.\nIf unset, then it will assume the public IP address of the Active vCenter Server.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_spec"
+ }
+ },
+ "required": [
+ "ha_ip"
+ ]
+ },
+ "vcenter.vcha.cluster.type": {
+ "type": "string",
+ "description": "The Cluster.Type enumerated type defines the possible deployment types for a VCHA Cluster.",
+ "enum": [
+ "AUTO",
+ "MANUAL"
+ ]
+ },
+ "vcenter.vcha.cluster.undeploy_spec": {
+ "type": "object",
+ "properties": {
+ "vc_spec": {
+ "description": "Contains the active node's management vCenter server credentials.\nIf unset, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.",
+ "$ref": "#/components/schemas/vcenter.vcha.credentials_spec"
+ },
+ "force_delete": {
+ "description": "Flag controlling in what circumstances the virtual machines will be deleted. For this flag to take effect, the VCHA cluster should have been successfully configured using automatic deployment. \n - If true, the Cluster.UndeploySpec.vms field will be ignored, the VCHA cluster specific information is removed, and the passive and witness virtual machines will be deleted.\n - If false, the Cluster.UndeploySpec.vms field contains the information identifying the passive and witness virtual machines.\n \n = If the Cluster.UndeploySpec.vms field is set, then it will be validated prior to deleting the passive and witness virtual machines and VCHA cluster specific information is removed.\n = If the Cluster.UndeploySpec.vms field is unset, then the passive and witness virtual machines will not be deleted. The customer should delete them in order to cleanup completely. VCHA cluster specific information is removed.\n \nIf unset, the Cluster.UndeploySpec.vms field contains the information identifying the passive and witness virtual machines. \n - If the Cluster.UndeploySpec.vms field is set, then it will be validated prior to deleting the passive and witness virtual machines. VCHA cluster specific information is removed.\n - If the Cluster.UndeploySpec.vms field is unset, then the passive and witness virtual machines will not be deleted. The customer should delete them in order to cleanup completely. VCHA cluster specific information is removed.\n",
+ "type": "boolean"
+ },
+ "vms": {
+ "description": "Contains virtual machine information for the passive and witness virtual machines. For this flag to take effect, the VCHA cluster should have been successfully configured using automatic deployment. \n If set, the Cluster.UndeploySpec.force-delete field controls whether this information is validated. \n\n - If the Cluster.UndeploySpec.force-delete field is true, then this information is ignored, VCHA cluster specific information is removed and the passive and witness virtual machines will be deleted.\n - If the Cluster.UndeploySpec.force-delete field is unset or false, then this information is validated prior to deleting the passive and witness virtual machines. VCHA cluster specific information is removed.\n \nIf unset, the Cluster.UndeploySpec.force-delete field controls the deletion of the passive and witness virtual machines. \n - If the Cluster.UndeploySpec.force-delete field is true, then the passive and witness virtual machines will be deleted. VCHA cluster specific information is removed. \n - If the Cluster.UndeploySpec.force-delete field is unset or false, then the passive and witness virtual machines will not be deleted. The customer should delete them in order to cleanup completely. VCHA cluster specific information is removed. \n",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.vm_info"
+ }
+ }
+ },
+ "vcenter.vcha.cluster.undeploy_task_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.vm_info": {
+ "type": "object",
+ "properties": {
+ "passive": {
+ "description": "The virtual machine information of the passive node.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.node_vm_info"
+ },
+ "witness": {
+ "description": "The virtual machine information of the witness node.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.node_vm_info"
+ }
+ },
+ "required": [
+ "passive",
+ "witness"
+ ]
+ },
+ "vcenter.vcha.cluster.witness.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.witness.check_result"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.witness.check_result": {
+ "type": "object",
+ "properties": {
+ "warnings": {
+ "description": "A list of problems which may require attention, but which are not fatal.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "errors": {
+ "description": "A list of problems which are fatal to the operation and the operation will fail.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ }
+ },
+ "required": [
+ "warnings",
+ "errors"
+ ]
+ },
+ "vcenter.vcha.cluster.witness.check_spec": {
+ "type": "object",
+ "properties": {
+ "vc_spec": {
+ "description": "Contains the active node's management vCenter server credentials.\nIf unset, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.",
+ "$ref": "#/components/schemas/vcenter.vcha.credentials_spec"
+ },
+ "placement": {
+ "description": "Contains the node's placement information for validation.",
+ "$ref": "#/components/schemas/vcenter.vcha.placement_spec"
+ }
+ },
+ "required": [
+ "placement"
+ ]
+ },
+ "vcenter.vcha.cluster.witness.redeploy_spec": {
+ "type": "object",
+ "properties": {
+ "vc_spec": {
+ "description": "Contains the active node's management vCenter server credentials.\nIf unset, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.",
+ "$ref": "#/components/schemas/vcenter.vcha.credentials_spec"
+ },
+ "placement": {
+ "description": "Contains the node's placement information.",
+ "$ref": "#/components/schemas/vcenter.vcha.placement_spec"
+ },
+ "ha_ip": {
+ "description": "Contains the VCHA HA network configuration of the node. All cluster communication (state replication, heartbeat, cluster messages) happens over this network.\nIf unset, then the stored network configuration for the VCHA HA network for the witness node will be used.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_spec"
+ }
+ },
+ "required": [
+ "placement"
+ ]
+ },
+ "vcenter.vcha.cluster.witness.redeploy_task_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster.witness_check": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.witness.check_spec",
+ "description": "Contains the witness node's placement specification."
+ }
+ }
+ },
+ "vcenter.vcha.cluster.witness_info": {
+ "type": "object",
+ "properties": {
+ "ha_ip": {
+ "description": "VCHA Cluster network configuration of the node. All cluster communication (state replication, heartbeat, cluster messages) happens over this network.\n The active node's management vCenter server credentials are not required to populate Cluster.WitnessInfo.ha-ip.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.ip_info"
+ },
+ "runtime": {
+ "description": "Runtime information for the node in the VCHA Cluster.\n The active node's management vCenter server credentials are required to populate some fields of Cluster.WitnessInfo.runtime.\nIf unset, then the information is unavailable or the node is not cloned yet.",
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.node_runtime_info"
+ }
+ },
+ "required": [
+ "ha_ip"
+ ]
+ },
+ "vcenter.vcha.cluster.witness_redeploy_task": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.witness.redeploy_spec",
+ "description": "Contains the witness node's redeploy specification."
+ }
+ }
+ },
+ "vcenter.vcha.cluster.witness_spec": {
+ "type": "object",
+ "properties": {
+ "placement": {
+ "description": "Contains the placement configuration of the node.\nIf unset, then it is assumed that the clone will be done manually by the customer. In this case, the placement configuration for the witness node should also be omitted. Only the network configuration will be setup. Once the passive and witness nodes are cloned from the active node, the VCHA high availability is turned on.",
+ "$ref": "#/components/schemas/vcenter.vcha.placement_spec"
+ },
+ "ha_ip": {
+ "description": "IP specification for the HA network.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_spec"
+ }
+ },
+ "required": [
+ "ha_ip"
+ ]
+ },
+ "vcenter.vcha.cluster_deploy_task": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.deploy_spec",
+ "description": "Contains the deploy specification for all three nodes of a VCHA cluster."
+ }
+ }
+ },
+ "vcenter.vcha.cluster_failover_task": {
+ "type": "object",
+ "properties": {
+ "planned": {
+ "type": "boolean",
+ "description": "If false, a failover is initiated immediately and may result in data loss.\n If true, a failover is initated after the Active node flushes its state to Passive and there is no data loss."
+ }
+ }
+ },
+ "vcenter.vcha.cluster_get": {
+ "type": "object",
+ "properties": {
+ "vc_spec": {
+ "$ref": "#/components/schemas/vcenter.vcha.credentials_spec",
+ "description": "Contains active node's management vCenter server credentials.\nIf unset, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance."
+ },
+ "partial": {
+ "type": "boolean",
+ "description": "If true, then return only the information that does not require connecting to the Active vCenter Server.\n If false or unset, then return all the information.\nIf unset, then return all the information."
+ }
+ }
+ },
+ "vcenter.vcha.cluster_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.cluster_undeploy_task": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vcha.cluster.undeploy_spec",
+ "description": "Contains the undeploy specification for a VCHA cluster."
+ }
+ }
+ },
+ "vcenter.vcha.connection_spec": {
+ "type": "object",
+ "properties": {
+ "hostname": {
+ "description": "IP Address or DNS of the vCenter.",
+ "type": "string"
+ },
+ "port": {
+ "description": "Port number.\nIf unset, port 443 will be used.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "ssl_thumbprint": {
+ "description": "SHA1 hash of the server SSL certificate.\nIf unset, empty ssl thumbprint is assumed.",
+ "type": "string"
+ },
+ "username": {
+ "description": "Username to access the server.\nThis field is currently required. If unset, an error is returned. In the future, if this field is unset, the system will attempt to identify the user. If a user cannot be identified, then the requested operation will fail.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password for the specified user.\nThis field is currently required. If unset, an empty password is assumed. In the future, if this field is unset, the system will attempt to authenticate the user. If a user cannot be identified, then the requested operation will fail.",
+ "type": "string",
+ "format": "password"
+ }
+ },
+ "required": [
+ "hostname"
+ ]
+ },
+ "vcenter.vcha.credentials_spec": {
+ "type": "object",
+ "properties": {
+ "active_location": {
+ "description": "Connection information for the management vCenter Server of the Active Node in a VCHA Cluster.",
+ "$ref": "#/components/schemas/vcenter.vcha.connection_spec"
+ }
+ },
+ "required": [
+ "active_location"
+ ]
+ },
+ "vcenter.vcha.disk_info": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "The identifier of the datastore to put all the virtual disks on.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore:VCenter.",
+ "type": "string"
+ },
+ "datastore_name": {
+ "description": "The name of the datastore.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "datastore",
+ "datastore_name"
+ ]
+ },
+ "vcenter.vcha.disk_spec": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "The identifier of the datastore to put all the virtual disks on.\nThis field needs to be set. If unset, then see vim.vm.RelocateSpec.datastore.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore:VCenter.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.vcha.ip_family": {
+ "type": "string",
+ "description": "The IpFamily enumerated type defines the Ip address family.",
+ "enum": [
+ "IPV4",
+ "IPV6"
+ ]
+ },
+ "vcenter.vcha.ip_spec": {
+ "type": "object",
+ "properties": {
+ "ip_family": {
+ "description": "Family of the IP address to configure the interface.",
+ "$ref": "#/components/schemas/vcenter.vcha.ip_family"
+ },
+ "ipv4": {
+ "description": "If the family of the ip is IPV4, then this will point to IPv4 address specification.\nThis field is optional and it is only relevant when the value of IpSpec.ip-family is IPV4.",
+ "$ref": "#/components/schemas/vcenter.vcha.ipv4_spec"
+ },
+ "ipv6": {
+ "description": "If the family of the ip is IPV6, then this will point to IPv6 address specification.\nThis field is optional and it is only relevant when the value of IpSpec.ip-family is IPV6.",
+ "$ref": "#/components/schemas/vcenter.vcha.ipv6_spec"
+ },
+ "default_gateway": {
+ "description": "The IP address of the Gateway for this interface.\nIf unset, gateway will not be used for the network interface.",
+ "type": "string"
+ },
+ "dns_servers": {
+ "description": "The list of IP addresses of the DNS servers for this interface. This list is a comma separated list.\nIf unset, DNS servers will not be used for the network interface.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "ip_family"
+ ]
+ },
+ "vcenter.vcha.ipv4_spec": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "IPV4 address to be used to configure the interface.",
+ "type": "string"
+ },
+ "subnet_mask": {
+ "description": "The subnet mask for the interface.\nIf unset and the Ipv4Spec.prefix field is unset, then an error will be reported.\n If unset and the Ipv4Spec.prefix field is set, then the Ipv4Spec.prefix field will be used to create a subnet mask whose first prefix bits are 1 and the remaining bits 0.\n If both the Ipv4Spec.subnet-mask field and the Ipv4Spec.prefix field are set and they do not represent the same value, then an error will be reported.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The CIDR prefix for the interface.\nIf unset and the Ipv4Spec.subnet-mask field is unset, this an error will be reported.\n If unset and the Ipv4Spec.subnet-mask field is set, then the Ipv4Spec.subnet-mask field will be used.\n If both the Ipv4Spec.subnet-mask field and the Ipv4Spec.prefix field are set and they do not represent the same value, then an error will be reported.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "address"
+ ]
+ },
+ "vcenter.vcha.ipv6_spec": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "IPv6 address to be used to configure the interface.",
+ "type": "string"
+ },
+ "prefix": {
+ "description": "The CIDR prefix for the interface.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "address",
+ "prefix"
+ ]
+ },
+ "vcenter.vcha.network_type": {
+ "type": "string",
+ "description": "The NetworkType enumerated type defines the type of a vCenter Server network.",
+ "enum": [
+ "STANDARD_PORTGROUP",
+ "DISTRIBUTED_PORTGROUP"
+ ]
+ },
+ "vcenter.vcha.operations.info": {
+ "type": "object",
+ "properties": {
+ "disabled": {
+ "description": "Identifiers of the operations that are current disabled. These operation strings are one of \"vcenter.vcha.cluster.deploy\", \"vcenter.vcha.cluster.failover\", \"vcenter.vcha.cluster.passive.redeploy\", \"vcenter.vcha.cluster.witness.redeploy\", \"vcenter.vcha.cluster.mode.set\", \"vcenter.vcha.cluster.undeploy\" and \"vcenter.vcha.cluster.get\".\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vapi.operation.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "active": {
+ "description": "Identifiers of the operations that are currently running. These operation strings are one of \"vcenter.vcha.cluster.deploy\", \"vcenter.vcha.cluster.failover\", \"vcenter.vcha.cluster.passive.redeploy\", \"vcenter.vcha.cluster.witness.redeploy\", \"vcenter.vcha.cluster.mode.set\", and \"vcenter.vcha.cluster.undeploy\".\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vapi.operation. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vapi.operation.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "disabled",
+ "active"
+ ]
+ },
+ "vcenter.vcha.operations_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vcha.operations.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vcha.placement_info": {
+ "type": "object",
+ "properties": {
+ "management_vcenter_name": {
+ "description": "The hostname of the vCenter server that is managing the VCHA node.",
+ "type": "string"
+ },
+ "management_vcenter_server_guid": {
+ "description": "The unique identifier of the vCenter server that is managing the VCHA node.\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "string"
+ },
+ "vm_name": {
+ "description": "The virtual machine name of the VCHA node.",
+ "type": "string"
+ },
+ "datacenter": {
+ "description": "The identifier of the datacenter of the VCHA node.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datacenter:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datacenter:VCenter.",
+ "type": "string"
+ },
+ "datacenter_name": {
+ "description": "The name of the datacenter of the VCHA node.",
+ "type": "string"
+ },
+ "host": {
+ "description": "The identifier of the host of the VCHA node.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem:VCenter.",
+ "type": "string"
+ },
+ "host_name": {
+ "description": "The name of the host of the VCHA node.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "The identifier of the cluster of which PlacementInfo.host is member.\nIf unset, PlacementInfo.host is a standalone host.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource:VCenter.",
+ "type": "string"
+ },
+ "cluster_name": {
+ "description": "The name of the cluster of which PlacementInfo.host is member.\nIf unset, PlacementInfo.host is a standalone host.",
+ "type": "string"
+ },
+ "ha_network": {
+ "description": "The identifier of the Network object used for the HA network.\nIf unset, the information is currently unavailable or the haNetwork is not configured.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network:VCenter.",
+ "type": "string"
+ },
+ "ha_network_name": {
+ "description": "The name of the Network object used for the HA network.\nIf unset, the information is currently unavailable or the haNetwork is not configured.",
+ "type": "string"
+ },
+ "ha_network_type": {
+ "description": "The type of the Network object used for the HA network.\nIf unset, the information is currently unavailable or the haNetwork is not configured.",
+ "$ref": "#/components/schemas/vcenter.vcha.network_type"
+ },
+ "management_network": {
+ "description": "The identifier of the Network object used for the Management network.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network:VCenter.",
+ "type": "string"
+ },
+ "management_network_name": {
+ "description": "The name of the Network object used for the Management network.",
+ "type": "string"
+ },
+ "management_network_type": {
+ "description": "The type of the Network object used for the Management network.",
+ "$ref": "#/components/schemas/vcenter.vcha.network_type"
+ },
+ "storage": {
+ "description": "The storage information of the VCHA node.",
+ "$ref": "#/components/schemas/vcenter.vcha.disk_info"
+ },
+ "bios_uuid": {
+ "description": "BIOS UUID for the node.\nIf unset, the information is currently unavailable.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "management_vcenter_name",
+ "vm_name",
+ "datacenter",
+ "datacenter_name",
+ "host",
+ "host_name",
+ "management_network",
+ "management_network_name",
+ "management_network_type",
+ "storage"
+ ]
+ },
+ "vcenter.vcha.placement_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the VCHA node to be used for the virtual machine name.",
+ "type": "string"
+ },
+ "folder": {
+ "description": "The identifier of the folder to deploy the VCHA node to.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder:VCenter.",
+ "type": "string"
+ },
+ "host": {
+ "description": "The identifier of the host to deploy the VCHA node to.\nIf unset, see vim.vm.RelocateSpec.host.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem:VCenter.",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "The identifier of the resource pool to deploy the VCHA node to.\nIf unset, then the active node's resource pool will be used.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool:VCenter.",
+ "type": "string"
+ },
+ "ha_network_type": {
+ "description": "The type of the Network object used by the HA network.\n If the PlacementSpec.ha-network field is set, then the PlacementSpec.ha-network-type field must be set.\n If the PlacementSpec.ha-network field is unset, then the PlacementSpec.ha-network-type field is ignored.\nIf unset and the PlacementSpec.ha-network field is unset, then the same network present on the Active node virtual machine is used to deploy the virtual machine with an assumption that the network is present on the destination.\n If unset and the PlacementSpec.ha-network field is set, then an error is reported.",
+ "$ref": "#/components/schemas/vcenter.vcha.network_type"
+ },
+ "ha_network": {
+ "description": "The identifier of the Network object used for the HA network.\n If the PlacementSpec.ha-network field is set, then the {#link #haNetworkType} field must be set.\n If the PlacementSpec.ha-network field is unset, then the PlacementSpec.ha-network-type field is ignored.\nIf unset and the PlacementSpec.ha-network-type field is unset, then the same network present on the Active node virtual machine is used to deploy the virtual machine with an assumption that the network is present on the destination.\n\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network:VCenter.",
+ "type": "string"
+ },
+ "management_network_type": {
+ "description": "The type of the Network object used by the Management network.\n If the PlacementSpec.management-network field is set, then the {#link #managementNetworkType} field must be set.\n If the PlacementSpec.management-network field is unset, then the PlacementSpec.management-network-type field is ignored.\nIf unset and the PlacementSpec.management-network field is unset, then the same network present on the Active node virtual machine is used to deploy the virtual machine with an assumption that the network is present on the destination.\n If unset and the PlacementSpec.management-network field is set, then an error is reported.",
+ "$ref": "#/components/schemas/vcenter.vcha.network_type"
+ },
+ "management_network": {
+ "description": "The identifier of the Network object used for the Management network. If the PlacementSpec.management-network field is set, then the PlacementSpec.management-network-type field must be set.\n If the PlacementSpec.management-network field is unset, then the PlacementSpec.management-network-type field is ignored.\nIf unset and the PlacementSpec.management-network-type field is unset, then the same network present on the Active node virtual machine is used to deploy the virtual machine with an assumption that the network is present on the destination.\n\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network:VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network:VCenter.",
+ "type": "string"
+ },
+ "storage": {
+ "description": "The storage specification to deploy the VCHA node to.\nIf unset, see vim.vm.RelocateSpec.datastore.",
+ "$ref": "#/components/schemas/vcenter.vcha.disk_spec"
+ }
+ },
+ "required": [
+ "name",
+ "folder"
+ ]
+ },
+ "vcenter.vm.console.tickets.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.console.tickets.summary"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.console.tickets.create_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of virtual machine console ticket",
+ "$ref": "#/components/schemas/vcenter.vm.console.tickets.type"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.console.tickets.summary": {
+ "type": "object",
+ "properties": {
+ "ticket": {
+ "description": "Console ticket URI",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": [
+ "ticket"
+ ]
+ },
+ "vcenter.vm.console.tickets.type": {
+ "type": "string",
+ "description": "The Tickets.Type enumerated type defines the types of console tickets.",
+ "enum": [
+ "VMRC",
+ "WEBMKS"
+ ]
+ },
+ "vcenter.vm.console.tickets_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.console.tickets.create_spec",
+ "description": "Specification for the console ticket to be created."
+ }
+ }
+ },
+ "vcenter.vm.guest.customization.info": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of the customization operation.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.customization.info.status"
+ },
+ "error": {
+ "description": "Description of the error if the Customization.Info.status of customization operation is FAILED.\nThis field will be unset if the status is not FAILED or there is no information available for the error.",
+ "type": "string"
+ },
+ "start_time": {
+ "description": "Time when the customization process has started inside the guest operating system.\nThis field will be unset if the status is PENDING.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "end_time": {
+ "description": "Time when the customization process has completed inside the guest operating system.\nThis field will be unset if the status is not SUCCEEDED or FAILED.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "vcenter.vm.guest.customization.info.status": {
+ "type": "string",
+ "description": "The Customization.Info.Status enumerated type defines the status values that can be reported for the customization operation.",
+ "enum": [
+ "IDLE",
+ "PENDING",
+ "RUNNING",
+ "SUCCEEDED",
+ "FAILED"
+ ]
+ },
+ "vcenter.vm.guest.customization.set_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the customization specification that has be retrieved from the virtual center inventory and applied for the virtual machine. Either one of Customization.SetSpec.name or Customization.SetSpec.spec or none of them should be specified.\nIf unset and Customization.SetSpec.spec is also unset when executing Customization.set operationg, then any pending customization for the virtual machine will be cleared.",
+ "type": "string"
+ },
+ "spec": {
+ "description": "The customization specification that has to be applied for the virtual machine. Either one of Customization.SetSpec.name or Customization.SetSpec.spec or none of them should be specified.\nIf unset and Customization.SetSpec.name is also unset when executing Customization.set operationg, then any pending customization for the virtual machine will be cleared.",
+ "$ref": "#/components/schemas/vcenter.guest.customization_spec"
+ }
+ }
+ },
+ "vcenter.vm.guest.customization_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.customization.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.guest.customization_set": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.customization.set_spec",
+ "description": "The customization settings to be applied to the guest operating system."
+ }
+ }
+ },
+ "vcenter.vm.guest.dhcp_config_info": {
+ "type": "object",
+ "properties": {
+ "ipv4_enabled": {
+ "description": "True if IPv4 DHCP is enabled, false otherwise.",
+ "type": "boolean"
+ },
+ "ipv6_enabled": {
+ "description": "True if IPv6 DHCP is enabled, false otherwise.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ipv4_enabled",
+ "ipv6_enabled"
+ ]
+ },
+ "vcenter.vm.guest.dns_assigned_values": {
+ "type": "object",
+ "properties": {
+ "host_name": {
+ "description": "The host name portion of DNS name. For example, \"esx01\" part of esx01.example.com.",
+ "type": "string"
+ },
+ "domain_name": {
+ "description": "The domain name portion of the DNS name. \"example.com\" part of esx01.example.com.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "host_name",
+ "domain_name"
+ ]
+ },
+ "vcenter.vm.guest.dns_config_info": {
+ "type": "object",
+ "properties": {
+ "ip_addresses": {
+ "description": "The IP addresses of the DNS servers in order of use. IPv4 addresses are specified using dotted decimal notation. For example, \"192.0.2.1\". IPv6 addresses are 128-bit addresses represented as eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "search_domains": {
+ "description": "The domain in which to search for hosts, placed in order of preference. These are the domain name portion of the DNS names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "ip_addresses",
+ "search_domains"
+ ]
+ },
+ "vcenter.vm.guest.identity.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Guest operating system identifier (short name).",
+ "$ref": "#/components/schemas/vcenter.vm.guest_OS"
+ },
+ "family": {
+ "description": "Guest operating system family.",
+ "$ref": "#/components/schemas/vcenter.vm.guest_OS_family"
+ },
+ "full_name": {
+ "description": "Guest operating system full name.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ },
+ "host_name": {
+ "description": "Hostname of the guest operating system.",
+ "type": "string"
+ },
+ "ip_address": {
+ "description": "IP address assigned by the guest operating system.\nIf unset the guest does not have an IP address.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "family",
+ "full_name",
+ "host_name"
+ ]
+ },
+ "vcenter.vm.guest.identity_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.identity.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.guest.local_filesystem.info": {
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "description": "Total capacity of the file system, in bytes.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "free_space": {
+ "description": "Free space on the file system, in bytes.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "filesystem": {
+ "description": "Filesystem type, if known. For example, ext3 or NTFS.\nset if VMware Tools reports a value.",
+ "type": "string"
+ },
+ "mappings": {
+ "description": "VirtualDisks backing the guest partition, if known.\nThis field is optional because it was added in a newer version than its parent node.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.local_filesystem.virtual_disk_mapping"
+ }
+ }
+ },
+ "required": [
+ "capacity",
+ "free_space"
+ ]
+ },
+ "vcenter.vm.guest.local_filesystem.virtual_disk_mapping": {
+ "type": "object",
+ "properties": {
+ "disk": {
+ "description": "The virtual disk.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "disk"
+ ]
+ },
+ "vcenter.vm.guest.local_filesystem_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.local_filesystem.info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.guest.networking.info": {
+ "type": "object",
+ "properties": {
+ "dns_values": {
+ "description": "Client DNS values. Data assigned by DNS.\nIf unset no DNS assigned value exists.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.dns_assigned_values"
+ },
+ "dns": {
+ "description": "Client DNS configuration. How DNS queries are resolved.\nIf unset no DNS assigned value exists.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.dns_config_info"
+ }
+ }
+ },
+ "vcenter.vm.guest.networking.interfaces.info": {
+ "type": "object",
+ "properties": {
+ "dns_values": {
+ "description": "Client DNS values. Data assigned by DNS.\nIf unset no DNS assigned value exists.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.dns_assigned_values"
+ },
+ "mac_address": {
+ "description": "MAC address of the adapter.\nIf unset then not supported by the Guest OS.",
+ "type": "string"
+ },
+ "dns": {
+ "description": "DNS configuration of the adapter. See Networking.Info.dns for system wide settings.\nIf unset then not assigned by the Guest OS.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.dns_config_info"
+ },
+ "ip": {
+ "description": "IP configuration settings of the adapter\nIf unset then not supported by the Guest OS.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking.interfaces.ip_config_info"
+ },
+ "wins_servers": {
+ "description": "The IP addresses of any WINS name servers for the adapter.\nIf unset then not supported by the Guest OS.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nic": {
+ "description": "Link to the corresponding virtual device.\nIf unset then the interface is not backed by a virtual device.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.Ethernet. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.vm.guest.networking.interfaces.ip_address_info": {
+ "type": "object",
+ "properties": {
+ "ip_address": {
+ "description": "IPv4 address is specified using dotted decimal notation. For example, \"192.0.2.1\". IPv6 addresses are 128-bit addresses specified using eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.",
+ "type": "string"
+ },
+ "prefix_length": {
+ "description": "Denotes the length of a generic Internet network address prefix. Prefix length: the valid range of values is 0-32 for IPv4, and 0-128 for IPv6. A value of n corresponds to an IP address mask that has n contiguous 1-bits from the most significant bit (MSB), with all other bits set to 0. A value of zero is valid only if the calling context defines it.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "origin": {
+ "description": "How this address was configured.\nIf unset the data was not available.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking.interfaces.ip_address_origin"
+ },
+ "state": {
+ "description": "The state of this ipAddress.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking.interfaces.ip_address_status"
+ }
+ },
+ "required": [
+ "ip_address",
+ "prefix_length",
+ "state"
+ ]
+ },
+ "vcenter.vm.guest.networking.interfaces.ip_address_origin": {
+ "type": "string",
+ "description": "The Interfaces.IpAddressOrigin enumerated type specifies how an IP address was obtained for an interface. See RFC 4293 IpAddressOriginTC.",
+ "enum": [
+ "OTHER",
+ "MANUAL",
+ "DHCP",
+ "LINKLAYER",
+ "RANDOM"
+ ]
+ },
+ "vcenter.vm.guest.networking.interfaces.ip_address_status": {
+ "type": "string",
+ "description": "The Interfaces.IpAddressStatus enumerated type defines the present status of an address on an interface. See RFC 4293 IpAddressStatusTC.",
+ "enum": [
+ "PREFERRED",
+ "DEPRECATED",
+ "INVALID",
+ "INACCESSIBLE",
+ "UNKNOWN",
+ "TENTATIVE",
+ "DUPLICATE"
+ ]
+ },
+ "vcenter.vm.guest.networking.interfaces.ip_config_info": {
+ "type": "object",
+ "properties": {
+ "ip_addresses": {
+ "description": "IP addresses configured on the interface.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking.interfaces.ip_address_info"
+ }
+ },
+ "dhcp": {
+ "description": "Client side DHCP for an interface.\nIf unset the IP was not configured by DHCP.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.dhcp_config_info"
+ }
+ },
+ "required": [
+ "ip_addresses"
+ ]
+ },
+ "vcenter.vm.guest.networking.interfaces.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking.interfaces.info"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.guest.networking.routes.info": {
+ "type": "object",
+ "properties": {
+ "network": {
+ "description": "IP Address of the destination IP network. IPv4 address is specified using dotted decimal notation. For example, \"192.0.2.1\". IPv6 addresses are 128-bit specified using as eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.",
+ "type": "string"
+ },
+ "prefix_length": {
+ "description": "The prefix length. For IPv4 the value range is 0-32. For IPv6 prefixLength is a decimal value range 0-128. The property represents the number of contiguous, higher-order bits of the address that make up the network portion of the IP address.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "gateway_address": {
+ "description": "Where to send the packets for this route. Unicast IP Address of the next hop router. IPv4 address is specified using dotted decimal notation. For example, \"192.0.2.1\". IPv6 addresses are 128-bit specified using as eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.\nIf unset no gateway is set for the route.",
+ "type": "string"
+ },
+ "interface_index": {
+ "description": "The network interface associated with this route. This is an index into the result of Interfaces.list The index refers to the relative position of an element in a list. For example, an index of 0 refers to the first element in the list while an index of 1 refers to the second element.\nIf unset the route is not associated with a network interface.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "network",
+ "prefix_length"
+ ]
+ },
+ "vcenter.vm.guest.networking.routes.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking.routes.info"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.guest.networking_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.networking.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.guest.power.info": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "The power state of the guest operating system.",
+ "$ref": "#/components/schemas/vcenter.vm.guest.power.state"
+ },
+ "operations_ready": {
+ "description": "Flag indicating if the virtual machine is ready to process soft power operations.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "state",
+ "operations_ready"
+ ]
+ },
+ "vcenter.vm.guest.power.state": {
+ "type": "string",
+ "description": "Possible guest power states.",
+ "enum": [
+ "RUNNING",
+ "SHUTTING_DOWN",
+ "RESETTING",
+ "STANDBY",
+ "NOT_RUNNING",
+ "UNAVAILABLE"
+ ]
+ },
+ "vcenter.vm.guest.power_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.guest.power.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.guest_OS": {
+ "type": "string",
+ "description": "The GuestOS enumerated type defines the valid guest operating system types used for configuring a virtual machine.",
+ "enum": [
+ "DOS",
+ "WIN_31",
+ "WIN_95",
+ "WIN_98",
+ "WIN_ME",
+ "WIN_NT",
+ "WIN_2000_PRO",
+ "WIN_2000_SERV",
+ "WIN_2000_ADV_SERV",
+ "WIN_XP_HOME",
+ "WIN_XP_PRO",
+ "WIN_XP_PRO_64",
+ "WIN_NET_WEB",
+ "WIN_NET_STANDARD",
+ "WIN_NET_ENTERPRISE",
+ "WIN_NET_DATACENTER",
+ "WIN_NET_BUSINESS",
+ "WIN_NET_STANDARD_64",
+ "WIN_NET_ENTERPRISE_64",
+ "WIN_LONGHORN",
+ "WIN_LONGHORN_64",
+ "WIN_NET_DATACENTER_64",
+ "WIN_VISTA",
+ "WIN_VISTA_64",
+ "WINDOWS_7",
+ "WINDOWS_7_64",
+ "WINDOWS_7_SERVER_64",
+ "WINDOWS_8",
+ "WINDOWS_8_64",
+ "WINDOWS_8_SERVER_64",
+ "WINDOWS_9",
+ "WINDOWS_9_64",
+ "WINDOWS_9_SERVER_64",
+ "WINDOWS_HYPERV",
+ "WINDOWS_SERVER_2019",
+ "WINDOWS_SERVER_2021",
+ "FREEBSD",
+ "FREEBSD_64",
+ "FREEBSD_11",
+ "FREEBSD_12",
+ "FREEBSD_13",
+ "FREEBSD_11_64",
+ "FREEBSD_12_64",
+ "FREEBSD_13_64",
+ "REDHAT",
+ "RHEL_2",
+ "RHEL_3",
+ "RHEL_3_64",
+ "RHEL_4",
+ "RHEL_4_64",
+ "RHEL_5",
+ "RHEL_5_64",
+ "RHEL_6",
+ "RHEL_6_64",
+ "RHEL_7",
+ "RHEL_7_64",
+ "RHEL_8_64",
+ "RHEL_9_64",
+ "CENTOS",
+ "CENTOS_64",
+ "CENTOS_6",
+ "CENTOS_6_64",
+ "CENTOS_7",
+ "CENTOS_7_64",
+ "CENTOS_8_64",
+ "CENTOS_9_64",
+ "ORACLE_LINUX",
+ "ORACLE_LINUX_64",
+ "ORACLE_LINUX_6",
+ "ORACLE_LINUX_6_64",
+ "ORACLE_LINUX_7",
+ "ORACLE_LINUX_7_64",
+ "ORACLE_LINUX_8_64",
+ "ORACLE_LINUX_9_64",
+ "SUSE",
+ "SUSE_64",
+ "SLES",
+ "SLES_64",
+ "SLES_10",
+ "SLES_10_64",
+ "SLES_11",
+ "SLES_11_64",
+ "SLES_12",
+ "SLES_12_64",
+ "SLES_15_64",
+ "SLES_16_64",
+ "NLD_9",
+ "OES",
+ "SJDS",
+ "MANDRAKE",
+ "MANDRIVA",
+ "MANDRIVA_64",
+ "TURBO_LINUX",
+ "TURBO_LINUX_64",
+ "UBUNTU",
+ "UBUNTU_64",
+ "DEBIAN_4",
+ "DEBIAN_4_64",
+ "DEBIAN_5",
+ "DEBIAN_5_64",
+ "DEBIAN_6",
+ "DEBIAN_6_64",
+ "DEBIAN_7",
+ "DEBIAN_7_64",
+ "DEBIAN_8",
+ "DEBIAN_8_64",
+ "DEBIAN_9",
+ "DEBIAN_9_64",
+ "DEBIAN_10",
+ "DEBIAN_10_64",
+ "DEBIAN_11",
+ "DEBIAN_11_64",
+ "ASIANUX_3",
+ "ASIANUX_3_64",
+ "ASIANUX_4",
+ "ASIANUX_4_64",
+ "ASIANUX_5_64",
+ "ASIANUX_7_64",
+ "ASIANUX_8_64",
+ "ASIANUX_9_64",
+ "OPENSUSE",
+ "OPENSUSE_64",
+ "FEDORA",
+ "FEDORA_64",
+ "COREOS_64",
+ "VMWARE_PHOTON_64",
+ "OTHER_24X_LINUX",
+ "OTHER_24X_LINUX_64",
+ "OTHER_26X_LINUX",
+ "OTHER_26X_LINUX_64",
+ "OTHER_3X_LINUX",
+ "OTHER_3X_LINUX_64",
+ "OTHER_4X_LINUX",
+ "OTHER_4X_LINUX_64",
+ "OTHER_5X_LINUX",
+ "OTHER_5X_LINUX_64",
+ "OTHER_LINUX",
+ "GENERIC_LINUX",
+ "OTHER_LINUX_64",
+ "SOLARIS_6",
+ "SOLARIS_7",
+ "SOLARIS_8",
+ "SOLARIS_9",
+ "SOLARIS_10",
+ "SOLARIS_10_64",
+ "SOLARIS_11_64",
+ "OS2",
+ "ECOMSTATION",
+ "ECOMSTATION_2",
+ "NETWARE_4",
+ "NETWARE_5",
+ "NETWARE_6",
+ "OPENSERVER_5",
+ "OPENSERVER_6",
+ "UNIXWARE_7",
+ "DARWIN",
+ "DARWIN_64",
+ "DARWIN_10",
+ "DARWIN_10_64",
+ "DARWIN_11",
+ "DARWIN_11_64",
+ "DARWIN_12_64",
+ "DARWIN_13_64",
+ "DARWIN_14_64",
+ "DARWIN_15_64",
+ "DARWIN_16_64",
+ "DARWIN_17_64",
+ "DARWIN_18_64",
+ "DARWIN_19_64",
+ "DARWIN_20_64",
+ "DARWIN_21_64",
+ "VMKERNEL",
+ "VMKERNEL_5",
+ "VMKERNEL_6",
+ "VMKERNEL_65",
+ "VMKERNEL_7",
+ "AMAZONLINUX2_64",
+ "AMAZONLINUX3_64",
+ "CRXPOD_1",
+ "OTHER",
+ "OTHER_64"
+ ]
+ },
+ "vcenter.vm.guest_OS_family": {
+ "type": "string",
+ "description": "The GuestOSFamily enumerated type defines the valid guest operating system family types reported by a virtual machine.",
+ "enum": [
+ "WINDOWS",
+ "LINUX",
+ "NETWARE",
+ "SOLARIS",
+ "DARWIN",
+ "OTHER"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.nvme.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.nvme.create_spec": {
+ "type": "object",
+ "properties": {
+ "bus": {
+ "description": "NVMe bus number.\nIf unset, the server will choose an available bus number; if none is available, the request will fail.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "pci_slot_number": {
+ "description": "Address of the NVMe adapter on the PCI bus.\nIf unset, the server will choose an available address when the virtual machine is powered on.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "vcenter.vm.hardware.adapter.nvme.info": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "Device label.",
+ "type": "string"
+ },
+ "bus": {
+ "description": "NVMe bus number.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "pci_slot_number": {
+ "description": "Address of the NVMe adapter on the PCI bus.\nMay be unset if the virtual machine has never been powered on since the adapter was created.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "label",
+ "bus"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.nvme.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.nvme.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.nvme.summary": {
+ "type": "object",
+ "properties": {
+ "adapter": {
+ "description": "Identifier of the virtual NVMe adapter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.NvmeAdapter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.NvmeAdapter.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "adapter"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.nvme_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.nvme.create_spec",
+ "description": "Specification for the new virtual NVMe adapter."
+ }
+ }
+ },
+ "vcenter.vm.hardware.adapter.nvme_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.nvme.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.sata.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.sata.create_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Adapter type.\nIf unset, a guest-specific default value will be used.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata.type"
+ },
+ "bus": {
+ "description": "SATA bus number.\nIf unset, the server will choose an available bus number; if none is available, the request will fail.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "pci_slot_number": {
+ "description": "Address of the SATA adapter on the PCI bus.\nIf unset, the server will choose an available address when the virtual machine is powered on.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "vcenter.vm.hardware.adapter.sata.info": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "Device label.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Adapter type.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata.type"
+ },
+ "bus": {
+ "description": "SATA bus number.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "pci_slot_number": {
+ "description": "Address of the SATA adapter on the PCI bus.\nMay be unset if the virtual machine has never been powered on since the adapter was created.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "label",
+ "type",
+ "bus"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.sata.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.sata.summary": {
+ "type": "object",
+ "properties": {
+ "adapter": {
+ "description": "Identifier of the virtual SATA adapter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.SataAdapter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.SataAdapter.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "adapter"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.sata.type": {
+ "type": "string",
+ "description": "The Sata.Type enumerated type defines the valid emulation types for a virtual SATA adapter.",
+ "enum": [
+ "AHCI"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.sata_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata.create_spec",
+ "description": "Specification for the new virtual SATA adapter."
+ }
+ }
+ },
+ "vcenter.vm.hardware.adapter.sata_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.sata.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.scsi.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.scsi.create_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Adapter type.\nIf unset, a guest-specific default value will be used.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.type"
+ },
+ "bus": {
+ "description": "SCSI bus number.\nIf unset, the server will choose an available bus number; if none is available, the request will fail.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "pci_slot_number": {
+ "description": "Address of the SCSI adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\nIf unset, the server will choose an available address when the virtual machine is powered on.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "sharing": {
+ "description": "Bus sharing mode.\nIf unset, the adapter will default to NONE.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.sharing"
+ }
+ }
+ },
+ "vcenter.vm.hardware.adapter.scsi.info": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "Device label.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Adapter type.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.type"
+ },
+ "scsi": {
+ "description": "Address of the SCSI adapter on the SCSI bus.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.scsi_address_info"
+ },
+ "pci_slot_number": {
+ "description": "Address of the SCSI adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\nMay be unset if the virtual machine has never been powered on since the adapter was created.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "sharing": {
+ "description": "Bus sharing mode.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.sharing"
+ }
+ },
+ "required": [
+ "label",
+ "type",
+ "scsi",
+ "sharing"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.scsi.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.scsi.sharing": {
+ "type": "string",
+ "description": "The Scsi.Sharing enumerated type defines the valid bus sharing modes for a virtual SCSI adapter.",
+ "enum": [
+ "NONE",
+ "VIRTUAL",
+ "PHYSICAL"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.scsi.summary": {
+ "type": "object",
+ "properties": {
+ "adapter": {
+ "description": "Identifier of the virtual SCSI adapter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.ScsiAdapter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.ScsiAdapter.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "adapter"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.scsi.type": {
+ "type": "string",
+ "description": "The Scsi.Type enumerated type defines the valid emulation types for a virtual SCSI adapter.",
+ "enum": [
+ "BUSLOGIC",
+ "LSILOGIC",
+ "LSILOGICSAS",
+ "PVSCSI"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.scsi.update_spec": {
+ "type": "object",
+ "properties": {
+ "sharing": {
+ "description": "Bus sharing mode. \n This field may only be modified if the virtual machine is not powered on.\n\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.sharing"
+ }
+ }
+ },
+ "vcenter.vm.hardware.adapter.scsi_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.create_spec",
+ "description": "Specification for the new virtual SCSI adapter."
+ }
+ }
+ },
+ "vcenter.vm.hardware.adapter.scsi_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.adapter.scsi_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.adapter.scsi.update_spec",
+ "description": "Specification for updating the virtual SCSI adapter."
+ }
+ }
+ },
+ "vcenter.vm.hardware.boot.create_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Firmware type to be used by the virtual machine.\nIf unset, defaults to value that is recommended for the guest OS and is supported for the virtual hardware version.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.type"
+ },
+ "efi_legacy_boot": {
+ "description": "Flag indicating whether to use EFI legacy boot mode.\nIf unset, defaults to value that is recommended for the guest OS and is supported for the virtual hardware version.",
+ "type": "boolean"
+ },
+ "network_protocol": {
+ "description": "Protocol to use when attempting to boot the virtual machine over the network.\nIf unset, defaults to a system defined default value.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.network_protocol"
+ },
+ "delay": {
+ "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.\nIf unset, default value is 0.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "retry": {
+ "description": "Flag indicating whether the virtual machine should automatically retry the boot process after a failure.\nIf unset, default value is false.",
+ "type": "boolean"
+ },
+ "retry_delay": {
+ "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when Boot.Info.retry is true.\nIf unset, default value is 10000.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "enter_setup_mode": {
+ "description": "Flag indicating whether the firmware boot process should automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.boot.device.entry": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Virtual device type.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.device.type"
+ },
+ "nic": {
+ "description": "Virtual Ethernet device. Ethernet device to use as boot device for this entry.\nThis field is optional and it is only relevant when the value of Device.Entry.type is ETHERNET.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.Ethernet. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "type": "string"
+ },
+ "disks": {
+ "description": "Virtual disk device. List of virtual disks in boot order.\nThis field is optional and it is only relevant when the value of Device.Entry.type is DISK.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.boot.device.entry_create_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Virtual Boot device type.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.device.type"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.boot.device.type": {
+ "type": "string",
+ "description": "The Device.Type enumerated type defines the valid device types that may be used as bootable devices.",
+ "enum": [
+ "CDROM",
+ "DISK",
+ "ETHERNET",
+ "FLOPPY"
+ ]
+ },
+ "vcenter.vm.hardware.boot.device_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.device.entry"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.boot.device_set": {
+ "type": "object",
+ "properties": {
+ "devices": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.device.entry"
+ },
+ "description": "Ordered list of boot devices."
+ }
+ }
+ },
+ "vcenter.vm.hardware.boot.info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Firmware type used by the virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.type"
+ },
+ "efi_legacy_boot": {
+ "description": "Flag indicating whether to use EFI legacy boot mode.\nThis field is optional and it is only relevant when the value of Boot.Info.type is EFI.",
+ "type": "boolean"
+ },
+ "network_protocol": {
+ "description": "Protocol to use when attempting to boot the virtual machine over the network.\nThis field is optional and it is only relevant when the value of Boot.Info.type is EFI.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.network_protocol"
+ },
+ "delay": {
+ "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "retry": {
+ "description": "Flag indicating whether the virtual machine will automatically retry the boot process after a failure.",
+ "type": "boolean"
+ },
+ "retry_delay": {
+ "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when Boot.Info.retry is true.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "enter_setup_mode": {
+ "description": "Flag indicating whether the firmware boot process will automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "type",
+ "delay",
+ "retry",
+ "retry_delay",
+ "enter_setup_mode"
+ ]
+ },
+ "vcenter.vm.hardware.boot.network_protocol": {
+ "type": "string",
+ "description": "The Boot.NetworkProtocol enumerated type defines the valid network boot protocols supported when booting a virtual machine with EFI firmware over the network.",
+ "enum": [
+ "IPV4",
+ "IPV6"
+ ]
+ },
+ "vcenter.vm.hardware.boot.type": {
+ "type": "string",
+ "description": "The Boot.Type enumerated type defines the valid firmware types for a virtual machine.",
+ "enum": [
+ "BIOS",
+ "EFI"
+ ]
+ },
+ "vcenter.vm.hardware.boot.update_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Firmware type to be used by the virtual machine.\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.type"
+ },
+ "efi_legacy_boot": {
+ "description": "Flag indicating whether to use EFI legacy boot mode.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "network_protocol": {
+ "description": "Protocol to use when attempting to boot the virtual machine over the network.\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.network_protocol"
+ },
+ "delay": {
+ "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.\nIf unset, the value is unchanged.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "retry": {
+ "description": "Flag indicating whether the virtual machine should automatically retry the boot process after a failure.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "retry_delay": {
+ "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when Boot.Info.retry is true.\nIf unset, the value is unchanged.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "enter_setup_mode": {
+ "description": "Flag indicating whether the firmware boot process should automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.boot_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.boot_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.boot.update_spec",
+ "description": "Specification for updating the boot-related settings of the virtual machine."
+ }
+ }
+ },
+ "vcenter.vm.hardware.cdrom.backing_info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual CD-ROM device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.backing_type"
+ },
+ "iso_file": {
+ "description": "Path of the image file backing the virtual CD-ROM device.\nThis field is optional and it is only relevant when the value of Cdrom.BackingInfo.type is ISO_FILE.",
+ "type": "string"
+ },
+ "host_device": {
+ "description": "Name of the host device backing the virtual CD-ROM device. \n\n\nThis field will be unset if Cdrom.BackingInfo.auto-detect is true and the virtual CD-ROM device is not connected or no suitable device is available on the host.",
+ "type": "string"
+ },
+ "auto_detect": {
+ "description": "Flag indicating whether the virtual CD-ROM device is configured to automatically detect a suitable host device.\nThis field is optional and it is only relevant when the value of Cdrom.BackingInfo.type is HOST_DEVICE.",
+ "type": "boolean"
+ },
+ "device_access_type": {
+ "description": "Access type for the device backing.\nThis field is optional and it is only relevant when the value of Cdrom.BackingInfo.type is one of HOST_DEVICE or CLIENT_DEVICE.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.device_access_type"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom.backing_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual CD-ROM device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.backing_type"
+ },
+ "iso_file": {
+ "description": "Path of the image file that should be used as the virtual CD-ROM device backing.\nThis field is optional and it is only relevant when the value of Cdrom.BackingSpec.type is ISO_FILE.",
+ "type": "string"
+ },
+ "host_device": {
+ "description": "Name of the device that should be used as the virtual CD-ROM device backing.\nIf unset, the virtual CD-ROM device will be configured to automatically detect a suitable host device.",
+ "type": "string"
+ },
+ "device_access_type": {
+ "description": "Access type for the device backing.\nIf unset, defaults to EMULATION.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.device_access_type"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom.backing_type": {
+ "type": "string",
+ "description": "The Cdrom.BackingType enumerated type defines the valid backing types for a virtual CD-ROM device.",
+ "enum": [
+ "ISO_FILE",
+ "HOST_DEVICE",
+ "CLIENT_DEVICE"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom.create_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of host bus adapter to which the device should be attached.\nIf unset, guest-specific default values will be used",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.host_bus_adapter_type"
+ },
+ "ide": {
+ "description": "Address for attaching the device to a virtual IDE adapter.\nIf unset, the server will choose an available address; if none is available, the request will fail.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ide_address_spec"
+ },
+ "sata": {
+ "description": "Address for attaching the device to a virtual SATA adapter.\nIf unset, the server will choose an available address; if none is available, the request will fail.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.sata_address_spec"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual CD-ROM device.\nIf unset, defaults to automatic detection of a suitable host device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nDefaults to false if unset.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nDefaults to false if unset.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.cdrom.device_access_type": {
+ "type": "string",
+ "description": "The Cdrom.DeviceAccessType enumerated type defines the valid device access types for a physical device packing of a virtual CD-ROM device.",
+ "enum": [
+ "EMULATION",
+ "PASSTHRU",
+ "PASSTHRU_EXCLUSIVE"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom.host_bus_adapter_type": {
+ "type": "string",
+ "description": "The Cdrom.HostBusAdapterType enumerated type defines the valid types of host bus adapters that may be used for attaching a Cdrom to a virtual machine.",
+ "enum": [
+ "IDE",
+ "SATA"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom.info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of host bus adapter to which the device is attached.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.host_bus_adapter_type"
+ },
+ "label": {
+ "description": "Device label.",
+ "type": "string"
+ },
+ "ide": {
+ "description": "Address of device attached to a virtual IDE adapter.\nThis field is optional and it is only relevant when the value of Cdrom.Info.type is IDE.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ide_address_info"
+ },
+ "sata": {
+ "description": "Address of device attached to a virtual SATA adapter.\nThis field is optional and it is only relevant when the value of Cdrom.Info.type is SATA.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.sata_address_info"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual CD-ROM device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.backing_info"
+ },
+ "state": {
+ "description": "Connection status of the virtual device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.connection_state"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "type",
+ "label",
+ "backing",
+ "state",
+ "start_connected",
+ "allow_guest_control"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom.summary": {
+ "type": "object",
+ "properties": {
+ "cdrom": {
+ "description": "Identifier of the virtual CD-ROM device.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.Cdrom. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.Cdrom.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "cdrom"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom.update_spec": {
+ "type": "object",
+ "properties": {
+ "backing": {
+ "description": "Physical resource backing for the virtual CD-ROM device. \n This field may only be modified if the virtual machine is not powered on or the virtual CD-ROM device is not connected.\n\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.cdrom_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.create_spec",
+ "description": "Specification for the new virtual CD-ROM device."
+ }
+ }
+ },
+ "vcenter.vm.hardware.cdrom_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.cdrom_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cdrom.update_spec",
+ "description": "Specification for updating the virtual CD-ROM device."
+ }
+ }
+ },
+ "vcenter.vm.hardware.connection_state": {
+ "type": "string",
+ "description": "The ConnectionState enumerated type defines the valid states for a removable device that is configured to be connected.",
+ "enum": [
+ "CONNECTED",
+ "RECOVERABLE_ERROR",
+ "UNRECOVERABLE_ERROR",
+ "NOT_CONNECTED",
+ "UNKNOWN"
+ ]
+ },
+ "vcenter.vm.hardware.cpu.info": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "description": "Number of CPU cores.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cores_per_socket": {
+ "description": "Number of CPU cores per socket.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "hot_add_enabled": {
+ "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled.",
+ "type": "boolean"
+ },
+ "hot_remove_enabled": {
+ "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "count",
+ "cores_per_socket",
+ "hot_add_enabled",
+ "hot_remove_enabled"
+ ]
+ },
+ "vcenter.vm.hardware.cpu.update_spec": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "description": "New number of CPU cores. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket. \n The supported range of CPU counts is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, the number of CPU cores may only be increased if Cpu.Info.hot-add-enabled is true, and may only be decreased if Cpu.Info.hot-remove-enabled is true.\n\nIf unset, the value is unchanged.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cores_per_socket": {
+ "description": "New number of CPU cores per socket. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket.\nIf unset, the value is unchanged.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "hot_add_enabled": {
+ "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled. \n This field may only be modified if the virtual machine is powered off.\n\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "hot_remove_enabled": {
+ "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled. \n This field may only be modified if the virtual machine is powered off.\n\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.cpu_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cpu.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.cpu_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.cpu.update_spec",
+ "description": "Specification for updating the CPU-related settings of the virtual machine."
+ }
+ }
+ },
+ "vcenter.vm.hardware.disk.backing_info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual disk.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.backing_type"
+ },
+ "vmdk_file": {
+ "description": "Path of the VMDK file backing the virtual disk.\nThis field is optional and it is only relevant when the value of Disk.BackingInfo.type is VMDK_FILE.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.disk.backing_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual disk.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.backing_type"
+ },
+ "vmdk_file": {
+ "description": "Path of the VMDK file backing the virtual disk.\nThis field is optional and it is only relevant when the value of Disk.BackingSpec.type is VMDK_FILE.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.disk.backing_type": {
+ "type": "string",
+ "description": "The Disk.BackingType enumerated type defines the valid backing types for a virtual disk.",
+ "enum": [
+ "VMDK_FILE"
+ ]
+ },
+ "vcenter.vm.hardware.disk.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.disk.create_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of host bus adapter to which the device should be attached.\nIf unset, guest-specific default values will be used",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.host_bus_adapter_type"
+ },
+ "ide": {
+ "description": "Address for attaching the device to a virtual IDE adapter.\nIf unset, the server will choose an available address; if none is available, the request will fail.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ide_address_spec"
+ },
+ "scsi": {
+ "description": "Address for attaching the device to a virtual SCSI adapter.\nIf unset, the server will choose an available address; if none is available, the request will fail.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.scsi_address_spec"
+ },
+ "sata": {
+ "description": "Address for attaching the device to a virtual SATA adapter.\nIf unset, the server will choose an available address; if none is available, the request will fail.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.sata_address_spec"
+ },
+ "nvme": {
+ "description": "Address for attaching the device to a virtual NVMe adapter.\nIf unset, the server will choose an available address; if none is available, the request will fail.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.nvme_address_spec"
+ },
+ "backing": {
+ "description": "Existing physical resource backing for the virtual disk. Exactly one of Disk.CreateSpec.backing or Disk.CreateSpec.new-vmdk must be specified.\nIf unset, the virtual disk will not be connected to an existing backing.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.backing_spec"
+ },
+ "new_vmdk": {
+ "description": "Specification for creating a new VMDK backing for the virtual disk. Exactly one of Disk.CreateSpec.backing or Disk.CreateSpec.new-vmdk must be specified.\nIf unset, a new VMDK backing will not be created.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.vmdk_create_spec"
+ }
+ }
+ },
+ "vcenter.vm.hardware.disk.host_bus_adapter_type": {
+ "type": "string",
+ "description": "The Disk.HostBusAdapterType enumerated type defines the valid types of host bus adapters that may be used for attaching a virtual storage device to a virtual machine.",
+ "enum": [
+ "IDE",
+ "SCSI",
+ "SATA",
+ "NVME"
+ ]
+ },
+ "vcenter.vm.hardware.disk.info": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "Device label.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of host bus adapter to which the device is attached.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.host_bus_adapter_type"
+ },
+ "ide": {
+ "description": "Address of device attached to a virtual IDE adapter.\nWorkaround for PR1459646",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ide_address_info"
+ },
+ "scsi": {
+ "description": "Address of device attached to a virtual SCSI adapter.\nWorkaround for PR1459646",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.scsi_address_info"
+ },
+ "sata": {
+ "description": "Address of device attached to a virtual SATA adapter.\nWorkaround for PR1459646",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.sata_address_info"
+ },
+ "nvme": {
+ "description": "Address of device attached to a virtual NVMe adapter.\nThis field is optional and it is only relevant when the value of Disk.Info.type is NVME.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.nvme_address_info"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual disk.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.backing_info"
+ },
+ "capacity": {
+ "description": "Capacity of the virtual disk in bytes.\nIf unset, virtual disk is inaccessible or disk capacity is 0.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "label",
+ "type",
+ "backing"
+ ]
+ },
+ "vcenter.vm.hardware.disk.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.disk.storage_policy_spec": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "Identifier of the storage policy which should be associated with the VMDK file.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.StoragePolicy.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "policy"
+ ]
+ },
+ "vcenter.vm.hardware.disk.summary": {
+ "type": "object",
+ "properties": {
+ "disk": {
+ "description": "Identifier of the virtual Disk.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "disk"
+ ]
+ },
+ "vcenter.vm.hardware.disk.update_spec": {
+ "type": "object",
+ "properties": {
+ "backing": {
+ "description": "Physical resource backing for the virtual disk. \n This field may only be modified if the virtual machine is not powered on.\n\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.backing_spec"
+ }
+ }
+ },
+ "vcenter.vm.hardware.disk.vmdk_create_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Base name of the VMDK file. The name should not include the '.vmdk' file extension.\nIf unset, a name (derived from the name of the virtual machine) will be chosen by the server.",
+ "type": "string"
+ },
+ "capacity": {
+ "description": "Capacity of the virtual disk backing in bytes.\nIf unset, defaults to a guest-specific capacity.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "storage_policy": {
+ "description": "The Disk.StoragePolicySpec structure contains information about the storage policy that is to be associated the with VMDK file.\nIf unset the default storage policy of the target datastore (if applicable) is applied. Currently a default storage policy is only supported by object based datastores : VVol & vSAN. For non- object datastores, if unset then no storage policy would be associated with the VMDK file.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.storage_policy_spec"
+ }
+ }
+ },
+ "vcenter.vm.hardware.disk_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.create_spec",
+ "description": "Specification for the new virtual disk."
+ }
+ }
+ },
+ "vcenter.vm.hardware.disk_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.disk_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.disk.update_spec",
+ "description": "Specification for updating the virtual disk."
+ }
+ }
+ },
+ "vcenter.vm.hardware.ethernet.backing_info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual Ethernet adapter.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.backing_type"
+ },
+ "network": {
+ "description": "Identifier of the network backing the virtual Ethernet adapter.\nIf unset, the identifier of the network backing could not be determined.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network.",
+ "type": "string"
+ },
+ "network_name": {
+ "description": "Name of the standard portgroup backing the virtual Ethernet adapter.\nThis field is optional and it is only relevant when the value of Ethernet.BackingInfo.type is STANDARD_PORTGROUP.",
+ "type": "string"
+ },
+ "host_device": {
+ "description": "Name of the device backing the virtual Ethernet adapter.\nThis field is optional and it is only relevant when the value of Ethernet.BackingInfo.type is HOST_DEVICE.",
+ "type": "string"
+ },
+ "distributed_switch_uuid": {
+ "description": "UUID of the distributed virtual switch that backs the virtual Ethernet adapter.\nThis field is optional and it is only relevant when the value of Ethernet.BackingInfo.type is DISTRIBUTED_PORTGROUP.",
+ "type": "string"
+ },
+ "distributed_port": {
+ "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter.\nThis field will be unset if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected.",
+ "type": "string"
+ },
+ "connection_cookie": {
+ "description": "Server-generated cookie that identifies the connection to the port. This ookie may be used to verify that the virtual machine is the rightful owner of the port.\nThis field will be unset if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "opaque_network_type": {
+ "description": "Type of the opaque network that backs the virtual Ethernet adapter.\nThis field is optional and it is only relevant when the value of Ethernet.BackingInfo.type is OPAQUE_NETWORK.",
+ "type": "string"
+ },
+ "opaque_network_id": {
+ "description": "Identifier of the opaque network that backs the virtual Ethernet adapter.\nThis field is optional and it is only relevant when the value of Ethernet.BackingInfo.type is OPAQUE_NETWORK.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet.backing_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual Ethernet adapter.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.backing_type"
+ },
+ "network": {
+ "description": "Identifier of the network that backs the virtual Ethernet adapter.\nThis field is optional and it is only relevant when the value of Ethernet.BackingSpec.type is one of STANDARD_PORTGROUP, DISTRIBUTED_PORTGROUP, or OPAQUE_NETWORK.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network.",
+ "type": "string"
+ },
+ "distributed_port": {
+ "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter. Depending on the type of the Portgroup, the port may be specified using this field. If the portgroup type is early-binding (also known as static), a port is assigned when the Ethernet adapter is configured to use the port. The port may be either automatically or specifically assigned based on the value of this field. If the portgroup type is ephemeral, the port is created and assigned to a virtual machine when it is powered on and the Ethernet adapter is connected. This field cannot be specified as no free ports exist before use.\nMay be used to specify a port when the network specified on the Ethernet.BackingSpec.network field is a static or early binding distributed portgroup. If unset, the port will be automatically assigned to the Ethernet adapter based on the policy embodied by the portgroup type.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet.backing_type": {
+ "type": "string",
+ "description": "The Ethernet.BackingType enumerated type defines the valid backing types for a virtual Ethernet adapter.",
+ "enum": [
+ "STANDARD_PORTGROUP",
+ "HOST_DEVICE",
+ "DISTRIBUTED_PORTGROUP",
+ "OPAQUE_NETWORK"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet.create_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Ethernet adapter emulation type.\nIf unset, defaults to a guest-specific type.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.emulation_type"
+ },
+ "upt_compatibility_enabled": {
+ "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility is enabled on this virtual Ethernet adapter.\nIf unset, defaults to false.",
+ "type": "boolean"
+ },
+ "mac_type": {
+ "description": "MAC address type.\nIf unset, defaults to GENERATED.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.mac_address_type"
+ },
+ "mac_address": {
+ "description": "MAC address.\nWorkaround for PR1459647",
+ "type": "string"
+ },
+ "pci_slot_number": {
+ "description": "Address of the virtual Ethernet adapter on the PCI bus. If the PCI address is invalid, the server will change when it the VM is started or as the device is hot added.\nIf unset, the server will choose an available address when the virtual machine is powered on.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "wake_on_lan_enabled": {
+ "description": "Flag indicating whether wake-on-LAN is enabled on this virtual Ethernet adapter.\nDefaults to false if unset.",
+ "type": "boolean"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual Ethernet adapter.\nIf unset, the system may try to find an appropriate backing. If one is not found, the request will fail.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nDefaults to false if unset.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nDefaults to false if unset.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.ethernet.emulation_type": {
+ "type": "string",
+ "description": "The Ethernet.EmulationType enumerated type defines the valid emulation types for a virtual Ethernet adapter.",
+ "enum": [
+ "E1000",
+ "E1000E",
+ "PCNET32",
+ "VMXNET",
+ "VMXNET2",
+ "VMXNET3"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet.info": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "Device label.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Ethernet adapter emulation type.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.emulation_type"
+ },
+ "upt_compatibility_enabled": {
+ "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility is enabled on this virtual Ethernet adapter.\nThis field is optional and it is only relevant when the value of Ethernet.Info.type is VMXNET3.",
+ "type": "boolean"
+ },
+ "mac_type": {
+ "description": "MAC address type.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.mac_address_type"
+ },
+ "mac_address": {
+ "description": "MAC address.\nMay be unset if Ethernet.Info.mac-type is MANUAL and has not been specified, or if Ethernet.Info.mac-type is GENERATED and the virtual machine has never been powered on since the Ethernet adapter was created.",
+ "type": "string"
+ },
+ "pci_slot_number": {
+ "description": "Address of the virtual Ethernet adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\nMay be unset if the virtual machine has never been powered on since the adapter was created.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "wake_on_lan_enabled": {
+ "description": "Flag indicating whether wake-on-LAN is enabled on this virtual Ethernet adapter.",
+ "type": "boolean"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual Ethernet adapter.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.backing_info"
+ },
+ "state": {
+ "description": "Connection status of the virtual device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.connection_state"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "label",
+ "type",
+ "mac_type",
+ "wake_on_lan_enabled",
+ "backing",
+ "state",
+ "start_connected",
+ "allow_guest_control"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet.mac_address_type": {
+ "type": "string",
+ "description": "The Ethernet.MacAddressType enumerated type defines the valid MAC address origins for a virtual Ethernet adapter.",
+ "enum": [
+ "MANUAL",
+ "GENERATED",
+ "ASSIGNED"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet.summary": {
+ "type": "object",
+ "properties": {
+ "nic": {
+ "description": "Identifier of the virtual Ethernet adapter.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.Ethernet. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.Ethernet.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "nic"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet.update_spec": {
+ "type": "object",
+ "properties": {
+ "upt_compatibility_enabled": {
+ "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility should be enabled on this virtual Ethernet adapter. \n This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf unset, the value is unchanged. Must be unset if the emulation type of the virtual Ethernet adapter is not VMXNET3.",
+ "type": "boolean"
+ },
+ "mac_type": {
+ "description": "MAC address type. \n This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.mac_address_type"
+ },
+ "mac_address": {
+ "description": "MAC address. \n This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf unset, the value is unchanged. Must be specified if Ethernet.UpdateSpec.mac-type is MANUAL. Must be unset if the MAC address type is not MANUAL.",
+ "type": "string"
+ },
+ "wake_on_lan_enabled": {
+ "description": "Flag indicating whether wake-on-LAN shoud be enabled on this virtual Ethernet adapter. \n This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual Ethernet adapter. \n This field may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.ethernet_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.create_spec",
+ "description": "Specification for the new virtual Ethernet adapter."
+ }
+ }
+ },
+ "vcenter.vm.hardware.ethernet_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.ethernet_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.ethernet.update_spec",
+ "description": "Specification for updating the virtual Ethernet adapter."
+ }
+ }
+ },
+ "vcenter.vm.hardware.floppy.backing_info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual floppy drive.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.backing_type"
+ },
+ "image_file": {
+ "description": "Path of the image file backing the virtual floppy drive.\nThis field is optional and it is only relevant when the value of Floppy.BackingInfo.type is IMAGE_FILE.",
+ "type": "string"
+ },
+ "host_device": {
+ "description": "Name of the host device backing the virtual floppy drive. \n\n\nThis field will be unset if Floppy.BackingInfo.auto-detect is true and the virtual floppy drive is not connected or no suitable device is available on the host.",
+ "type": "string"
+ },
+ "auto_detect": {
+ "description": "Flag indicating whether the virtual floppy drive is configured to automatically detect a suitable host device.\nThis field is optional and it is only relevant when the value of Floppy.BackingInfo.type is HOST_DEVICE.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.floppy.backing_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual floppy drive.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.backing_type"
+ },
+ "image_file": {
+ "description": "Path of the image file that should be used as the virtual floppy drive backing.\nThis field is optional and it is only relevant when the value of Floppy.BackingSpec.type is IMAGE_FILE.",
+ "type": "string"
+ },
+ "host_device": {
+ "description": "Name of the device that should be used as the virtual floppy drive backing.\nIf unset, the virtual floppy drive will be configured to automatically detect a suitable host device.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.floppy.backing_type": {
+ "type": "string",
+ "description": "The Floppy.BackingType enumerated type defines the valid backing types for a virtual floppy drive.",
+ "enum": [
+ "IMAGE_FILE",
+ "HOST_DEVICE",
+ "CLIENT_DEVICE"
+ ]
+ },
+ "vcenter.vm.hardware.floppy.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.floppy.create_spec": {
+ "type": "object",
+ "properties": {
+ "backing": {
+ "description": "Physical resource backing for the virtual floppy drive.\nIf unset, defaults to automatic detection of a suitable host device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nDefaults to false if unset.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nDefaults to false if unset.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.floppy.info": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "Device label.",
+ "type": "string"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual floppy drive.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.backing_info"
+ },
+ "state": {
+ "description": "Connection status of the virtual device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.connection_state"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "label",
+ "backing",
+ "state",
+ "start_connected",
+ "allow_guest_control"
+ ]
+ },
+ "vcenter.vm.hardware.floppy.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.floppy.summary": {
+ "type": "object",
+ "properties": {
+ "floppy": {
+ "description": "Identifier of the virtual floppy drive.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.Floppy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.Floppy.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "floppy"
+ ]
+ },
+ "vcenter.vm.hardware.floppy.update_spec": {
+ "type": "object",
+ "properties": {
+ "backing": {
+ "description": "Physical resource backing for the virtual floppy drive. \n This field may only be modified if the virtual machine is not powered on or the virtual floppy drive is not connected.\n\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.floppy_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.create_spec",
+ "description": "Specification for the new virtual floppy drive."
+ }
+ }
+ },
+ "vcenter.vm.hardware.floppy_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.floppy_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.floppy.update_spec",
+ "description": "Specification for updating the virtual floppy drive."
+ }
+ }
+ },
+ "vcenter.vm.hardware.ide_address_info": {
+ "type": "object",
+ "properties": {
+ "primary": {
+ "description": "Flag specifying whether the device is attached to the primary or secondary IDE adapter of the virtual machine.",
+ "type": "boolean"
+ },
+ "master": {
+ "description": "Flag specifying whether the device is the master or slave device on the IDE adapter.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "primary",
+ "master"
+ ]
+ },
+ "vcenter.vm.hardware.ide_address_spec": {
+ "type": "object",
+ "properties": {
+ "primary": {
+ "description": "Flag specifying whether the device should be attached to the primary or secondary IDE adapter of the virtual machine.\nIf unset, the server will choose a adapter with an available connection. If no IDE connections are available, the request will be rejected.",
+ "type": "boolean"
+ },
+ "master": {
+ "description": "Flag specifying whether the device should be the master or slave device on the IDE adapter.\nIf unset, the server will choose an available connection type. If no IDE connections are available, the request will be rejected.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.info": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Virtual hardware version.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.version"
+ },
+ "upgrade_policy": {
+ "description": "Scheduled upgrade policy.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.upgrade_policy"
+ },
+ "upgrade_version": {
+ "description": "Target hardware version to be used on the next scheduled virtual hardware upgrade.\nThis field is optional and it is only relevant when the value of Hardware.Info.upgrade-policy is one of AFTER_CLEAN_SHUTDOWN or ALWAYS.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.version"
+ },
+ "upgrade_status": {
+ "description": "Scheduled upgrade status.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.upgrade_status"
+ },
+ "upgrade_error": {
+ "description": "Reason for the scheduled upgrade failure.\nThis field is optional and it is only relevant when the value of Hardware.Info.upgrade-status is FAILED.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "upgrade_policy",
+ "upgrade_status"
+ ]
+ },
+ "vcenter.vm.hardware.memory.info": {
+ "type": "object",
+ "properties": {
+ "size_MiB": {
+ "description": "Memory size in mebibytes.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "hot_add_enabled": {
+ "description": "Flag indicating whether adding memory while the virtual machine is running is enabled. \n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running.\n",
+ "type": "boolean"
+ },
+ "hot_add_increment_size_MiB": {
+ "description": "The granularity, in mebibytes, at which memory can be added to a running virtual machine. \n When adding memory to a running virtual machine, the amount of memory added must be at least Memory.Info.hot-add-increment-size-mib and the total memory size of the virtual machine must be a multiple of {@link>hotAddIncrementSize}.\n\nOnly set when Memory.Info.hot-add-enabled is true and the virtual machine is running.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "hot_add_limit_MiB": {
+ "description": "The maximum amount of memory, in mebibytes, that can be added to a running virtual machine.\nOnly set when Memory.Info.hot-add-enabled is true and the virtual machine is running.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "size_MiB",
+ "hot_add_enabled"
+ ]
+ },
+ "vcenter.vm.hardware.memory.update_spec": {
+ "type": "object",
+ "properties": {
+ "size_MiB": {
+ "description": "New memory size in mebibytes. \n The supported range of memory sizes is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, this value may only be changed if Memory.Info.hot-add-enabled is true, and the new memory size must satisfy the constraints specified by Memory.Info.hot-add-increment-size-mib and Memory.Info.hot-add-limit-mib.\n\nIf unset, the value is unchanged.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "hot_add_enabled": {
+ "description": "Flag indicating whether adding memory while the virtual machine is running should be enabled. \n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running. \n\n This field may only be modified if the virtual machine is not powered on.\n\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.memory_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.memory.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.memory_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.memory.update_spec",
+ "description": "Specification for updating the memory-related settings of the virtual machine."
+ }
+ }
+ },
+ "vcenter.vm.hardware.nvme_address_info": {
+ "type": "object",
+ "properties": {
+ "bus": {
+ "description": "Bus number of the adapter to which the device is attached.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "unit": {
+ "description": "Unit number of the device.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "bus",
+ "unit"
+ ]
+ },
+ "vcenter.vm.hardware.nvme_address_spec": {
+ "type": "object",
+ "properties": {
+ "bus": {
+ "description": "Bus number of the adapter to which the device should be attached.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "unit": {
+ "description": "Unit number of the device.\nIf unset, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "bus"
+ ]
+ },
+ "vcenter.vm.hardware.parallel.backing_info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual parallel port.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.backing_type"
+ },
+ "file": {
+ "description": "Path of the file backing the virtual parallel port.\nThis field is optional and it is only relevant when the value of Parallel.BackingInfo.type is FILE.",
+ "type": "string"
+ },
+ "host_device": {
+ "description": "Name of the device backing the virtual parallel port. \n\n\nThis field will be unset if Parallel.BackingInfo.auto-detect is true and the virtual parallel port is not connected or no suitable device is available on the host.",
+ "type": "string"
+ },
+ "auto_detect": {
+ "description": "Flag indicating whether the virtual parallel port is configured to automatically detect a suitable host device.\nThis field is optional and it is only relevant when the value of Parallel.BackingInfo.type is HOST_DEVICE.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.parallel.backing_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual parallel port.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.backing_type"
+ },
+ "file": {
+ "description": "Path of the file that should be used as the virtual parallel port backing.\nThis field is optional and it is only relevant when the value of Parallel.BackingSpec.type is FILE.",
+ "type": "string"
+ },
+ "host_device": {
+ "description": "Name of the device that should be used as the virtual parallel port backing.\nIf unset, the virtual parallel port will be configured to automatically detect a suitable host device.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.parallel.backing_type": {
+ "type": "string",
+ "description": "The Parallel.BackingType enumerated type defines the valid backing types for a virtual parallel port.",
+ "enum": [
+ "FILE",
+ "HOST_DEVICE"
+ ]
+ },
+ "vcenter.vm.hardware.parallel.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.parallel.create_spec": {
+ "type": "object",
+ "properties": {
+ "backing": {
+ "description": "Physical resource backing for the virtual parallel port.\nIf unset, defaults to automatic detection of a suitable host device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nDefaults to false if unset.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nDefaults to false if unset.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.parallel.info": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "Device label.",
+ "type": "string"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual parallel port.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.backing_info"
+ },
+ "state": {
+ "description": "Connection status of the virtual device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.connection_state"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "label",
+ "backing",
+ "state",
+ "start_connected",
+ "allow_guest_control"
+ ]
+ },
+ "vcenter.vm.hardware.parallel.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.parallel.summary": {
+ "type": "object",
+ "properties": {
+ "port": {
+ "description": "Identifier of the virtual parallel port.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.ParallelPort. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.ParallelPort.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "vcenter.vm.hardware.parallel.update_spec": {
+ "type": "object",
+ "properties": {
+ "backing": {
+ "description": "Physical resource backing for the virtual parallel port. \n This field may only be modified if the virtual machine is not powered on or the virtual parallel port is not connected.\n\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.parallel_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.create_spec",
+ "description": "Specification for the new virtual parallel port."
+ }
+ }
+ },
+ "vcenter.vm.hardware.parallel_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.parallel_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.parallel.update_spec",
+ "description": "Specification for updating the virtual parallel port."
+ }
+ }
+ },
+ "vcenter.vm.hardware.sata_address_info": {
+ "type": "object",
+ "properties": {
+ "bus": {
+ "description": "Bus number of the adapter to which the device is attached.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "unit": {
+ "description": "Unit number of the device.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "bus",
+ "unit"
+ ]
+ },
+ "vcenter.vm.hardware.sata_address_spec": {
+ "type": "object",
+ "properties": {
+ "bus": {
+ "description": "Bus number of the adapter to which the device should be attached.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "unit": {
+ "description": "Unit number of the device.\nIf unset, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "bus"
+ ]
+ },
+ "vcenter.vm.hardware.scsi_address_info": {
+ "type": "object",
+ "properties": {
+ "bus": {
+ "description": "Bus number of the adapter to which the device is attached.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "unit": {
+ "description": "Unit number of the device.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "bus",
+ "unit"
+ ]
+ },
+ "vcenter.vm.hardware.scsi_address_spec": {
+ "type": "object",
+ "properties": {
+ "bus": {
+ "description": "Bus number of the adapter to which the device should be attached.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "unit": {
+ "description": "Unit number of the device.\nIf unset, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "bus"
+ ]
+ },
+ "vcenter.vm.hardware.serial.backing_info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual serial port.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.backing_type"
+ },
+ "file": {
+ "description": "Path of the file backing the virtual serial port.\nThis field is optional and it is only relevant when the value of Serial.BackingInfo.type is FILE.",
+ "type": "string"
+ },
+ "host_device": {
+ "description": "Name of the device backing the virtual serial port. \n\n\nThis field will be unset if Serial.BackingInfo.auto-detect is true and the virtual serial port is not connected or no suitable device is available on the host.",
+ "type": "string"
+ },
+ "auto_detect": {
+ "description": "Flag indicating whether the virtual serial port is configured to automatically detect a suitable host device.\nThis field is optional and it is only relevant when the value of Serial.BackingInfo.type is HOST_DEVICE.",
+ "type": "boolean"
+ },
+ "pipe": {
+ "description": "Name of the pipe backing the virtual serial port.\nThis field is optional and it is only relevant when the value of Serial.BackingInfo.type is one of PIPE_SERVER or PIPE_CLIENT.",
+ "type": "string"
+ },
+ "no_rx_loss": {
+ "description": "Flag that enables optimized data transfer over the pipe. When the value is true, the host buffers data to prevent data overrun. This allows the virtual machine to read all of the data transferred over the pipe with no data loss.\nThis field is optional and it is only relevant when the value of Serial.BackingInfo.type is one of PIPE_SERVER or PIPE_CLIENT.",
+ "type": "boolean"
+ },
+ "network_location": {
+ "description": "URI specifying the location of the network service backing the virtual serial port. \n - If Serial.BackingInfo.type is NETWORK_SERVER, this field is the location used by clients to connect to this server. The hostname part of the URI should either be empty or should specify the address of the host on which the virtual machine is running.\n - If Serial.BackingInfo.type is NETWORK_CLIENT, this field is the location used by the virtual machine to connect to the remote server.\n \nThis field is optional and it is only relevant when the value of Serial.BackingInfo.type is one of NETWORK_SERVER or NETWORK_CLIENT.",
+ "type": "string",
+ "format": "uri"
+ },
+ "proxy": {
+ "description": "Proxy service that provides network access to the network backing. If set, the virtual machine initiates a connection with the proxy service and forwards the traffic to the proxy.\nIf unset, no proxy service is configured.",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.serial.backing_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backing type for the virtual serial port.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.backing_type"
+ },
+ "file": {
+ "description": "Path of the file backing the virtual serial port.\nThis field is optional and it is only relevant when the value of Serial.BackingSpec.type is FILE.",
+ "type": "string"
+ },
+ "host_device": {
+ "description": "Name of the device backing the virtual serial port. \n\n\nIf unset, the virtual serial port will be configured to automatically detect a suitable host device.",
+ "type": "string"
+ },
+ "pipe": {
+ "description": "Name of the pipe backing the virtual serial port.\nThis field is optional and it is only relevant when the value of Serial.BackingSpec.type is one of PIPE_SERVER or PIPE_CLIENT.",
+ "type": "string"
+ },
+ "no_rx_loss": {
+ "description": "Flag that enables optimized data transfer over the pipe. When the value is true, the host buffers data to prevent data overrun. This allows the virtual machine to read all of the data transferred over the pipe with no data loss.\nIf unset, defaults to false.",
+ "type": "boolean"
+ },
+ "network_location": {
+ "description": "URI specifying the location of the network service backing the virtual serial port. \n - If Serial.BackingSpec.type is NETWORK_SERVER, this field is the location used by clients to connect to this server. The hostname part of the URI should either be empty or should specify the address of the host on which the virtual machine is running.\n - If Serial.BackingSpec.type is NETWORK_CLIENT, this field is the location used by the virtual machine to connect to the remote server.\n \nThis field is optional and it is only relevant when the value of Serial.BackingSpec.type is one of NETWORK_SERVER or NETWORK_CLIENT.",
+ "type": "string",
+ "format": "uri"
+ },
+ "proxy": {
+ "description": "Proxy service that provides network access to the network backing. If set, the virtual machine initiates a connection with the proxy service and forwards the traffic to the proxy.\nIf unset, no proxy service should be used.",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.hardware.serial.backing_type": {
+ "type": "string",
+ "description": "The Serial.BackingType enumerated type defines the valid backing types for a virtual serial port.",
+ "enum": [
+ "FILE",
+ "HOST_DEVICE",
+ "PIPE_SERVER",
+ "PIPE_CLIENT",
+ "NETWORK_SERVER",
+ "NETWORK_CLIENT"
+ ]
+ },
+ "vcenter.vm.hardware.serial.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.serial.create_spec": {
+ "type": "object",
+ "properties": {
+ "yield_on_poll": {
+ "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host.\nIf unset, defaults to false.",
+ "type": "boolean"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual serial port.\nIf unset, defaults to automatic detection of a suitable host device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nDefaults to false if unset.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nDefaults to false if unset.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.serial.info": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "Device label.",
+ "type": "string"
+ },
+ "yield_on_poll": {
+ "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host.",
+ "type": "boolean"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual serial port.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.backing_info"
+ },
+ "state": {
+ "description": "Connection status of the virtual device.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.connection_state"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "label",
+ "yield_on_poll",
+ "backing",
+ "state",
+ "start_connected",
+ "allow_guest_control"
+ ]
+ },
+ "vcenter.vm.hardware.serial.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.serial.summary": {
+ "type": "object",
+ "properties": {
+ "port": {
+ "description": "Identifier of the virtual serial port.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.vm.hardware.SerialPort. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.vm.hardware.SerialPort.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "vcenter.vm.hardware.serial.update_spec": {
+ "type": "object",
+ "properties": {
+ "yield_on_poll": {
+ "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host. \n This field may be modified at any time, and changes applied to a connected virtual serial port take effect immediately.\n\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "backing": {
+ "description": "Physical resource backing for the virtual serial port. \n This field may only be modified if the virtual machine is not powered on or the virtual serial port is not connected.\n\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.backing_spec"
+ },
+ "start_connected": {
+ "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ },
+ "allow_guest_control": {
+ "description": "Flag indicating whether the guest can connect and disconnect the device.\nIf unset, the value is unchanged.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm.hardware.serial_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.create_spec",
+ "description": "Specification for the new virtual serial port."
+ }
+ }
+ },
+ "vcenter.vm.hardware.serial_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware.serial_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.serial.update_spec",
+ "description": "Specification for updating the virtual serial port."
+ }
+ }
+ },
+ "vcenter.vm.hardware.update_spec": {
+ "type": "object",
+ "properties": {
+ "upgrade_policy": {
+ "description": "Scheduled upgrade policy. \n If set to NEVER, the Hardware.Info.upgrade-version field will be reset to unset.\n\nIf unset, the value is unchanged.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.upgrade_policy"
+ },
+ "upgrade_version": {
+ "description": "Target hardware version to be used on the next scheduled virtual hardware upgrade. \n If specified, this field must represent a newer virtual hardware version than the current virtual hardware version reported in Hardware.Info.version.\n\nIf Hardware.UpdateSpec.upgrade-policy is set to NEVER, this field must be unset. Otherwise, if this field is unset, default to the most recent virtual hardware version supported by the server.",
+ "$ref": "#/components/schemas/vcenter.vm.hardware.version"
+ }
+ }
+ },
+ "vcenter.vm.hardware.upgrade_policy": {
+ "type": "string",
+ "description": "The Hardware.UpgradePolicy enumerated type defines the valid virtual hardware upgrade policies for a virtual machine.",
+ "enum": [
+ "NEVER",
+ "AFTER_CLEAN_SHUTDOWN",
+ "ALWAYS"
+ ]
+ },
+ "vcenter.vm.hardware.upgrade_status": {
+ "type": "string",
+ "description": "The Hardware.UpgradeStatus enumerated type defines the valid virtual hardware upgrade statuses for a virtual machine.",
+ "enum": [
+ "NONE",
+ "PENDING",
+ "SUCCESS",
+ "FAILED"
+ ]
+ },
+ "vcenter.vm.hardware.version": {
+ "type": "string",
+ "description": "The Hardware.Version enumerated type defines the valid virtual hardware versions for a virtual machine. See https://kb.vmware.com/s/article/1003746 (Virtual machine hardware versions (1003746)).",
+ "enum": [
+ "VMX_03",
+ "VMX_04",
+ "VMX_06",
+ "VMX_07",
+ "VMX_08",
+ "VMX_09",
+ "VMX_10",
+ "VMX_11",
+ "VMX_12",
+ "VMX_13",
+ "VMX_14",
+ "VMX_15",
+ "VMX_16",
+ "VMX_17",
+ "VMX_18",
+ "VMX_19"
+ ]
+ },
+ "vcenter.vm.hardware_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.hardware_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.update_spec",
+ "description": "Specification for updating the virtual hardware settings of the virtual machine."
+ }
+ }
+ },
+ "vcenter.vm.hardware_upgrade": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "$ref": "#/components/schemas/vcenter.vm.hardware.version",
+ "description": "New virtual machine version.\nIf unset, defaults to the most recent virtual hardware version supported by the server."
+ }
+ }
+ },
+ "vcenter.vm.identity.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Virtual machine name.",
+ "type": "string"
+ },
+ "bios_uuid": {
+ "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.",
+ "type": "string"
+ },
+ "instance_uuid": {
+ "description": "VirtualCenter-specific 128-bit UUID of a virtual machine, represented as a hexademical string. This identifier is used by VirtualCenter to uniquely identify all virtual machine instances, including those that may share the same SMBIOS UUID.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "bios_uuid",
+ "instance_uuid"
+ ]
+ },
+ "vcenter.vm.library_item.check_out_info": {
+ "type": "object",
+ "properties": {
+ "library_item": {
+ "description": "Identifier of the library item that the virtual machine is checked out from.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: content.library.Item. When operations return a value of this structure as a result, the field will be an identifier for the resource type: content.library.Item.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "library_item"
+ ]
+ },
+ "vcenter.vm.library_item.info": {
+ "type": "object",
+ "properties": {
+ "check_out": {
+ "description": "Information about the checked out virtual machine.\nIf unset, the virtual machine is not checked out from a library item.",
+ "$ref": "#/components/schemas/vcenter.vm.library_item.check_out_info"
+ }
+ }
+ },
+ "vcenter.vm.library_item_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.library_item.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.power.info": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Power state of the virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm.power.state"
+ },
+ "clean_power_off": {
+ "description": "Flag indicating whether the virtual machine was powered off cleanly. This field may be used to detect that the virtual machine crashed unexpectedly and should be restarted.\nThis field is optional and it is only relevant when the value of Power.Info.state is POWERED_OFF.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "state"
+ ]
+ },
+ "vcenter.vm.power.state": {
+ "type": "string",
+ "enum": [
+ "POWERED_OFF",
+ "POWERED_ON",
+ "SUSPENDED"
+ ]
+ },
+ "vcenter.vm.power_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.power.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.storage.policy.compliance.check_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.compliance.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.storage.policy.compliance.check_spec": {
+ "type": "object",
+ "properties": {
+ "vm_home": {
+ "description": "Invoke compliance check on the virtual machine home directory if set to true.",
+ "type": "boolean"
+ },
+ "disks": {
+ "description": "Identifiers of the virtual machine's virtual disks for which compliance should be checked.\nIf unset or empty, compliance check is invoked on all the associated disks.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "vm_home"
+ ]
+ },
+ "vcenter.vm.storage.policy.compliance.info": {
+ "type": "object",
+ "properties": {
+ "overall_compliance": {
+ "description": "The overall compliance status of the virtual machine and all it's entities.",
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.compliance.status"
+ },
+ "vm_home": {
+ "description": "The storage policy compliance information Compliance.VmComplianceInfo for the virtual machine's home directory.\nIf unset the virtual machine home directory has no storage policy association.",
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.compliance.vm_compliance_info"
+ },
+ "disks": {
+ "description": "The compliance information Compliance.VmComplianceInfo for the virtual machine's virtual disks that are currently associated with a storage policy.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.compliance.vm_compliance_info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "overall_compliance",
+ "disks"
+ ]
+ },
+ "vcenter.vm.storage.policy.compliance.status": {
+ "type": "string",
+ "description": "The Compliance.Status enumerated type defines the storage compliance status of a virtual machine and its applicable entities.",
+ "enum": [
+ "COMPLIANT",
+ "NON_COMPLIANT",
+ "UNKNOWN_COMPLIANCE",
+ "NOT_APPLICABLE",
+ "OUT_OF_DATE"
+ ]
+ },
+ "vcenter.vm.storage.policy.compliance.vm_compliance_info": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the compliance operation.",
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.compliance.status"
+ },
+ "check_time": {
+ "description": "Date and time of the most recent compliance check.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "policy": {
+ "description": "Identifier of the storage policy associated with the virtual machine.\nIf unset SPBM is unable to retrieve or determine the associated policy, Compliance.VmComplianceInfo.failure-cause is set in such casses.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.StoragePolicy.",
+ "type": "string"
+ },
+ "failure_cause": {
+ "description": "The exception that caused the compliance check to fail. There can be more than one cause, since a policy can contain capabilities from multiple providers. If empty, it implies no failures while retrieving compliance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ }
+ },
+ "required": [
+ "status",
+ "check_time",
+ "failure_cause"
+ ]
+ },
+ "vcenter.vm.storage.policy.compliance_check": {
+ "type": "object",
+ "properties": {
+ "check_spec": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.compliance.check_spec",
+ "description": "Parameter specifies the entities on which storage policy compliance check is to be invoked. The storage compliance Info Compliance.Info is returned.\nIf unset, the behavior is equivalent to a Compliance.CheckSpec with CheckSpec#vmHome set to true and CheckSpec#disks populated with all disks attached to the virtual machine."
+ }
+ }
+ },
+ "vcenter.vm.storage.policy.compliance_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.compliance.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.storage.policy.disk_policy_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Policy type to be used while performing update operation on the virtual disks.",
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.disk_policy_spec.policy_type"
+ },
+ "policy": {
+ "description": "Storage Policy identification.\nThis field is optional and it is only relevant when the value of Policy.DiskPolicySpec.type is USE_SPECIFIED_POLICY.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.StoragePolicy.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.storage.policy.disk_policy_spec.policy_type": {
+ "type": "string",
+ "description": "The Policy.DiskPolicySpec enumerated type defines the choices for how to specify the policy to be associated with a virtual disk.",
+ "enum": [
+ "USE_SPECIFIED_POLICY",
+ "USE_DEFAULT_POLICY"
+ ]
+ },
+ "vcenter.vm.storage.policy.info": {
+ "type": "object",
+ "properties": {
+ "vm_home": {
+ "description": "Storage Policy associated with virtual machine home.\nIfunset, the virtual machine's home directory doesn't have any storage policy.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.StoragePolicy.",
+ "type": "string"
+ },
+ "disks": {
+ "description": "Storage policies associated with virtual disks. The values in this map are storage policy identifiers. They will be identifiers for the resource type:vcenter.StoragePolicy If the map is empty, the virtual machine does not have any disks or its disks are not associated with a storage policy.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "disks"
+ ]
+ },
+ "vcenter.vm.storage.policy.update_spec": {
+ "type": "object",
+ "properties": {
+ "vm_home": {
+ "description": "Storage policy to be used when reconfiguring the virtual machine home.\nif unset the current storage policy is retained.",
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.vm_home_policy_spec"
+ },
+ "disks": {
+ "description": "Storage policy or policies to be used when reconfiguring virtual machine diks.\nif unset the current storage policy is retained.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.disk_policy_spec"
+ }
+ }
+ }
+ }
+ }
+ },
+ "vcenter.vm.storage.policy.vm_home_policy_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Policy type to be used while performing update operation on the virtual machine home's directory.",
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.vm_home_policy_spec.policy_type"
+ },
+ "policy": {
+ "description": "Storage Policy identification.\nThis field is optional and it is only relevant when the value of Policy.VmHomePolicySpec.type is USE_SPECIFIED_POLICY.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.StoragePolicy.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm.storage.policy.vm_home_policy_spec.policy_type": {
+ "type": "string",
+ "description": "The Policy.VmHomePolicySpec.PolicyType enumerated type defines the choices for how to specify the policy to be associated with the virtual machine home's directory.",
+ "enum": [
+ "USE_SPECIFIED_POLICY",
+ "USE_DEFAULT_POLICY"
+ ]
+ },
+ "vcenter.vm.storage.policy_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.storage.policy_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.storage.policy.update_spec",
+ "description": "Storage Policy Specification for updating the virtual machine and virtual disks."
+ }
+ }
+ },
+ "vcenter.vm.tools.info": {
+ "type": "object",
+ "properties": {
+ "auto_update_supported": {
+ "description": "Set if the virtual machine supports auto-upgrading Tools via Tools.UpgradePolicy.",
+ "type": "boolean"
+ },
+ "install_attempt_count": {
+ "description": "Number of attempts that have been made to install or upgrade the version of Tools installed on this virtual machine.\nThis field will be unset if there have been no Tools install or upgrade attempt.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "error": {
+ "description": "Error that happened, if any, during last attempt to upgrade or install Tools.\nThis field will be unset if a the last Tools install or upgrade attempt succeeded.",
+ "type": "string"
+ },
+ "version_number": {
+ "description": "Version of VMware Tools installed on the guest operating system.\nThis field wil be unset if VMWare Tools is not installed. This is an integer constructed as follows: (((MJR) << 10) + ((MNR) << 5) + (REV)) Where MJR is tha major verson, MNR is the minor version and REV is the revision. Tools version = T Tools Version Major = MJR = (T / 1024) Tools Version Minor = MNR = ((T % 1024) / 32) Tools Version Revision = BASE = ((T % 1024) % 32) Tools actual version = MJR.MNR.REV",
+ "type": "integer",
+ "format": "int64"
+ },
+ "version": {
+ "description": "Version of VMware Tools installed on the guest operating system. This is a human-readable value that should not be parsed.\nThis field wil be unset if VMWare Tools is not installed.",
+ "type": "string"
+ },
+ "upgrade_policy": {
+ "description": "Tools upgrade policy setting for the virtual machine. Tools.UpgradePolicy",
+ "$ref": "#/components/schemas/vcenter.vm.tools.upgrade_policy"
+ },
+ "version_status": {
+ "description": "Current version status of VMware Tools in the guest operating system, if known.\nThis field will be unset if the version status is not known, for example if VMware Tools is too old to report the information.",
+ "$ref": "#/components/schemas/vcenter.vm.tools.version_status"
+ },
+ "install_type": {
+ "description": "Current installation type of VMware Tools in the guest operating system.\nThis field will be unset if the installation type is not known, for example if VMware Tools is too old to report the information.",
+ "$ref": "#/components/schemas/vcenter.vm.tools.tools_install_type"
+ },
+ "run_state": {
+ "description": "Current run state of VMware Tools in the guest operating system.",
+ "$ref": "#/components/schemas/vcenter.vm.tools.run_state"
+ }
+ },
+ "required": [
+ "auto_update_supported",
+ "upgrade_policy",
+ "run_state"
+ ]
+ },
+ "vcenter.vm.tools.installer.info": {
+ "type": "object",
+ "properties": {
+ "is_connected": {
+ "description": "Flag indicating whether the VMware Tools installer is mounted as a CD-ROM.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "is_connected"
+ ]
+ },
+ "vcenter.vm.tools.installer_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.tools.installer.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.tools.run_state": {
+ "type": "string",
+ "description": "Current run state of VMware Tools in the guest operating system.",
+ "enum": [
+ "NOT_RUNNING",
+ "RUNNING",
+ "EXECUTING_SCRIPTS"
+ ]
+ },
+ "vcenter.vm.tools.tools_install_type": {
+ "type": "string",
+ "description": "The Tools.ToolsInstallType enumerated type defines the installation type of the Tools in the guest operating system.",
+ "enum": [
+ "UNKNOWN",
+ "MSI",
+ "TAR",
+ "OSP",
+ "OPEN_VM_TOOLS"
+ ]
+ },
+ "vcenter.vm.tools.update_spec": {
+ "type": "object",
+ "properties": {
+ "upgrade_policy": {
+ "description": "Tools upgrade policy setting for the virtual machine. Tools.UpgradePolicy\nIf unset the upgrade policy will not be modified.",
+ "$ref": "#/components/schemas/vcenter.vm.tools.upgrade_policy"
+ }
+ }
+ },
+ "vcenter.vm.tools.upgrade_policy": {
+ "type": "string",
+ "description": "The Tools.UpgradePolicy enumerated type defines when Tools are auto-upgraded for a virtual machine.",
+ "enum": [
+ "MANUAL",
+ "UPGRADE_AT_POWER_CYCLE"
+ ]
+ },
+ "vcenter.vm.tools.version_status": {
+ "type": "string",
+ "description": "The Tools.VersionStatus enumerated type defines the version status types of VMware Tools installed in the guest operating system.",
+ "enum": [
+ "NOT_INSTALLED",
+ "CURRENT",
+ "UNMANAGED",
+ "TOO_OLD_UNSUPPORTED",
+ "SUPPORTED_OLD",
+ "SUPPORTED_NEW",
+ "TOO_NEW",
+ "BLACKLISTED"
+ ]
+ },
+ "vcenter.vm.tools_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm.tools.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm.tools_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm.tools.update_spec",
+ "description": "The new values."
+ }
+ }
+ },
+ "vcenter.vm.tools_upgrade": {
+ "type": "object",
+ "properties": {
+ "command_line_options": {
+ "type": "string",
+ "description": "Command line options passed to the installer to modify the installation procedure for Tools.\nSet if any additional options are desired."
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.check_outs.check_in_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm_template.library_items.check_outs.check_in_spec": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Message describing the changes made to the virtual machine.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ]
+ },
+ "vcenter.vm_template.library_items.check_outs.check_out_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm_template.library_items.check_outs.check_out_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the virtual machine to check out of the library item.",
+ "type": "string"
+ },
+ "placement": {
+ "description": "Information used to place the checked out virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.check_outs.placement_spec"
+ },
+ "powered_on": {
+ "description": "Specifies whether the virtual machine should be powered on after check out.",
+ "type": "boolean"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.check_outs.info": {
+ "type": "object",
+ "properties": {
+ "time": {
+ "description": "Date and time when the virtual machine was checked out.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "user": {
+ "description": "Name of the user who checked out the virtual machine.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "time",
+ "user"
+ ]
+ },
+ "vcenter.vm_template.library_items.check_outs.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.check_outs.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm_template.library_items.check_outs.placement_spec": {
+ "type": "object",
+ "properties": {
+ "folder": {
+ "description": "Virtual machine folder into which the virtual machine should be placed.",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "Resource pool into which the virtual machine should be placed.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host onto which the virtual machine should be placed. If {@name #host} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #host}. If {@name #host} and {@name #cluster} are both specified, {@name #host} must be a member of {@name #cluster}.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "Cluster onto which the virtual machine should be placed. If {@name #cluster} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #cluster}. If {@name #cluster} and {@name #host} are both specified, {@name #host} must be a member of {@name #cluster}.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.check_outs.summary": {
+ "type": "object",
+ "properties": {
+ "vm": {
+ "description": "Identifier of the checked out virtual machine.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "vm"
+ ]
+ },
+ "vcenter.vm_template.library_items.check_outs_check_in": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.check_outs.check_in_spec",
+ "description": "Specification used to check in the virtual machine into the library item."
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.check_outs_check_out": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.check_outs.check_out_spec",
+ "description": "Specification used to check out the source virtual machine template as a virtual machine."
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.check_outs_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.check_outs.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm_template.library_items.cpu_info": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "description": "Number of CPU cores.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cores_per_socket": {
+ "description": "Number of CPU cores per socket.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "count",
+ "cores_per_socket"
+ ]
+ },
+ "vcenter.vm_template.library_items.cpu_update_spec": {
+ "type": "object",
+ "properties": {
+ "num_cpus": {
+ "description": "Number of virtual processors in the deployed virtual machine.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "num_cores_per_socket": {
+ "description": "Number of cores among which to distribute CPUs in the deployed virtual machine.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.create_placement_spec": {
+ "type": "object",
+ "properties": {
+ "folder": {
+ "description": "Virtual machine folder into which the virtual machine template should be placed.",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "Resource pool into which the virtual machine template should be placed.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host onto which the virtual machine template should be placed. If {@name #host} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #host}. If {@name #host} and {@name #cluster} are both specified, {@name #host} must be a member of {@name #cluster}.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "Cluster onto which the virtual machine template should be placed. If {@name #cluster} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #cluster}. If {@name #cluster} and {@name #host} are both specified, {@name #host} must be a member of {@name #cluster}.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm_template.library_items.create_spec": {
+ "type": "object",
+ "properties": {
+ "source_vm": {
+ "description": "Identifier of the source virtual machine to create the library item from.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the library item.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the library item.",
+ "type": "string"
+ },
+ "library": {
+ "description": "Identifier of the library in which the new library item should be created.",
+ "type": "string"
+ },
+ "vm_home_storage": {
+ "description": "Storage location for the virtual machine template's configuration and log files.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_spec_vm_home_storage"
+ },
+ "disk_storage": {
+ "description": "Storage specification for the virtual machine template's disks.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_spec_disk_storage"
+ },
+ "disk_storage_overrides": {
+ "description": "Storage specification for individual disks in the virtual machine template. This is specified as a mapping between disk identifiers in the source virtual machine and their respective storage specifications.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_spec_disk_storage"
+ }
+ }
+ }
+ },
+ "placement": {
+ "description": "Information used to place the virtual machine template.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_placement_spec"
+ }
+ },
+ "required": [
+ "source_vm",
+ "name",
+ "library"
+ ]
+ },
+ "vcenter.vm_template.library_items.create_spec_disk_storage": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Identifier for the datastore associated with a virtual machine template's disk.",
+ "type": "string"
+ },
+ "storage_policy": {
+ "description": "Storage policy for a virtual machine template's disk.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_spec_disk_storage_policy"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.create_spec_disk_storage_policy": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Policy type to be used when creating a virtual machine template's disk.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_spec_disk_storage_policy.type"
+ },
+ "policy": {
+ "description": "Identifier for the storage policy to use.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm_template.library_items.create_spec_disk_storage_policy.type": {
+ "type": "string",
+ "description": "Policy type for a virtual machine template's disk.",
+ "enum": [
+ "USE_SPECIFIED_POLICY"
+ ]
+ },
+ "vcenter.vm_template.library_items.create_spec_vm_home_storage": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Identifier of the datastore for the virtual machine template's configuration and log files.",
+ "type": "string"
+ },
+ "storage_policy": {
+ "description": "Storage policy for the virtual machine template's configuration and log files.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_spec_vm_home_storage_policy"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.create_spec_vm_home_storage_policy": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Policy type to be used when creating the virtual machine template's configuration and log files.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_spec_vm_home_storage_policy.type"
+ },
+ "policy": {
+ "description": "Identifier for the storage policy to use.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm_template.library_items.create_spec_vm_home_storage_policy.type": {
+ "type": "string",
+ "description": "Policy type for the virtual machine template's configuration and log files.",
+ "enum": [
+ "USE_SPECIFIED_POLICY"
+ ]
+ },
+ "vcenter.vm_template.library_items.deploy_placement_spec": {
+ "type": "object",
+ "properties": {
+ "folder": {
+ "description": "Virtual machine folder into which the deployed virtual machine should be placed.",
+ "type": "string"
+ },
+ "resource_pool": {
+ "description": "Resource pool into which the deployed virtual machine should be placed.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host onto which the virtual machine should be placed. If {@name #host} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #host}. If {@name #host} and {@name #cluster} are both specified, {@name #host} must be a member of {@name #cluster}.",
+ "type": "string"
+ },
+ "cluster": {
+ "description": "Cluster onto which the deployed virtual machine should be placed. If {@name #cluster} and {@name #resourcePool} are both specified, {@name #resourcePool} must belong to {@name #cluster}. If {@name #cluster} and {@name #host} are both specified, {@name #host} must be a member of {@name #cluster}.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.deploy_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm_template.library_items.deploy_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the deployed virtual machine.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the deployed virtual machine.",
+ "type": "string"
+ },
+ "vm_home_storage": {
+ "description": "Storage location for the deployed virtual machine's configuration and log files.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_spec_vm_home_storage"
+ },
+ "disk_storage": {
+ "description": "Storage specification for the deployed virtual machine's disks.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_spec_disk_storage"
+ },
+ "disk_storage_overrides": {
+ "description": "Storage specification for individual disks in the deployed virtual machine. This is specified as a mapping between disk identifiers in the source virtual machine template contained in the library item and their storage specifications.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_spec_disk_storage"
+ }
+ }
+ }
+ },
+ "placement": {
+ "description": "Information used to place the deployed virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_placement_spec"
+ },
+ "powered_on": {
+ "description": "Specifies whether the deployed virtual machine should be powered on after deployment.",
+ "type": "boolean"
+ },
+ "guest_customization": {
+ "description": "Guest customization spec to apply to the deployed virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.guest_customization_spec"
+ },
+ "hardware_customization": {
+ "description": "Hardware customization spec which specifies updates to the deployed virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.hardware_customization_spec"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "vcenter.vm_template.library_items.deploy_spec_disk_storage": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Identifier for the datastore associated the deployed virtual machine's disk.",
+ "type": "string"
+ },
+ "storage_policy": {
+ "description": "Storage policy for the deployed virtual machine's disk.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_spec_disk_storage_policy"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.deploy_spec_disk_storage_policy": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Policy type to be used when creating the deployed virtual machine's disk.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_spec_disk_storage_policy.type"
+ },
+ "policy": {
+ "description": "Identifier of the storage policy to use.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm_template.library_items.deploy_spec_disk_storage_policy.type": {
+ "type": "string",
+ "description": "Policy type for the deployed virtual machine's disk.",
+ "enum": [
+ "USE_SPECIFIED_POLICY",
+ "USE_SOURCE_POLICY"
+ ]
+ },
+ "vcenter.vm_template.library_items.deploy_spec_vm_home_storage": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Identifier of the datastore for the deployed virtual machine's configuration and log files.",
+ "type": "string"
+ },
+ "storage_policy": {
+ "description": "Storage policy for the deployed virtual machine's configuration and log files.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_spec_vm_home_storage_policy"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.deploy_spec_vm_home_storage_policy": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Policy type to be used when creating the deployed virtual machine's configuration and log files.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_spec_vm_home_storage_policy.type"
+ },
+ "policy": {
+ "description": "Identifier for the storage policy to use.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.vm_template.library_items.deploy_spec_vm_home_storage_policy.type": {
+ "type": "string",
+ "description": "Policy type for the deployed virtual machine's configuration and log files.",
+ "enum": [
+ "USE_SPECIFIED_POLICY",
+ "USE_SOURCE_POLICY"
+ ]
+ },
+ "vcenter.vm_template.library_items.disk_info": {
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "description": "Capacity of the virtual disk in bytes.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "disk_storage": {
+ "description": "Disk storage related information.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.disk_storage_info"
+ }
+ },
+ "required": [
+ "disk_storage"
+ ]
+ },
+ "vcenter.vm_template.library_items.disk_storage_info": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Identifier of the datastore where the disk is stored.",
+ "type": "string"
+ },
+ "storage_policy": {
+ "description": "Identifier of the storage policy associated with the virtual disk.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "datastore"
+ ]
+ },
+ "vcenter.vm_template.library_items.disk_update_spec": {
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "description": "Updated capacity of the virtual disk backing in bytes. This value has to be larger than the original capacity of the disk.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "capacity"
+ ]
+ },
+ "vcenter.vm_template.library_items.ethernet_info": {
+ "type": "object",
+ "properties": {
+ "backing_type": {
+ "description": "Network backing type for the virtual Ethernet adapter.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.ethernet_info.network_backing_type"
+ },
+ "mac_type": {
+ "description": "MAC address type of the ethernet adapter.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.ethernet_info.mac_address_type"
+ },
+ "network": {
+ "description": "Identifier of the network backing the virtual Ethernet adapter.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "backing_type",
+ "mac_type"
+ ]
+ },
+ "vcenter.vm_template.library_items.ethernet_info.mac_address_type": {
+ "type": "string",
+ "description": "The {@name MacAddressType} {@term enumerated type} defines the valid MAC address origins for a virtual Ethernet adapter.",
+ "enum": [
+ "MANUAL",
+ "GENERATED",
+ "ASSIGNED"
+ ]
+ },
+ "vcenter.vm_template.library_items.ethernet_info.network_backing_type": {
+ "type": "string",
+ "description": "The {@name NetworkBackingType} {@term enumerated type} defines valid network backing types for a virtual Ethernet adapter.",
+ "enum": [
+ "STANDARD_PORTGROUP",
+ "HOST_DEVICE",
+ "DISTRIBUTED_PORTGROUP",
+ "OPAQUE_NETWORK"
+ ]
+ },
+ "vcenter.vm_template.library_items.ethernet_update_spec": {
+ "type": "object",
+ "properties": {
+ "network": {
+ "description": "Identifier of the network backing the virtual Ethernet adapter.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.guest_customization_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the customization specification.",
+ "type": "string"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.hardware_customization_spec": {
+ "type": "object",
+ "properties": {
+ "nics": {
+ "description": "Map of Ethernet network adapters to update.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.ethernet_update_spec"
+ }
+ }
+ }
+ },
+ "disks_to_remove": {
+ "description": "Idenfiers of disks to remove from the deployed virtual machine.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "disks_to_update": {
+ "description": "Disk update specification for individual disks in the deployed virtual machine.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.disk_update_spec"
+ }
+ }
+ }
+ },
+ "cpu_update": {
+ "description": "CPU update specification for the deployed virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.cpu_update_spec"
+ },
+ "memory_update": {
+ "description": "Memory update specification for the deployed virtual machine.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.memory_update_spec"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.info": {
+ "type": "object",
+ "properties": {
+ "guest_OS": {
+ "description": "Configured guest operating system of the virtual machine template.",
+ "$ref": "#/components/schemas/vcenter.vm.guest_OS"
+ },
+ "cpu": {
+ "description": "CPU configuration of the virtual machine template.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.cpu_info"
+ },
+ "memory": {
+ "description": "Memory configuration of the virtual machine template.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.memory_info"
+ },
+ "vm_home_storage": {
+ "description": "Storage information about the virtual machine template's configuration and log files.",
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.vm_home_storage_info"
+ },
+ "disks": {
+ "description": "Storage information about the virtual machine template's virtual disks.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.disk_info"
+ }
+ }
+ }
+ },
+ "nics": {
+ "description": "Information about the virtual machine template's virtual ethernet adapters.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.ethernet_info"
+ }
+ }
+ }
+ },
+ "vm_template": {
+ "description": "Identifier of the latest virtual machine template contained in the library item. This {@term field} is the managed object identifier used to identify the virtual machine template in the vSphere Management (SOAP) API.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "guest_OS",
+ "cpu",
+ "memory",
+ "vm_home_storage",
+ "disks",
+ "nics",
+ "vm_template"
+ ]
+ },
+ "vcenter.vm_template.library_items.memory_info": {
+ "type": "object",
+ "properties": {
+ "size_MiB": {
+ "description": "Memory size in mebibytes.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "size_MiB"
+ ]
+ },
+ "vcenter.vm_template.library_items.memory_update_spec": {
+ "type": "object",
+ "properties": {
+ "memory": {
+ "description": "Size of a virtual machine's memory in MB.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.versions.info": {
+ "type": "object",
+ "properties": {
+ "vm_template": {
+ "description": "Identifier of the virtual machine template associated with the library item version. This {@term field} is the managed object identifier used to identify the virtual machine template in the vSphere Management (SOAP) API.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "vm_template"
+ ]
+ },
+ "vcenter.vm_template.library_items.versions.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.versions.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm_template.library_items.versions.rollback_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm_template.library_items.versions.rollback_spec": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Message describing the reason for the rollback.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ]
+ },
+ "vcenter.vm_template.library_items.versions.summary": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version of the library item.",
+ "type": "string"
+ },
+ "vm_template": {
+ "description": "Identifier of the virtual machine template associated with the library item version. This {@term field} is the managed object identifier used to identify the virtual machine template in the vSphere Management (SOAP) API.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "vm_template"
+ ]
+ },
+ "vcenter.vm_template.library_items.versions_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.versions.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.vm_template.library_items.versions_rollback": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.versions.rollback_spec",
+ "description": "Specification to rollback the library item."
+ }
+ }
+ },
+ "vcenter.vm_template.library_items.vm_home_storage_info": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Identifier of the datastore where the virtual machine template's configuration and log files are stored.",
+ "type": "string"
+ },
+ "storage_policy": {
+ "description": "Identifier of the storage policy associated with the virtual machine template's configuration and log files.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "datastore"
+ ]
+ },
+ "vcenter.vm_template.library_items_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.create_spec",
+ "description": "information used to create the library item from the source virtual machine."
+ }
+ }
+ },
+ "vcenter.vm_template.library_items_deploy": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.deploy_spec",
+ "description": "specification of how the virtual machine should be deployed."
+ }
+ }
+ },
+ "vcenter.vm_template.library_items_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.vm_template.library_items.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/vmware_rest_code_generator/api_specifications/README.md b/vmware_rest_code_generator/api_specifications/README.md
new file mode 100644
index 0000000..f85283f
--- /dev/null
+++ b/vmware_rest_code_generator/api_specifications/README.md
@@ -0,0 +1,17 @@
+# How to generate the OpenAPI3 description files
+
+```bash
+#!/bin/bash
+set -eux
+rm -rf ~/tmp/venv-vmware-openapi
+python3 -m venv ~/tmp/venv-vmware-openapi
+source ~/tmp/venv-vmware-openapi/bin/activate
+pip install --upgrade git+https://github.com/vmware/vsphere-automation-sdk-python.git
+git clone https://github.com/vmware/vmware-openapi-generator ~/tmp/vmware-openapi-generator
+cd ~/tmp/vmware-openapi-generator
+wget https://patch-diff.githubusercontent.com/raw/vmware/vmware-openapi-generator/pull/71.patch
+git am 71.patch
+rm 71.patch
+mkdir -p ~/tmp/openapi/results
+python vmsgen.py --insecure -vc vcenter.test -o ~/tmp/openapi/results
+```
diff --git a/vmware_rest_code_generator/cmd/refresh_modules.py b/vmware_rest_code_generator/cmd/refresh_modules.py
index 5aadc7f..f3d01a3 100755
--- a/vmware_rest_code_generator/cmd/refresh_modules.py
+++ b/vmware_rest_code_generator/cmd/refresh_modules.py
@@ -1097,7 +1097,8 @@ def main():
for json_file in ["vcenter.json", "content.json", "appliance.json"]:
print("Generating modules from {}".format(json_file))
raw_content = pkg_resources.resource_string(
- "vmware_rest_code_generator", f"api_specifications/7.0.2/{json_file}"
+ "vmware_rest_code_generator",
+ f"api_specifications/7.0.3_openapi3/{json_file}",
)
swagger_file = SwaggerFile(raw_content)
resources = swagger_file.init_resources(swagger_file.paths.values())
",
+ "type": "string"
+ }
+ },
+ "required": [
+ "scheme_type",
+ "scheme"
+ ]
+ },
+ "vapi.metadata.authentication.authentication_info.scheme_type": {
+ "type": "string",
+ "description": "The {@name SchemeType} {@term enumerated type} provides {@term enumeration values} for the set of valid authentication scheme types.",
+ "enum": [
+ "SESSIONLESS",
+ "SESSION_AWARE"
+ ]
+ },
+ "vapi.metadata.authentication.component.fingerprint_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.authentication.component.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vapi.metadata.authentication.component_data": {
+ "type": "object",
+ "properties": {
+ "info": {
+ "description": "Authentication information of the component. This includes information about all the {@term packages} in the component.",
+ "$ref": "#/components/schemas/vapi.metadata.authentication.component_info"
+ },
+ "fingerprint": {
+ "description": "Fingerprint of the metadata of the component.
",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/vapi.std.errors.unauthorized"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "deploy",
+ "requestBody": {
+ "$ref": "#/components/requestBodies/vcenter.ovf.library_item_deploy"
+ }
+ }
+ },
+ "/rest/com/vmware/vcenter/ovf/library-item/id:{ovf_library_item_id}?~action=filter": {
+ "post": {
+ "tags": [
+ "ovf/library_item"
+ ],
+ "summary": "Queries an OVF package stored in content library to retrieve information to use when deploying the package. See {@link #deploy}.
",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "default_datastore_id": {
+ "description": "Default datastore to use for all sections of type vmw:StorageSection in the OVF descriptor.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "accept_all_EULA"
+ ]
+ },
+ "vcenter.ovf.library_item.result_info": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "description": "Errors reported by the {@name LibraryItem#create} or {@name LibraryItem#deploy} {@term operation}. These errors would have prevented the {@name LibraryItem#create} or {@name LibraryItem#deploy} {@term operation} from completing successfully.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.ovf.ovf_error"
+ }
+ },
+ "warnings": {
+ "description": "Warnings reported by the {@name LibraryItem#create} or {@name LibraryItem#deploy} {@term operation}. These warnings would not have prevented the {@name LibraryItem#create} or {@name LibraryItem#deploy} {@term operation} from completing successfully, but there might be issues that warrant attention.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.ovf.ovf_warning"
+ }
+ },
+ "information": {
+ "description": "Information messages reported by the {@name LibraryItem#create} or {@name LibraryItem#deploy} {@term operation}. For example, a non-required parameter was ignored.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.ovf.ovf_info"
+ }
+ }
+ },
+ "required": [
+ "errors",
+ "warnings",
+ "information"
+ ]
+ },
+ "vcenter.ovf.library_item.storage_group_mapping": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of storage deployment target to use for the vmw:StorageGroupSection section. The specified value must be {@link Type#DATASTORE} or {@link Type#STORAGE_PROFILE}.",
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.storage_group_mapping.type"
+ },
+ "datastore_id": {
+ "description": "Target datastore to be used for the storage group.",
+ "type": "string"
+ },
+ "storage_profile_id": {
+ "description": "Target storage profile to be used for the storage group.",
+ "type": "string"
+ },
+ "provisioning": {
+ "description": "Target provisioning type to use for the storage group.",
+ "$ref": "#/components/schemas/vcenter.ovf.disk_provisioning_type"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.ovf.library_item.storage_group_mapping.type": {
+ "type": "string",
+ "description": "The {@name Type} {@term enumerated type} defines the supported types of storage targets for sections of type vmw:StorageGroupSection in the OVF descriptor.",
+ "enum": [
+ "DATASTORE",
+ "STORAGE_PROFILE"
+ ]
+ },
+ "vcenter.ovf.library_item_create": {
+ "type": "object",
+ "properties": {
+ "client_token": {
+ "type": "string",
+ "description": "Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried."
+ },
+ "source": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.deployable_identity",
+ "description": "Identifier of the virtual machine or virtual appliance to use as the source."
+ },
+ "target": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.create_target",
+ "description": "Specification of the target content library and library item."
+ },
+ "create_spec": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.create_spec",
+ "description": "Information used to create the OVF package from the source virtual machine or virtual appliance."
+ }
+ }
+ },
+ "vcenter.ovf.library_item_deploy": {
+ "type": "object",
+ "properties": {
+ "client_token": {
+ "type": "string",
+ "description": "Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried."
+ },
+ "target": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.deployment_target",
+ "description": "Specification of the deployment target."
+ },
+ "deployment_spec": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.resource_pool_deployment_spec",
+ "description": "Specification of how the OVF package should be deployed to the target."
+ }
+ }
+ },
+ "vcenter.ovf.library_item_filter": {
+ "type": "object",
+ "properties": {
+ "target": {
+ "$ref": "#/components/schemas/vcenter.ovf.library_item.deployment_target",
+ "description": "Specification of the deployment target."
+ }
+ }
+ },
+ "vcenter.ovf.ovf_error": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The message category.",
+ "$ref": "#/components/schemas/vcenter.ovf.ovf_message.category"
+ },
+ "issues": {
+ "description": "{@term List} of parse issues (see {@link ParseIssue}).",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.ovf.parse_issue"
+ }
+ },
+ "name": {
+ "description": "The name of input parameter.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of input parameter.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A localizable message.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ },
+ "error": {
+ "description": "Represents a server {@link Error}.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "category"
+ ]
+ },
+ "vcenter.ovf.ovf_info": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "A {@term list} of localizable messages (see {@link LocalizableMessage}).",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "vcenter.ovf.ovf_message.category": {
+ "type": "string",
+ "description": "The {@name Category} {@term enumerated type} defines the categories of messages (see {@link OvfMessage}).",
+ "enum": [
+ "VALIDATION",
+ "INPUT",
+ "SERVER"
+ ]
+ },
+ "vcenter.ovf.ovf_warning": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The message category.",
+ "$ref": "#/components/schemas/vcenter.ovf.ovf_message.category"
+ },
+ "issues": {
+ "description": "{@term List} of parse issues (see {@link ParseIssue}).",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.ovf.parse_issue"
+ }
+ },
+ "name": {
+ "description": "The name of input parameter.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of input parameter.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A localizable message.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ },
+ "error": {
+ "description": "Represents a server {@link Error}.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "category"
+ ]
+ },
+ "vcenter.ovf.parse_issue": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of the parse issue.",
+ "$ref": "#/components/schemas/vcenter.ovf.parse_issue.category"
+ },
+ "file": {
+ "description": "The name of the file in which the parse issue was found.",
+ "type": "string"
+ },
+ "line_number": {
+ "description": "The line number of the line in the file (see {@link #file}) where the parse issue was found (or -1 if not applicable).",
+ "type": "integer",
+ "format": "int64"
+ },
+ "column_number": {
+ "description": "The position in the line (see {@link #lineNumber}) (or -1 if not applicable).",
+ "type": "integer",
+ "format": "int64"
+ },
+ "message": {
+ "description": "A localizable message describing the parse issue.",
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ },
+ "required": [
+ "category",
+ "file",
+ "line_number",
+ "column_number",
+ "message"
+ ]
+ },
+ "vcenter.ovf.parse_issue.category": {
+ "type": "string",
+ "description": "The {@name Category} {@term enumerated type} defines the categories of issues that can be found when parsing files inside an OVF package (see {@link ParseIssue}) including OVF descriptor (which is an XML document), manifest and certificate files, or exporting an OVF package.",
+ "enum": [
+ "VALUE_ILLEGAL",
+ "ATTRIBUTE_REQUIRED",
+ "ATTRIBUTE_ILLEGAL",
+ "ELEMENT_REQUIRED",
+ "ELEMENT_ILLEGAL",
+ "ELEMENT_UNKNOWN",
+ "SECTION_UNKNOWN",
+ "SECTION_RESTRICTION",
+ "PARSE_ERROR",
+ "GENERATE_ERROR",
+ "VALIDATION_ERROR",
+ "EXPORT_ERROR",
+ "INTERNAL_ERROR"
+ ]
+ },
+ "vcenter.resource_pool.create_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.resource_pool.create_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the resource pool.",
+ "type": "string"
+ },
+ "parent": {
+ "description": "Parent of the created resource pool.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool.",
+ "type": "string"
+ },
+ "cpu_allocation": {
+ "description": "Resource allocation for CPU.\nif unset or empty, use the default CPU allocation specification.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.resource_allocation_create_spec"
+ },
+ "memory_allocation": {
+ "description": "Resource allocation for memory.\nif unset or empty, use the default memory allocation specification.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.resource_allocation_create_spec"
+ }
+ },
+ "required": [
+ "name",
+ "parent"
+ ]
+ },
+ "vcenter.resource_pool.filter_spec": {
+ "type": "object",
+ "properties": {
+ "resource_pools": {
+ "description": "Identifiers of resource pools that can match the filter.\nIf unset or empty, resource pools with any identifier match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ResourcePool.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "Names that resource pools must have to match the filter (see ResourcePool.Info.name).\nIf unset or empty, resource pools with any name match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "parent_resource_pools": {
+ "description": "Resource pools that must contain the resource pool for the resource pool to match the filter.\nIf unset or empty, resource pools in any resource pool match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ResourcePool.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "datacenters": {
+ "description": "Datacenters that must contain the resource pool for the resource pool to match the filter.\nIf unset or empty, resource pools in any datacenter match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "hosts": {
+ "description": "Hosts that must contain the resource pool for the resource pool to match the filter.\nIf unset or empty, resource pools in any host match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: HostSystem. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: HostSystem.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "clusters": {
+ "description": "Clusters that must contain the resource pool for the resource pool to match the filter.\nIf unset or empty, resource pools in any cluster match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.resource_pool.info": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the vCenter Server resource pool.",
+ "type": "string"
+ },
+ "resource_pools": {
+ "description": "Identifiers of the child resource pools contained in this resource pool.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ResourcePool.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "cpu_allocation": {
+ "description": "Resource allocation information for CPU.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.resource_allocation_info"
+ },
+ "memory_allocation": {
+ "description": "Resource allocation information for memory.\nThis field is optional because it was added in a newer version than its parent node.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.resource_allocation_info"
+ }
+ },
+ "required": [
+ "name",
+ "resource_pools"
+ ]
+ },
+ "vcenter.resource_pool.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.resource_pool.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.resource_pool.resource_allocation_create_spec": {
+ "type": "object",
+ "properties": {
+ "reservation": {
+ "description": "Amount of resource that is guaranteed available to a resource pool. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB fo memory, and MHz for CPU.\nIf unset or empty, ResourcePool.ResourceAllocationCreateSpec.reservation will be set to 0.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "expandable_reservation": {
+ "description": "In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation.\nIf unset or empty, ResourcePool.ResourceAllocationCreateSpec.expandable-reservation will be set to true.",
+ "type": "boolean"
+ },
+ "limit": {
+ "description": "The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU.\nIf unset or empty, ResourcePool.ResourceAllocationCreateSpec.limit will be set to -1.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "shares": {
+ "description": "Shares are used in case of resource contention.\nIf unset or empty, ResourcePool.ResourceAllocationCreateSpec.shares will be set to 'NORMAL'.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.shares_info"
+ }
+ }
+ },
+ "vcenter.resource_pool.resource_allocation_info": {
+ "type": "object",
+ "properties": {
+ "reservation": {
+ "description": "Amount of resource that is guaranteed available to a resource pool. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB fo memory, and MHz for CPU.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "expandable_reservation": {
+ "description": "In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation.",
+ "type": "boolean"
+ },
+ "limit": {
+ "description": "The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "shares": {
+ "description": "Shares are used in case of resource contention.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.shares_info"
+ }
+ },
+ "required": [
+ "reservation",
+ "expandable_reservation",
+ "limit",
+ "shares"
+ ]
+ },
+ "vcenter.resource_pool.resource_allocation_update_spec": {
+ "type": "object",
+ "properties": {
+ "reservation": {
+ "description": "Amount of resource that is guaranteed available to a resource pool. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB fo memory, and MHz for CPU.\nIf unset or empty, ResourcePool.ResourceAllocationUpdateSpec.reservation will be set to 0.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "expandable_reservation": {
+ "description": "In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation.\nIf unset or empty, ResourcePool.ResourceAllocationUpdateSpec.expandable-reservation will be set to true.",
+ "type": "boolean"
+ },
+ "limit": {
+ "description": "The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU.\nIf unset or empty, ResourcePool.ResourceAllocationUpdateSpec.limit will be set to -1.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "shares": {
+ "description": "Shares are used in case of resource contention.\nIf unset or empty, ResourcePool.ResourceAllocationUpdateSpec.shares will be set to 'NORMAL'.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.shares_info"
+ }
+ }
+ },
+ "vcenter.resource_pool.shares_info": {
+ "type": "object",
+ "properties": {
+ "level": {
+ "description": "The allocation level. It maps to a pre-determined set of numeric values for shares. If the shares value does not map to a predefined size, then the level is set as CUSTOM.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.shares_info.level"
+ },
+ "shares": {
+ "description": "When ResourcePool.SharesInfo.level is set to CUSTOM, it is the number of shares allocated. Otherwise, this value is ignored. \n There is no unit for this value. It is a relative measure based on the settings for other resource pools.\n\nThis field is optional and it is only relevant when the value of ResourcePool.SharesInfo.level is CUSTOM.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "level"
+ ]
+ },
+ "vcenter.resource_pool.shares_info.level": {
+ "type": "string",
+ "description": "The ResourcePool.SharesInfo.Level enumerated type defines the possible values for the allocation level.",
+ "enum": [
+ "LOW",
+ "NORMAL",
+ "HIGH",
+ "CUSTOM"
+ ]
+ },
+ "vcenter.resource_pool.summary": {
+ "type": "object",
+ "properties": {
+ "resource_pool": {
+ "description": "Identifier of the resource pool.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the resource pool.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resource_pool",
+ "name"
+ ]
+ },
+ "vcenter.resource_pool.update_spec": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the resource pool.\nif unset or empty, the name of the resource pool will not be changed.",
+ "type": "string"
+ },
+ "cpu_allocation": {
+ "description": "Resource allocation for CPU.\nif unset or empty, the CPU allocation of the resource pool will not be changed.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.resource_allocation_update_spec"
+ },
+ "memory_allocation": {
+ "description": "Resource allocation for memory.\nif unset or empty, the memory allocation of the resource pool will not be changed.",
+ "$ref": "#/components/schemas/vcenter.resource_pool.resource_allocation_update_spec"
+ }
+ }
+ },
+ "vcenter.resource_pool_create": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.resource_pool.create_spec",
+ "description": "Specification of the new resource pool to be created, see ResourcePool.CreateSpec."
+ }
+ }
+ },
+ "vcenter.resource_pool_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.resource_pool.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.resource_pool_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.resource_pool.update_spec",
+ "description": "Specification for updating the configuration of the resource pool."
+ }
+ }
+ },
+ "vcenter.services.service.health": {
+ "type": "string",
+ "description": "The Service.Health enumerated type defines the possible values for health of a service.",
+ "enum": [
+ "DEGRADED",
+ "HEALTHY",
+ "HEALTHY_WITH_WARNINGS"
+ ]
+ },
+ "vcenter.services.service.info": {
+ "type": "object",
+ "properties": {
+ "name_key": {
+ "description": "Service name key. Can be used to lookup resource bundle",
+ "type": "string"
+ },
+ "description_key": {
+ "description": "Service description key. Can be used to lookup resource bundle",
+ "type": "string"
+ },
+ "startup_type": {
+ "description": "Startup Type.",
+ "$ref": "#/components/schemas/vcenter.services.service.startup_type"
+ },
+ "state": {
+ "description": "Running State.",
+ "$ref": "#/components/schemas/vcenter.services.service.state"
+ },
+ "health": {
+ "description": "Health of service.\nThis field is optional and it is only relevant when the value of Service.Info.state is STARTED.",
+ "$ref": "#/components/schemas/vcenter.services.service.health"
+ },
+ "health_messages": {
+ "description": "Localizable messages associated with the health of the service\nThis field is optional and it is only relevant when the value of Service.Info.state is STARTED.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vapi.std.localizable_message"
+ }
+ }
+ },
+ "required": [
+ "name_key",
+ "description_key",
+ "startup_type",
+ "state"
+ ]
+ },
+ "vcenter.services.service.list_details_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.services.service.info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.services.service.startup_type": {
+ "type": "string",
+ "description": "The Service.StartupType enumerated type defines valid Startup Type for vCenter Server services.",
+ "enum": [
+ "MANUAL",
+ "AUTOMATIC",
+ "DISABLED"
+ ]
+ },
+ "vcenter.services.service.state": {
+ "type": "string",
+ "description": "The Service.State enumerated type defines valid Run State for services.",
+ "enum": [
+ "STARTING",
+ "STOPPING",
+ "STARTED",
+ "STOPPED"
+ ]
+ },
+ "vcenter.services.service.update_spec": {
+ "type": "object",
+ "properties": {
+ "startup_type": {
+ "description": "Startup Type\nIf unspecified, leaves value unchanged.",
+ "$ref": "#/components/schemas/vcenter.services.service.startup_type"
+ }
+ }
+ },
+ "vcenter.services.service_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.services.service.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.services.service_update": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.services.service.update_spec",
+ "description": "Service Update specification."
+ }
+ }
+ },
+ "vcenter.storage.policies.VM.info": {
+ "type": "object",
+ "properties": {
+ "vm_home": {
+ "description": "Flag to indicate whether or not the virtual machine home is associated with the given storage policy.",
+ "type": "boolean"
+ },
+ "disks": {
+ "description": "List of the virtual disks that are associated with the given storage policy.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "vm_home",
+ "disks"
+ ]
+ },
+ "vcenter.storage.policies.VM.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.VM.info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.storage.policies.check_compatibility_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.compatibility_info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.storage.policies.compatibility_info": {
+ "type": "object",
+ "properties": {
+ "compatible_datastores": {
+ "description": "Info about a list of datastores compatible with a specific storage policy.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.compatible_datastore_info"
+ }
+ }
+ },
+ "required": [
+ "compatible_datastores"
+ ]
+ },
+ "vcenter.storage.policies.compatible_datastore_info": {
+ "type": "object",
+ "properties": {
+ "datastore": {
+ "description": "Identifier of the datastore.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "datastore"
+ ]
+ },
+ "vcenter.storage.policies.compliance.VM.filter_spec": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Compliance Status that a virtual machine must have to match the filter. Atleast one status must be specified.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.compliance.VM.status"
+ }
+ },
+ "vms": {
+ "description": "Identifiers of virtual machines that can match the filter\nIf unset or empty, virtual machines with any identifier matches the filter\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: VirtualMachine.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "vcenter.storage.policies.compliance.VM.info": {
+ "type": "object",
+ "properties": {
+ "vm_home": {
+ "description": "Compliance status of the virtual machine home.\nIf unset or empty, virtual machine home is not associated with a storage policy.",
+ "$ref": "#/components/schemas/vcenter.storage.policies.compliance.VM.status"
+ },
+ "disks": {
+ "description": "A Map of virtual disks and their compliance status If empty, the virtual machine does not have any disks or its disks are not associated with a storage policy.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.compliance.VM.status"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "disks"
+ ]
+ },
+ "vcenter.storage.policies.compliance.VM.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.compliance.VM.info"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.storage.policies.compliance.VM.status": {
+ "type": "string",
+ "enum": [
+ "COMPLIANT",
+ "NON_COMPLIANT",
+ "UNKNOWN_COMPLIANCE",
+ "NOT_APPLICABLE",
+ "OUT_OF_DATE"
+ ]
+ },
+ "vcenter.storage.policies.compliance.filter_spec": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Compliance Status that a virtual machine must have to match the filter.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.compliance.status"
+ }
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "vcenter.storage.policies.compliance.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.compliance.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.storage.policies.compliance.status": {
+ "type": "string",
+ "enum": [
+ "COMPLIANT",
+ "NON_COMPLIANT",
+ "UNKNOWN",
+ "NOT_APPLICABLE",
+ "OUT_OF_DATE"
+ ]
+ },
+ "vcenter.storage.policies.compliance.summary": {
+ "type": "object",
+ "properties": {
+ "vm": {
+ "description": "Identifier of virtual machine\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will be an identifier for the resource type: VirtualMachine.",
+ "type": "string"
+ },
+ "vm_home": {
+ "description": "Compliance status of the virtual machine home.\nIf unset or empty, vmHome is not associated with a storage policy.",
+ "$ref": "#/components/schemas/vcenter.storage.policies.compliance.status"
+ },
+ "disks": {
+ "description": "List of the virtual hard disk.\nIf unset or empty, virtual machine entity does not have any disks or its disks are not associated with a storage policy.\nWhen clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: vcenter.vm.hardware.Disk.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.compliance.status"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "vm"
+ ]
+ },
+ "vcenter.storage.policies.filter_spec": {
+ "type": "object",
+ "properties": {
+ "policies": {
+ "description": "Identifiers of storage policies that can match the filter.\nIf unset or empty, storage policies with any identifiers match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: vcenter.StoragePolicy.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vcenter.storage.policies.list_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/vcenter.storage.policies.summary"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.storage.policies.summary": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "Identifier of the storage policy.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: vcenter.StoragePolicy.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the storage policy.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the storage policy.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "policy",
+ "name",
+ "description"
+ ]
+ },
+ "vcenter.storage.policies_check_compatibility": {
+ "type": "object",
+ "properties": {
+ "datastores": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Datastores used to check compatibility against a storage policy. The number of datastores is limited to 1024.\nThe parameter must contain identifiers for the resource type: Datastore."
+ }
+ }
+ },
+ "vcenter.system_config.deployment_type.info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the appliance.",
+ "$ref": "#/components/schemas/vcenter.deployment.appliance_type"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.system_config.deployment_type.reconfigure_spec": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the appliance.",
+ "$ref": "#/components/schemas/vcenter.deployment.appliance_type"
+ },
+ "remote_psc": {
+ "description": "External PSC to register with when reconfiguring a VCSA_EMBEDDED appliance to a VCSA_EXTERNAL appliance.\nOnly required when reconfiguring an VCSA_EMBEDDED node to a VCSA_EXTERNAL.",
+ "$ref": "#/components/schemas/vcenter.deployment.remote_psc_spec"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "vcenter.system_config.deployment_type_reconfigure": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.system_config.deployment_type.reconfigure_spec",
+ "description": "ReconfigureSpec to set the appliance type."
+ }
+ }
+ },
+ "vcenter.system_config.deployment_type_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.system_config.deployment_type.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.system_config.psc_registration.info": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The IP address or DNS resolvable name of the PSC this appliance is registered with.",
+ "type": "string"
+ },
+ "https_port": {
+ "description": "The HTTPs port used by the external PSC.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "sso_domain": {
+ "description": "The Single Sign-On domain name of the external PSC.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "https_port",
+ "sso_domain"
+ ]
+ },
+ "vcenter.system_config.psc_registration_repoint": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "$ref": "#/components/schemas/vcenter.deployment.remote_psc_spec",
+ "description": "RemotePscSpec structure containing information about the external PSC node to repoint this vCenter Server appliance to."
+ }
+ }
+ },
+ "vcenter.system_config.psc_registration_resp": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/components/schemas/vcenter.system_config.psc_registration.info"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "vcenter.tokenservice.invalid_grant": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Stack of one or more localizable messages for human {@term error} consumers.