{ "swagger": "2.0", "info": { "version": "2016-06-01", "title": "RecoveryServicesClient", "x-ms-code-generation-settings": { "internalConstructors": false } }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/locations/{location}/checkNameAvailability": { "post": { "tags": [ "RecoveryServices" ], "summary": "API to check for resource name availability.\r\nA name is available if no other resource exists that has the same SubscriptionId, Resource Name and Type\r\nor if one or more such resources exist, each of these must be GC'd and their time of deletion be more than 24 Hours Ago", "operationId": "RecoveryServices_CheckNameAvailability", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/ApiVersion" }, { "name": "location", "in": "path", "description": "Location of the resource", "required": true, "type": "string" }, { "name": "input", "in": "body", "description": "Contains information about Resource type and Resource name", "required": true, "schema": { "$ref": "#/definitions/CheckNameAvailabilityParameters" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CheckNameAvailabilityResultResource" } } }, "x-ms-examples": { "Availability status of Resource Name when no resource with same name, type and subscription exists, nor has been deleted within last 24 hours": { "$ref": "./examples/CheckNameAvailability_Available.json" }, "Availability status of Resource Name when resource with same name, type and subscription exists": { "$ref": "./examples/CheckNameAvailability_NotAvailable.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults": { "get": { "tags": [ "Vaults" ], "description": "Fetches all the resources of the specified type in the subscription.", "operationId": "Vaults_ListBySubscriptionId", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ApiVersion" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/VaultList" } } }, "deprecated": false, "x-ms-pageable": { "nextLinkName": "nextLink", "itemName": "value" }, "x-ms-examples": { "List of Recovery Services Resources in SubscriptionId": { "$ref": "./examples/ListBySubscriptionIds.json" } } } }, "/providers/Microsoft.RecoveryServices/operations": { "get": { "tags": [ "Operations" ], "description": "Returns the list of available operations.", "operationId": "Operations_List", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/ApiVersion" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ClientDiscoveryResponse" } } }, "deprecated": false, "x-ms-pageable": { "nextLinkName": "nextLink", "itemName": "value" }, "x-ms-examples": { "ListOperations": { "$ref": "./examples/ListOperations.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults": { "get": { "tags": [ "Vaults" ], "description": "Retrieve a list of Vaults.", "operationId": "Vaults_ListByResourceGroup", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/ResourceGroupName" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/VaultList" } } }, "deprecated": false, "x-ms-pageable": { "nextLinkName": "nextLink", "itemName": "value" }, "x-ms-examples": { "List of Recovery Services Resources in ResourceGroup": { "$ref": "./examples/ListResources.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}": { "get": { "tags": [ "Vaults" ], "description": "Get the Vault details.", "operationId": "Vaults_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Vault" } } }, "deprecated": false, "x-ms-examples": { "Get Recovery Services Resource": { "$ref": "./examples/GETVault.json" } } }, "put": { "tags": [ "Vaults" ], "description": "Creates or updates a Recovery Services vault.", "operationId": "Vaults_CreateOrUpdate", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" }, { "name": "vault", "in": "body", "description": "Recovery Services Vault to be created.", "required": true, "schema": { "$ref": "#/definitions/Vault" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Vault" } }, "201": { "description": "Created", "schema": { "$ref": "#/definitions/Vault" } } }, "deprecated": false, "x-ms-examples": { "Create of Update Recovery Services vault": { "$ref": "./examples/PUTVault.json" } } }, "delete": { "tags": [ "Vaults" ], "description": "Deletes a vault.", "operationId": "Vaults_Delete", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" } ], "responses": { "200": { "description": "OK" } }, "deprecated": false, "x-ms-examples": { "Delete Recovery Services Vault": { "$ref": "./examples/DeleteVault.json" } } }, "patch": { "tags": [ "Vaults" ], "description": "Updates the vault.", "operationId": "Vaults_Update", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" }, { "name": "vault", "in": "body", "description": "Recovery Services Vault to be created.", "required": true, "schema": { "$ref": "#/definitions/PatchVault" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Vault" } }, "201": { "description": "Created", "schema": { "$ref": "#/definitions/Vault" } } }, "deprecated": false, "x-ms-examples": { "Update Resource": { "$ref": "./examples/PATCHVault.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo": { "get": { "tags": [ "VaultExtendedInfo" ], "description": "Get the vault extended info.", "operationId": "VaultExtendedInfo_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" } } }, "deprecated": false, "x-ms-examples": { "Get ExtendedInfo of Resource": { "$ref": "./examples/GETVaultExtendedInfo.json" } } }, "put": { "tags": [ "VaultExtendedInfo" ], "description": "Create vault extended info.", "operationId": "VaultExtendedInfo_CreateOrUpdate", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ApiVersion" }, { "name": "resourceResourceExtendedInfoDetails", "in": "body", "description": "Details of ResourceExtendedInfo", "required": true, "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" } } }, "deprecated": false, "x-ms-examples": { "Put ExtendedInfo of Resource": { "$ref": "./examples/UpdateVaultExtendedInfo.json" } } }, "patch": { "tags": [ "VaultExtendedInfo" ], "description": "Update vault extended info.", "operationId": "VaultExtendedInfo_Update", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/VaultName" }, { "$ref": "#/parameters/ApiVersion" }, { "name": "resourceResourceExtendedInfoDetails", "in": "body", "description": "Details of ResourceExtendedInfo", "required": true, "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" } } }, "deprecated": false, "x-ms-examples": { "PATCH ExtendedInfo of Resource": { "$ref": "./examples/UpdateVaultExtendedInfo.json" } } } } }, "definitions": { "CheckNameAvailabilityParameters": { "description": "Resource Name availability input parameters - Resource type and resource name", "type": "object", "properties": { "type": { "description": "Describes the Resource type: Microsoft.RecoveryServices/Vaults", "type": "string" }, "name": { "description": "Resource name for which availability needs to be checked", "type": "string" } } }, "CheckNameAvailabilityResult": { "description": "Response for check name availability API. Resource provider will set availability as true | false.", "type": "object", "properties": { "nameAvailable": { "type": "boolean" }, "reason": { "type": "string" }, "message": { "type": "string" } } }, "CheckNameAvailabilityResultResource": { "description": "Response for check name availability API. Resource provider will set availability as true | false.", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "properties": { "$ref": "#/definitions/CheckNameAvailabilityResult", "description": "CheckNameAvailabilityResultResource properties" } } }, "ClientDiscoveryDisplay": { "description": "Localized display information of an operation.", "type": "object", "properties": { "provider": { "description": "Name of the provider for display purposes", "type": "string" }, "resource": { "description": "ResourceType for which this Operation can be performed.", "type": "string" }, "operation": { "description": "Operations Name itself.", "type": "string" }, "description": { "description": "Description of the operation having details of what operation is about.", "type": "string" } } }, "ClientDiscoveryForLogSpecification": { "description": "Class to represent shoebox log specification in json client discovery.", "type": "object", "properties": { "name": { "description": "Name of the log.", "type": "string" }, "displayName": { "description": "Localized display name", "type": "string" }, "blobDuration": { "description": "Blobs created in customer storage account per hour", "type": "string" } } }, "ClientDiscoveryForProperties": { "description": "Class to represent shoebox properties in json client discovery.", "type": "object", "properties": { "serviceSpecification": { "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", "description": "Operation properties." } } }, "ClientDiscoveryForServiceSpecification": { "description": "Class to represent shoebox service specification in json client discovery.", "type": "object", "properties": { "logSpecifications": { "description": "List of log specifications of this operation.", "type": "array", "items": { "$ref": "#/definitions/ClientDiscoveryForLogSpecification" } } } }, "ClientDiscoveryResponse": { "description": "Operations List response which contains list of available APIs.", "type": "object", "properties": { "value": { "description": "List of available operations.", "type": "array", "items": { "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" } }, "nextLink": { "description": "Link to the next chunk of the response", "type": "string" } } }, "ClientDiscoveryValueForSingleApi": { "description": "Available operation details.", "type": "object", "properties": { "name": { "description": "Name of the Operation.", "type": "string" }, "display": { "$ref": "#/definitions/ClientDiscoveryDisplay", "description": "Contains the localized display information for this particular operation" }, "origin": { "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", "type": "string" }, "properties": { "$ref": "#/definitions/ClientDiscoveryForProperties", "description": "ShoeBox properties for the given operation." } } }, "Resource": { "description": "ARM Resource.", "type": "object", "properties": { "id": { "description": "Resource Id represents the complete path to the resource.", "type": "string", "readOnly": true }, "name": { "description": "Resource name associated with the resource.", "type": "string", "readOnly": true }, "type": { "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", "type": "string", "readOnly": true }, "eTag": { "description": "Optional ETag.", "type": "string" } }, "x-ms-azure-resource": true }, "Sku": { "description": "Identifies the unique system identifier for each Azure resource.", "required": [ "name" ], "type": "object", "properties": { "name": { "description": "The Sku name.", "enum": [ "Standard", "RS0" ], "type": "string", "x-ms-enum": { "name": "SkuName", "modelAsString": true } } } }, "TrackedResource": { "description": "Tracked resource with location.", "type": "object", "required": [ "location" ], "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "location": { "description": "Resource location.", "type": "string" }, "tags": { "description": "Resource tags.", "type": "object", "additionalProperties": { "type": "string" } } } }, "PatchTrackedResource": { "description": "Tracked resource with location.", "type": "object", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "location": { "description": "Resource location.", "type": "string" }, "tags": { "description": "Resource tags.", "type": "object", "additionalProperties": { "type": "string" } } } }, "UpgradeDetails": { "description": "Details for upgrading vault.", "type": "object", "properties": { "operationId": { "description": "ID of the vault upgrade operation.", "type": "string", "readOnly": true }, "startTimeUtc": { "description": "UTC time at which the upgrade operation has started.", "type": "string", "readOnly": true, "format": "date-time" }, "lastUpdatedTimeUtc": { "description": "UTC time at which the upgrade operation status was last updated.", "type": "string", "readOnly": true, "format": "date-time" }, "endTimeUtc": { "description": "UTC time at which the upgrade operation has ended.", "type": "string", "readOnly": true, "format": "date-time" }, "status": { "description": "Status of the vault upgrade operation.", "enum": [ "Unknown", "InProgress", "Upgraded", "Failed" ], "type": "string", "readOnly": true, "x-ms-enum": { "name": "VaultUpgradeState", "modelAsString": true } }, "message": { "description": "Message to the user containing information about the upgrade operation.", "type": "string", "readOnly": true }, "triggerType": { "description": "The way the vault upgrade was triggered.", "enum": [ "UserTriggered", "ForcedUpgrade" ], "type": "string", "readOnly": true, "x-ms-enum": { "name": "TriggerType", "modelAsString": true } }, "upgradedResourceId": { "description": "Resource ID of the upgraded vault.", "type": "string", "readOnly": true }, "previousResourceId": { "description": "Resource ID of the vault before the upgrade.", "type": "string", "readOnly": true } } }, "Vault": { "description": "Resource information, as returned by the resource provider.", "type": "object", "allOf": [ { "$ref": "#/definitions/TrackedResource" } ], "properties": { "properties": { "$ref": "#/definitions/VaultProperties" }, "sku": { "$ref": "#/definitions/Sku" } } }, "PatchVault": { "description": "Patch Resource information, as returned by the resource provider.", "type": "object", "allOf": [ { "$ref": "#/definitions/PatchTrackedResource" } ], "properties": { "properties": { "$ref": "#/definitions/VaultProperties" }, "sku": { "$ref": "#/definitions/Sku" } } }, "VaultExtendedInfo": { "description": "Vault extended information.", "type": "object", "properties": { "integrityKey": { "description": "Integrity key.", "type": "string" }, "encryptionKey": { "description": "Encryption key.", "type": "string" }, "encryptionKeyThumbprint": { "description": "Encryption key thumbprint.", "type": "string" }, "algorithm": { "description": "Algorithm for Vault ExtendedInfo", "type": "string" } } }, "VaultExtendedInfoResource": { "description": "Vault extended information.", "type": "object", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "properties": { "$ref": "#/definitions/VaultExtendedInfo", "x-ms-client-flatten": true } } }, "VaultList": { "description": "The response model for a list of Vaults.", "type": "object", "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/Vault" } }, "nextLink": { "type": "string", "readOnly": true } } }, "VaultProperties": { "description": "Properties of the vault.", "type": "object", "properties": { "provisioningState": { "description": "Provisioning State.", "type": "string", "readOnly": true }, "upgradeDetails": { "$ref": "#/definitions/UpgradeDetails" } } } }, "parameters": { "SubscriptionId": { "name": "subscriptionId", "in": "path", "description": "The subscription Id.", "required": true, "type": "string" }, "ResourceGroupName": { "name": "resourceGroupName", "in": "path", "description": "The name of the resource group where the recovery services vault is present.", "required": true, "x-ms-parameter-location": "method", "type": "string" }, "VaultName": { "name": "vaultName", "in": "path", "description": "The name of the recovery services vault.", "required": true, "x-ms-parameter-location": "method", "type": "string" }, "ApiVersion": { "name": "api-version", "in": "query", "description": "Client Api Version.", "required": true, "type": "string" } }, "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account." } } }, "security": [ { "azure_auth": [ "user_impersonation" ] } ] }