From 89f00c23e9b247304c490504f182aebd0dff4f4e Mon Sep 17 00:00:00 2001 From: Mayank Aggarwal Date: Fri, 26 Feb 2021 13:40:56 +0530 Subject: [PATCH] Users/mayaggar/dataprotection (#13168) * New Readme Config File * New Go Language Readme Config File * New Azure AZ Readme Config File * New Azure CLI Readme Config File * New Typescript Language Readme Config File * New Python Language Readme Config File * New C# Language Readme Config File * New AzureResourceSchema Readme Config File * New Swagger Spec File * New Swagger Example Spec File * Microsoft.data protection (#12814) * moving changes from Private repo * changes for autorest vqalidation err * fix delete response * fixing lint and model errors * exposureControlledFeatures fixes * prettier fixes * fixing spell check issues * adding backuptype in custom-words * PolicyParameters related changes for Disk Backup * fixing PR comments * description changes * changes for preview to stable folder * changes for retention in monitoring * changes for stable in readme * fixing checklist gate issues * changes for systemdata in dppresource Co-authored-by: sumitmal <32121310+sumitmal@users.noreply.github.com> Co-authored-by: Mayank Aggarwal Co-authored-by: vityagi * MFA MUA DPP swagger changes (#13081) * MFA MUA DPP swagger changes * Resolving PR comments Co-authored-by: Madhumanti Dey * Swagger changes for VaultGuardResource Object (#13116) * MFA MUA DPP swagger changes * Resolving PR comments * MFA MUA dpp swagger changes * Fixed preetierCheck failures * Fixed Avocado failures * Fixed LintDiff warning * resolved PR comments * GO SDK fix * Go SDK fix * Go SDK fix * preview related changes * Go SDK fix * resolved PR comments Co-authored-by: Madhumanti Dey * changes for preview DPP version * fix for credscan SAS Co-authored-by: sumitmal2711 <58544969+sumitmal2711@users.noreply.github.com> Co-authored-by: sumitmal <32121310+sumitmal@users.noreply.github.com> Co-authored-by: Mayank Aggarwal Co-authored-by: vityagi Co-authored-by: deymadhumanti <58032062+deymadhumanti@users.noreply.github.com> Co-authored-by: Madhumanti Dey --- custom-words.txt | 4 + .../2021-02-01-preview/dataprotection.json | 4203 +++++++++++++++++ .../DeleteBackupInstance.json | 20 + .../GetBackupInstance.json | 47 + .../GetRecoveryPoint.json | 39 + .../ListBackupInstances.json | 50 + .../ListRecoveryPoints.json | 67 + .../PutBackupInstance.json | 140 + .../TriggerBackup.json | 27 + .../TriggerRehydrate.json | 24 + .../TriggerRestore.json | 47 + .../TriggerRestoreAsFiles.json | 34 + .../TriggerRestoreWithRehydration.json | 49 + .../ValidateForBackup.json | 45 + .../ValidateRestore.json | 49 + .../examples/CheckfeatureSupport.json | 31 + .../examples/GetOperationResult.json | 17 + .../examples/GetOperationStatus.json | 19 + .../JobCRUD/GetExportJobsOperationResult.json | 26 + .../examples/JobCRUD/GetJob.json | 56 + .../examples/JobCRUD/ListJobs.json | 135 + .../examples/JobCRUD/TriggerExportJobs.json | 17 + .../CreateOrUpdateBackupPolicy.json | 200 + .../PolicyCRUD/DeleteBackupPolicy.json | 13 + .../examples/PolicyCRUD/GetBackupPolicy.json | 109 + .../examples/PolicyCRUD/ListBackupPolicy.json | 112 + .../CheckBackupVaultsNameAvailability.json | 19 + .../examples/VaultCRUD/DeleteBackupVault.json | 19 + .../examples/VaultCRUD/GetBackupVault.json | 33 + .../VaultCRUD/GetBackupVaultWithMSI.json | 35 + .../GetBackupVaultsInResourceGroup.json | 59 + .../GetBackupVaultsInSubscription.json | 56 + .../VaultCRUD/GetOperationResultPatch.json | 39 + .../examples/VaultCRUD/PatchBackupVault.json | 43 + .../examples/VaultCRUD/PutBackupVault.json | 74 + .../VaultCRUD/PutBackupVaultWithMSI.json | 76 + .../resource-manager/readme.go.md | 26 + .../resource-manager/readme.java.md | 34 + .../dataprotection/resource-manager/readme.md | 124 + .../resource-manager/readme.nodejs.md | 14 + .../resource-manager/readme.python.md | 27 + .../resource-manager/readme.ruby.md | 26 + .../resource-manager/readme.typescript.md | 13 + 43 files changed, 6297 insertions(+) create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerBackup.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestore.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ValidateRestore.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/CheckfeatureSupport.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/GetOperationResult.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/GetOperationStatus.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/GetJob.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/ListJobs.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/TriggerExportJobs.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/GetBackupPolicy.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/ListBackupPolicy.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/DeleteBackupVault.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVault.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetOperationResultPatch.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PatchBackupVault.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PutBackupVault.json create mode 100644 specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json create mode 100644 specification/dataprotection/resource-manager/readme.go.md create mode 100644 specification/dataprotection/resource-manager/readme.java.md create mode 100644 specification/dataprotection/resource-manager/readme.md create mode 100644 specification/dataprotection/resource-manager/readme.nodejs.md create mode 100644 specification/dataprotection/resource-manager/readme.python.md create mode 100644 specification/dataprotection/resource-manager/readme.ruby.md create mode 100644 specification/dataprotection/resource-manager/readme.typescript.md diff --git a/custom-words.txt b/custom-words.txt index 37be89395e83..b4a3d70169f4 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -2097,6 +2097,10 @@ Exprired azureasyncoperations saskey vmsize +CheckfeatureSupport +Checkfeature +lifecycles +backuptype FSLogix privatelinkservice natgateway \ No newline at end of file diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json new file mode 100644 index 000000000000..84386c381515 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json @@ -0,0 +1,4203 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-02-01-preview", + "title": "DataProtectionBackupClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/backupVaults": { + "get": { + "tags": [ + "BackupVaults" + ], + "description": "Returns resource collection belonging to a subscription.", + "operationId": "BackupVaults_GetResourcesInSubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get BackupVaults in Subscription": { + "$ref": "./examples/VaultCRUD/GetBackupVaultsInSubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationResults/{operationId}": { + "get": { + "tags": [ + "GetOperationResult" + ], + "description": "Gets the operation result for a resource", + "operationId": "OperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "summary": "Gets the operation status for a resource.", + "x-ms-examples": { + "Get OperationResult": { + "$ref": "./examples/GetOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationStatus/{operationId}": { + "get": { + "tags": [ + "OperationStatus" + ], + "summary": "Gets the operation status for a resource.", + "operationId": "GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/GetOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults": { + "get": { + "tags": [ + "BackupVaults" + ], + "description": "Returns resource collection belonging to a resource group.", + "operationId": "BackupVaults_GetResourcesInResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get BackupVaults in ResourceGroup": { + "$ref": "./examples/VaultCRUD/GetBackupVaultsInResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}": { + "get": { + "tags": [ + "BackupVaults" + ], + "description": "Returns a resource belonging to a resource group.", + "operationId": "BackupVaults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get BackupVault": { + "$ref": "./examples/VaultCRUD/GetBackupVault.json" + }, + "Get BackupVault With MSI": { + "$ref": "./examples/VaultCRUD/GetBackupVaultWithMSI.json" + } + } + }, + "put": { + "tags": [ + "BackupVaults" + ], + "description": "Creates or updates a BackupVault resource belonging to a resource group.", + "operationId": "BackupVaults_Put", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create BackupVault": { + "$ref": "./examples/VaultCRUD/PutBackupVault.json" + }, + "Create BackupVault With MSI": { + "$ref": "./examples/VaultCRUD/PutBackupVaultWithMSI.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "BackupVaults" + ], + "description": "Deletes a BackupVault resource from the resource group.", + "operationId": "BackupVaults_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete BackupVault": { + "$ref": "./examples/VaultCRUD/DeleteBackupVault.json" + } + } + }, + "patch": { + "tags": [ + "BackupVaults" + ], + "description": "Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource.", + "operationId": "BackupVaults_Patch", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/PatchResourceRequestInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Patch BackupVault": { + "$ref": "./examples/VaultCRUD/PatchBackupVault.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationResults/{operationId}": { + "get": { + "tags": [ + "Resources" + ], + "operationId": "GetOperationResultPatch", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetOperationResult Patch": { + "$ref": "./examples/VaultCRUD/GetOperationResultPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "BackupVaults" + ], + "summary": "API to check for resource name availability", + "operationId": "BackupVaults_CheckNameAvailability", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "location", + "in": "path", + "description": "The location in which uniqueness will be verified.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Check name availability request", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check BackupVaults name availability": { + "$ref": "./examples/VaultCRUD/CheckBackupVaultsNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/checkFeatureSupport": { + "post": { + "tags": [ + "DppFeatureSupport" + ], + "summary": "Validates if a feature is supported", + "operationId": "CheckFeatureSupport", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Feature support request object", + "required": true, + "schema": { + "$ref": "#/definitions/FeatureValidationRequestBase" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FeatureValidationResponseBase" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check Azure Vm Backup Feature Support": { + "$ref": "./examples/CheckfeatureSupport.json" + } + } + } + }, + "/providers/Microsoft.DataProtection/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Returns the list of available operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies": { + "get": { + "tags": [ + "BackupPolicies" + ], + "description": "Returns list of backup policies belonging to a backup vault", + "operationId": "BackupPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BaseBackupPolicyResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List BackupPolicy": { + "$ref": "./examples/PolicyCRUD/ListBackupPolicy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName}": { + "get": { + "tags": [ + "BackupPolicies" + ], + "operationId": "BackupPolicies_Get", + "description": "Gets a backup policy belonging to a backup vault", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BaseBackupPolicyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "summary": "Gets a backup policy belonging to a backup vault", + "x-ms-examples": { + "Get BackupPolicy": { + "$ref": "./examples/PolicyCRUD/GetBackupPolicy.json" + } + } + }, + "put": { + "tags": [ + "BackupPolicies" + ], + "operationId": "BackupPolicies_Put", + "summary": "Creates or Updates a backup policy belonging to a backup vault", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/BaseBackupPolicyResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BaseBackupPolicyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CreateOrUpdate BackupPolicy": { + "$ref": "./examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json" + } + } + }, + "delete": { + "tags": [ + "BackupPolicies" + ], + "operationId": "BackupPolicies_Delete", + "summary": "Deletes a backup policy belonging to a backup vault", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete BackupPolicy": { + "$ref": "./examples/PolicyCRUD/DeleteBackupPolicy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances": { + "get": { + "tags": [ + "BackupInstances" + ], + "description": "Gets a backup instances belonging to a backup vault", + "operationId": "BackupInstances_GetBackupInstancesInVault", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupInstanceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List BackupInstances in a Vault": { + "$ref": "./examples/BackupInstanceOperations/ListBackupInstances.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}": { + "get": { + "tags": [ + "BackupInstances" + ], + "description": "Gets a backup instance with name in a backup vault", + "operationId": "BackupInstances_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupInstanceName", + "description": "The name of the backup instance", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupInstanceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get BackupInstance": { + "$ref": "./examples/BackupInstanceOperations/GetBackupInstance.json" + } + } + }, + "put": { + "tags": [ + "BackupInstances" + ], + "operationId": "BackupInstances_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupInstanceName", + "description": "The name of the backup instance", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/BackupInstanceResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupInstanceResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BackupInstanceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create BackupInstance": { + "$ref": "./examples/BackupInstanceOperations/PutBackupInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "BackupInstances" + ], + "operationId": "BackupInstances_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupInstanceName", + "description": "The name of the backup instance", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent" + }, + "200": { + "description": "Ok" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete BackupInstance": { + "$ref": "./examples/BackupInstanceOperations/DeleteBackupInstance.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/backup": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Trigger adhoc backup ", + "operationId": "BackupInstances_AdhocBackup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupInstanceName", + "description": "The name of the backup instance", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerBackupRequest" + } + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Trigger Adhoc Backup": { + "$ref": "./examples/BackupInstanceOperations/TriggerBackup.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/validateForBackup": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Validate whether adhoc backup will be successful or not", + "operationId": "BackupInstances_ValidateForBackup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateForBackupRequest" + } + } + ], + "responses": { + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Validate For Backup": { + "$ref": "./examples/BackupInstanceOperations/ValidateForBackup.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints": { + "get": { + "tags": [ + "RecoveryPoint" + ], + "description": "Returns a list of Recovery Points for a DataSource in a vault.", + "operationId": "RecoveryPoints_GetList", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupInstanceName", + "description": "The name of the backup instance", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupRecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Recovery Points in a Vault": { + "$ref": "./examples/BackupInstanceOperations/ListRecoveryPoints.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints/{recoveryPointId}": { + "get": { + "tags": [ + "RecoveryPoint" + ], + "description": "Gets a Recovery Point using recoveryPointId for a Datasource.", + "operationId": "RecoveryPoint_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupInstanceName", + "description": "The name of the backup instance", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupRecoveryPointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Recovery Point": { + "$ref": "./examples/BackupInstanceOperations/GetRecoveryPoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/rehydrate": { + "post": { + "description": "rehydrate recovery point for restore for a BackupInstance", + "operationId": "BackupInstances_TriggerRehydrate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "description": "Request body for operation", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/AzureBackupRehydrationRequest" + } + }, + { + "in": "path", + "name": "backupInstanceName", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "tags": [ + "BackupInstances" + ], + "x-ms-examples": { + "Trigger Rehydrate": { + "$ref": "./examples/BackupInstanceOperations/TriggerRehydrate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/restore": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Triggers restore for a BackupInstance", + "operationId": "BackupInstances_TriggerRestore", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupInstanceName", + "description": "The name of the backup instance", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/AzureBackupRestoreRequest" + } + } + ], + "responses": { + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger Restore": { + "$ref": "./examples/BackupInstanceOperations/TriggerRestore.json" + }, + "Trigger Restore As Files": { + "$ref": "./examples/BackupInstanceOperations/TriggerRestoreAsFiles.json" + }, + "Trigger Restore With Rehydration": { + "$ref": "./examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/validateRestore": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Validates if Restore can be triggered for a DataSource", + "operationId": "BackupInstances_ValidateRestore", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupInstanceName", + "description": "The name of the backup instance", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateRestoreRequestObject" + } + } + ], + "responses": { + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Validate Restore": { + "$ref": "./examples/BackupInstanceOperations/ValidateRestore.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs": { + "get": { + "tags": [ + "AzureBackupJobs" + ], + "description": "Returns list of jobs belonging to a backup vault", + "operationId": "Jobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupJobResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Jobs": { + "$ref": "./examples/JobCRUD/ListJobs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}": { + "get": { + "tags": [ + "AzureBackupJob" + ], + "description": "Gets a job with id in a backup vault", + "operationId": "Job_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "jobId", + "description": "The Job ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupJobResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Job": { + "$ref": "./examples/JobCRUD/GetJob.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/exportBackupJobs": { + "post": { + "tags": [ + "AzureBackupJob" + ], + "description": "Triggers export of jobs and returns an OperationID to track.", + "operationId": "ExportJobs_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Trigger Export Jobs": { + "$ref": "./examples/JobCRUD/TriggerExportJobs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/operations/{operationId}": { + "get": { + "tags": [ + "AzureBackupJob" + ], + "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", + "operationId": "ExportJobsOperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "description": "OperationID which represents the export job.", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExportJobsResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Export Jobs Operation Result": { + "$ref": "./examples/JobCRUD/GetExportJobsOperationResult.json" + } + } + } + } + }, + "definitions": { + "AbsoluteDeleteOption": { + "allOf": [ + { + "$ref": "#/definitions/DeleteOption" + } + ], + "description": "Delete option with duration", + "required": [ + "duration", + "objectType" + ], + "title": "AbsoluteDeleteOption", + "type": "object", + "x-ms-discriminator-value": "AbsoluteDeleteOption" + }, + "AdHocBackupRuleOptions": { + "description": "Adhoc backup rules", + "properties": { + "ruleName": { + "type": "string" + }, + "triggerOption": { + "$ref": "#/definitions/AdhocBackupTriggerOption" + } + }, + "required": [ + "ruleName", + "triggerOption" + ], + "title": "AdHocBackupRuleOptions", + "type": "object" + }, + "AdhocBackupTriggerOption": { + "description": "Adhoc backup trigger option", + "properties": { + "retentionTagOverride": { + "type": "string" + } + }, + "title": "AdhocBackupTriggerOption", + "type": "object" + }, + "AdhocBasedTaggingCriteria": { + "description": "Adhoc backup tagging criteria", + "properties": { + "tagInfo": { + "$ref": "#/definitions/RetentionTag", + "description": "Retention tag information" + } + }, + "title": "AdhocBasedTaggingCriteria", + "type": "object" + }, + "AdhocBasedTriggerContext": { + "allOf": [ + { + "$ref": "#/definitions/TriggerContext" + } + ], + "description": "Adhoc trigger context", + "properties": { + "taggingCriteria": { + "$ref": "#/definitions/AdhocBasedTaggingCriteria", + "description": "Tagging Criteria containing retention tag for adhoc backup." + } + }, + "required": [ + "objectType", + "taggingCriteria" + ], + "title": "AdhocBasedTriggerContext", + "type": "object", + "x-ms-discriminator-value": "AdhocBasedTriggerContext" + }, + "AzureBackupDiscreteRecoveryPoint": { + "allOf": [ + { + "$ref": "#/definitions/AzureBackupRecoveryPoint" + } + ], + "description": "Azure backup discrete RecoveryPoint", + "properties": { + "friendlyName": { + "type": "string" + }, + "recoveryPointDataStoresDetails": { + "items": { + "$ref": "#/definitions/RecoveryPointDataStoreDetails" + }, + "type": "array" + }, + "recoveryPointTime": { + "format": "date-time", + "type": "string" + }, + "recoveryPointType": { + "type": "string" + }, + "retentionTagName": { + "type": "string" + }, + "retentionTagVersion": { + "type": "string" + } + }, + "required": [ + "recoveryPointTime" + ], + "title": "AzureBackupDiscreteRecoveryPoint", + "type": "object", + "x-ms-discriminator-value": "AzureBackupDiscreteRecoveryPoint" + }, + "AzureBackupJob": { + "description": "AzureBackup Job Class", + "properties": { + "activityID": { + "description": "Job Activity Id", + "type": "string" + }, + "backupInstanceFriendlyName": { + "description": "Name of the Backup Instance", + "type": "string" + }, + "backupInstanceId": { + "description": "ARM ID of the Backup Instance", + "readOnly": true, + "type": "string" + }, + "dataSourceId": { + "description": "ARM ID of the DataSource", + "type": "string" + }, + "dataSourceLocation": { + "description": "Location of the DataSource", + "type": "string" + }, + "dataSourceName": { + "description": "User Friendly Name of the DataSource", + "type": "string" + }, + "dataSourceSetName": { + "description": "Data Source Set Name of the DataSource", + "type": "string" + }, + "dataSourceType": { + "description": "Type of DataSource", + "type": "string" + }, + "duration": { + "description": "Total run time of the job. ISO 8601 format.", + "format": "duration", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "EndTime of the job(in UTC)", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "errorDetails": { + "description": "A List, detailing the errors related to the job", + "items": { + "$ref": "#/definitions/UserFacingError" + }, + "readOnly": true, + "type": "array" + }, + "extendedInfo": { + "$ref": "#/definitions/JobExtendedInfo", + "description": "Extended Information about the job", + "readOnly": true + }, + "isUserTriggered": { + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", + "type": "boolean" + }, + "operation": { + "description": "It indicates the type of Job i.e. Backup:full/log/diff ;Restore:ALR/OLR; Tiering:Backup/Archive ; Management:ConfigureProtection/UnConfigure", + "type": "string" + }, + "operationCategory": { + "description": "It indicates the type of Job i.e. Backup/Restore/Tiering/Management", + "type": "string", + "enum": [ + "Backup", + "Restore", + "Management", + "Tiering" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "JobOperationCategory" + } + }, + "policyId": { + "description": "ARM ID of the policy", + "readOnly": true, + "type": "string" + }, + "policyName": { + "description": "Name of the policy", + "readOnly": true, + "type": "string" + }, + "progressEnabled": { + "description": "Indicated whether progress is enabled for the job", + "type": "boolean" + }, + "progressUrl": { + "description": "Url which contains job's progress", + "readOnly": true, + "type": "string" + }, + "restoreType": { + "description": "It indicates the sub type of operation i.e. in case of Restore it can be ALR/OLR", + "readOnly": true, + "type": "string" + }, + "sourceResourceGroup": { + "description": "Resource Group Name of the Datasource", + "type": "string" + }, + "sourceSubscriptionID": { + "description": "SubscriptionId corresponding to the DataSource", + "type": "string" + }, + "startTime": { + "description": "StartTime of the job(in UTC)", + "format": "date-time", + "type": "string" + }, + "status": { + "description": "Status of the job like InProgress/Success/Failed/Cancelled/SuccessWithWarning", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription Id of the corresponding backup vault", + "type": "string" + }, + "supportedActions": { + "description": "List of supported actions", + "items": { + "type": "string" + }, + "type": "array" + }, + "vaultName": { + "description": "Name of the vault", + "type": "string" + } + }, + "required": [ + "activityID", + "subscriptionId", + "dataSourceId", + "vaultName", + "backupInstanceFriendlyName", + "sourceResourceGroup", + "dataSourceSetName", + "dataSourceName", + "progressEnabled", + "sourceSubscriptionID", + "dataSourceLocation", + "startTime", + "dataSourceType", + "operationCategory", + "operation", + "status", + "isUserTriggered", + "supportedActions" + ], + "type": "object" + }, + "AzureBackupJobResource": { + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "description": "AzureBackup Job Resource Class", + "properties": { + "properties": { + "$ref": "#/definitions/AzureBackupJob", + "description": "AzureBackupJobResource properties", + "type": "object" + } + }, + "type": "object" + }, + "AzureBackupJobResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "List of AzureBackup Job resources", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/AzureBackupJobResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "AzureBackupParams": { + "allOf": [ + { + "$ref": "#/definitions/BackupParameters" + } + ], + "description": "Azure backup parameters", + "properties": { + "backupType": { + "description": "BackupType ; Full/Incremental etc", + "type": "string" + } + }, + "required": [ + "backupType", + "objectType" + ], + "title": "AzureBackupParams", + "type": "object", + "x-ms-discriminator-value": "AzureBackupParams" + }, + "AzureBackupRecoveryPoint": { + "description": "Azure backup recoveryPoint", + "discriminator": "objectType", + "properties": { + "objectType": { + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "AzureBackupRecoveryPoint", + "type": "object" + }, + "AzureBackupRecoveryPointBasedRestoreRequest": { + "allOf": [ + { + "$ref": "#/definitions/AzureBackupRestoreRequest" + } + ], + "description": "Azure backup recoveryPoint based restore request", + "properties": { + "recoveryPointId": { + "type": "string" + } + }, + "required": [ + "recoveryPointId" + ], + "title": "AzureBackupRecoveryPointBasedRestoreRequest", + "type": "object", + "x-ms-discriminator-value": "AzureBackupRecoveryPointBasedRestoreRequest" + }, + "AzureBackupRecoveryPointResource": { + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "description": "Azure backup recoveryPoint resource", + "properties": { + "properties": { + "$ref": "#/definitions/AzureBackupRecoveryPoint", + "description": "AzureBackupRecoveryPointResource properties", + "x-ms-client-flatten": true + } + }, + "title": "AzureBackupRecoveryPointResource" + }, + "AzureBackupRecoveryPointResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "Azure backup recoveryPoint resource list", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/AzureBackupRecoveryPointResource" + }, + "type": "array" + } + }, + "title": "AzureBackupRecoveryPointResourceList", + "type": "object" + }, + "AzureBackupRehydrationRequest": { + "description": "Azure Backup Rehydrate Request", + "properties": { + "recoveryPointId": { + "description": "Id of the recovery point to be recovered", + "type": "string" + }, + "rehydrationPriority": { + "description": "Priority to be used for rehydration. Values High or Standard", + "$ref": "#/definitions/RehydrationPriority" + }, + "rehydrationRetentionDuration": { + "description": "Retention duration in ISO 8601 format i.e P10D .", + "type": "string" + } + }, + "required": [ + "recoveryPointId", + "rehydrationRetentionDuration" + ], + "title": "AzureBackupRehydrationRequest", + "type": "object" + }, + "AzureBackupRestoreRequest": { + "description": "Azure backup restore request", + "discriminator": "objectType", + "properties": { + "objectType": { + "type": "string" + }, + "restoreTargetInfo": { + "$ref": "#/definitions/RestoreTargetInfoBase", + "description": "Gets or sets the restore target information." + }, + "sourceDataStoreType": { + "description": "Gets or sets the type of the source data store.", + "enum": [ + "ArchiveStore", + "SnapshotStore", + "VaultStore" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SourceDataStoreType" + } + } + }, + "required": [ + "objectType", + "restoreTargetInfo", + "sourceDataStoreType" + ], + "title": "AzureBackupRestoreRequest", + "type": "object" + }, + "AzureBackupRestoreWithRehydrationRequest": { + "allOf": [ + { + "$ref": "#/definitions/AzureBackupRecoveryPointBasedRestoreRequest" + } + ], + "description": "AzureBackup Restore with Rehydration Request", + "properties": { + "rehydrationPriority": { + "description": "Priority to be used for rehydration. Values High or Standard", + "$ref": "#/definitions/RehydrationPriority" + }, + "rehydrationRetentionDuration": { + "description": "Retention duration in ISO 8601 format i.e P10D .", + "type": "string" + } + }, + "required": [ + "rehydrationPriority", + "rehydrationRetentionDuration" + ], + "title": "AzureBackupRestoreWithRehydrationRequest", + "type": "object", + "x-ms-discriminator-value": "AzureBackupRestoreWithRehydrationRequest" + }, + "AzureBackupRule": { + "allOf": [ + { + "$ref": "#/definitions/BasePolicyRule" + } + ], + "description": "Azure backup rule", + "properties": { + "backupParameters": { + "$ref": "#/definitions/BackupParameters" + }, + "dataStore": { + "$ref": "#/definitions/DataStoreInfoBase" + }, + "trigger": { + "$ref": "#/definitions/TriggerContext" + } + }, + "required": [ + "dataStore", + "name", + "objectType", + "trigger" + ], + "title": "AzureBackupRule", + "type": "object", + "x-ms-discriminator-value": "AzureBackupRule" + }, + "AzureOperationalStoreParameters": { + "description": "Parameters for Operational-Tier DataStore", + "required": [ + "objectType", + "dataStoreType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataStoreParameters" + } + ], + "properties": { + "resourceGroupId": { + "description": "Gets or sets the Resource Group Uri.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureOperationalStoreParameters" + }, + "AzureRetentionRule": { + "allOf": [ + { + "$ref": "#/definitions/BasePolicyRule" + } + ], + "description": "Azure retention rule", + "properties": { + "isDefault": { + "type": "boolean" + }, + "lifecycles": { + "items": { + "$ref": "#/definitions/SourceLifeCycle" + }, + "type": "array" + } + }, + "required": [ + "lifecycles", + "name", + "objectType" + ], + "title": "AzureRetentionRule", + "type": "object", + "x-ms-discriminator-value": "AzureRetentionRule" + }, + "BackupCriteria": { + "description": "BackupCriteria base class", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "BackupCriteria", + "type": "object" + }, + "BackupInstance": { + "description": "Backup instance", + "properties": { + "dataSourceInfo": { + "$ref": "#/definitions/Datasource", + "description": "Gets or sets the data source information." + }, + "dataSourceSetInfo": { + "$ref": "#/definitions/DatasourceSet", + "description": "Gets or sets the data source set information." + }, + "objectType": { + "type": "string" + }, + "policyInfo": { + "$ref": "#/definitions/PolicyInfo", + "description": "Gets or sets the policy information." + }, + "protectionStatus": { + "$ref": "#/definitions/ProtectionStatusDetails", + "description": "Specifies the protection status of the resource", + "readOnly": true + }, + "provisioningState": { + "description": "Specifies the provisioning state of the resource i.e. provisioning/updating/Succeeded/Failed", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "dataSourceInfo", + "policyInfo" + ], + "title": "BackupInstance", + "type": "object" + }, + "BackupInstanceResource": { + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "description": "BackupInstance Resource", + "properties": { + "properties": { + "$ref": "#/definitions/BackupInstance", + "description": "BackupInstanceResource properties", + "x-ms-client-flatten": true + } + }, + "title": "BackupInstanceResource" + }, + "BackupInstanceResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "BackupInstance Resource list response", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/BackupInstanceResource" + }, + "type": "array" + } + }, + "title": "BackupInstanceResourceList", + "type": "object" + }, + "BackupParameters": { + "description": "BackupParameters base", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "BackupParameters", + "type": "object" + }, + "BackupPolicy": { + "allOf": [ + { + "$ref": "#/definitions/BaseBackupPolicy" + } + ], + "description": "Rule based backup policy", + "properties": { + "policyRules": { + "description": "Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc", + "items": { + "$ref": "#/definitions/BasePolicyRule" + }, + "type": "array" + } + }, + "required": [ + "datasourceTypes", + "policyRules" + ], + "title": "BackupPolicy", + "type": "object", + "x-ms-discriminator-value": "BackupPolicy" + }, + "BackupSchedule": { + "description": "Schedule for backup", + "properties": { + "repeatingTimeIntervals": { + "description": "ISO 8601 repeating time interval format", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "repeatingTimeIntervals" + ], + "title": "BackupSchedule", + "type": "object" + }, + "BackupVault": { + "description": "Backup Vault", + "properties": { + "provisioningState": { + "description": "Provisioning state of the BackupVault resource", + "enum": [ + "Failed", + "Provisioning", + "Succeeded", + "Unknown", + "Updating" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningState" + } + }, + "storageSettings": { + "description": "Storage Settings", + "items": { + "$ref": "#/definitions/StorageSetting" + }, + "type": "array" + } + }, + "title": "BackupVault", + "type": "object" + }, + "BackupVaultResource": { + "allOf": [ + { + "$ref": "#/definitions/DppTrackedResource" + } + ], + "description": "Backup Vault Resource", + "properties": { + "properties": { + "$ref": "#/definitions/BackupVault", + "description": "BackupVaultResource properties", + "x-ms-client-flatten": true + } + }, + "title": "BackupVault Resource" + }, + "BackupVaultResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "List of BackupVault resources", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/BackupVaultResource" + }, + "type": "array" + } + }, + "title": "BackupVaultResourceList", + "type": "object" + }, + "BaseBackupPolicy": { + "description": "BackupPolicy base", + "discriminator": "objectType", + "properties": { + "datasourceTypes": { + "description": "Type of datasource for the backup management", + "items": { + "type": "string" + }, + "type": "array" + }, + "objectType": { + "type": "string" + } + }, + "required": [ + "datasourceTypes", + "objectType" + ], + "title": "BaseBackupPolicy", + "type": "object" + }, + "BaseBackupPolicyResource": { + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "description": "BaseBackupPolicy resource", + "properties": { + "properties": { + "$ref": "#/definitions/BaseBackupPolicy", + "description": "BaseBackupPolicyResource properties", + "x-ms-client-flatten": true + } + }, + "title": "BaseBackupPolicyResource" + }, + "BaseBackupPolicyResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "List of BaseBackupPolicy resources", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/BaseBackupPolicyResource" + }, + "type": "array" + } + }, + "title": "BaseBackupPolicyResourceList", + "type": "object" + }, + "BasePolicyRule": { + "description": "BasePolicy Rule", + "discriminator": "objectType", + "properties": { + "name": { + "type": "string" + }, + "objectType": { + "type": "string" + } + }, + "required": [ + "name", + "objectType" + ], + "title": "BasePolicyRule", + "type": "object" + }, + "CheckNameAvailabilityRequest": { + "description": "CheckNameAvailability Request", + "properties": { + "name": { + "description": "Resource name for which availability needs to be checked", + "type": "string" + }, + "type": { + "description": "Describes the Resource type: Microsoft.DataProtection/BackupVaults", + "type": "string" + } + }, + "title": "CheckNameAvailabilityRequest", + "type": "object" + }, + "CheckNameAvailabilityResult": { + "description": "CheckNameAvailability Result", + "properties": { + "message": { + "description": "Gets or sets the message.", + "type": "string" + }, + "nameAvailable": { + "description": "Gets or sets a value indicating whether [name available].", + "type": "boolean" + }, + "reason": { + "description": "Gets or sets the reason.", + "type": "string" + } + }, + "title": "CheckNameAvailabilityResult", + "type": "object" + }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "properties": { + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + } + }, + "title": "ClientDiscoveryDisplay", + "type": "object" + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "properties": { + "blobDuration": { + "description": "blob duration of shoebox log specification", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "name": { + "description": "Name for shoebox log specification.", + "type": "string" + } + }, + "title": "ClientDiscoveryForLogSpecification", + "type": "object" + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + }, + "title": "ClientDiscoveryForProperties", + "type": "object" + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + }, + "type": "array" + } + }, + "title": "ClientDiscoveryForServiceSpecification", + "type": "object" + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "properties": { + "nextLink": { + "description": "Link to the next chunk of Response.", + "type": "string" + }, + "value": { + "description": "List of available operations.", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + }, + "type": "array" + } + }, + "title": "ClientDiscoveryResponse", + "type": "object" + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "properties": { + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "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": "Properties for the given operation.", + "x-ms-client-flatten": true + } + }, + "title": "ClientDiscoveryValueForSingleApi", + "type": "object" + }, + "CloudError": { + "description": "An error response from Azure Backup.", + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + }, + "title": "CloudError", + "x-ms-external": true + }, + "CopyOnExpiryOption": { + "allOf": [ + { + "$ref": "#/definitions/CopyOption" + } + ], + "description": "Copy on Expiry Option", + "required": [ + "objectType" + ], + "title": "CopyOnExpiryOption", + "type": "object", + "x-ms-discriminator-value": "CopyOnExpiryOption" + }, + "CopyOption": { + "description": "Options to copy", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "CopyOption", + "type": "object" + }, + "CustomCopyOption": { + "allOf": [ + { + "$ref": "#/definitions/CopyOption" + } + ], + "description": "Duration based custom options to copy", + "properties": { + "duration": { + "description": "Data copied after given timespan", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "CustomCopyOption", + "type": "object", + "x-ms-discriminator-value": "CustomCopyOption" + }, + "Datasource": { + "description": "Datasource to be backed up", + "properties": { + "datasourceType": { + "description": "DatasourceType of the resource.", + "type": "string" + }, + "objectType": { + "description": "Type of Datasource object, used to initialize the right inherited type", + "type": "string" + }, + "resourceID": { + "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.", + "type": "string" + }, + "resourceLocation": { + "description": "Location of datasource.", + "type": "string" + }, + "resourceName": { + "description": "Unique identifier of the resource in the context of parent.", + "type": "string" + }, + "resourceType": { + "description": "Resource Type of Datasource.", + "type": "string" + }, + "resourceUri": { + "description": "Uri of the resource.", + "type": "string" + } + }, + "required": [ + "resourceID" + ], + "title": "Datasource", + "type": "object" + }, + "DatasourceSet": { + "description": "DatasourceSet details of datasource to be backed up", + "properties": { + "datasourceType": { + "description": "DatasourceType of the resource.", + "type": "string" + }, + "objectType": { + "description": "Type of Datasource object, used to initialize the right inherited type", + "type": "string" + }, + "resourceID": { + "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.", + "type": "string" + }, + "resourceLocation": { + "description": "Location of datasource.", + "type": "string" + }, + "resourceName": { + "description": "Unique identifier of the resource in the context of parent.", + "type": "string" + }, + "resourceType": { + "description": "Resource Type of Datasource.", + "type": "string" + }, + "resourceUri": { + "description": "Uri of the resource.", + "type": "string" + } + }, + "required": [ + "resourceID" + ], + "title": "DatasourceSet", + "type": "object" + }, + "DataStoreInfoBase": { + "description": "DataStoreInfo base", + "properties": { + "dataStoreType": { + "description": "type of datastore; Operational/Vault/Archive", + "enum": [ + "OperationalStore", + "VaultStore", + "ArchiveStore" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataStoreTypes" + } + }, + "objectType": { + "description": "Type of Datasource object, used to initialize the right inherited type", + "readOnly": false, + "type": "string" + } + }, + "required": [ + "dataStoreType", + "objectType" + ], + "title": "DataStoreInfoBase", + "type": "object" + }, + "DataStoreParameters": { + "description": "Parameters for DataStore", + "required": [ + "objectType", + "dataStoreType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string", + "readOnly": false + }, + "dataStoreType": { + "description": "type of datastore; Operational/Vault/Archive", + "enum": [ + "OperationalStore", + "VaultStore", + "ArchiveStore" + ], + "type": "string", + "x-ms-enum": { + "name": "DataStoreTypes", + "modelAsString": true + } + } + }, + "discriminator": "objectType" + }, + "Day": { + "description": "Day of the week", + "properties": { + "date": { + "description": "Date of the month", + "format": "int32", + "type": "integer" + }, + "isLast": { + "description": "Whether Date is last date of month", + "type": "boolean" + } + }, + "title": "Day", + "type": "object" + }, + "DeleteOption": { + "description": "Delete Option", + "discriminator": "objectType", + "properties": { + "duration": { + "description": "Duration of deletion after given timespan", + "type": "string" + }, + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "duration", + "objectType" + ], + "title": "DeleteOption", + "type": "object" + }, + "DppIdentityDetails": { + "description": "Identity details", + "properties": { + "principalId": { + "description": "The object ID of the service principal object for the managed identity that is used to grant role-based access to an Azure resource.", + "readOnly": true, + "type": "string" + }, + "tenantId": { + "description": "A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "The identityType which can be either SystemAssigned or None", + "type": "string" + } + }, + "title": "DppIdentityDetails", + "type": "object" + }, + "DppResource": { + "description": "Resource class", + "properties": { + "id": { + "description": "Resource Id represents the complete path to the resource.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Resource name associated with the resource.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "readOnly": true, + "type": "string" + }, + "systemData": { + "$ref": "#/definitions/systemData" + } + }, + "title": "DppResource", + "type": "object", + "x-ms-azure-resource": true + }, + "DppResourceList": { + "description": "ListResource", + "properties": { + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + }, + "title": "List Resource", + "type": "object" + }, + "DppTrackedResource": { + "properties": { + "eTag": { + "description": "Optional ETag.", + "type": "string" + }, + "id": { + "description": "Resource Id represents the complete path to the resource.", + "readOnly": true, + "type": "string" + }, + "identity": { + "$ref": "#/definitions/DppIdentityDetails", + "description": "Input Managed Identity Details" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Resource name associated with the resource.", + "readOnly": true, + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags.", + "type": "object" + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "readOnly": true, + "type": "string" + }, + "systemData": { + "$ref": "#/definitions/systemData" + } + }, + "type": "object", + "x-ms-azure-resource": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "DppTrackedResourceList": { + "properties": { + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + }, + "type": "object" + }, + "Error": { + "description": "The resource management error response.", + "properties": { + "additionalInfo": { + "description": "The error additional info.", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "readOnly": true, + "type": "array" + }, + "code": { + "description": "The error code.", + "readOnly": true, + "type": "string" + }, + "details": { + "description": "The error details.", + "items": { + "$ref": "#/definitions/Error" + }, + "readOnly": true, + "type": "array" + }, + "message": { + "description": "The error message.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "The error target.", + "readOnly": true, + "type": "string" + } + } + }, + "ErrorAdditionalInfo": { + "description": "The resource management error additional info.", + "properties": { + "info": { + "description": "The additional info.", + "readOnly": true, + "type": "object" + }, + "type": { + "description": "The additional info type.", + "readOnly": true, + "type": "string" + } + } + }, + "ExportJobsResult": { + "description": "The result for export jobs containing blob details.", + "properties": { + "blobUrl": { + "description": "URL of the blob into which the serialized string of list of jobs is exported.", + "readOnly": true, + "type": "string" + }, + "blobSasKey": { + "description": "SAS key to access the blob.", + "readOnly": true, + "type": "string" + }, + "excelFileBlobUrl": { + "description": "URL of the blob into which the ExcelFile is uploaded.", + "readOnly": true, + "type": "string" + }, + "excelFileBlobSasKey": { + "description": "SAS key to access the ExcelFile blob.", + "readOnly": true, + "type": "string" + } + }, + "title": "ExportJobsResult", + "type": "object" + }, + "FeatureValidationRequest": { + "description": "Base class for feature object", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureValidationRequestBase" + } + ], + "properties": { + "featureType": { + "description": "backup support feature type.", + "enum": [ + "Invalid", + "DataSourceType" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureType", + "modelAsString": true + } + }, + "featureName": { + "description": "backup support feature name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "FeatureValidationRequest" + }, + "FeatureValidationRequestBase": { + "description": "Base class for Backup Feature support", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string", + "readOnly": false + } + }, + "discriminator": "objectType" + }, + "FeatureValidationResponse": { + "description": "Feature Validation Response", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureValidationResponseBase" + } + ], + "properties": { + "featureType": { + "description": "backup support feature type.", + "enum": [ + "Invalid", + "DataSourceType" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureType", + "modelAsString": true + } + }, + "features": { + "description": "Response features", + "type": "array", + "items": { + "$ref": "#/definitions/SupportedFeature" + } + } + }, + "x-ms-discriminator-value": "FeatureValidationResponse" + }, + "FeatureValidationResponseBase": { + "description": "Base class for Backup Feature support", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string", + "readOnly": false + } + }, + "discriminator": "objectType" + }, + "ImmediateCopyOption": { + "allOf": [ + { + "$ref": "#/definitions/CopyOption" + } + ], + "description": "Immediate copy Option", + "required": [ + "objectType" + ], + "title": "ImmediateCopyOption", + "type": "object", + "x-ms-discriminator-value": "ImmediateCopyOption" + }, + "InnerError": { + "description": "Inner Error", + "properties": { + "additionalInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Any Key value pairs that can be provided to the client for additional verbose information.", + "type": "object" + }, + "code": { + "description": "Unique code for this error", + "type": "string" + }, + "embeddedInnerError": { + "$ref": "#/definitions/InnerError", + "description": "Child Inner Error, to allow Nesting." + } + }, + "title": "InnerError", + "type": "object" + }, + "JobExtendedInfo": { + "description": "Extended Information about the job", + "properties": { + "additionalDetails": { + "additionalProperties": { + "readOnly": true, + "type": "string" + }, + "description": "Job's Additional Details" + }, + "backupInstanceState": { + "description": "State of the Backup Instance", + "readOnly": true, + "type": "string" + }, + "dataTransferredInBytes": { + "description": "Number of bytes transferred", + "format": "double", + "readOnly": true, + "type": "number" + }, + "recoveryDestination": { + "description": "Destination where restore is done", + "readOnly": true, + "type": "string" + }, + "sourceRecoverPoint": { + "$ref": "#/definitions/RestoreJobRecoveryPointDetails", + "description": "Details of the Source Recovery Point", + "readOnly": true + }, + "subTasks": { + "description": "List of Sub Tasks of the job", + "items": { + "$ref": "#/definitions/JobSubTask" + }, + "readOnly": true, + "type": "array" + }, + "targetRecoverPoint": { + "$ref": "#/definitions/RestoreJobRecoveryPointDetails", + "description": "Details of the Target Recovery Point", + "readOnly": true + } + }, + "type": "object" + }, + "JobSubTask": { + "description": "Details of Job's Sub Task", + "properties": { + "additionalDetails": { + "additionalProperties": { + "readOnly": true, + "type": "string" + }, + "description": "Additional details of Sub Tasks" + }, + "taskId": { + "description": "Task Id of the Sub Task", + "format": "int32", + "type": "integer" + }, + "taskName": { + "description": "Name of the Sub Task", + "type": "string" + }, + "taskProgress": { + "description": "Progress of the Sub Task", + "readOnly": true, + "type": "string" + }, + "taskStatus": { + "description": "Status of the Sub Task", + "type": "string" + } + }, + "required": [ + "taskId", + "taskName", + "taskStatus" + ], + "type": "object" + }, + "OperationExtendedInfo": { + "description": "Operation Extended Info", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "title": "OperationExtendedInfo", + "type": "object" + }, + "OperationJobExtendedInfo": { + "allOf": [ + { + "$ref": "#/definitions/OperationExtendedInfo" + } + ], + "description": "Operation Job Extended Info", + "properties": { + "jobId": { + "description": "Arm Id of the job created for this operation.", + "type": "string" + } + }, + "title": "OperationJobExtendedInfo", + "type": "object", + "x-ms-discriminator-value": "OperationJobExtendedInfo" + }, + "OperationResource": { + "description": "Operation Resource", + "properties": { + "endTime": { + "description": "End time of the operation", + "format": "date-time", + "type": "string" + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines.\r\nThe full set of optional properties (e.g. inner errors / details) can be found in the \"Error Response\" section." + }, + "id": { + "description": "It should match what is used to GET the operation result", + "type": "string" + }, + "name": { + "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationExtendedInfo", + "description": "End time of the operation", + "x-ms-client-flatten": true + }, + "startTime": { + "description": "Start time of the operation", + "format": "date-time", + "type": "string" + }, + "status": { + "type": "string" + } + }, + "title": "OperationResource", + "type": "object" + }, + "PatchResourceRequestInput": { + "description": "Patch Request content for Microsoft.DataProtection resources", + "properties": { + "identity": { + "$ref": "#/definitions/DppIdentityDetails", + "description": "Input Managed Identity Details" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags.", + "type": "object" + } + }, + "title": "PatchResourceRequestInput", + "type": "object" + }, + "PolicyInfo": { + "description": "Policy Info in backupInstance", + "properties": { + "policyId": { + "type": "string" + }, + "policyVersion": { + "readOnly": true, + "type": "string" + }, + "policyParameters": { + "$ref": "#/definitions/PolicyParameters", + "description": "Policy parameters for the backup instance" + } + }, + "required": [ + "policyId" + ], + "title": "PolicyInfo", + "type": "object" + }, + "PolicyParameters": { + "description": "Parameters in Policy", + "type": "object", + "properties": { + "dataStoreParametersList": { + "description": "Gets or sets the DataStore Parameters", + "type": "array", + "items": { + "$ref": "#/definitions/DataStoreParameters" + } + } + } + }, + "ProtectionStatusDetails": { + "description": "Protection status details", + "properties": { + "errorDetails": { + "$ref": "#/definitions/UserFacingError", + "description": "Specifies the protection status error of the resource" + }, + "status": { + "description": "Specifies the protection status of the resource", + "enum": [ + "ConfiguringProtection", + "ConfiguringProtectionFailed", + "ProtectionConfigured", + "ProtectionStopped", + "SoftDeleted", + "SoftDeleting" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "Status" + } + } + }, + "title": "ProtectionStatusDetails", + "type": "object" + }, + "RecoveryPointDataStoreDetails": { + "description": "RecoveryPoint datastore details", + "properties": { + "creationTime": { + "format": "date-time", + "type": "string" + }, + "expiryTime": { + "format": "date-time", + "type": "string" + }, + "id": { + "type": "string" + }, + "metaData": { + "type": "string" + }, + "state": { + "type": "string" + }, + "type": { + "type": "string" + }, + "visible": { + "type": "boolean" + }, + "rehydrationExpiryTime": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "rehydrationStatus": { + "readOnly": true, + "enum": [ + "CREATE_IN_PROGRESS", + "COMPLETED", + "DELETE_IN_PROGRESS", + "DELETED", + "FAILED" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RehydrationStatus" + } + } + }, + "title": "RecoveryPointDataStoreDetails", + "type": "object" + }, + "RehydrationPriority": { + "description": "Priority to be used for rehydration. Values High or Standard", + "enum": [ + "Invalid", + "High", + "Standard" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RehydrationPriority" + } + }, + "RestoreFilesTargetInfo": { + "allOf": [ + { + "$ref": "#/definitions/RestoreTargetInfoBase" + } + ], + "description": "Class encapsulating restore as files target parameters", + "properties": { + "targetDetails": { + "$ref": "#/definitions/TargetDetails", + "description": "Destination of RestoreAsFiles operation, when destination is not a datasource" + } + }, + "required": [ + "recoveryOption", + "targetDetails" + ], + "type": "object", + "x-ms-discriminator-value": "RestoreFilesTargetInfo" + }, + "RestoreJobRecoveryPointDetails": { + "properties": { + "recoveryPointID": { + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "RestoreTargetInfo": { + "allOf": [ + { + "$ref": "#/definitions/RestoreTargetInfoBase" + } + ], + "description": "Class encapsulating restore target parameters", + "properties": { + "datasourceInfo": { + "$ref": "#/definitions/Datasource", + "description": "Information of target DS" + }, + "datasourceSetInfo": { + "$ref": "#/definitions/DatasourceSet", + "description": "Information of target DS Set" + } + }, + "required": [ + "datasourceInfo", + "recoveryOption" + ], + "type": "object", + "x-ms-discriminator-value": "RestoreTargetInfo" + }, + "RestoreTargetInfoBase": { + "description": "Base class common to RestoreTargetInfo and RestoreFilesTargetInfo", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of Datasource object, used to initialize the right inherited type", + "type": "string" + }, + "recoveryOption": { + "description": "Recovery Option", + "enum": [ + "FailIfExists" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RecoveryOption" + } + }, + "restoreLocation": { + "description": "Target Restore region", + "type": "string" + } + }, + "required": [ + "objectType", + "recoveryOption" + ], + "type": "object" + }, + "RetentionTag": { + "description": "Retention tag", + "properties": { + "eTag": { + "description": "Retention Tag version.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Retention Tag version.", + "readOnly": true, + "type": "string" + }, + "tagName": { + "description": "Retention Tag Name to relate it to retention rule.", + "type": "string" + } + }, + "required": [ + "tagName" + ], + "title": "RetentionTag", + "type": "object" + }, + "ScheduleBasedBackupCriteria": { + "allOf": [ + { + "$ref": "#/definitions/BackupCriteria" + } + ], + "description": "Schedule based backup criteria", + "properties": { + "absoluteCriteria": { + "description": "it contains absolute values like \"AllBackup\" / \"FirstOfDay\" / \"FirstOfWeek\" / \"FirstOfMonth\"\r\nand should be part of AbsoluteMarker enum", + "items": { + "enum": [ + "AllBackup", + "FirstOfDay", + "FirstOfMonth", + "FirstOfWeek", + "FirstOfYear" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AbsoluteMarker" + } + }, + "type": "array" + }, + "daysOfMonth": { + "description": "This is day of the month from 1 to 28 other wise last of month", + "items": { + "$ref": "#/definitions/Day" + }, + "type": "array" + }, + "daysOfTheWeek": { + "description": "It should be Sunday/Monday/T..../Saturday", + "items": { + "enum": [ + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DayOfWeek" + } + }, + "type": "array" + }, + "monthsOfYear": { + "description": "It should be January/February/....../December", + "items": { + "enum": [ + "April", + "August", + "December", + "February", + "January", + "July", + "June", + "March", + "May", + "November", + "October", + "September" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "Month" + } + }, + "type": "array" + }, + "scheduleTimes": { + "description": "List of schedule times for backup", + "items": { + "format": "date-time", + "type": "string" + }, + "type": "array" + }, + "weeksOfTheMonth": { + "description": "It should be First/Second/Third/Fourth/Last", + "items": { + "enum": [ + "First", + "Fourth", + "Last", + "Second", + "Third" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "WeekNumber" + } + }, + "type": "array" + } + }, + "required": [ + "objectType" + ], + "title": "ScheduleBasedBackupCriteria", + "type": "object", + "x-ms-discriminator-value": "ScheduleBasedBackupCriteria" + }, + "ScheduleBasedTriggerContext": { + "allOf": [ + { + "$ref": "#/definitions/TriggerContext" + } + ], + "description": "Schedule based trigger context", + "properties": { + "schedule": { + "$ref": "#/definitions/BackupSchedule", + "description": "Schedule for this backup" + }, + "taggingCriteria": { + "description": "List of tags that can be applicable for given schedule.", + "items": { + "$ref": "#/definitions/TaggingCriteria" + }, + "type": "array" + } + }, + "required": [ + "objectType", + "schedule", + "taggingCriteria" + ], + "title": "ScheduleBasedTriggerContext", + "type": "object", + "x-ms-discriminator-value": "ScheduleBasedTriggerContext" + }, + "SourceLifeCycle": { + "description": "Source LifeCycle", + "properties": { + "deleteAfter": { + "$ref": "#/definitions/DeleteOption" + }, + "sourceDataStore": { + "$ref": "#/definitions/DataStoreInfoBase" + }, + "targetDataStoreCopySettings": { + "items": { + "$ref": "#/definitions/TargetCopySetting" + }, + "type": "array" + } + }, + "required": [ + "deleteAfter", + "sourceDataStore" + ], + "title": "SourceLifeCycle", + "type": "object" + }, + "StorageSetting": { + "description": "Storage setting", + "properties": { + "dataStoreType": { + "description": "Gets or sets the type of the datastore.", + "enum": [ + "ArchiveStore", + "SnapshotStore", + "VaultStore" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "StorageSettingStoreTypes" + } + }, + "type": { + "description": "Gets or sets the type.", + "enum": [ + "GeoRedundant", + "LocallyRedundant" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "StorageSettingTypes" + } + } + }, + "title": "StorageSetting", + "type": "object" + }, + "SupportedFeature": { + "description": "Elements class for feature request", + "type": "object", + "properties": { + "featureName": { + "description": "support feature type.", + "type": "string" + }, + "supportStatus": { + "description": "feature support status", + "enum": [ + "Invalid", + "NotSupported", + "AlphaPreview", + "PrivatePreview", + "PublicPreview", + "GenerallyAvailable" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureSupportStatus", + "modelAsString": true + } + }, + "exposureControlledFeatures": { + "description": "support feature type.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TaggingCriteria": { + "description": "Tagging criteria", + "properties": { + "criteria": { + "description": "Criteria which decides whether the tag can be applied to a triggered backup.", + "items": { + "$ref": "#/definitions/BackupCriteria" + }, + "type": "array" + }, + "isDefault": { + "description": "Specifies if tag is default.", + "type": "boolean" + }, + "taggingPriority": { + "description": "Retention Tag priority.", + "format": "int64", + "type": "integer" + }, + "tagInfo": { + "$ref": "#/definitions/RetentionTag", + "description": "Retention tag information" + } + }, + "required": [ + "isDefault", + "tagInfo", + "taggingPriority" + ], + "title": "TaggingCriteria", + "type": "object" + }, + "TargetCopySetting": { + "description": "Target copy settings", + "properties": { + "copyAfter": { + "$ref": "#/definitions/CopyOption", + "description": "It can be CustomCopyOption or ImmediateCopyOption." + }, + "dataStore": { + "$ref": "#/definitions/DataStoreInfoBase", + "description": "Info of target datastore" + } + }, + "required": [ + "copyAfter", + "dataStore" + ], + "title": "TargetCopySetting", + "type": "object" + }, + "TargetDetails": { + "description": "Class encapsulating target details, used where the destination is not a datasource", + "properties": { + "filePrefix": { + "description": "Restore operation may create multiple files inside location pointed by Url\r\nBelow will be the common prefix for all of them", + "type": "string" + }, + "restoreTargetLocationType": { + "description": "Denotes the target location where the data will be restored,\r\nstring value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType}", + "enum": [ + "Invalid", + "AzureBlobs", + "AzureFiles" + ], + "type": "string", + "x-ms-enum": { + "name": "RestoreTargetLocationType", + "modelAsString": true + } + }, + "url": { + "description": "Url denoting the restore destination. It can point to container / file share etc", + "type": "string" + } + }, + "required": [ + "filePrefix", + "restoreTargetLocationType", + "url" + ], + "type": "object" + }, + "TriggerBackupRequest": { + "description": "Trigger backup request", + "properties": { + "backupRuleOptions": { + "$ref": "#/definitions/AdHocBackupRuleOptions", + "description": "Name for the Rule of the Policy which needs to be applied for this backup" + } + }, + "required": [ + "backupRuleOptions" + ], + "title": "TriggerBackupRequest", + "type": "object" + }, + "TriggerContext": { + "description": "Trigger context", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "TriggerContext", + "type": "object" + }, + "UserFacingError": { + "description": "Error object used by layers that have access to localized content, and propagate that to user", + "properties": { + "code": { + "description": "Unique code for this error", + "type": "string" + }, + "details": { + "description": "Additional related Errors", + "items": { + "$ref": "#/definitions/UserFacingError" + }, + "type": "array" + }, + "innerError": { + "$ref": "#/definitions/InnerError", + "description": "Inner Error" + }, + "isRetryable": { + "description": "Whether the operation will be retryable or not", + "type": "boolean" + }, + "isUserError": { + "description": "Whether the operation is due to a user error or service error", + "type": "boolean" + }, + "message": { + "type": "string" + }, + "recommendedAction": { + "description": "RecommendedAction � localized.", + "items": { + "type": "string" + }, + "type": "array" + }, + "target": { + "description": "Target of the error.", + "type": "string" + } + }, + "type": "object" + }, + "ValidateForBackupRequest": { + "description": "Validate for backup request", + "properties": { + "backupInstance": { + "$ref": "#/definitions/BackupInstance" + } + }, + "required": [ + "backupInstance" + ], + "title": "ValidateForBackupRequest", + "type": "object" + }, + "ValidateRestoreRequestObject": { + "description": "Validate restore request object", + "properties": { + "restoreRequestObject": { + "$ref": "#/definitions/AzureBackupRestoreRequest", + "description": "Gets or sets the restore request object." + } + }, + "required": [ + "restoreRequestObject" + ], + "title": "ValidateRestoreRequestObject", + "type": "object" + } + }, + "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 backup vault is present.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the backup vault.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "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" + ] + } + ] +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json new file mode 100644 index 000000000000..01245e87d1fc --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "backupInstanceName": "testInstance1", + "api-version": "2021-02-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json new file mode 100644 index 000000000000..16b271d91d2f --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2", + "name": "harshitbi2", + "type": "Microsoft.DataProtection/backupVaults/backupInstances", + "properties": { + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "testdb", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "viveksipgtest", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyVersion": "3.2" + }, + "protectionStatus": { + "status": "NotProtected" + }, + "provisioningState": "Provisioning", + "objectType": "BackupInstance" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json new file mode 100644 index 000000000000..30ae03dc2d56 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1", + "recoveryPointId": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints", + "properties": { + "objectType": "AzureBackupDiscreteRecoveryPoint", + "recoveryPointTime": "2019-03-01T13:00:00Z", + "recoveryPointType": "Full", + "friendlyName": "panbha4", + "recoveryPointDataStoresDetails": [ + { + "id": "0ff03512-b333-4509-a6c7-12164c8b1dce", + "type": "Snapshot", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + }, + { + "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1", + "type": "BackupStorage", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + } + ] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json new file mode 100644 index 000000000000..af6ecfd49fb5 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2", + "name": "harshitbi2", + "type": "Microsoft.DataProtection/backupVaults/backupInstances", + "properties": { + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "testdb", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "viveksipgtest", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyVersion": "3.2" + }, + "protectionStatus": { + "status": "NotProtected" + }, + "provisioningState": "Provisioning", + "objectType": "BackupInstance" + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json new file mode 100644 index 000000000000..9bbcefa77cd0 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5e35", + "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints", + "properties": { + "objectType": "AzureBackupDiscreteRecoveryPoint", + "recoveryPointTime": "2019-03-01T13:00:00Z", + "recoveryPointType": "Full", + "friendlyName": "panbha4", + "recoveryPointDataStoresDetails": [ + { + "id": "0ff03512-b333-4509-a6c7-12164c8b1dce", + "type": "Snapshot", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + }, + { + "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1", + "type": "BackupStorage", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + } + ] + } + }, + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints", + "properties": { + "objectType": "AzureBackupDiscreteRecoveryPoint", + "recoveryPointTime": "2019-03-01T13:00:00Z", + "recoveryPointType": "Full", + "friendlyName": "panbha4", + "recoveryPointDataStoresDetails": [ + { + "id": "808cfd30-722e-4bab-85f6-4a9d01ffc6f2", + "type": "Snapshot", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + }, + { + "id": "798cfd30-722e-4bab-85f6-4a9d01ffc6f3", + "type": "BackupStorage", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json new file mode 100644 index 000000000000..cd8277697ea3 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1", + "parameters": { + "properties": { + "objectType": "BackupInstance", + "dataSourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "dataSourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyParameters": { + "dataStoreParametersList": [ + { + "objectType": "AzureOperationalStoreParameters", + "dataStoreType": "OperationalStore", + "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest" + } + ] + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + }, + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2", + "name": "harshitbi2", + "type": "Microsoft.DataProtection/backupVaults/backupInstances", + "properties": { + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "testdb", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "viveksipgtest", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyVersion": "3.2", + "policyParameters": { + "dataStoreParametersList": [ + { + "objectType": "AzureOperationalStoreParameters", + "dataStoreType": "OperationalStore", + "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest" + } + ] + } + }, + "protectionStatus": { + "status": "NotProtected" + }, + "provisioningState": "Provisioning", + "objectType": "BackupInstance" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2", + "name": "harshitbi2", + "type": "Microsoft.DataProtection/backupVaults/backupInstances", + "properties": { + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "testdb", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "viveksipgtest", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyVersion": "3.2", + "policyParameters": { + "dataStoreParametersList": [ + { + "objectType": "AzureOperationalStoreParameters", + "dataStoreType": "OperationalStore", + "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest" + } + ] + } + }, + "protectionStatus": { + "status": "NotProtected" + }, + "provisioningState": "Provisioned", + "objectType": "BackupInstance" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerBackup.json new file mode 100644 index 000000000000..01d1d52f2be7 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerBackup.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1", + "parameters": { + "backupRuleOptions": { + "ruleName": "BackupWeekly", + "triggerOption": { + "retentionTagOverride": "yearly" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json new file mode 100644 index 000000000000..a0c6bb5bd3c4 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1", + "parameters": { + "recoveryPointId": "hardcodedRP", + "rehydrationRetentionDuration": "7D", + "rehydrationPriority": "High" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestore.json new file mode 100644 index 000000000000..c28a835579f7 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestore.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1", + "parameters": { + "objectType": "AzureBackupRecoveryPointBasedRestoreRequest", + "recoveryPointId": "hardcodedRP", + "sourceDataStoreType": "VaultStore", + "restoreTargetInfo": { + "objectType": "RestoreTargetInfo", + "recoveryOption": "FailIfExists", + "datasourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "datasourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "restoreLocation": "southeastasia" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json new file mode 100644 index 000000000000..a93b9a8425af --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1", + "parameters": { + "objectType": "AzureBackupRecoveryPointBasedRestoreRequest", + "recoveryPointId": "hardcodedRP", + "sourceDataStoreType": "VaultStore", + "restoreTargetInfo": { + "targetDetails": { + "url": "https://teststorage.blob.core.windows.net/restoretest", + "filePrefix": "restoredblob", + "restoreTargetLocationType": "AzureBlobs" + }, + "restoreLocation": "southeastasia", + "recoveryOption": "FailIfExists", + "objectType": "RestoreFilesTargetInfo" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/testInstance1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json new file mode 100644 index 000000000000..dcfe3883dffb --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1", + "parameters": { + "objectType": "AzureBackupRestoreWithRehydrationRequest", + "recoveryPointId": "hardcodedRP", + "rehydrationRetentionDuration": "7D", + "rehydrationPriority": "High", + "sourceDataStoreType": "VaultStore", + "restoreTargetInfo": { + "objectType": "RestoreTargetInfo", + "recoveryOption": "FailIfExists", + "datasourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "datasourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "restoreLocation": "southeastasia" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json new file mode 100644 index 000000000000..bd331e29bd18 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1", + "parameters": { + "backupInstance": { + "objectType": "BackupInstance", + "dataSourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "dataSourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ValidateRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ValidateRestore.json new file mode 100644 index 000000000000..df70df9429e3 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/ValidateRestore.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2021-02-01-preview", + "backupInstanceName": "testInstance1", + "parameters": { + "restoreRequestObject": { + "objectType": "AzureBackupRecoveryPointBasedRestoreRequest", + "recoveryPointId": "hardcodedRP", + "sourceDataStoreType": "VaultStore", + "restoreTargetInfo": { + "objectType": "RestoreTargetInfo", + "recoveryOption": "FailIfExists", + "datasourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "datasourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "restoreLocation": "southeastasia" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/CheckfeatureSupport.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/CheckfeatureSupport.json new file mode 100644 index 000000000000..581e72e512ec --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/CheckfeatureSupport.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "location": "WestUS", + "api-version": "2021-02-01-preview", + "parameters": { + "featureType": "DataSourceType", + "objectType": "FeatureValidationRequest" + } + }, + "responses": { + "200": { + "body": { + "featureType": "DataSourceType", + "features": [ + { + "featureName": "Microsoft.Storage/storageAccounts/blobServices", + "supportStatus": "PrivatePreview", + "exposureControlledFeatures": [] + }, + { + "featureName": "Microsoft.DBforPostgreSQL/servers/databases", + "supportStatus": "PublicPreview", + "exposureControlledFeatures": [] + } + ], + "objectType": "FeatureValidationResponse" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/GetOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/GetOperationResult.json new file mode 100644 index 000000000000..0a3794ebdd90 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/GetOperationResult.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "location": "WestUS", + "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "api-version": "2021-02-01-preview" + }, + "responses": { + "204": { + "headers": { + "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-02-01-preview", + "Retry-After": "60" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/GetOperationStatus.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/GetOperationStatus.json new file mode 100644 index 000000000000..581e55cf1a39 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/GetOperationStatus.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "location": "WestUS", + "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/providers/Microsoft.DataProtection/locations/WestUS/operationStatus/MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "name": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "status": "Succeeded", + "startTime": "2019-11-20T09:49:44.0478496Z", + "endTime": "2019-11-20T09:49:46Z" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json new file mode 100644 index 000000000000..a6e049cad830 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000", + "blobSasKey": "someKey", + "excelFileBlobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000_ExcelFile.xlsx", + "excelFileBlobSasKey": "someKey" + } + }, + "202": { + "headers": { + "Retry-After": 60, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2021-02-01-preview" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/GetJob.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/GetJob.json new file mode 100644 index 000000000000..026e3595f45b --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/GetJob.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "resourceGroupName": "BugBash1", + "vaultName": "BugBashVaultForCCYv11", + "jobId": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2", + "policyName": "jakavetdailypolicy", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb2", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-17T03:00:03.7604146Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap", + "extendedInfo": { + "subTasks": [ + { + "taskId": 1, + "taskName": "Trigger Backup", + "taskStatus": "Started" + } + ], + "additionalDetails": { + "RetentionTag": "Default", + "PolicyRuleName": "BackupWeekly", + "TaskId": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9" + } + } + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/ListJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/ListJobs.json new file mode 100644 index 000000000000..8cb728a73f7d --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/ListJobs.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "resourceGroupName": "BugBash1", + "vaultName": "BugBashVaultForCCYv11", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "activityID": "932925c4-3d81-4550-8105-c7f7b0a934c5", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/3048870f-b1b7-44c4-b078-368da3fd000e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy2", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb4", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb4", + "policyName": "jakavetPolicy2", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb4", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-16T05:00:08.1746833Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/8989416e-7573-4836-8cf1-0e90954f1002", + "name": "8989416e-7573-4836-8cf1-0e90954f1002", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + }, + { + "properties": { + "activityID": "b4f32e03-ded0-46fc-9afc-91853878efcd", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/943c60db-c033-4d93-bb00-66048474e00e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy3", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb5", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb5", + "policyName": "jakavetPolicy3", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb5", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-16T18:00:03.6660733Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/ad218c05-242a-47c2-b7b7-c16bd0f8870c", + "name": "ad218c05-242a-47c2-b7b7-c16bd0f8870c", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + }, + { + "properties": { + "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2", + "policyName": "jakavetdailypolicy", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb2", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-17T03:00:03.7604146Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + }, + { + "properties": { + "activityID": "94052cf1-a47f-4c1b-93e7-79e07b2bd008-Tue Mar 17 2021 11:11:48 GMT+0530 (India Standard Time)-Ibz", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/0b247869-b8be-4885-b832-8ac4cdf5b00e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy1", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb3", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb3", + "policyName": "jakavetPolicy1", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb3", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-17T11:11:50.5595259Z", + "endTime": "2021-03-17T11:14:02.5319646Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Succeeded", + "isUserTriggered": true, + "supportedActions": [ + "" + ], + "duration": "00:02:11.9724387", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/43252662-1b43-44fd-a856-0055665cb097", + "name": "43252662-1b43-44fd-a856-0055665cb097", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/TriggerExportJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/TriggerExportJobs.json new file mode 100644 index 000000000000..85e568df0700 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/JobCRUD/TriggerExportJobs.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2021-02-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2021-02-01-preview", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json new file mode 100644 index 000000000000..f410d23ab72f --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json @@ -0,0 +1,200 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault", + "backupPolicyName": "OSSDBPolicy", + "api-version": "2021-02-01-preview", + "parameters": { + "properties": { + "policyRules": [ + { + "backupParameters": { + "backupType": "Full", + "objectType": "AzureBackupParams" + }, + "trigger": { + "schedule": { + "repeatingTimeIntervals": [ + "R/2019-11-20T08:00:00-08:00/P1W" + ] + }, + "taggingCriteria": [ + { + "tagInfo": { + "tagName": "Default" + }, + "taggingPriority": 99, + "isDefault": true + }, + { + "tagInfo": { + "tagName": "Weekly" + }, + "taggingPriority": 20, + "isDefault": false, + "criteria": [ + { + "scheduleTimes": [ + "2019-03-01T13:00:00Z" + ], + "daysOfTheWeek": [ + "Sunday" + ], + "objectType": "ScheduleBasedBackupCriteria" + } + ] + } + ], + "objectType": "ScheduleBasedTriggerContext" + }, + "dataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "name": "BackupWeekly", + "objectType": "AzureBackupRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P1W" + } + } + ], + "isDefault": true, + "name": "Default", + "objectType": "AzureRetentionRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P12W" + } + } + ], + "isDefault": false, + "name": "Weekly", + "objectType": "AzureRetentionRule" + } + ], + "datasourceTypes": [ + "OssDB" + ], + "objectType": "BackupPolicy" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy", + "name": "OSSDBPolicy", + "type": "Microsoft.DataProtection/backupVaults/backupPolicies", + "properties": { + "policyRules": [ + { + "backupParameters": { + "backupType": "Full", + "objectType": "AzureBackupParams" + }, + "trigger": { + "schedule": { + "repeatingTimeIntervals": [ + "R/2019-11-20T08:00:00-08:00/P1W" + ] + }, + "taggingCriteria": [ + { + "tagInfo": { + "tagName": "Default", + "id": "Default_" + }, + "taggingPriority": 99, + "isDefault": true + }, + { + "tagInfo": { + "tagName": "Weekly", + "id": "Weekly_" + }, + "taggingPriority": 20, + "isDefault": false, + "criteria": [ + { + "scheduleTimes": [ + "2019-03-01T13:00:00Z" + ], + "daysOfTheWeek": [ + "Sunday" + ], + "objectType": "ScheduleBasedBackupCriteria" + } + ] + } + ], + "objectType": "ScheduleBasedTriggerContext" + }, + "dataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "name": "BackupWeekly", + "objectType": "AzureBackupRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P1W" + } + } + ], + "isDefault": true, + "name": "Default", + "objectType": "AzureRetentionRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P12W" + } + } + ], + "isDefault": false, + "name": "Weekly", + "objectType": "AzureRetentionRule" + } + ], + "datasourceTypes": [ + "OssDB" + ], + "objectType": "BackupPolicy" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json new file mode 100644 index 000000000000..82a9134f5271 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault", + "backupPolicyName": "OSSDBPolicy", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/GetBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/GetBackupPolicy.json new file mode 100644 index 000000000000..b99cb601ccab --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/GetBackupPolicy.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault", + "backupPolicyName": "OSSDBPolicy", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy", + "name": "OSSDBPolicy", + "type": "Microsoft.DataProtection/backupVaults/backupPolicies", + "properties": { + "policyRules": [ + { + "backupParameters": { + "backupType": "Full", + "objectType": "AzureBackupParams" + }, + "trigger": { + "schedule": { + "repeatingTimeIntervals": [ + "R/2019-11-20T08:00:00-08:00/P1W" + ] + }, + "taggingCriteria": [ + { + "tagInfo": { + "tagName": "Default", + "id": "Default_" + }, + "taggingPriority": 99, + "isDefault": true + }, + { + "tagInfo": { + "tagName": "Weekly", + "id": "Weekly_" + }, + "taggingPriority": 20, + "isDefault": false, + "criteria": [ + { + "scheduleTimes": [ + "2019-03-01T13:00:00Z" + ], + "daysOfTheWeek": [ + "Sunday" + ], + "objectType": "ScheduleBasedBackupCriteria" + } + ] + } + ], + "objectType": "ScheduleBasedTriggerContext" + }, + "dataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "name": "BackupWeekly", + "objectType": "AzureBackupRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P1W" + } + } + ], + "isDefault": true, + "name": "Default", + "objectType": "AzureRetentionRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P12W" + } + } + ], + "isDefault": false, + "name": "Weekly", + "objectType": "AzureRetentionRule" + } + ], + "datasourceTypes": [ + "OssDB" + ], + "objectType": "BackupPolicy" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/ListBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/ListBackupPolicy.json new file mode 100644 index 000000000000..5fa94255f05a --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/PolicyCRUD/ListBackupPolicy.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy", + "name": "OSSDBPolicy", + "type": "Microsoft.DataProtection/backupVaults/backupPolicies", + "properties": { + "policyRules": [ + { + "backupParameters": { + "backupType": "Full", + "objectType": "AzureBackupParams" + }, + "trigger": { + "schedule": { + "repeatingTimeIntervals": [ + "R/2019-11-20T08:00:00-08:00/P1W" + ] + }, + "taggingCriteria": [ + { + "tagInfo": { + "tagName": "Default", + "id": "Default_" + }, + "taggingPriority": 99, + "isDefault": true + }, + { + "tagInfo": { + "tagName": "Weekly", + "id": "Weekly_" + }, + "taggingPriority": 20, + "isDefault": false, + "criteria": [ + { + "scheduleTimes": [ + "2019-03-01T13:00:00Z" + ], + "daysOfTheWeek": [ + "Sunday" + ], + "objectType": "ScheduleBasedBackupCriteria" + } + ] + } + ], + "objectType": "ScheduleBasedTriggerContext" + }, + "dataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "name": "BackupWeekly", + "objectType": "AzureBackupRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P1W" + } + } + ], + "isDefault": true, + "name": "Default", + "objectType": "AzureRetentionRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P12W" + } + } + ], + "isDefault": false, + "name": "Weekly", + "objectType": "AzureRetentionRule" + } + ], + "datasourceTypes": [ + "OssDB" + ], + "objectType": "BackupPolicy" + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json new file mode 100644 index 000000000000..61d60c8b6bba --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "location": "westus", + "api-version": "2021-02-01-preview", + "parameters": { + "type": "Microsoft.DataProtection/BackupVaults", + "name": "swaggerExample" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/DeleteBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/DeleteBackupVault.json new file mode 100644 index 000000000000..3a6e99b2003e --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/DeleteBackupVault.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-02-01-preview", + "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-02-01-preview" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVault.json new file mode 100644 index 000000000000..198f7081b721 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVault.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json new file mode 100644 index 000000000000..1827f7bdbd63 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "identity": { + "principalId": "c009b9a0-0024-417c-83cd-025d3776045d", + "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "type": "SystemAssigned" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json new file mode 100644 index 000000000000..74476e89bf38 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1", + "name": "ExampleVault1", + "type": "Microsoft.DataProtection/BackupVaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + }, + { + "identity": { + "principalId": "c009b9a0-0024-417c-83cd-025d3776045d", + "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "type": "SystemAssigned" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2", + "name": "ExampleVault2", + "type": "Microsoft.DataProtection/BackupVaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json new file mode 100644 index 000000000000..d0dc89bba8a9 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup2/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1", + "name": "ExampleVault1", + "type": "Microsoft.DataProtection/BackupVaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + }, + { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2", + "name": "ExampleVault2", + "type": "Microsoft.DataProtection/BackupVaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetOperationResultPatch.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetOperationResultPatch.json new file mode 100644 index 000000000000..94aeade0f411 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/GetOperationResultPatch.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "api-version": "2021-02-01-preview" + }, + "responses": { + "200": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-02-01-preview", + "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-02-01-preview" + }, + "body": { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PatchBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PatchBackupVault.json new file mode 100644 index 000000000000..13cd9e7ee507 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PatchBackupVault.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-02-01-preview", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "parameters": { + "tags": { + "newKey": "newVal" + } + } + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-02-01-preview", + "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-02-01-preview" + } + }, + "200": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "newKey": "newVal" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PutBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PutBackupVault.json new file mode 100644 index 000000000000..432bdeb2a818 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PutBackupVault.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-02-01-preview", + "parameters": { + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "identity": { + "type": "None" + }, + "properties": { + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Provisioning", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-02-01-preview" + } + }, + "200": { + "body": { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json new file mode 100644 index 000000000000..5c7edcc3cca9 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-02-01-preview", + "parameters": { + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "identity": { + "type": "systemAssigned" + }, + "properties": { + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Provisioning", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-02-01-preview" + } + }, + "200": { + "body": { + "identity": { + "principalId": "c009b9a0-0024-417c-83cd-025d3776045d", + "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "type": "SystemAssigned" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "dataStoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/readme.go.md b/specification/dataprotection/resource-manager/readme.go.md new file mode 100644 index 000000000000..ac5b22e3f639 --- /dev/null +++ b/specification/dataprotection/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true + namespace: dataprotection +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2021-02-preview +``` + +### Tag: package-2021-02-preview and go + +These settings apply only when `--tag=package-2021-02-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2021-02-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/dataprotection/mgmt/2021-02-01-preview/$(namespace) +``` diff --git a/specification/dataprotection/resource-manager/readme.java.md b/specification/dataprotection/resource-manager/readme.java.md new file mode 100644 index 000000000000..9be1c6a99a7f --- /dev/null +++ b/specification/dataprotection/resource-manager/readme.java.md @@ -0,0 +1,34 @@ +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) +azure-arm: true +fluent: true +namespace: com.microsoft.azure.management.dataprotection +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-dataprotection +``` + + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2021-02-preview +``` + +### Tag: package-2021-02-preview and java + +These settings apply only when `--tag=package-2021-02-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2021-02-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.dataprotection.v2021_02_01_preview + output-folder: $(azure-libraries-for-java-folder)/dataprotection/resource-manager/v2021_02_01_preview +regenerate-manager: true +generate-interface: true +``` diff --git a/specification/dataprotection/resource-manager/readme.md b/specification/dataprotection/resource-manager/readme.md new file mode 100644 index 000000000000..35c83039e905 --- /dev/null +++ b/specification/dataprotection/resource-manager/readme.md @@ -0,0 +1,124 @@ +# DataProtection + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for DataProtection. + + + +--- +## Getting Started +To build the SDK for DataProtection, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + + +### Basic Information +These are the global settings for the DataProtection API. + +``` yaml +title: Data Protection Client +description: Open API 2.0 Specs for Azure Data Protection service +openapi-type: arm +tag: package-2021-02-preview +csharp-sdks-folder: ./Generated/CSharp +python-sdks-folder: ./Generated/Python +go-sdk-folder: ./Generated/Golang + +license-header: MICROSOFT_MIT +``` + +### Validations +Run validations when `--validate` is specified on command line + +``` yaml $(validate) +azure-validator: true +model-validator: true +semantic-validator: true +message-format: json +``` + +### Tag: package-2021-02-preview + +These settings apply only when `--tag=package-2021-02-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-02-preview' +input-file: +- Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json +``` +--- +# Code Generation + + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_data_protection'] +``` + + +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + payload-flattening-threshold: 1 + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Management.DataProtection + output-folder: $(csharp-sdks-folder)/dataprotection/Microsoft.Azure.Management.DataProtection/src/Generated + clear-output-folder: true +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +See configuration in [readme.java.md](./readme.java.md) + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/2010-01-01/somefile.json +``` diff --git a/specification/dataprotection/resource-manager/readme.nodejs.md b/specification/dataprotection/resource-manager/readme.nodejs.md new file mode 100644 index 000000000000..284b83b6011e --- /dev/null +++ b/specification/dataprotection/resource-manager/readme.nodejs.md @@ -0,0 +1,14 @@ +## Node.js + +These settings apply only when `--nodejs` is specified on the command line. +Please also specify `--node-sdks-folder=`. + +``` yaml $(nodejs) +nodejs: + azure-arm: true + package-name: azure-arm-dataprotection + output-folder: $(node-sdks-folder)/lib/services/dataProtectionManagement + generate-license-txt: true + generate-package-json: true + generate-readme-md: true +``` diff --git a/specification/dataprotection/resource-manager/readme.python.md b/specification/dataprotection/resource-manager/readme.python.md new file mode 100644 index 000000000000..e9f977631a66 --- /dev/null +++ b/specification/dataprotection/resource-manager/readme.python.md @@ -0,0 +1,27 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.dataprotection + package-name: azure-mgmt-dataprotection + package-version: 1.0.0b1 + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection +``` diff --git a/specification/dataprotection/resource-manager/readme.ruby.md b/specification/dataprotection/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..8bf032fd146b --- /dev/null +++ b/specification/dataprotection/resource-manager/readme.ruby.md @@ -0,0 +1,26 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +``` yaml +package-name: azure_mgmt_data_protection +package-version: "0.1.0" +azure-arm: true +``` + +### Ruby multi-api + +``` yaml $(ruby) && $(multiapi) +batch: + - tag: package-2021-02-preview +``` + +### Tag: package-2021-02-preview and ruby + +These settings apply only when `--tag=package-2021-02-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-02-preview' && $(ruby) +namespace: "Azure::DataProtection::Mgmt::V2021_02_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_data_protection/lib +``` diff --git a/specification/dataprotection/resource-manager/readme.typescript.md b/specification/dataprotection/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..bf2afe0c534b --- /dev/null +++ b/specification/dataprotection/resource-manager/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-dataprotectionplatform" + output-folder: "$(typescript-sdks-folder)/sdk/dataprotectionplatform/arm-dataprotectionplatform" + clear-output-folder: true + generate-metadata: true +```