{ "info": { "termsOfService": "http://swagger.io/terms/", "description": "vAPI is an extensible API Platform for modelling and delivering APIs/SDKs/CLIs.", "title": "vapi" }, "paths": { "/com/vmware/vapi/metadata/authentication/component": { "get": { "responses": { "200": { "description": "The list of identifiers for the component elements that have authentication information.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/authentication/component " ], "summary": "Returns the identifiers for the component elements that have authentication information." } }, "/com/vmware/vapi/metadata/authentication/component/id:{component_id}": { "get": { "responses": { "200": { "description": "The {@link ComponentData} instance that corresponds to {@param.name componentId}", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.authentication.component_data" } }, "404": { "description": "if the component element associated with {@param.name componentId} does not have any authentication information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the component element.", "required": true, "type": "string", "name": "component_id", "in": "path" } ], "tags": [ "metadata/authentication/component " ], "summary": "Retrieves authentication information about the component element corresponding to {@param.name componentId}.
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." } }, "/com/vmware/vapi/metadata/authentication/component/id:{component_id}?~action=fingerprint": { "post": { "responses": { "200": { "description": "The fingerprint computed from the authentication metadata of the component.", "schema": { "type": "string" } }, "404": { "description": "if the component element associated with {@param.name componentId} does not have any authentication information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the component element.", "required": true, "type": "string", "name": "component_id", "in": "path" } ], "tags": [ "metadata/authentication/component " ], "consumes": [ "application/json" ], "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 com.vmware.vapi.metadata.authentication.Component#get}." } }, "/com/vmware/vapi/metadata/authentication/package": { "get": { "responses": { "200": { "description": "The list of identifiers for the package elements that have authentication information.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/authentication/package " ], "summary": "Returns the identifiers for the package elements that have authentication information." } }, "/com/vmware/vapi/metadata/authentication/package/id:{package_id}": { "get": { "responses": { "200": { "description": "The {@link PackageInfo} instance that corresponds to {@param.name packageId}", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.authentication.package_info" } }, "404": { "description": "if the package element associated with {@param.name packageId} does not have any authentication information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the package element.", "required": true, "type": "string", "name": "package_id", "in": "path" } ], "tags": [ "metadata/authentication/package " ], "summary": "Retrieves authentication information about the package element corresponding to {@param.name packageId}." } }, "/com/vmware/vapi/metadata/authentication/service": { "get": { "responses": { "200": { "description": "The list of identifiers for the service elements that have authentication information.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/authentication/service " ], "summary": "Returns the identifiers for the service elements that have authentication information." } }, "/com/vmware/vapi/metadata/authentication/service/id:{service_id}": { "get": { "responses": { "200": { "description": "The {@link ServiceInfo} instance that corresponds to {@param.name serviceId}", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.authentication.service_info" } }, "404": { "description": "if the service element associated with {@param.name serviceId} does not have any authentication information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the service element.", "required": true, "type": "string", "name": "service_id", "in": "path" } ], "tags": [ "metadata/authentication/service " ], "summary": "Retrieves authentication information about the service element corresponding to {@param.name serviceId}." } }, "/com/vmware/vapi/metadata/authentication/service/operation": { "get": { "responses": { "200": { "description": "List of identifiers for the operation elements contained in the service element that have authentication information.", "schema": { "items": { "type": "string" }, "type": "array" } }, "404": { "description": "if the service element associated with {@param.name serviceId} does not have any operation elements that have authentication information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "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." } }, "/com/vmware/vapi/metadata/authentication/service/operation/id:{service_id}?~action=get": { "post": { "responses": { "200": { "description": "The {@link com.vmware.vapi.metadata.authentication.OperationInfo} instance that corresponds to {@param.name operationId}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.authentication.operation_info" } }, "404": { "description": "if the service element associated with {@param.name serviceId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the service element.", "required": true, "type": "string", "name": "service_id", "in": "path" } ], "tags": [ "metadata/authentication/service/operation " ], "consumes": [ "application/json" ], "summary": "Retrieves the authentication information about an operation element corresponding to {@param.name operationId} contained in the service element corresponding to {@param.name serviceId}." } }, "/com/vmware/vapi/metadata/cli/command": { "get": { "responses": { "200": { "description": "Identifiers of the requested commands.", "schema": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.command.identity" }, "type": "array" } }, "404": { "description": "if a namespace corresponding to {@param.name path} doesn't exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "metadata/cli/command " ], "summary": "Returns the identifiers of all commands, or commands in a specific namespace." } }, "/com/vmware/vapi/metadata/cli/command?~action=fingerprint": { "post": { "responses": { "200": { "description": "Fingerprint of all the command metadata present on the server.", "schema": { "type": "string" } } }, "parameters": [], "tags": [ "metadata/cli/command " ], "consumes": [ "application/json" ], "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." } }, "/com/vmware/vapi/metadata/cli/command?~action=get": { "post": { "responses": { "200": { "description": "Information about the command including information about how to execute that command.", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.command.info" } }, "404": { "description": "if a command corresponding to {@param.name identity} doesn't exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.command_get" }, "required": true, "name": "identity", "in": "body" } ], "tags": [ "metadata/cli/command " ], "consumes": [ "application/json" ], "summary": "Retrieves information about a command including information about how to execute that command." } }, "/com/vmware/vapi/metadata/cli/namespace": { "get": { "responses": { "200": { "description": "Identifiers of all the namespaces.", "schema": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.namespace.identity" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/cli/namespace " ], "summary": "Returns the identifiers of all namespaces registered with the infrastructure." } }, "/com/vmware/vapi/metadata/cli/namespace?~action=fingerprint": { "post": { "responses": { "200": { "description": "Fingerprint of all the namespace metadata present on the server.", "schema": { "type": "string" } } }, "parameters": [], "tags": [ "metadata/cli/namespace " ], "consumes": [ "application/json" ], "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." } }, "/com/vmware/vapi/metadata/cli/namespace?~action=get": { "post": { "responses": { "200": { "description": "Information about the namespace including information about child of that namespace.", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.namespace.info" } }, "404": { "description": "if a namespace corresponding to {@param.name identity} doesn't exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.namespace_get" }, "required": true, "name": "identity", "in": "body" } ], "tags": [ "metadata/cli/namespace " ], "consumes": [ "application/json" ], "summary": "Retreives information about a namespace including information about children of that namespace." } }, "/com/vmware/vapi/metadata/metamodel/component": { "get": { "responses": { "200": { "description": "The list of identifiers for the component elements that are registered with the infrastructure.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/metamodel/component " ], "summary": "Returns the identifiers for the component elements that are registered with the infrastructure." } }, "/com/vmware/vapi/metadata/metamodel/component/id:{component_id}": { "get": { "responses": { "200": { "description": "The {@link ComponentData} instance that corresponds to {@param.name componentId}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.component_data" } }, "404": { "description": "if the component element associated with {@param.name componentId} is not registered with the infrastructure.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the component element.", "required": true, "type": "string", "name": "component_id", "in": "path" } ], "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." } }, "/com/vmware/vapi/metadata/metamodel/component/id:{component_id}?~action=fingerprint": { "post": { "responses": { "200": { "description": "The fingerprint computed from the metamodel metadata of the component element.", "schema": { "type": "string" } }, "404": { "description": "if the component element associated with {@param.name componentId} is not registered with the infrastructure.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the component element.", "required": true, "type": "string", "name": "component_id", "in": "path" } ], "tags": [ "metadata/metamodel/component " ], "consumes": [ "application/json" ], "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 com.vmware.vapi.metadata.metamodel.Component#get}." } }, "/com/vmware/vapi/metadata/metamodel/enumeration": { "get": { "responses": { "200": { "description": "The list of identifiers for the enumeration elements.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "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." } }, "/com/vmware/vapi/metadata/metamodel/enumeration/id:{enumeration_id}": { "get": { "responses": { "200": { "description": "The {@link EnumerationInfo} instance that corresponds to {@param.name enumerationId}", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.enumeration_info" } }, "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.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the enumeration element.", "required": true, "type": "string", "name": "enumeration_id", "in": "path" } ], "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." } }, "/com/vmware/vapi/metadata/metamodel/package": { "get": { "responses": { "200": { "description": "The list of identifiers for the package elements that are contained in all the registered component elements.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/metamodel/package " ], "summary": "Returns the identifiers for the packages elements that are contained in all the registered component elements." } }, "/com/vmware/vapi/metadata/metamodel/package/id:{package_id}": { "get": { "responses": { "200": { "description": "The {@link PackageInfo} instance that corresponds to {@param.name packageId}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.package_info" } }, "404": { "description": "if the package element associated with {@param.name packageId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the package element.", "required": true, "type": "string", "name": "package_id", "in": "path" } ], "tags": [ "metadata/metamodel/package " ], "summary": "Retrieves information about the package element corresponding to {@param.name packageId}." } }, "/com/vmware/vapi/metadata/metamodel/resource": { "get": { "responses": { "200": { "description": "Set of resource types", "schema": { "uniqueItems": true, "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/metamodel/resource " ], "summary": "Returns the set of resource types present across all the service elements contained in all the package elements." } }, "/com/vmware/vapi/metadata/metamodel/resource/model": { "get": { "responses": { "200": { "description": "The set of identifiers for the models that are associated with the resource type in {@param.name resourceId}.", "schema": { "uniqueItems": true, "items": { "type": "string" }, "type": "array" } }, "404": { "description": "if the resource type associated with {@param.name resourceId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "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 com.vmware.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}." } }, "/com/vmware/vapi/metadata/metamodel/service": { "get": { "responses": { "200": { "description": "The list of identifiers for the service elements that are currently registered with the infrastructure.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "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." } }, "/com/vmware/vapi/metadata/metamodel/service/hidden": { "get": { "responses": { "200": { "description": "The list of {@term service} identifiers that should be hidden.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/metamodel/service/hidden " ], "summary": "Returns the {@term service} identifiers that should be hidden." } }, "/com/vmware/vapi/metadata/metamodel/service/id:{service_id}": { "get": { "responses": { "200": { "description": "The {@link ServiceInfo} instance that corresponds to {@param.name serviceId}", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.service_info" } }, "404": { "description": "if the service element associated with {@param.name serviceId} is not registered with the infrastructure.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the service element.", "required": true, "type": "string", "name": "service_id", "in": "path" } ], "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." } }, "/com/vmware/vapi/metadata/metamodel/service/operation": { "get": { "responses": { "200": { "description": "The list of identifiers for the operation elements that are defined in the scope of {@param.name serviceId}.", "schema": { "items": { "type": "string" }, "type": "array" } }, "404": { "description": "if the service element associated with {@param.name serviceId} does not exist in any of the package elements.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "metadata/metamodel/service/operation " ], "summary": "Returns the identifiers for the operation elements that are defined in the scope of {@param.name serviceId}." } }, "/com/vmware/vapi/metadata/metamodel/service/operation/id:{service_id}/id:{operation_id}": { "get": { "responses": { "200": { "description": "The {@link com.vmware.vapi.metadata.metamodel.OperationInfo} instance that corresponds to {@param.name operationId} defined in scope {@param.name serviceId}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.operation_info" } }, "404": { "description": "if the service element associated with {@param.name serviceId} does not exist in any of the package elements.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the service element.", "required": true, "type": "string", "name": "service_id", "in": "path" }, { "description": "Identifier of the operation element.", "required": true, "type": "string", "name": "operation_id", "in": "path" } ], "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}." } }, "/com/vmware/vapi/metadata/metamodel/structure": { "get": { "responses": { "200": { "description": "The list of identifiers for the structure elements.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/metamodel/structure " ], "summary": "Returns the identifiers for the structure elements that are contained in all the package elements and service elements." } }, "/com/vmware/vapi/metadata/metamodel/structure/id:{structure_id}": { "get": { "responses": { "200": { "description": "The {@link StructureInfo} instance that corresponds to {@param.name structureId}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.structure_info" } }, "404": { "description": "if the structure element associated with {@param.name structureId} is not contained in any of the package elements or service elements.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the structure element.", "required": true, "type": "string", "name": "structure_id", "in": "path" } ], "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." } }, "/com/vmware/vapi/metadata/privilege/component": { "get": { "responses": { "200": { "description": "The list of identifiers for the component elements that have privilege information.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/privilege/component " ], "summary": "Returns the identifiers for the component elements that have privilege information." } }, "/com/vmware/vapi/metadata/privilege/component/id:{component_id}": { "get": { "responses": { "200": { "description": "The {@link ComponentData} instance that corresponds to {@param.name componentId}", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.privilege.component_data" } }, "404": { "description": "if the component element associated with {@param.name componentId} does not have any privilege information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the component element.", "required": true, "type": "string", "name": "component_id", "in": "path" } ], "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." } }, "/com/vmware/vapi/metadata/privilege/component/id:{component_id}?~action=fingerprint": { "post": { "responses": { "200": { "description": "The fingerprint computed from the privilege metadata of the component.", "schema": { "type": "string" } }, "404": { "description": "if the component element associated with {@param.name componentId} does not have any privilege information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the component element.", "required": true, "type": "string", "name": "component_id", "in": "path" } ], "tags": [ "metadata/privilege/component " ], "consumes": [ "application/json" ], "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 com.vmware.vapi.metadata.privilege.Component#get}." } }, "/com/vmware/vapi/metadata/privilege/package": { "get": { "responses": { "200": { "description": "The list of identifiers for the package elements that have privilege information.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/privilege/package " ], "summary": "Returns the identifiers for the package elements that have privilege information." } }, "/com/vmware/vapi/metadata/privilege/package/id:{package_id}": { "get": { "responses": { "200": { "description": "The {@link PackageInfo} instance that corresponds to {@param.name packageId}", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.privilege.package_info" } }, "404": { "description": "if the package element associated with {@param.name packageId} does not have any privilege information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the package element.", "required": true, "type": "string", "name": "package_id", "in": "path" } ], "tags": [ "metadata/privilege/package " ], "summary": "Retrieves privilege information about the package element corresponding to {@param.name packageId}." } }, "/com/vmware/vapi/metadata/privilege/service": { "get": { "responses": { "200": { "description": "The list of identifiers for the service elements that have privilege information.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/privilege/service " ], "summary": "Returns the identifiers for the service elements that have privilege information." } }, "/com/vmware/vapi/metadata/privilege/service/id:{service_id}": { "get": { "responses": { "200": { "description": "The {@link ServiceInfo} instance that corresponds to {@param.name serviceId}", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.privilege.service_info" } }, "404": { "description": "if the service element associated with {@param.name serviceId} does not have any privilege information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the service element.", "required": true, "type": "string", "name": "service_id", "in": "path" } ], "tags": [ "metadata/privilege/service " ], "summary": "Retrieves privilege information about the service element corresponding to {@param.name serviceId}." } }, "/com/vmware/vapi/metadata/privilege/service/operation": { "get": { "responses": { "200": { "description": "List of identifiers for the operation elements contained in the service element that have privilege information.", "schema": { "items": { "type": "string" }, "type": "array" } }, "404": { "description": "if the service element associated with {@param.name serviceId} does not have any operation elements that have privilege information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "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." } }, "/com/vmware/vapi/metadata/privilege/service/operation/id:{service_id}?~action=get": { "post": { "responses": { "200": { "description": "The {@link com.vmware.vapi.metadata.privilege.OperationInfo} instance that corresponds to {@param.name operationId}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.privilege.operation_info" } }, "404": { "description": "if the service element associated with {@param.name serviceId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the service element.", "required": true, "type": "string", "name": "service_id", "in": "path" } ], "tags": [ "metadata/privilege/service/operation " ], "consumes": [ "application/json" ], "summary": "Retrieves the privilege information about an operation element corresponding to {@param.name operationId} contained in the service element corresponding to {@param.name serviceId}." } }, "/com/vmware/vapi/metadata/routing/component": { "get": { "responses": { "200": { "description": "list of fully qualified component names", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/routing/component " ], "summary": "List all the vAPI components that contain operations which have routing information." } }, "/com/vmware/vapi/metadata/routing/component/id:{component_id}": { "get": { "responses": { "200": { "description": "routing information for the vAPI component", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.routing.component_data" } }, "404": { "description": "If the component name does not exist", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "fully qualified component name", "required": true, "type": "string", "name": "component_id", "in": "path" } ], "tags": [ "metadata/routing/component " ], "summary": "Get the routing information for a vAPI component" } }, "/com/vmware/vapi/metadata/routing/component/id:{component_id}?~action=fingerprint": { "post": { "responses": { "200": { "description": "checksum of routing metadata for a vAPI component", "schema": { "type": "string" } }, "404": { "description": "If the component name does not exist", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "fully qualified component name", "required": true, "type": "string", "name": "component_id", "in": "path" } ], "tags": [ "metadata/routing/component " ], "consumes": [ "application/json" ], "summary": "Checksum of all routing metadata for a vAPI component on the server" } }, "/com/vmware/vapi/metadata/routing/package": { "get": { "responses": { "200": { "description": "list of fully qualified package names", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/routing/package " ], "summary": "List of all vAPI packages that have routing information" } }, "/com/vmware/vapi/metadata/routing/package/id:{package_id}": { "get": { "responses": { "200": { "description": "routing information for the vAPI package", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.routing.package_info" } }, "404": { "description": "If the package name does not exist", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "fully qualified package name", "required": true, "type": "string", "name": "package_id", "in": "path" } ], "tags": [ "metadata/routing/package " ], "summary": "Get the routing information for a vAPI package" } }, "/com/vmware/vapi/metadata/routing/service": { "get": { "responses": { "200": { "description": "list of fully qualified service names", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "metadata/routing/service " ], "summary": "Get list of all vAPI services that have operations with routing information" } }, "/com/vmware/vapi/metadata/routing/service/id:{service_id}": { "get": { "responses": { "200": { "description": "identifier information for the vAPI service", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.routing.service_info" } }, "404": { "description": "If the service name does not exist", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "fully qualified service name", "required": true, "type": "string", "name": "service_id", "in": "path" } ], "tags": [ "metadata/routing/service " ], "summary": "Get the routing information for a vAPI service" } }, "/com/vmware/vapi/metadata/routing/service/operation": { "get": { "responses": { "200": { "description": "list of operation identifiers", "schema": { "items": { "type": "string" }, "type": "array" } }, "404": { "description": "If the service identifier does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "metadata/routing/service/operation " ], "summary": "Get the IDs of all the vAPI operations in the given service that contain routing information" } }, "/com/vmware/vapi/metadata/routing/service/operation/id:{service_id}?~action=get": { "post": { "responses": { "200": { "description": "Operation info for the vAPI operation that contains routing information.", "schema": { "$ref": "#/definitions/com.vmware.vapi.metadata.routing.operation_info" } }, "404": { "description": "If the service identifier does not exist or if the specified operation identifier does not exist in the service.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the service", "required": true, "type": "string", "name": "service_id", "in": "path" } ], "tags": [ "metadata/routing/service/operation " ], "consumes": [ "application/json" ], "summary": "Get information about a vAPI operation that contains routing information" } }, "/com/vmware/vapi/rest/navigation/component": { "get": { "responses": { "200": { "description": "List of {@link Component#Info}s.", "schema": { "items": { "$ref": "#/definitions/com.vmware.vapi.rest.navigation.component.info" }, "type": "array" } } }, "parameters": [], "tags": [ "rest/navigation/component " ], "summary": "Gets list of all vAPI REST {@link Component}s." } }, "/com/vmware/vapi/rest/navigation/options?~action=get": { "post": { "responses": { "200": { "description": "List of {@link Operation}s.", "schema": { "items": { "$ref": "#/definitions/com.vmware.vapi.rest.navigation.operation" }, "type": "array" } }, "404": { "description": "If no service is registered for this URL.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.vapi.rest.navigation.options_get" }, "required": true, "name": "url,base_url", "in": "body" } ], "tags": [ "rest/navigation/options " ], "consumes": [ "application/json" ], "summary": "Retrieves operations for specific URL." } }, "/com/vmware/vapi/rest/navigation/resource": { "get": { "responses": { "200": { "description": "{@link List} of {@link Resource#Info}s.", "schema": { "items": { "$ref": "#/definitions/com.vmware.vapi.rest.navigation.resource.info" }, "type": "array" } } }, "parameters": [], "tags": [ "rest/navigation/resource " ], "summary": "Gets list of all vAPI REST {@link Resource}s." } }, "/com/vmware/vapi/rest/navigation/resource/id:{type_id}/id:{instance_id}": { "get": { "responses": { "200": { "description": "{@link List} of {@link Operation}s.", "schema": { "items": { "$ref": "#/definitions/com.vmware.vapi.rest.navigation.operation" }, "type": "array" } } }, "parameters": [ { "description": "Resource type id.", "required": true, "type": "string", "name": "type_id", "in": "path" }, { "description": "Resource instance id.", "required": false, "type": "string", "name": "instance_id", "in": "path" } ], "tags": [ "rest/navigation/resource " ], "summary": "Gets {@link List} of all {@link Operation}s about a vAPI REST {@link Resource}. Information is searched for by {@param.name typeId} and {@param.name instanceId} is used only in URLs." } }, "/com/vmware/vapi/rest/navigation/root": { "get": { "responses": { "200": { "description": "vAPI REST {@link Root#Info}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.rest.navigation.root.info" } } }, "parameters": [], "tags": [ "rest/navigation/root " ], "summary": "Retrieves information about a vAPI REST {@link Root}." } }, "/com/vmware/vapi/rest/navigation/service": { "get": { "responses": { "200": { "description": "List of {@link Service#Info}s.", "schema": { "items": { "$ref": "#/definitions/com.vmware.vapi.rest.navigation.service.info" }, "type": "array" } }, "404": { "description": "If the component identifier does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "rest/navigation/service " ], "summary": "Gets list of all vAPI REST {@link Service}s for a vAPI REST {@link Component}." } }, "/com/vmware/vapi/std/introspection/operation": { "get": { "responses": { "200": { "description": "set of operation identifiers for a given vAPI service.", "schema": { "uniqueItems": true, "items": { "type": "string" }, "type": "array" } }, "404": { "description": "If the service identifier does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "std/introspection/operation " ], "summary": "Returns the set of operation identifiers for a given vAPI service." } }, "/com/vmware/vapi/std/introspection/operation/id:{service_id}?~action=get": { "post": { "responses": { "200": { "description": "{@link Info} for a given vAPI operation.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.introspection.operation.info" } }, "404": { "description": "If the operation identifier does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "service identifier.", "required": true, "type": "string", "name": "service_id", "in": "path" } ], "tags": [ "std/introspection/operation " ], "consumes": [ "application/json" ], "summary": "Returns the {@link Info} for a given vAPI operation." } }, "/com/vmware/vapi/std/introspection/provider?~action=get": { "post": { "responses": { "200": { "description": "{@link Info} describing the vAPI provider on which the operation is invoked", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.introspection.provider.info" } } }, "parameters": [], "tags": [ "std/introspection/provider " ], "consumes": [ "application/json" ], "summary": "Returns a {@link Info} describing the vAPI provider on which the operation is invoked" } }, "/com/vmware/vapi/std/introspection/service": { "get": { "responses": { "200": { "description": "set of service identifiers", "schema": { "uniqueItems": true, "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "std/introspection/service " ], "summary": "Returns the set of service identifiers." } }, "/com/vmware/vapi/std/introspection/service/id:{id}": { "get": { "responses": { "200": { "description": "{@link Info} for the specified service", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.introspection.service.info" } }, "404": { "description": "If the service identifier does not exist", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "service identifier", "required": true, "type": "string", "name": "id", "in": "path" } ], "tags": [ "std/introspection/service " ], "summary": "Returns the {@link Info} for the specified service" } }, "/com/vmware/vapi/vcenter/activation/id:{activation_id}?~action=cancel": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the vCenter Server task associated with the given {@param.name activationId} is not cancelable.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "401": { "description": "if the user is not authenticated.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.unauthenticated" } }, "403": { "description": "if the user is not authorized to cancel the task.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.unauthorized" } }, "404": { "description": "if a vCenter Server task with the given {@param.name activationId} was not found.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } }, "503": { "description": "if the task cancelation cannot be performed due to vCenter server is unreachable or it is not properly configured.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.service_unavailable" } } }, "parameters": [ { "description": "the {@param.name activationId} associated with a vCenter Server task to be canceled.", "required": true, "type": "string", "name": "activation_id", "in": "path" } ], "tags": [ "vcenter/activation " ], "consumes": [ "application/json" ], "summary": "Sends a request to cancel the task associated with the provided {@param.name activationId}." } } }, "schemes": [ "https", "http" ], "tags": [], "basePath": "/rest", "host": "", "definitions": { "com.vmware.vapi.metadata.authentication.authentication_info": { "required": [ "scheme", "scheme_type" ], "type": "object", "properties": { "scheme": { "type": "string", "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 com.vmware.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 com.vmware.vapi.metadata.authentication.Component#get} to retrieve the new authentication information for the component." } } }, "com.vmware.vapi.metadata.authentication.component_info": { "required": [ "packages" ], "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 com.vmware.vapi.metadata.authentication.Package}." } } }, "com.vmware.vapi.metadata.authentication.operation_info": { "required": [ "schemes" ], "type": "object", "properties": { "schemes": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.authentication.authentication_info" }, "type": "array", "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." } } }, "com.vmware.vapi.metadata.authentication.package_info": { "required": [ "services", "schemes" ], "type": "object", "properties": { "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 com.vmware.vapi.metadata.authentication.Service}." }, "schemes": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.authentication.authentication_info" }, "type": "array", "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." } } }, "com.vmware.vapi.metadata.authentication.service_info": { "required": [ "operations", "schemes" ], "type": "object", "properties": { "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 com.vmware.vapi.metadata.authentication.service.Operation}." }, "schemes": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.authentication.authentication_info" }, "type": "array", "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." } } }, "com.vmware.vapi.metadata.cli.command.formatter_type": { "enum": [ "SIMPLE", "TABLE", "JSON", "XML", "CSV", "HTML" ], "type": "string", "description": "The {@name FormatterType} {@term enumerated type} defines supported CLI output formatter types. See {@link Info#formatter}." }, "com.vmware.vapi.metadata.cli.command.generic_type": { "enum": [ "NONE", "OPTIONAL", "LIST", "OPTIONAL_LIST", "LIST_OPTIONAL" ], "type": "string", "description": "The {@name GenericType} {@term enumerated type} defines generic types supported by {@name Command} {@term service}. See {@link OptionInfo#generic}." }, "com.vmware.vapi.metadata.cli.command.identity": { "required": [ "path", "name" ], "type": "object", "properties": { "path": { "type": "string", "description": "The dot-separated path of the namespace containing the command in the CLI command tree." }, "name": { "type": "string", "description": "Name of the command." } } }, "com.vmware.vapi.metadata.cli.command.info": { "required": [ "output_field_list", "description", "operation_id", "service_id", "options", "identity" ], "type": "object", "properties": { "output_field_list": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.command.output_info" }, "type": "array", "description": "List of output structure name and output field info." }, "description": { "type": "string", "description": "The text description displayed to the user in help output." }, "operation_id": { "type": "string", "description": "The operation identifier corresponding to this CLI command." }, "service_id": { "type": "string", "description": "The service identifier that contains the operations for this CLI command." }, "formatter": { "description": "The formatter to use when displaying the output of this command.", "$ref": "#/definitions/com.vmware.vapi.metadata.cli.command.formatter_type" }, "options": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.command.option_info" }, "type": "array", "description": "The input for this command." }, "identity": { "description": "Basic command identity.", "$ref": "#/definitions/com.vmware.vapi.metadata.cli.command.identity" } } }, "com.vmware.vapi.metadata.cli.command.option_info": { "required": [ "description", "generic", "type", "long_option", "field_name" ], "type": "object", "properties": { "description": { "type": "string", "description": "The description of the option to be displayed to the user when they request usage information for a CLI command." }, "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": "#/definitions/com.vmware.vapi.metadata.cli.command.generic_type" }, "type": { "type": "string", "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." }, "long_option": { "type": "string", "description": "The long option name of the parameter as used by the user." }, "short_option": { "type": "string", "description": "The single character value option name." }, "field_name": { "type": "string", "description": "The fully qualified name of the option referred to by the operation element in {@link Info#operationId}." } } }, "com.vmware.vapi.metadata.cli.command.output_field_info": { "required": [ "display_name", "field_name" ], "type": "object", "properties": { "display_name": { "type": "string", "description": "Name used by the CLI to display the {@term field}." }, "field_name": { "type": "string", "description": "Name of the {@term field}." } } }, "com.vmware.vapi.metadata.cli.command.output_info": { "required": [ "output_fields", "structure_id" ], "type": "object", "properties": { "output_fields": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.command.output_field_info" }, "type": "array", "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}." }, "structure_id": { "type": "string", "description": "Name of the {@term structure}." } } }, "com.vmware.vapi.metadata.cli.command_get": { "required": [ "identity" ], "type": "object", "properties": { "identity": { "description": "Identifier of the command for which to retreive information.", "$ref": "#/definitions/com.vmware.vapi.metadata.cli.command.identity" } } }, "com.vmware.vapi.metadata.cli.namespace.identity": { "required": [ "path", "name" ], "type": "object", "properties": { "path": { "type": "string", "description": "The dot-separated path of the namespace containing the namespace in the CLI node tree. For top-level namespace this will be empty." }, "name": { "type": "string", "description": "The name displayed to the user for this namespace." } } }, "com.vmware.vapi.metadata.cli.namespace.info": { "required": [ "description", "identity", "children" ], "type": "object", "properties": { "description": { "type": "string", "description": "The text description displayed to the user in help output." }, "identity": { "description": "Basic namespace identity.", "$ref": "#/definitions/com.vmware.vapi.metadata.cli.namespace.identity" }, "children": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.cli.namespace.identity" }, "type": "array", "description": "The children of this namespace in the tree of CLI namespaces." } } }, "com.vmware.vapi.metadata.cli.namespace_get": { "required": [ "identity" ], "type": "object", "properties": { "identity": { "description": "Identifier of the namespace for which to retreive information.", "$ref": "#/definitions/com.vmware.vapi.metadata.cli.namespace.identity" } } }, "com.vmware.vapi.metadata.metamodel.component_data": { "required": [ "info", "fingerprint" ], "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": "#/definitions/com.vmware.vapi.metadata.metamodel.component_info" }, "fingerprint": { "type": "string", "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 com.vmware.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 com.vmware.vapi.metadata.metamodel.Component#get} to retrieve the new metamodel information for the component." } } }, "com.vmware.vapi.metadata.metamodel.component_info": { "required": [ "documentation", "packages", "name", "metadata" ], "type": "object", "properties": { "documentation": { "type": "string", "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." }, "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." }, "name": { "type": "string", "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." }, "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 com.vmware.vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}." } } }, "com.vmware.vapi.metadata.metamodel.enumeration_info": { "required": [ "documentation", "values", "name", "metadata" ], "type": "object", "properties": { "documentation": { "type": "string", "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." }, "values": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.enumeration_value_info" }, "type": "array", "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." }, "name": { "type": "string", "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." }, "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 com.vmware.vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}." } } }, "com.vmware.vapi.metadata.metamodel.enumeration_value_info": { "required": [ "documentation", "value", "metadata" ], "type": "object", "properties": { "documentation": { "type": "string", "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." }, "value": { "type": "string", "description": "Value in the enumerated type. All the characters in the string are capitalized." }, "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 com.vmware.vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}." } } }, "com.vmware.vapi.metadata.metamodel.error_info": { "required": [ "documentation", "structure_id" ], "type": "object", "properties": { "documentation": { "type": "string", "description": "The English language documentation for the service element. It can contain HTML markup and Javadoc tags." }, "structure_id": { "type": "string", "description": "Identifier for the structure element corresponding to the error that is being reported by the operation." } } }, "com.vmware.vapi.metadata.metamodel.field_info": { "required": [ "documentation", "type", "name", "metadata" ], "type": "object", "properties": { "documentation": { "type": "string", "description": "English language documentation for the service element. It can contain HTML markup and Javadoc tags." }, "type": { "description": "Type information.", "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.type" }, "name": { "type": "string", "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." }, "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 com.vmware.vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}." } } }, "com.vmware.vapi.metadata.metamodel.generic_instantiation": { "required": [ "generic_type" ], "type": "object", "properties": { "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": "#/definitions/com.vmware.vapi.metadata.metamodel.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": "#/definitions/com.vmware.vapi.metadata.metamodel.type" }, "generic_type": { "description": "The generic type that is being instantiated.", "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.generic_instantiation.generic_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": "#/definitions/com.vmware.vapi.metadata.metamodel.type" } } }, "com.vmware.vapi.metadata.metamodel.generic_instantiation.generic_type": { "enum": [ "LIST", "MAP", "OPTIONAL", "SET" ], "type": "string", "description": "The {@name GenericType} {@term enumerated type} provides {@term enumeration values} for each of the generic types provided by the infrastructure." }, "com.vmware.vapi.metadata.metamodel.operation_info": { "required": [ "errors", "name", "documentation", "params", "output", "metadata" ], "type": "object", "properties": { "errors": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.error_info" }, "type": "array", "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." }, "name": { "type": "string", "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." }, "documentation": { "type": "string", "description": "English language documentation for the service element. It can contain HTML markup and Javadoc tags." }, "params": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.field_info" }, "type": "array", "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." }, "output": { "description": "Metamodel type for the output element.", "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.operation_result_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 com.vmware.vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for key in the {@term map}." } } }, "com.vmware.vapi.metadata.metamodel.operation_result_info": { "required": [ "documentation", "type", "metadata" ], "type": "object", "properties": { "documentation": { "type": "string", "description": "English language documentation for the operation result element. It can contain HTML markup and Javadoc tags." }, "type": { "description": "Type information of the operation result element.", "$ref": "#/definitions/com.vmware.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 com.vmware.vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}." } } }, "com.vmware.vapi.metadata.metamodel.package_info": { "required": [ "name", "documentation", "enumerations", "services", "structures", "metadata" ], "type": "object", "properties": { "name": { "type": "string", "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." }, "documentation": { "type": "string", "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." }, "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." }, "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." }, "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." }, "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 com.vmware.vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}." } } }, "com.vmware.vapi.metadata.metamodel.service_info": { "required": [ "operations", "name", "documentation", "enumerations", "structures", "constants", "metadata" ], "type": "object", "properties": { "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." }, "name": { "type": "string", "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." }, "documentation": { "type": "string", "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." }, "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." }, "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." }, "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." }, "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 com.vmware.vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}." } } }, "com.vmware.vapi.metadata.metamodel.structure_info": { "required": [ "name", "fields", "documentation", "enumerations", "type", "constants", "metadata" ], "type": "object", "properties": { "name": { "type": "string", "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." }, "fields": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.field_info" }, "type": "array", "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." }, "documentation": { "type": "string", "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." }, "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": { "description": "Type of the structure.", "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.structure_info.type" }, "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." }, "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 com.vmware.vapi.metadata.metamodel.MetadataIdentifier} contains possible string values for keys in the {@term map}." } } }, "com.vmware.vapi.metadata.metamodel.structure_info.type": { "enum": [ "STRUCTURE", "ERROR" ], "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." }, "com.vmware.vapi.metadata.metamodel.type": { "required": [ "category" ], "type": "object", "properties": { "category": { "description": "Category of this type.", "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.type.category" }, "generic_instantiation": { "description": "Instantiation of one of the generic types available in the interface definition language.", "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.generic_instantiation" }, "builtin_type": { "description": "Category of the built-in type.", "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.type.builtin_type" }, "user_defined_type": { "description": "Identifier and type of the user defined type.", "$ref": "#/definitions/com.vmware.vapi.metadata.metamodel.user_defined_type" } } }, "com.vmware.vapi.metadata.metamodel.type.builtin_type": { "enum": [ "VOID", "BOOLEAN", "LONG", "DOUBLE", "STRING", "BINARY", "SECRET", "DATE_TIME", "ID", "URI", "ANY_ERROR", "DYNAMIC_STRUCTURE", "OPAQUE" ], "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." }, "com.vmware.vapi.metadata.metamodel.type.category": { "enum": [ "BUILTIN", "USER_DEFINED", "GENERIC" ], "type": "string", "description": "The {@name Category} {@term enumerated type} provides {@term enumeration value} for each category of the type." }, "com.vmware.vapi.metadata.metamodel.user_defined_type": { "required": [ "resource_type", "resource_id" ], "type": "object", "properties": { "resource_type": { "type": "string", "description": "Category of the user defined named type. The named type could be a structure element or an enumeration element." }, "resource_id": { "type": "string", "description": "Identifier of the user defined named type." } } }, "com.vmware.vapi.metadata.privilege.component_data": { "required": [ "info", "fingerprint" ], "type": "object", "properties": { "info": { "description": "Privilege information of the component. This includes information about all the {@term packages} in the component.", "$ref": "#/definitions/com.vmware.vapi.metadata.privilege.component_info" }, "fingerprint": { "type": "string", "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 com.vmware.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 com.vmware.vapi.metadata.privilege.Component#get} to retrieve the new privilege information for the component." } } }, "com.vmware.vapi.metadata.privilege.component_info": { "required": [ "packages" ], "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 com.vmware.vapi.metadata.privilege.Package}." } } }, "com.vmware.vapi.metadata.privilege.operation_info": { "required": [ "privileges", "privilege_info" ], "type": "object", "properties": { "privileges": { "items": { "type": "string" }, "type": "array", "description": "List of all privileges assigned to the operation element." }, "privilege_info": { "items": { "$ref": "#/definitions/com.vmware.vapi.metadata.privilege.privilege_info" }, "type": "array", "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 com.vmware.vapi.metadata.privilege.PrivilegeInfo}." } } }, "com.vmware.vapi.metadata.privilege.package_info": { "required": [ "services", "privileges" ], "type": "object", "properties": { "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 com.vmware.vapi.metadata.privilege.Service}." }, "privileges": { "items": { "type": "string" }, "type": "array", "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." } } }, "com.vmware.vapi.metadata.privilege.privilege_info": { "required": [ "privileges", "property_path" ], "type": "object", "properties": { "privileges": { "items": { "type": "string" }, "type": "array", "description": "List of privileges assigned to the entity that is being referred by {@link #propertyPath}." }, "property_path": { "type": "string", "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." } } }, "com.vmware.vapi.metadata.privilege.service_info": { "required": [ "operations" ], "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 com.vmware.vapi.metadata.privilege.service.Operation}."
}
}
},
"com.vmware.vapi.metadata.routing.component_data": {
"required": [
"info",
"fingerprint"
],
"type": "object",
"properties": {
"info": {
"description": "Routing information of the vAPI component",
"$ref": "#/definitions/com.vmware.vapi.metadata.routing.component_info"
},
"fingerprint": {
"type": "string",
"description": "Fingerprint of metadata of a vAPI component"
}
}
},
"com.vmware.vapi.metadata.routing.component_info": {
"required": [
"packages"
],
"type": "object",
"properties": {
"packages": {
"description": "Routing information of all the vAPI packages. The key in the map is the ID of the package and the value in the map is the routing information for the package For an explanation of routing information within packages, see {@link com.vmware.vapi.metadata.routing.Package}"
}
}
},
"com.vmware.vapi.metadata.routing.operation_info": {
"required": [
"routing_info"
],
"type": "object",
"properties": {
"routing_info": {
"description": "The routing information assigned for this operation. For an explanation of routing information, see {@link com.vmware.vapi.metadata.routing.RoutingInfo}",
"$ref": "#/definitions/com.vmware.vapi.metadata.routing.routing_info"
}
}
},
"com.vmware.vapi.metadata.routing.package_info": {
"required": [
"services",
"routing_info"
],
"type": "object",
"properties": {
"services": {
"description": "Information about all services in this package that contain routing information. The key in the map is the ID of the service and the value in the map is the routing information for the service For an explanation of routing information within service, see {@link com.vmware.vapi.metadata.routing.Service}"
},
"routing_info": {
"description": "The routing information to be used for all the operations present in this package. If a particular operation has no explicit routing information defined in the routing definition file, this routing info will be used for enforcing routing.",
"$ref": "#/definitions/com.vmware.vapi.metadata.routing.routing_info"
}
}
},
"com.vmware.vapi.metadata.routing.routing_info": {
"required": [
"routing_path",
"routing_strategy",
"operation_hints",
"id_types"
],
"type": "object",
"properties": {
"routing_path": {
"type": "string",
"description": "The initial version of the routing info allowed routing by single parameter. Clients requested allowing them to place more than one parameters so that the routing is performed by the first non-null argument in the list. To achieve that we have added method com.vmware.vapi.metadata.RoutingInfo#getRoutingPaths() which should be preferred over com.vmware.vapi.metadata.RoutingInfo#getRoutingPath() which is deprecated. The deprecated method will return string representation of the comma-separated list of ids, while the com.vmware.vapi.metadata.RoutingInfo#getRoutingPaths() will return instance of {@code java.util.List For an explanation of routing information within operations, see {@link com.vmware.vapi.metadata.routing.Operation}"
},
"routing_info": {
"description": "The routing information to be used for all the operations present in this service. If a particular operation has no explicit routing information defined in the routing definition file, this routing info will be used for enforcing routing.",
"$ref": "#/definitions/com.vmware.vapi.metadata.routing.routing_info"
}
}
},
"com.vmware.vapi.rest.navigation.component.info": {
"required": [
"services",
"documentation",
"name"
],
"type": "object",
"properties": {
"services": {
"description": "{@link Link} to component services list.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.link"
},
"documentation": {
"type": "string",
"description": "Component documentation."
},
"name": {
"type": "string",
"description": "Name of the component."
}
}
},
"com.vmware.vapi.rest.navigation.http_method": {
"enum": [
"GET",
"POST",
"PUT",
"DELETE",
"OPTIONS",
"PATCH",
"TRACE",
"CONNECT",
"HEAD"
],
"type": "string",
"description": "The {@name HttpMethod} {@term enumerated type} defines the valid http methods that can be used with a URL to make a REST call."
},
"com.vmware.vapi.rest.navigation.link": {
"required": [
"href",
"method",
"metadata"
],
"type": "object",
"properties": {
"href": {
"type": "string",
"description": "URL that should be called."
},
"method": {
"description": "{@link HttpMethod} to be used.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.http_method"
},
"metadata": {
"description": "{@link Reference} to meta data describing the call.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.reference"
}
}
},
"com.vmware.vapi.rest.navigation.operation": {
"required": [
"links",
"documentation",
"name",
"service",
"metadata"
],
"type": "object",
"properties": {
"links": {
"items": {
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.reference"
},
"type": "array",
"description": "{@link List} of {@link Reference}s to execute the operation."
},
"documentation": {
"type": "string",
"description": "Documentation of the operation."
},
"name": {
"type": "string",
"description": "Name of the operation."
},
"service": {
"type": "string",
"description": "Name of the service where the operations belongs to."
},
"metadata": {
"description": "{@link Reference} to meta data about the operation.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.reference"
}
}
},
"com.vmware.vapi.rest.navigation.options_get": {
"required": [
"url"
],
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL for which operations are retrieved."
},
"base_url": {
"type": "string",
"description": "Base URL."
}
}
},
"com.vmware.vapi.rest.navigation.reference": {
"required": [
"href",
"method"
],
"type": "object",
"properties": {
"href": {
"type": "string",
"description": "URL to be called."
},
"method": {
"description": "{@link HttpMethod} to be used.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.http_method"
}
}
},
"com.vmware.vapi.rest.navigation.resource.info": {
"required": [
"metadata",
"href",
"name",
"method"
],
"type": "object",
"properties": {
"metadata": {
"description": "{@link Reference} to the meta data for the resource.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.reference"
},
"href": {
"type": "string",
"description": "URL to get resource information."
},
"name": {
"type": "string",
"description": "Name of the resource."
},
"method": {
"description": "{@link HttpMethod} to get resource information.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.http_method"
}
}
},
"com.vmware.vapi.rest.navigation.root.info": {
"required": [
"resources",
"components"
],
"type": "object",
"properties": {
"resources": {
"description": "{@link Link} to resource list.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.link"
},
"components": {
"description": "{@link Link} to component list.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.link"
}
}
},
"com.vmware.vapi.rest.navigation.service.info": {
"required": [
"href",
"metadata",
"documentation",
"name",
"method"
],
"type": "object",
"properties": {
"href": {
"type": "string",
"description": "URL to get service information."
},
"metadata": {
"description": "{@link Reference} to the meta data for the service.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.reference"
},
"documentation": {
"type": "string",
"description": "Documentation of the service."
},
"name": {
"type": "string",
"description": "Name of the service."
},
"method": {
"description": "{@link HttpMethod} to get service information.",
"$ref": "#/definitions/com.vmware.vapi.rest.navigation.http_method"
}
}
},
"com.vmware.vapi.std.errors.not_allowed_in_current_state": {
"required": [
"messages"
],
"type": "object",
"properties": {
"data": {
"type": "dynamic_structure",
"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 com.vmware.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}."
},
"messages": {
"items": {
"$ref": "#/definitions/com.vmware.vapi.std.localizable_message"
},
"type": "array",
"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."
}
}
},
"com.vmware.vapi.std.errors.not_found": {
"required": [
"messages"
],
"type": "object",
"properties": {
"data": {
"type": "dynamic_structure",
"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 com.vmware.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}."
},
"messages": {
"items": {
"$ref": "#/definitions/com.vmware.vapi.std.localizable_message"
},
"type": "array",
"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."
}
}
},
"com.vmware.vapi.std.errors.service_unavailable": {
"required": [
"messages"
],
"type": "object",
"properties": {
"data": {
"type": "dynamic_structure",
"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 com.vmware.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}."
},
"messages": {
"items": {
"$ref": "#/definitions/com.vmware.vapi.std.localizable_message"
},
"type": "array",
"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."
}
}
},
"com.vmware.vapi.std.errors.unauthenticated": {
"required": [
"messages"
],
"type": "object",
"properties": {
"data": {
"type": "dynamic_structure",
"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 com.vmware.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}."
},
"messages": {
"items": {
"$ref": "#/definitions/com.vmware.vapi.std.localizable_message"
},
"type": "array",
"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."
}
}
},
"com.vmware.vapi.std.errors.unauthorized": {
"required": [
"messages"
],
"type": "object",
"properties": {
"data": {
"type": "dynamic_structure",
"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 com.vmware.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}."
},
"messages": {
"items": {
"$ref": "#/definitions/com.vmware.vapi.std.localizable_message"
},
"type": "array",
"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."
}
}
},
"com.vmware.vapi.std.introspection.operation.data_definition": {
"required": [
"type"
],
"type": "object",
"properties": {
"fields": {
"description": "Fields of the structure type. The key of the map is the canonical name of the field and the value is the {@link DataDefinition} for the field. The order of the structure fields defined in IDL is not maintained by the {@link Operation} service."
},
"element_definition": {
"description": "Contains the element definition for generic data types like List and Optional.",
"$ref": "#/definitions/com.vmware.vapi.std.introspection.operation.data_definition"
},
"type": {
"description": "Data type of the value.",
"$ref": "#/definitions/com.vmware.vapi.std.introspection.operation.data_definition.data_type"
},
"name": {
"type": "string",
"description": "Fully qualified name of the structure."
}
}
},
"com.vmware.vapi.std.introspection.operation.data_definition.data_type": {
"enum": [
"BINARY",
"BOOLEAN",
"DOUBLE",
"DYNAMIC_STRUCTURE",
"ERROR",
"ANY_ERROR",
"LIST",
"LONG",
"OPAQUE",
"OPTIONAL",
"SECRET",
"STRING",
"STRUCTURE",
"STRUCTURE_REF",
"VOID"
],
"type": "string",
"description": "The {@link DataType} enumeration provides values representing the data types supported by the vAPI infrastructure."
},
"com.vmware.vapi.std.introspection.operation.info": {
"required": [
"error_definitions",
"output_definition",
"input_definition"
],
"type": "object",
"properties": {
"error_definitions": {
"items": {
"$ref": "#/definitions/com.vmware.vapi.std.introspection.operation.data_definition"
},
"type": "array",
"description": "List of {@link DataDefinition} describing the errors that the operation might report. The {@link DataDefinition#type} of every element in this list will be {@link DataDefinition.DataType#ERROR}."
},
"output_definition": {
"description": "{@link DataDefinition} describing the operation output.",
"$ref": "#/definitions/com.vmware.vapi.std.introspection.operation.data_definition"
},
"input_definition": {
"description": "{@link DataDefinition} describing the operation input. The {@link DataDefinition#type} of this field will be {@link DataDefinition.DataType#STRUCTURE}. The keys of {@link DataDefinition#fields} are the names of the operation parameters, and the values of {@link DataDefinition#fields} describe the type of the operation parameters.",
"$ref": "#/definitions/com.vmware.vapi.std.introspection.operation.data_definition"
}
}
},
"com.vmware.vapi.std.introspection.provider.info": {
"required": [
"checksum",
"id"
],
"type": "object",
"properties": {
"checksum": {
"type": "string",
"description": "Checksum of the information present in the provider. Clients can use this information to check if the service information has changed. When a new service is added or removed (or) one of the existing service information is modified, the value of the checksum changes. The information used to calculate the checksum includes: This identifier is typically used to retrieve a locale-specific string or message template from a message catalog."
}
}
}
},
"swagger": "2.0",
"externalDocs": {}
}
"
},
"id": {
"type": "string",
"description": "Identifier of the provider"
}
}
},
"com.vmware.vapi.std.introspection.service.info": {
"required": [
"operations"
],
"type": "object",
"properties": {
"operations": {
"uniqueItems": true,
"items": {
"type": "string"
},
"type": "array",
"description": "Set of identifiers of operations present in the service"
}
}
},
"com.vmware.vapi.std.localizable_message": {
"required": [
"default_message",
"args",
"id"
],
"type": "object",
"properties": {
"default_message": {
"type": "string",
"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."
},
"args": {
"items": {
"type": "string"
},
"type": "array",
"description": "Arguments to be substituted into a message template."
},
"id": {
"type": "string",
"description": "Unique identifier of the localizable string or message template.