From d9d610f978e8df1f9501dbbdb3b1c47f060b3ada Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Thu, 13 Aug 2020 19:35:34 +0530 Subject: [PATCH 01/17] Fixing bug in PrepareDataMoveResponse Class --- .../stable/2020-07-01/bms.json | 19 +++++++++++++------ .../resource-manager/readme.md | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json index 63ffc3db278b..5cf3367e2e17 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -279,17 +279,18 @@ "description": "The resource management error response." }, "VaultStorageConfigOperationResultResponse": { - "description": "Operation result response for VaultStorageConfig", + "description": "Operation result response for Vault Storage Config", + "required": [ + "objectType" + ], "type": "object", "properties": { "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" } }, - "required": [ - "objectType" - ], - "x-ms-discriminator-value": "objectType" + "discriminator": "objectType" }, "PrepareDataMoveRequest": { "description": "Prepare DataMove Request", @@ -337,6 +338,11 @@ "PrepareDataMoveResponse": { "description": "Prepare DataMove Response", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + ], "properties": { "correlationId": { "description": "Co-relationId for move operation", @@ -349,7 +355,8 @@ "type": "string" } } - } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" }, "TriggerDataMoveRequest": { "description": "Trigger DataMove Request", diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 7f2204c49b48..e52138ea1368 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the RecoveryServicesBackup API. title: Recovery Services Backup Client description: Open API 2.0 Specs for Azure RecoveryServices Backup service openapi-type: arm -tag: package-2020-02 +tag: package-2020-07 csharp-sdks-folder: ./Generated/CSharp python-sdks-folder: ./Generated/Python go-sdk-folder: ./Generated/Golang From a972bc7f511d886d6ada52e6b8c4d07b75d2c6c1 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Mon, 28 Sep 2020 10:24:57 +0530 Subject: [PATCH 02/17] Updating existing CRR and protection APIs --- .../stable/2016-12-01/bms.json | 348 +-- .../stable/2018-12-20/bms.json | 852 +++--- .../BackupProtectedItems_List.json | 8 - .../AzureIaasVm/GetAccessToken_Get.json | 11 +- .../examples/AzureIaasVm/GetCrrJob_Post.json | 6 +- .../AzureIaasVm/ListCrrJobs_Post.json | 3 +- .../TriggerCrossRegionRestore_Post.json | 2 - .../stable/2019-05-13/bms.json | 117 +- .../stable/2019-06-15/bms.json | 824 +----- .../stable/2020-07-01/bms.json | 2375 ++++++++++++++++- .../resource-manager/readme.md | 1 + 11 files changed, 2626 insertions(+), 1921 deletions(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json index 39e0e4ed35e7..3842956e8dbe 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json @@ -608,72 +608,6 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { - "post": { - "tags": [ - "Backups" - ], - "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", - "operationId": "Backups_Trigger", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backup item for which backup needs to be triggered.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backup request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupRequestResource" - } - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Trigger Backup": { - "$ref": "./examples/Common/TriggerBackup_Post.json" - } - } - } - }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { "get": { "tags": [ @@ -1024,52 +958,6 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { - "delete": { - "tags": [ - "ProtectionPolicies" - ], - "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Delete", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy to be deleted.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Delete Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" - } - } - } - }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { "get": { "tags": [ @@ -1268,131 +1156,7 @@ } } } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { - "get": { - "tags": [ - "BackupResourceStorageConfigs" - ], - "description": "Fetches resource storage config.", - "operationId": "BackupResourceStorageConfigs_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupResourceConfigResource" - } - } - }, - "x-ms-examples": { - "Get Vault Storage Configuration": { - "$ref": "./examples/Common/BackupStorageConfig_Get.json" - } - } - }, - "put": { - "tags": [ - "BackupResourceStorageConfigs" - ], - "description": "Updates vault storage model type.", - "operationId": "BackupResourceStorageConfigs_Update", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "parameters", - "in": "body", - "description": "Vault storage config request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupResourceConfigResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupResourceConfigResource" - } - } - }, - "x-ms-examples": { - "Update Vault Storage Configuration": { - "$ref": "./examples/Common/BackupStorageConfig_Put.json" - } - } - }, - "patch": { - "tags": [ - "BackupResourceStorageConfigs" - ], - "description": "Updates vault storage model type.", - "operationId": "BackupResourceStorageConfigs_Patch", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "parameters", - "in": "body", - "description": "Vault storage config request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupResourceConfigResource" - } - } - ], - "responses": { - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Update Vault Storage Configuration": { - "$ref": "./examples/Common/BackupStorageConfig_Patch.json" - } - } - } + } }, "definitions": { @@ -1814,42 +1578,6 @@ }, "x-ms-discriminator-value": "SQLInstance" }, - "AzureWorkloadBackupRequest": { - "description": "AzureWorkload workload-specific backup request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } - ], - "properties": { - "backupType": { - "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull" - ], - "type": "string", - "x-ms-enum": { - "name": "backupType", - "modelAsString": true - } - }, - "enableCompression": { - "description": "Bool for Compression setting", - "type": "boolean" - }, - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadBackupRequest" - }, "AzureWorkloadContainer": { "description": "Container for the workloads running inside Azure Compute or Classic Compute.", "type": "object", @@ -1937,6 +1665,9 @@ "BackupEngineBase": { "description": "The base backup engine class. All workload specific backup engines derive from this class.", "type": "object", + "required": [ + "backupEngineType" + ], "properties": { "friendlyName": { "description": "Friendly name of the backup engine.", @@ -2122,65 +1853,6 @@ } } }, - "BackupResourceConfig": { - "description": "The resource storage details.", - "type": "object", - "properties": { - "storageModelType": { - "description": "Storage type", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "storageType": { - "description": "Storage type.", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "storageTypeState": { - "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", - "enum": [ - "Invalid", - "Locked", - "Unlocked" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageTypeState", - "modelAsString": true - } - } - } - }, - "BackupResourceConfigResource": { - "description": "The resource storage details.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BackupResourceConfig", - "description": "BackupResourceConfigResource properties" - } - } - }, "BMSBackupEngineQueryObject": { "description": "Query parameters to fetch list of backup engines.", "type": "object", @@ -3162,6 +2834,9 @@ }, "ProtectableContainer": { "description": "Protectable Container Class.", + "required": [ + "protectableContainerType" + ], "type": "object", "properties": { "friendlyName": { @@ -3258,6 +2933,9 @@ }, "ProtectionContainer": { "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "required": [ + "containerType" + ], "type": "object", "properties": { "friendlyName": { @@ -3479,6 +3157,9 @@ }, "WorkloadItem": { "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "required": [ + "workloadItemType" + ], "type": "object", "properties": { "backupManagementType": { @@ -3549,6 +3230,9 @@ }, "WorkloadProtectableItem": { "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "required": [ + "protectableItemType" + ], "type": "object", "properties": { "backupManagementType": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index 50fb70dba218..c1f871847619 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -80,7 +80,7 @@ "description": "resource cross region restore request", "required": true, "schema": { - "$ref": "#/definitions/CrossRegionRestoreRequestResource" + "$ref": "#/definitions/CrossRegionRestoreRequest" } } ], @@ -103,10 +103,10 @@ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob": { "post": { "tags": [ - "CrrJobDetails" + "BackupCrrJobs" ], "summary": "Get CRR job details from target region.", - "operationId": "BackupCrrJobDetails_Get", + "operationId": "BackupCrrJobs_Get", "produces": [ "application/json" ], @@ -119,6 +119,15 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "CRR Job request", + "required": true, + "schema": { + "$ref": "#/definitions/CrrJobRequest" + } } ], "responses": { @@ -155,6 +164,29 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Backup CRR Job request", + "required": true, + "schema": { + "$ref": "#/definitions/CrrJobRequest" + } + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" } ], "responses": { @@ -165,6 +197,7 @@ } } }, + "x-ms-odata": "#/definitions/JobQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" }, @@ -264,7 +297,7 @@ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken": { "post": { "tags": [ - "RecoveryPoints" + "RecoveryPoints_GetAccessToken" ], "summary": "Returns the Access token for communication between BMS and Protection service", "operationId": "RecoveryPoints_GetAccessToken", @@ -308,9 +341,18 @@ { "name": "recoveryPointId", "in": "path", - "description": "Recovery Point Id", + "description": "RecoveryPointId", "required": true, "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Get Access Token request", + "required": true, + "schema": { + "$ref": "#/definitions/AADPropertiesResource" + } } ], "responses": { @@ -319,6 +361,9 @@ "schema": { "$ref": "#/definitions/CrrAccessTokenResource" } + }, + "400": { + "description": "BadRequest" } }, "x-ms-examples": { @@ -328,6 +373,131 @@ } } }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { + "get": { + "tags": [ + "BackupResourceStorageConfigs" + ], + "description": "Fetches resource storage config.", + "operationId": "BackupResourceStorageConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + }, + "x-ms-examples": { + "Get Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceStorageConfigs" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Put.json" + } + } + }, + "patch": { + "tags": [ + "BackupResourceStorageConfigs" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigs_patch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Patch.json" + } + } + } + }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/": { "get": { "tags": [ @@ -491,69 +661,6 @@ } } }, - "AzureFileshareProtectedItem": { - "description": "Azure File Share workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the fileshare represented by this backup item.", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "healthStatus": { - "description": "backups running status for this backup item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthStatus", - "modelAsString": true - } - }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", - "description": "Additional information with this backup item." - } - }, - "x-ms-discriminator-value": "AzureFileShareProtectedItem" - }, "AzureFileshareProtectedItemExtendedInfo": { "description": "Additional information about Azure File Share backup item.", "type": "object", @@ -689,26 +796,6 @@ }, "x-ms-discriminator-value": "AzureFileShareRestoreRequest" }, - "AzureIaaSClassicComputeVMProtectedItem": { - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSVMProtectedItem" - } - ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" - }, - "AzureIaaSComputeVMProtectedItem": { - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSVMProtectedItem" - } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, "AzureIaaSVMErrorInfo": { "description": "Azure IaaS VM workload-specific error information.", "type": "object", @@ -739,36 +826,6 @@ } } }, - "AzureIaaSVMHealthDetails": { - "description": "Azure IaaS VM workload-specific Health Details.", - "type": "object", - "properties": { - "code": { - "format": "int32", - "description": "Health Code", - "type": "integer", - "readOnly": true - }, - "title": { - "description": "Health Title", - "type": "string", - "readOnly": true - }, - "message": { - "description": "Health Message", - "type": "string", - "readOnly": true - }, - "recommendations": { - "description": "Health Recommended Actions", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - } - } - }, "AzureIaaSVMJob": { "description": "Azure IaaS VM workload-specific job object.", "type": "object", @@ -899,87 +956,6 @@ } } }, - "AzureIaaSVMProtectedItem": { - "description": "IaaS VM workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the VM represented by this backup item.", - "type": "string" - }, - "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine represented by this item.", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "healthStatus": { - "description": "Health status of protected item", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthStatus", - "modelAsString": true - } - }, - "healthDetails": { - "description": "Health details on this backup item.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMHealthDetails" - } - }, - "lastBackupStatus": { - "description": "Last backup operation status.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "protectedItemDataId": { - "description": "Data ID of the protected item.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", - "description": "Additional information for this backup item." - }, - "extendedProperties": { - "$ref": "#/definitions/ExtendedProperties" - } - }, - "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" - }, "AzureIaaSVMProtectedItemExtendedInfo": { "description": "Additional information on Azure IaaS VM specific backup item.", "type": "object", @@ -1159,108 +1135,14 @@ "type": "object", "properties": { "taskId": { - "description": "The task display name.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - } - } - }, - "AzureVmWorkloadProtectedItem": { - "description": "Azure VM workload-specific protected item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the DB represented by this backup item.", - "type": "string" - }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", - "type": "string" - }, - "parentName": { - "description": "Parent name of the DB such as Instance or Availability Group.", - "type": "string" - }, - "parentType": { - "description": "Parent type of protected item, example: for a DB, standalone server or distributed", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "enum": [ - "Invalid", - "Healthy", - "Unhealthy", - "IRPending" - ], - "type": "string", - "x-ms-enum": { - "name": "LastBackupStatus", - "modelAsString": true - } - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", + "description": "The task display name.", "type": "string" }, - "lastBackupErrorDetail": { - "$ref": "#/definitions/ErrorDetail", - "description": "Error details in last backup" - }, - "protectedItemDataSourceId": { - "description": "Data ID of the protected item.", + "status": { + "description": "The status.", "type": "string" - }, - "protectedItemHealthStatus": { - "description": "Health status of the backup item, evaluated based on last heartbeat received", - "enum": [ - "Invalid", - "Healthy", - "Unhealthy", - "NotReachable", - "IRPending" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectedItemHealthStatus", - "modelAsString": true - } - }, - "extendedInfo": { - "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", - "description": "Additional information for this backup item." } - }, - "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" + } }, "AzureVmWorkloadProtectedItemExtendedInfo": { "description": "Additional information on Azure Workload for SQL specific backup item.", @@ -1282,36 +1164,6 @@ } } }, - "AzureVmWorkloadSAPAseDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP ASE Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" - }, - "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP HANA Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" - }, - "AzureVmWorkloadSQLDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SQL Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" - }, "AzureWorkloadErrorInfo": { "description": "Azure storage specific error information", "type": "object", @@ -1447,23 +1299,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" }, - "AzureWorkloadPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" - }, "AzureWorkloadRecoveryPoint": { "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", "type": "object", @@ -1485,7 +1320,8 @@ "Invalid", "Full", "Log", - "Differential" + "Differential", + "Incremental" ], "type": "string", "x-ms-enum": { @@ -1497,61 +1333,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" }, - "AzureWorkloadRestoreRequest": { - "description": "AzureWorkload-specific restore.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "properties": { - "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryType", - "modelAsString": true - } - }, - "sourceResourceId": { - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", - "type": "string" - }, - "propertyBag": { - "description": "Workload specific property bag.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "description": "Defines whether the current recovery mode is file restore or database restore", - "enum": [ - "Invalid", - "FileRecovery", - "WorkloadRecovery" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryMode", - "modelAsString": true - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" - }, "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { "description": "Recovery point specific to PointInTime in SAPHana", "type": "object", @@ -1562,23 +1343,6 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" }, - "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" - } - ], - "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" - }, "AzureWorkloadSAPHanaRecoveryPoint": { "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", "type": "object", @@ -1589,16 +1353,6 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" }, - "AzureWorkloadSAPHanaRestoreRequest": { - "description": "AzureWorkload SAP Hana-specific restore.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" - }, "AzureWorkloadSQLPointInTimeRecoveryPoint": { "description": "Recovery point specific to PointInTime", "type": "object", @@ -1618,22 +1372,81 @@ }, "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" }, - "AzureWorkloadSQLPointInTimeRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", + "JobQueryObject": { + "description": "Filters to list the jobs.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" - } - ], "properties": { - "pointInTime": { + "status": { + "description": "Status of the job.", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed", + "CompletedWithWarnings", + "Cancelled", + "Cancelling" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup management for the job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "Type of operation.", + "enum": [ + "Invalid", + "Register", + "UnRegister", + "ConfigureBackup", + "Backup", + "Restore", + "DisableBackup", + "DeleteBackupData", + "CrossRegionRestore", + "Undelete" + ], + "type": "string", + "x-ms-enum": { + "name": "JobOperationType", + "modelAsString": true + } + }, + "jobId": { + "description": "JobID represents the job uniquely.", + "type": "string" + }, + "startTime": { "format": "date-time", - "description": "PointInTime value", + "description": "Job has started at this time. Value is in UTC.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Job has ended at this time. Value is in UTC.", "type": "string" } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" + } }, "AzureWorkloadSQLRecoveryPoint": { "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", @@ -1671,33 +1484,6 @@ } } }, - "AzureWorkloadSQLRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "properties": { - "shouldUseAlternateTargetLocation": { - "description": "Default option set to true. If this is set to false, alternate data directory must be provided", - "type": "boolean" - }, - "isNonRecoverable": { - "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", - "type": "boolean" - }, - "alternateDirectoryPaths": { - "description": "Data directory details", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectoryMapping" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" - }, "BEKDetails": { "description": "BEK is bitlocker encryption key.", "type": "object", @@ -1738,7 +1524,8 @@ "Log", "Differential", "FullAndDifferential", - "All" + "All", + "Incremental" ], "type": "string", "x-ms-enum": { @@ -1791,6 +1578,73 @@ } } }, + "BackupResourceConfig": { + "description": "The resource storage details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageTypeState": { + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageTypeState", + "modelAsString": true + } + }, + "crossRegionRestoreFlag": { + "description": "Opt in details of Cross Region Restore feature.", + "type": "boolean" + } + } + }, + "BackupResourceConfigResource": { + "description": "The resource storage details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceConfig", + "description": "BackupResourceConfigResource properties" + } + } + }, "CrossRegionRestoreRequestResource": { "allOf": [ { @@ -1900,6 +1754,34 @@ } } }, + "CrrJobRequest": { + "description": "Request object for fetching CRR jobs.", + "type": "object", + "properties": { + "resourceId": { + "description": "Entire ARM resource id of the resource", + "type": "string" + }, + "jobName": { + "description": "Job Name of the job to be fetched", + "type": "string" + } + } + }, + "CrrJobRequestResource": { + "description": "Request object for fetching CRR jobs.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CrrJobRequest", + "description": "CrrJobRequestResource properties" + } + } + }, "DiskExclusionProperties": { "type": "object", "properties": { @@ -2885,10 +2767,6 @@ "error": { "$ref": "#/definitions/OperationStatusError", "description": "Error information related to this operation." - }, - "properties": { - "$ref": "#/definitions/OperationStatusExtendedInfo", - "description": "Additional information associated with this operation." } } }, @@ -3506,40 +3384,6 @@ "type": "string" } } - }, - "TargetRestoreInfo": { - "description": "Details about target workload during restore operation.", - "type": "object", - "properties": { - "overwriteOption": { - "description": "Can Overwrite if Target DataBase already exists", - "enum": [ - "Invalid", - "FailOnConflict", - "Overwrite" - ], - "type": "string", - "x-ms-enum": { - "name": "OverwriteOptions", - "modelAsString": true - } - }, - "containerId": { - "description": "Resource Id name of the container in which Target DataBase resides", - "type": "string" - }, - "databaseName": { - "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", - "type": "string" - }, - "targetDirectoryMapping": { - "description": "This will contain the target folder mapping for the Full/Diff/Log/Incremental pits.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } } }, "parameters": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/BackupProtectedItems_List.json index 85d863d25ac1..8ceb418d7c90 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/BackupProtectedItems_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -15,14 +15,6 @@ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", "properties": { - "friendlyName": "iaasvm-1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "protectionStatus": "Healthy", - "protectionState": "Protected", - "healthStatus": "Passed", - "lastBackupStatus": "Completed", - "lastBackupTime": "2018-01-22T12:25:32.048723Z", - "protectedItemDataId": "636482643132986882", "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", "backupManagementType": "AzureIaasVM", "workloadType": "VM", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json index d7706573b4a7..4832df83440c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json @@ -7,7 +7,14 @@ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "recoveryPointId": "26083826328862", - "api-version": "2018-12-20-preview" + "api-version": "2018-12-20-preview", + "parameters": { + "properties": { + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "audience": "https://RecoveryServices/IaasCoord/aadmgmt/ase", + "servicePrincipalObjectId": "5ecd8123-cf74-4037-83e9-9246b227b351" + } + } }, "responses": { "200": { @@ -36,6 +43,8 @@ "tokenExtendedInformation": "V2015_091a2311d9-66f5-47d3-a9fb-7a37da63934b;BackUpOperationJobId;e1ebcf24-81a5-434e-b64b-cc81be65ae16falsefalsetrueWindowsCrashConsistentNormalStorageStandard_D2s_v3" } } + }, + "400": { } } } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json index dbd66a894a11..78db0be83003 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json @@ -4,9 +4,9 @@ "azureRegion": "southeastasia", "api-version": "2018-12-20", "parameters": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", - "jobName": "02585cc9-d7f4-4b46-860c-14c048cce178" - } + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "jobName": "02585cc9-d7f4-4b46-860c-14c048cce178" + } }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json index 69c52aeeb20e..7d6c525ea8c7 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json @@ -4,7 +4,8 @@ "azureRegion": "southeastasia", "api-version": "2018-12-20", "parameters": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm" + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "jobName": "02585cc9-d7f4-4b46-860c-14c048cce178" } }, "responses": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json index 845ae5b837ab..eddd701a77ef 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json @@ -4,7 +4,6 @@ "azureRegion": "southeastasia", "api-version": "2018-12-20", "parameters": { - "properties": { "crossRegionRestoreAccessDetails": { "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhqaUJHdVExa2lWV2hyc2lzLUhEckhyWVZNbyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiIzM2UwMTkyMS00ZDY0LTRmOGMtYTA1NS01YmRhZmZkNWUzM2QiLCJBYWRTUE9iamVjdElkIjoiOTMzMjc2ZmMtMWJiNy00ZWNiLTk0ZTYtYWY3ODMyNWY3MjZhIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMTMzMDgzNzkwNjQxODEzODE2MC9wcm90ZWN0aW9uQ29udGFpbmVycy8xMTE0Ni9wcm90ZWN0ZWRJdGVtcy8xMTQyOTM3MDMxL3JlY292ZXJ5UG9pbnRzLzg3MTc4MzU1MzkyNzE2IiwiaXNzIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2UiLCJhdWQiOiJodHRwczovL1JlY292ZXJ5U2VydmljZXMvUHJvdGVjdGlvblNlcnZpY2UiLCJleHAiOjE1NzExMjE5ODYsIm5iZiI6MTU3MTAzNTI4Nn0.oNbeX8ueE6JRGU0IagFjkOlU-o48ez9gCeCrn1-8XEsaVtYJIFKq9FeHfPAoCMxiLQvwL7S0JTjDTjiEsZEvr_VM7tDVwW3sESo2oW-SZlxT_1dJiUBn0jVlQyfDcHEMzbkaTuZswgNWfowgOrnJ67y-ztSUcegf3eVKPEhN1enBBS7pIuL9bZ3SVwMuqznUen6dH54y9lN2w6H14X0UK2CwSN94Uh-spB27j9SbksxLY_tyZm6xsamZFTHpwbgZwR24-GDtElPSxpFL6n_tWLSCHQtN9s84o0X7PfFaMkVmGWbOf4AZmP9M6agagG0JLnlOwObr07YrzZRkg3s2eQ", "backupManagementType": "AzureIaasVM", @@ -45,7 +44,6 @@ "virtualNetworkId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet" } } - } }, "responses": { "202": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json index 24274a982122..2de506377c59 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json @@ -2300,25 +2300,6 @@ } } }, - "AzureWorkloadPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" - }, "AzureWorkloadPointInTimeRestoreRequest": { "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -2336,39 +2317,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" }, - "AzureWorkloadRecoveryPoint": { - "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "recoveryPointTimeInUTC": { - "format": "date-time", - "description": "UTC time at which recovery point was created", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Type of restore point", - "enum": [ - "Invalid", - "Full", - "Log", - "Differential" - ], - "type": "string", - "x-ms-enum": { - "name": "RestorePointType", - "modelAsString": true - }, - "readOnly": true - } - }, - "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" - }, "AzureWorkloadRestoreRequest": { "description": "AzureWorkload-specific restore.", "type": "object", @@ -2424,16 +2372,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" }, - "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime in SAPHana", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" - }, "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -2451,16 +2389,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" }, - "AzureWorkloadSAPHanaRecoveryPoint": { - "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" - }, "AzureWorkloadSAPHanaRestoreRequest": { "description": "AzureWorkload SAP Hana-specific restore.", "type": "object", @@ -2471,25 +2399,6 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" }, - "AzureWorkloadSQLPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" - } - ], - "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" - }, "AzureWorkloadSQLPointInTimeRestoreRequest": { "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -2507,22 +2416,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" }, - "AzureWorkloadSQLRecoveryPoint": { - "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "properties": { - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", - "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" - }, "AzureWorkloadSQLRecoveryPointExtendedInfo": { "description": "Extended info class details", "type": "object", @@ -2592,7 +2485,9 @@ "enum": [ "Invalid", "GeoRedundant", - "LocallyRedundant" + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" ], "type": "string", "x-ms-enum": { @@ -2695,7 +2590,8 @@ "Log", "Differential", "FullAndDifferential", - "All" + "All", + "Incremental" ], "type": "string", "x-ms-enum": { @@ -4772,7 +4668,8 @@ "Full", "Differential", "Log", - "CopyOnlyFull" + "CopyOnlyFull", + "Incremental" ], "type": "string", "x-ms-enum": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json index 95ce71d92a45..2f207dccd0fa 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json @@ -155,709 +155,6 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { - "get": { - "tags": [ - "ProtectedItems" - ], - "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", - "operationId": "ProtectedItems_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose details are to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - } - }, - "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", - "x-ms-examples": { - "Get Protected Classic Virtual Machine Details": { - "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" - }, - "Get Protected Virtual Machine Details": { - "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json" - } - } - }, - "put": { - "tags": [ - "ProtectedItems" - ], - "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", - "operationId": "ProtectedItems_CreateOrUpdate", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Item name to be backed up.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backed up item", - "required": true, - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Enable Protection on Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" - }, - "Stop Protection with retain data on Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/StopProtection.json" - } - } - }, - "delete": { - "tags": [ - "ProtectedItems" - ], - "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.", - "operationId": "ProtectedItems_Delete", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item to be deleted.", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Delete Protection from Azure Virtual Machine": { - "$ref": "./examples/Common/ProtectedItem_Delete.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { - "get": { - "tags": [ - "ProtectedItemOperationResults" - ], - "description": "Fetches the result of any operation on the backup item.", - "operationId": "ProtectedItemOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backup item name whose details are to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation whose result needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Get Operation Results of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { - "get": { - "tags": [ - "RecoveryPoints" - ], - "description": "Lists the backup copies for the backed up item.", - "operationId": "RecoveryPoints_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item whose backup copies are to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPointResourceList" - } - } - }, - "x-ms-odata": "#/definitions/BMSRPQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Get Protected Azure Vm Recovery Points": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { - "get": { - "tags": [ - "RecoveryPoints" - ], - "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", - "operationId": "RecoveryPoints_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose backup data needs to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "RecoveryPointID represents the backed up data to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPointResource" - } - } - }, - "x-ms-examples": { - "Get Azure Vm Recovery Point Details": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { - "post": { - "tags": [ - "Restores" - ], - "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.", - "operationId": "Restores_Trigger", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item to be restored.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents the backed up data to be restored.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource restore request", - "required": true, - "schema": { - "$ref": "#/definitions/RestoreRequestResource" - } - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Restore to New Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json" - }, - "Restore Disks": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { - "get": { - "tags": [ - "BackupPolicies" - ], - "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", - "operationId": "BackupPolicies_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResourceList" - } - } - }, - "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List protection policies with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" - }, - "List protection policies with backupManagementType filter as AzureWorkload": { - "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { - "get": { - "tags": [ - "ProtectionPolicies" - ], - "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy information to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - }, - "x-ms-examples": { - "Get Azure IaasVm Protection Policy Details": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" - } - } - }, - "put": { - "tags": [ - "ProtectionPolicies" - ], - "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_CreateOrUpdate", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy to be created.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backup policy", - "required": true, - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Create or Update Simple Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" - }, - "Create or Update Full Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" - }, - "Create or Update Full Azure Workload Protection Policy": { - "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { - "get": { - "tags": [ - "ProtectionPolicyOperationResults" - ], - "description": "Provides the result of an operation.", - "operationId": "ProtectionPolicyOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy name whose operation's result needs to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - }, - "x-ms-examples": { - "Get Protection Policy Operation Results": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" - } - } - } - }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { "get": { "tags": [ @@ -2371,25 +1668,6 @@ } } }, - "AzureWorkloadPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" - }, "AzureWorkloadPointInTimeRestoreRequest": { "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -2407,39 +1685,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" }, - "AzureWorkloadRecoveryPoint": { - "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "recoveryPointTimeInUTC": { - "format": "date-time", - "description": "UTC time at which recovery point was created", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Type of restore point", - "enum": [ - "Invalid", - "Full", - "Log", - "Differential" - ], - "type": "string", - "x-ms-enum": { - "name": "RestorePointType", - "modelAsString": true - }, - "readOnly": true - } - }, - "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" - }, "AzureWorkloadRestoreRequest": { "description": "AzureWorkload-specific restore.", "type": "object", @@ -2495,16 +1740,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" }, - "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime in SAPHana", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" - }, "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -2522,16 +1757,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" }, - "AzureWorkloadSAPHanaRecoveryPoint": { - "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" - }, "AzureWorkloadSAPHanaRestoreRequest": { "description": "AzureWorkload SAP Hana-specific restore.", "type": "object", @@ -2542,25 +1767,6 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" }, - "AzureWorkloadSQLPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" - } - ], - "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" - }, "AzureWorkloadSQLPointInTimeRestoreRequest": { "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -2578,22 +1784,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" }, - "AzureWorkloadSQLRecoveryPoint": { - "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "properties": { - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", - "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" - }, "AzureWorkloadSQLRecoveryPointExtendedInfo": { "description": "Extended info class details", "type": "object", @@ -2650,7 +1840,9 @@ "enum": [ "Invalid", "GeoRedundant", - "LocallyRedundant" + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" ], "type": "string", "x-ms-enum": { @@ -2663,7 +1855,9 @@ "enum": [ "Invalid", "GeoRedundant", - "LocallyRedundant" + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" ], "type": "string", "x-ms-enum": { @@ -2766,7 +1960,8 @@ "Log", "Differential", "FullAndDifferential", - "All" + "All", + "Incremental" ], "type": "string", "x-ms-enum": { @@ -4886,7 +4081,8 @@ "Full", "Differential", "Log", - "CopyOnlyFull" + "CopyOnlyFull", + "Incremental" ], "type": "string", "x-ms-enum": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json index 5cf3367e2e17..2881dd60f4ee 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -18,13 +18,80 @@ "application/json" ], "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { + "tags": [ + "Backups" + ], + "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", + "operationId": "Backups_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item for which backup needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { "get": { "tags": [ - "DataMove" + "RecoveryPoints" ], - "description": "Fetches operation status for data move operation on vault", - "operationId": "GetOperationStatus", + "description": "Lists the backup copies for the backed up item.", + "operationId": "RecoveryPoints_List", "produces": [ "application/json" ], @@ -42,40 +109,60 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", "in": "path", + "description": "Backed up item whose backup copies are to be fetched.", "required": true, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "../2020-02-02/bms.json#/definitions/OperationStatus" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/RecoveryPointResourceList" } } }, + "x-ms-odata": "#/definitions/BMSRPQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Get OperationStatus": { - "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + "Get Protected Azure Vm Recovery Points": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { + "get": { "tags": [ - "DataMove" + "RecoveryPoints" ], - "description": "Prepares source vault for Data Move operation", - "operationId": "BMSPrepareDataMove", + "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", + "operationId": "RecoveryPoints_Get", "produces": [ "application/json" ], @@ -93,44 +180,56 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "parameters", - "in": "body", - "description": "Prepare data move request", + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with backed up item.", "required": true, - "schema": { - "$ref": "#/definitions/PrepareDataMoveRequest" - } + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose backup data needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", + "description": "OK", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/RecoveryPointResource" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Prepare Data Move": { - "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" + "Get Azure Vm Recovery Point Details": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { "get": { "tags": [ - "BMSPrepareDataMoveOperationResult" + "BackupPolicies" ], - "description": "Fetches Operation Result for Prepare Data Move", - "operationId": "BMSPrepareDataMoveOperationResult_Get", + "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", + "operationId": "BackupPolicies_List", "produces": [ "application/json" ], @@ -148,9 +247,10 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", - "in": "path", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], @@ -158,34 +258,76 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + "$ref": "#/definitions/ProtectionPolicyResourceList" } + } + }, + "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection policies with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" }, - "202": { - "description": "Accepted" + "List protection policies with backupManagementType filter as AzureWorkload": { + "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { + "get": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetProtectionPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, - "default": { - "description": "Error response describing why the operation failed. ", + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy information to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/ProtectionPolicyResource" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Get operation result for PrepareDataMove": { - "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { - "post": { + }, + "put": { "tags": [ - "DataMove" + "ProtectionPolicies" ], - "description": "Triggers Data Move Operation on target vault", - "operationId": "BMSTriggerDataMove", + "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetProtectionPolicyOperationResult API.", + "operationId": "ProtectionPolicies_CreateOrUpdate", "produces": [ "application/json" ], @@ -202,59 +344,1918 @@ { "$ref": "#/parameters/SubscriptionId" }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be created.", + "required": true, + "type": "string" + }, { "name": "parameters", "in": "body", - "description": "Trigger data move request", + "description": "resource backup policy", "required": true, "schema": { - "$ref": "#/definitions/TriggerDataMoveRequest" + "$ref": "#/definitions/ProtectionPolicyResource" } } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } }, "202": { "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or Update Simple Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" - } + "Create or Update Full Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Full Azure Workload Protection Policy": { + "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Trigger Data Move": { - "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" } } } - } - }, - "definitions": { - "NewErrorResponse": { - "properties": { - "error": { - "type": "object", - "description": "The error object.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "The error code." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "The error message." - }, - "target": { - "readOnly": true, - "type": "string", + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationResults" + ], + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's result needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "get": { + "tags": [ + "DataMove" + ], + "description": "Fetches operation status for data move operation on vault", + "operationId": "GetOperationStatus", + "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": "../2020-02-02/bms.json#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Prepares source vault for Data Move operation", + "operationId": "BMSPrepareDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Prepare data move request", + "required": true, + "schema": { + "$ref": "#/definitions/PrepareDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Prepare Data Move": { + "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "get": { + "tags": [ + "BMSPrepareDataMoveOperationResult" + ], + "description": "Fetches Operation Result for Prepare Data Move", + "operationId": "BMSPrepareDataMoveOperationResult_Get", + "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/VaultStorageConfigOperationResultResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. ", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Get operation result for PrepareDataMove": { + "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Triggers Data Move Operation on target vault", + "operationId": "BMSTriggerDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Trigger data move request", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger Data Move": { + "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + } + } + } + } + }, + "definitions": { + "AzureFileShareBackupRequest": { + "description": "AzureFileShare workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareBackupRequest" + }, + "AzureFileShareProtectionPolicy": { + "description": "AzureStorage backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "AzureFileShareRecoveryPoint": { + "description": "Azure File Share workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "fileShareSnapshotUri": { + "description": "Contains Url to the snapshot of fileshare, if applicable", + "type": "string" + }, + "recoveryPointSizeInGB": { + "format": "int32", + "description": "Contains recovery point size", + "type": "integer" + } + }, + "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" + }, + "AzureIaaSVMProtectionPolicy": { + "description": "IaaS VM workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "instantRPDetails": { + "$ref": "#/definitions/InstantRPAdditionalDetails" + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "instantRpRetentionRangeInDays": { + "format": "int32", + "description": "Instant RP retention policy range in days", + "type": "integer" + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureIaasVM" + }, + "AzureSqlProtectionPolicy": { + "description": "Azure SQL workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "AzureSql" + }, + "AzureVmWorkloadProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" + }, + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + "makePolicyConsistent": { + "description": "Fix the policy inconsistency", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureWorkload" + }, + "AzureWorkloadBackupRequest": { + "description": "AzureWorkload workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "backupType": { + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "backupType", + "modelAsString": true + } + }, + "enableCompression": { + "description": "Bool for Compression setting", + "type": "boolean" + }, + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" + }, + "AzureWorkloadPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" + }, + "AzureWorkloadRecoveryPoint": { + "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointTimeInUTC": { + "format": "date-time", + "description": "UTC time at which recovery point was created", + "type": "string" + }, + "type": { + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + }, + "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime in SAPHana", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + }, + "AzureWorkloadSAPHanaRecoveryPoint": { + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + }, + "AzureWorkloadSQLPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" + }, + "AzureWorkloadSQLRecoveryPoint": { + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" + }, + "AzureWorkloadSQLRecoveryPointExtendedInfo": { + "description": "Extended info class details", + "type": "object", + "properties": { + "dataDirectoryTimeInUTC": { + "format": "date-time", + "description": "UTC time at which data directory info was captured", + "type": "string" + }, + "dataDirectoryPaths": { + "description": "List of data directory paths during restore operation.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + } + } + } + }, + "BackupRequest": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "BackupRequestResource": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupRequest", + "description": "BackupRequestResource properties" + } + } + }, + "BEKDetails": { + "description": "BEK is bitlocker encryption key.", + "type": "object", + "properties": { + "secretUrl": { + "description": "Secret is BEK.", + "type": "string" + }, + "secretVaultId": { + "description": "ID of the Key Vault where this Secret is stored.", + "type": "string" + }, + "secretData": { + "description": "BEK data.", + "type": "string" + } + } + }, + "BMSRPQueryObject": { + "description": "Filters to list backup copies.", + "type": "object", + "properties": { + "startDate": { + "format": "date-time", + "description": "Backup copies created after this time.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "Backup copies created before this time.", + "type": "string" + }, + "restorePointQueryType": { + "description": "RestorePoint type", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "FullAndDifferential", + "All", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointQueryType", + "modelAsString": true + } + }, + "extendedInfo": { + "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", + "type": "boolean" + } + } + }, + "ClientScriptForConnect": { + "description": "Client script details for file / folder restore.", + "type": "object", + "properties": { + "scriptContent": { + "description": "File content of the client script for file / folder restore.", + "type": "string" + }, + "scriptExtension": { + "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", + "type": "string" + }, + "osType": { + "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", + "type": "string" + }, + "url": { + "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", + "type": "string" + }, + "scriptNameSuffix": { + "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", + "type": "string" + } + } + }, + "DailyRetentionFormat": { + "description": "Daily retention format.", + "type": "object", + "properties": { + "daysOfTheMonth": { + "description": "List of days of the month.", + "type": "array", + "items": { + "$ref": "#/definitions/Day" + } + } + } + }, + "DailyRetentionSchedule": { + "description": "Daily retention schedule.", + "type": "object", + "properties": { + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "Day": { + "description": "Day of the week.", + "type": "object", + "properties": { + "date": { + "format": "int32", + "description": "Date of the month", + "type": "integer" + }, + "isLast": { + "description": "Whether Date is last date of month", + "type": "boolean" + } + } + }, + "DiskInformation": { + "description": "Disk information", + "type": "object", + "properties": { + "lun": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + } + } + }, + "GenericProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "fabricName": { + "description": "Name of this policy's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectionPolicy" + }, + "GenericRecoveryPoint": { + "description": "Generic backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the backup copy.", + "type": "string" + }, + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericRecoveryPoint" + }, + "IaasVMBackupRequest": { + "description": "IaaS VM workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaasVMBackupRequest" + }, + "IaasVMRecoveryPoint": { + "description": "IaaS VM workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string" + }, + "sourceVMStorageType": { + "description": "Storage type of the VM whose backup copy is created.", + "type": "string" + }, + "isSourceVMEncrypted": { + "description": "Identifies whether the VM was encrypted when the backup copy is created.", + "type": "boolean" + }, + "keyAndSecret": { + "$ref": "#/definitions/KeyAndSecretDetails", + "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." + }, + "isInstantIlrSessionActive": { + "description": "Is the session to recover items from this backup copy still active.", + "type": "boolean" + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformation" + } + }, + "isManagedVirtualMachine": { + "description": "Whether VM is with Managed Disks", + "type": "boolean" + }, + "virtualMachineSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "osType": { + "description": "OS type", + "type": "string" + }, + "recoveryPointDiskConfiguration": { + "$ref": "#/definitions/RecoveryPointDiskConfiguration", + "description": "Disk configuration" + } + }, + "x-ms-discriminator-value": "IaasVMRecoveryPoint" + }, + "InstantItemRecoveryTarget": { + "description": "Target details for file / folder restore.", + "type": "object", + "properties": { + "clientScripts": { + "description": "List of client scripts.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientScriptForConnect" + } + } + } + }, + "InstantRPAdditionalDetails": { + "type": "object", + "properties": { + "azureBackupRGNamePrefix": { + "type": "string" + }, + "azureBackupRGNameSuffix": { + "type": "string" + } + } + }, + "KEKDetails": { + "description": "KEK is encryption key for BEK.", + "type": "object", + "properties": { + "keyUrl": { + "description": "Key is KEK.", + "type": "string" + }, + "keyVaultId": { + "description": "Key Vault ID where this Key is stored.", + "type": "string" + }, + "keyBackupData": { + "description": "KEK data.", + "type": "string" + } + } + }, + "KeyAndSecretDetails": { + "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.", + "type": "object", + "properties": { + "kekDetails": { + "$ref": "#/definitions/KEKDetails", + "description": "KEK is encryption key for BEK." + }, + "bekDetails": { + "$ref": "#/definitions/BEKDetails", + "description": "BEK is bitlocker encryption key." + }, + "encryptionMechanism": { + "description": "Encryption mechanism: None/ SinglePass/ DoublePass", + "type": "string" + } + } + }, + "LogSchedulePolicy": { + "description": "Log policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleFrequencyInMins": { + "format": "int32", + "description": "Frequency of the log schedule operation of this policy in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "LogSchedulePolicy" + }, + "LongTermRetentionPolicy": { + "description": "Long term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "dailySchedule": { + "$ref": "#/definitions/DailyRetentionSchedule", + "description": "Daily retention schedule of the protection policy." + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklyRetentionSchedule", + "description": "Weekly retention schedule of the protection policy." + }, + "monthlySchedule": { + "$ref": "#/definitions/MonthlyRetentionSchedule", + "description": "Monthly retention schedule of the protection policy." + }, + "yearlySchedule": { + "$ref": "#/definitions/YearlyRetentionSchedule", + "description": "Yearly retention schedule of the protection policy." + } + }, + "x-ms-discriminator-value": "LongTermRetentionPolicy" + }, + "LongTermSchedulePolicy": { + "description": "Long term policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "x-ms-discriminator-value": "LongTermSchedulePolicy" + }, + "MabProtectionPolicy": { + "description": "Mab container-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "MAB" + }, + "MonthlyRetentionSchedule": { + "description": "Monthly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format type for monthly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for monthly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for monthly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "OperationStatus": { + "description": "Operation status.", + "type": "object", + "properties": { + "id": { + "description": "ID of the operation.", + "type": "string" + }, + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", + "enum": [ + "Invalid", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationStatusValues", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "Operation start time. Format: ISO-8601.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Operation end time. Format: ISO-8601.", + "type": "string" + }, + "error": { + "$ref": "#/definitions/OperationStatusError", + "description": "Error information related to this operation." + } + } + }, + "OperationStatusError": { + "description": "Error information associated with operation status call.", + "type": "object", + "properties": { + "code": { + "description": "Error code of the operation failure.", + "type": "string" + }, + "message": { + "description": "Error message displayed if the operation failure.", + "type": "string" + } + } + }, + "OperationStatusExtendedInfo": { + "description": "Base class for additional information of operation status.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "OperationStatusJobExtendedInfo": { + "description": "Operation status job extended info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "jobId": { + "description": "ID of the job created for this protected item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "OperationStatusJobExtendedInfo" + }, + "OperationStatusJobsExtendedInfo": { + "description": "Operation status extended info for list of jobs.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "jobIds": { + "description": "IDs of the jobs created for the protected item.", + "type": "array", + "items": { + "type": "string" + } + }, + "failedJobsError": { + "description": "Stores all the failed jobs along with the corresponding error codes.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo" + }, + "OperationStatusProvisionILRExtendedInfo": { + "description": "Operation status extended info for ILR provision action.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "recoveryTarget": { + "$ref": "#/definitions/InstantItemRecoveryTarget", + "description": "Target details for file / folder restore." + } + }, + "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" + }, + "OperationStatusRecoveryPointExtendedInfo": { + "description": "Operation status extended info for Updated Recovery Point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "updatedRecoveryPoint": { + "$ref": "#/definitions/RecoveryPoint", + "description": "Recovery Point info with updated source snapshot URI" + }, + "deletedBackupItemVersion": { + "description": "In case the share is in soft-deleted state, populate this field with deleted backup item", + "type": "string" + } + }, + "x-ms-discriminator-value": "OperationStatusRecoveryPointExtendedInfo" + }, + "PointInTimeRange": { + "description": "Provides details for log ranges", + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Start time of the time range for log recovery.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the time range for log recovery.", + "type": "string" + } + } + }, + "PrepareDataMoveRequest": { + "description": "Prepare DataMove Request", + "required": [ + "targetResourceId", + "targetRegion", + "dataMoveLevel" + ], + "type": "object", + "properties": { + "targetResourceId": { + "description": "ARM Id of target vault", + "type": "string" + }, + "targetRegion": { + "description": "Target Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", + "type": "array", + "items": { + "type": "string" + } + }, + "ignoreMoved": { + "description": "Ignore the artifacts which are already moved.", + "type": "boolean" + } + } + }, + "PrepareDataMoveResponse": { + "description": "Prepare DataMove Response", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + ], + "properties": { + "correlationId": { + "description": "Co-relationId for move operation", + "type": "string" + }, + "sourceVaultProperties": { + "description": "Source Vault Properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" + }, + "ProtectionPolicy": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "required": [ + "backupManagementType" + ], + "type": "object", + "properties": { + "protectedItemsCount": { + "format": "int32", + "description": "Number of items associated with this policy.", + "type": "integer" + }, + "backupManagementType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "backupManagementType" + }, + "ProtectionPolicyQueryObject": { + "description": "Filters the list backup policies API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup policy.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, + "workloadType": { + "description": "Workload type for the backup policy.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + } + } + }, + "ProtectionPolicyResource": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionPolicy", + "description": "ProtectionPolicyResource properties" + } + } + }, + "ProtectionPolicyResourceList": { + "description": "List of ProtectionPolicy resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + } + }, + "RecoveryPoint": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "RecoveryPointDiskConfiguration": { + "description": "Disk configuration", + "type": "object", + "properties": { + "numberOfDisksIncludedInBackup": { + "format": "int32", + "description": "Number of disks included in backup", + "type": "integer" + }, + "numberOfDisksAttachedToVm": { + "format": "int32", + "description": "Number of disks attached to the VM", + "type": "integer" + }, + "includedDiskList": { + "description": "Information of disks included in backup", + "type": "array", + "items": { + "$ref": "#/definitions/DiskInformation" + } + }, + "excludedDiskList": { + "description": "Information of disks excluded from backup", + "type": "array", + "items": { + "$ref": "#/definitions/DiskInformation" + } + } + } + }, + "RecoveryPointResource": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPoint", + "description": "RecoveryPointResource properties" + } + } + }, + "RecoveryPointResourceList": { + "description": "List of RecoveryPoint resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointResource" + } + } + } + }, + "RecoveryPointTierInformation": { + "description": "Recovery point tier information.", + "type": "object", + "properties": { + "type": { + "description": "Recovery point tier type.", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": false + } + } + } + }, + "Resource": { + "description": "ARM Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "description": "Optional ETag.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "ResourceList": { + "description": "Base for all lists of resources.", + "type": "object", + "properties": { + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + } + }, + "RetentionDuration": { + "description": "Retention duration.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", + "type": "integer" + }, + "durationType": { + "description": "Retention duration type of retention policy.", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true + } + } + } + }, + "RetentionPolicy": { + "description": "Base class for retention policy.", + "required": [ + "retentionPolicyType" + ], + "type": "object", + "properties": { + "retentionPolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "retentionPolicyType" + }, + "SchedulePolicy": { + "description": "Base class for backup schedule.", + "required": [ + "schedulePolicyType" + ], + "type": "object", + "properties": { + "schedulePolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "schedulePolicyType" + }, + "Settings": { + "description": "Common settings field for backup management", + "type": "object", + "properties": { + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" + }, + "isCompression": { + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", + "type": "boolean" + } + } + }, + "SimpleRetentionPolicy": { + "description": "Simple policy retention.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of the protection policy." + } + }, + "x-ms-discriminator-value": "SimpleRetentionPolicy" + }, + "SimpleSchedulePolicy": { + "description": "Simple policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } + }, + "scheduleRunDays": { + "description": "List of days of week this schedule has to be run.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "scheduleWeeklyFrequency": { + "format": "int32", + "description": "At every number weeks this schedule has to be run.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "SimpleSchedulePolicy" + }, + "SQLDataDirectory": { + "description": "SQLDataDirectory info", + "type": "object", + "properties": { + "type": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "path": { + "description": "File path", + "type": "string" + }, + "logicalName": { + "description": "Logical name of the file", + "type": "string" + } + } + }, + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", + "type": "object", + "properties": { + "policyType": { + "description": "Type of backup policy type", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + } + } + }, + "NewErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", "description": "The error target." }, "details": { @@ -292,21 +2293,22 @@ }, "discriminator": "objectType" }, - "PrepareDataMoveRequest": { - "description": "Prepare DataMove Request", + "TriggerDataMoveRequest": { + "description": "Trigger DataMove Request", "required": [ - "targetResourceId", - "targetRegion", - "dataMoveLevel" + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" ], "type": "object", "properties": { - "targetResourceId": { - "description": "ARM Id of target vault", + "sourceResourceId": { + "description": "ARM Id of source vault", "type": "string" }, - "targetRegion": { - "description": "Target Region", + "sourceRegion": { + "description": "Source Region", "type": "string" }, "dataMoveLevel": { @@ -322,87 +2324,168 @@ "modelAsString": true } }, + "correlationId": { + "description": "Correlation Id", + "type": "string" + }, "sourceContainerArmIds": { - "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", + "description": "Source Container ArmIds", "type": "array", "items": { "type": "string" } }, - "ignoreMoved": { - "description": "Ignore the artifacts which are already moved.", + "pauseGC": { + "description": "Pause GC", "type": "boolean" } } }, - "PrepareDataMoveResponse": { - "description": "Prepare DataMove Response", + "WeeklyRetentionFormat": { + "description": "Weekly retention format.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" - } - ], "properties": { - "correlationId": { - "description": "Co-relationId for move operation", - "type": "string" + "daysOfTheWeek": { + "description": "List of days of the week.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } }, - "sourceVaultProperties": { - "description": "Source Vault Properties", - "type": "object", - "additionalProperties": { - "type": "string" + "weeksOfTheMonth": { + "description": "List of weeks of month.", + "type": "array", + "items": { + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "WeekOfMonth", + "modelAsString": false + } } } - }, - "x-ms-discriminator-value": "PrepareDataMoveResponse" + } }, - "TriggerDataMoveRequest": { - "description": "Trigger DataMove Request", - "required": [ - "sourceResourceId", - "sourceRegion", - "dataMoveLevel", - "correlationId" - ], + "WeeklyRetentionSchedule": { + "description": "Weekly retention schedule.", "type": "object", "properties": { - "sourceResourceId": { - "description": "ARM Id of source vault", - "type": "string" + "daysOfTheWeek": { + "description": "List of days of week for weekly retention policy.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } }, - "sourceRegion": { - "description": "Source Region", - "type": "string" + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } }, - "dataMoveLevel": { - "description": "DataMove Level", + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "YearlyRetentionSchedule": { + "description": "Yearly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format for yearly retention policy.", "enum": [ "Invalid", - "Vault", - "Container" + "Daily", + "Weekly" ], "type": "string", "x-ms-enum": { - "name": "DataMoveLevel", + "name": "RetentionScheduleFormat", "modelAsString": true } }, - "correlationId": { - "description": "Correlation Id", - "type": "string" + "monthsOfYear": { + "description": "List of months of year of yearly retention policy.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "type": "string", + "x-ms-enum": { + "name": "MonthOfYear", + "modelAsString": false + } + } }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds", + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for yearly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", "type": "array", "items": { + "format": "date-time", "type": "string" } }, - "pauseGC": { - "description": "Pause GC", - "type": "boolean" + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." } } } diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index e52138ea1368..04cad82cf724 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -52,6 +52,7 @@ These settings apply only when `--tag=package-2020-07` is specified on the comma ``` yaml $(tag) == 'package-2020-07' input-file: - Microsoft.RecoveryServices/stable/2020-07-01/bms.json +- Microsoft.RecoveryServices/stable/2018-12-20/bms.json - Microsoft.RecoveryServices/stable/2020-02-02/bms.json - Microsoft.RecoveryServices/stable/2019-06-15/bms.json - Microsoft.RecoveryServices/stable/2017-07-01/bms.json From 8b55d01b45c3cc2ba95b306887c1f1c597e81c5a Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Mon, 28 Sep 2020 10:46:12 +0530 Subject: [PATCH 03/17] Adding examples --- .../Common/BackupStorageConfig_Get.json | 23 ++ .../Common/BackupStorageConfig_Patch.json | 17 ++ .../Common/BackupStorageConfig_Put.json | 29 ++ .../AzureIaasVm/BackupPolicies_List.json | 76 +++++ .../ProtectedItemOperationResults.json | 46 ++++ ...ectionPolicies_CreateOrUpdate_Complex.json | 181 ++++++++++++ ...tectionPolicies_CreateOrUpdate_Simple.json | 75 +++++ .../ProtectionPolicies_Delete.json | 13 + .../AzureIaasVm/ProtectionPolicies_Get.json | 43 +++ .../ProtectionPolicyOperationResults_Get.json | 44 +++ .../AzureIaasVm/RecoveryPoints_Get.json | 39 +++ .../AzureIaasVm/RecoveryPoints_List.json | 74 +++++ .../AzureWorkload/BackupPolicies_List.json | 70 +++++ ...ectionPolicies_CreateOrUpdate_Complex.json | 260 ++++++++++++++++++ .../Common/BackupSecurityPin_Get.json | 17 ++ .../Common/BackupStorageConfig_Get.json | 23 ++ .../Common/BackupStorageConfig_Patch.json | 17 ++ .../Common/BackupStorageConfig_Put.json | 29 ++ .../ProtectedItem_Delete_OperationResult.json | 20 ++ .../ProtectedItem_Delete_OperationStatus.json | 21 ++ .../examples/Common/RefreshContainers.json | 17 ++ .../RefreshContainers_OperationResults.json | 19 ++ .../examples/Common/TriggerBackup_Post.json | 25 ++ 23 files changed, 1178 insertions(+) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Patch.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Put.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupPolicies_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationResults.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupPolicies_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Get.json new file mode 100644 index 000000000000..a22ef9d6df43 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "GeoRedundant", + "storageType": "GeoRedundant", + "storageTypeState": "Locked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Patch.json new file mode 100644 index 000000000000..34f7e0fea52d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Patch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Put.json new file mode 100644 index 000000000000..67f6df781093 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/Common/BackupStorageConfig_Put.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "LocallyRedundant", + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupPolicies_List.json new file mode 100644 index 000000000000..fc2c06ed00d7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupPolicies_List.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2019-06-15", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + }, + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationResults.json new file mode 100644 index 000000000000..620fc00b0474 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationResults.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2019-06-15" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": null + } + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..36299ea1fe2f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2019-06-15", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json new file mode 100644 index 000000000000..df749edb0f33 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2019-06-15", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json new file mode 100644 index 000000000000..809778be7611 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2016-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Get.json new file mode 100644 index 000000000000..d6e9dd3d37bf --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json new file mode 100644 index 000000000000..341db335ac37 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 1 + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_Get.json new file mode 100644 index 000000000000..c09b0da2e36a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "recoveryPointId": "26083826328862", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862", + "name": "26083826328862", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-11-22T22:32:46.6088472Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_List.json new file mode 100644 index 000000000000..c7def4baf6ef --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_List.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", + "name": "22244821112382", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Valid" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", + "name": "24977149827250", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Valid" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupPolicies_List.json new file mode 100644 index 000000000000..345704199d42 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupPolicies_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2019-06-15", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup", + "name": "HourlyLogBackup", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "UTC", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..df49995d8d60 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,260 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2019-06-15", + "parameters": { + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Friday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Friday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json new file mode 100644 index 000000000000..f0a6200ec052 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": { + "token": "200432", + "expiryTimeInUtcTicks": 636495150137443121, + "securityPIN": "200432" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json new file mode 100644 index 000000000000..a22ef9d6df43 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "GeoRedundant", + "storageType": "GeoRedundant", + "storageTypeState": "Locked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json new file mode 100644 index 000000000000..34f7e0fea52d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json new file mode 100644 index 000000000000..67f6df781093 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "LocallyRedundant", + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json new file mode 100644 index 000000000000..abbe8bfacdc7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json new file mode 100644 index 000000000000..4c4d58e3bba0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "InProgress", + "startTime": "2017-08-03T06:52:53.886027Z", + "endTime": "0001-01-01T00:00:00.00000Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json new file mode 100644 index 000000000000..351b670503d0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json new file mode 100644 index 000000000000..21bbcb775742 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json new file mode 100644 index 000000000000..95043e6b4da5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "linuxRsVaultRG", + "vaultName": "linuxRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", + "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "objectType": "IaasVMBackupRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} From a28ad744039309645995c0602a8e7aaa00153db6 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Thu, 1 Oct 2020 22:52:38 +0530 Subject: [PATCH 04/17] Updating APIs to 2020-07-01 --- .../stable/2016-12-01/bms.json | 225 +- .../Common/BackupStorageConfig_Get.json | 23 - .../Common/BackupStorageConfig_Patch.json | 17 - .../Common/BackupStorageConfig_Put.json | 29 - .../stable/2018-12-20/bms.json | 947 +++- .../stable/2019-05-13/bms.json | 117 +- .../stable/2019-06-15/bms.json | 824 ++- .../stable/2020-07-01/bms.json | 4596 ++++++++++++++--- .../BackupProtectedItems_List.json | 39 + .../ClassicCompute_ProtectedItem_Get.json | 38 + .../Compute_ProtectedItem_Get.json | 38 + .../AzureIaasVm/ConfigureProtection.json | 51 + .../examples/AzureIaasVm/StopProtection.json | 51 + .../AzureIaasVm/TriggerRestore_ALR.json | 40 + .../TriggerRestore_RestoreDisks.json | 36 + .../ValidateOperation_RestoreDisk.json | 46 + .../BackupResourceVaultConfigs_Get.json | 21 + .../BackupResourceVaultConfigs_Patch.json | 27 + .../BackupResourceVaultConfigs_Put.json | 27 + .../Common/BackupSecurityPin_Get.json | 17 - .../Common/BackupStorageConfig_Get.json | 23 - .../Common/BackupStorageConfig_Patch.json | 17 - .../Common/BackupStorageConfig_Put.json | 29 - ...lts.json => CancelJobOperationResult.json} | 11 +- .../Common/ExportJobsOperationResult.json | 41 + .../examples/Common/GetJobDetails.json | 46 + .../2020-07-01/examples/Common/ListJobs.json | 49 + .../ListJobsWithAllSupportedFilters.json | 33 + ...istJobsWithStartTimeAndEndTimeFilters.json | 51 + ...nResult.json => ProtectedItem_Delete.json} | 7 +- .../ProtectedItem_Delete_OperationStatus.json | 21 - .../examples/Common/TriggerCancelJob.json | 17 + ...Containers.json => TriggerExportJobs.json} | 5 +- .../resource-manager/readme.md | 1 - 34 files changed, 6393 insertions(+), 1167 deletions(-) delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ConfigureProtection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/StopProtection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_ALR.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Patch.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Put.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/{RefreshContainers_OperationResults.json => CancelJobOperationResult.json} (58%) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ExportJobsOperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/GetJobDetails.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobs.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithAllSupportedFilters.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/{ProtectedItem_Delete_OperationResult.json => ProtectedItem_Delete.json} (79%) delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerCancelJob.json rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/{RefreshContainers.json => TriggerExportJobs.json} (63%) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json index 3842956e8dbe..0f199f61df49 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json @@ -608,6 +608,72 @@ } } }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { + "tags": [ + "Backups" + ], + "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", + "operationId": "Backups_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item for which backup needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" + } + } + } + }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { "get": { "tags": [ @@ -958,6 +1024,52 @@ } } }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { + "delete": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + } + } + } + }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { "get": { "tags": [ @@ -1156,7 +1268,6 @@ } } } - } }, "definitions": { @@ -1578,6 +1689,43 @@ }, "x-ms-discriminator-value": "SQLInstance" }, + "AzureWorkloadBackupRequest": { + "description": "AzureWorkload workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "backupType": { + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "backupType", + "modelAsString": true + } + }, + "enableCompression": { + "description": "Bool for Compression setting", + "type": "boolean" + }, + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" + }, "AzureWorkloadContainer": { "description": "Container for the workloads running inside Azure Compute or Classic Compute.", "type": "object", @@ -1853,6 +2001,73 @@ } } }, + "BackupResourceConfig": { + "description": "The resource storage details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageTypeState": { + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageTypeState", + "modelAsString": true + } + }, + "crossRegionRestoreFlag": { + "description": "Opt in details of Cross Region Restore feature.", + "type": "boolean" + } + } + }, + "BackupResourceConfigResource": { + "description": "The resource storage details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceConfig", + "description": "BackupResourceConfigResource properties" + } + } + }, "BMSBackupEngineQueryObject": { "description": "Query parameters to fetch list of backup engines.", "type": "object", @@ -2834,10 +3049,10 @@ }, "ProtectableContainer": { "description": "Protectable Container Class.", + "type": "object", "required": [ "protectableContainerType" ], - "type": "object", "properties": { "friendlyName": { "description": "Friendly name of the container.", @@ -2933,10 +3148,10 @@ }, "ProtectionContainer": { "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "type": "object", "required": [ "containerType" ], - "type": "object", "properties": { "friendlyName": { "description": "Friendly name of the container.", @@ -3157,10 +3372,10 @@ }, "WorkloadItem": { "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "type": "object", "required": [ "workloadItemType" ], - "type": "object", "properties": { "backupManagementType": { "description": "Type of backup management to backup an item.", @@ -3230,10 +3445,10 @@ }, "WorkloadProtectableItem": { "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "type": "object", "required": [ "protectableItemType" ], - "type": "object", "properties": { "backupManagementType": { "description": "Type of backup management to backup an item.", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json deleted file mode 100644 index a22ef9d6df43..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2016-12-01" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", - "name": "vaultstorageconfig", - "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", - "properties": { - "storageModelType": "GeoRedundant", - "storageType": "GeoRedundant", - "storageTypeState": "Locked" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json deleted file mode 100644 index 34f7e0fea52d..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2016-12-01", - "parameters": { - "properties": { - "storageType": "LocallyRedundant", - "storageTypeState": "Unlocked" - } - } - }, - "responses": { - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json deleted file mode 100644 index 67f6df781093..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2016-12-01", - "parameters": { - "properties": { - "storageType": "LocallyRedundant", - "storageTypeState": "Unlocked" - } - } - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", - "name": "vaultstorageconfig", - "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", - "properties": { - "storageModelType": "LocallyRedundant", - "storageType": "LocallyRedundant", - "storageTypeState": "Unlocked" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index c1f871847619..f0cf100ecd8b 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -103,10 +103,10 @@ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob": { "post": { "tags": [ - "BackupCrrJobs" + "CrrJobDetails" ], "summary": "Get CRR job details from target region.", - "operationId": "BackupCrrJobs_Get", + "operationId": "BackupCrrJobDetails_Get", "produces": [ "application/json" ], @@ -341,7 +341,7 @@ { "name": "recoveryPointId", "in": "path", - "description": "RecoveryPointId", + "description": "Recovery Point Id", "required": true, "type": "string" }, @@ -661,6 +661,76 @@ } } }, + "AzureFileshareProtectedItem": { + "description": "Azure File Share workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the fileshare represented by this backup item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "backups running status for this backup item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "AzureFileShareProtectedItem" + }, "AzureFileshareProtectedItemExtendedInfo": { "description": "Additional information about Azure File Share backup item.", "type": "object", @@ -796,6 +866,26 @@ }, "x-ms-discriminator-value": "AzureFileShareRestoreRequest" }, + "AzureIaaSClassicComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, "AzureIaaSVMErrorInfo": { "description": "Azure IaaS VM workload-specific error information.", "type": "object", @@ -825,6 +915,15 @@ "readOnly": true } } + }, + "AzureIaaSVMHealthDetails": { + "description": "Azure IaaS VM workload-specific Health Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceHealthDetails" + } + ] }, "AzureIaaSVMJob": { "description": "Azure IaaS VM workload-specific job object.", @@ -914,6 +1013,65 @@ } } }, + "KPIResourceHealthDetails": { + "description": "KPI Resource Health Details", + "type": "object", + "properties": { + "resourceHealthStatus": { + "description": "Resource Health Status", + "enum": [ + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceHealthStatus", + "modelAsString": true + } + }, + "resourceHealthDetails": { + "description": "Resource Health Status", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceHealthDetails" + } + } + } + }, + "ResourceHealthDetails": { + "description": "Health Details for backup items.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer", + "readOnly": true + }, + "title": { + "description": "Health Title", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Health Message", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, "AzureIaaSVMJobTaskDetails": { "description": "Azure IaaS VM workload-specific job task details.", "type": "object", @@ -956,6 +1114,94 @@ } } }, + "AzureIaaSVMProtectedItem": { + "description": "IaaS VM workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "Health status of protected item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "healthDetails": { + "description": "Health details on this backup item.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + } + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "lastBackupStatus": { + "description": "Last backup operation status.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectedItemDataId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "extendedProperties": { + "$ref": "#/definitions/ExtendedProperties" + } + }, + "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" + }, "AzureIaaSVMProtectedItemExtendedInfo": { "description": "Additional information on Azure IaaS VM specific backup item.", "type": "object", @@ -1144,6 +1390,107 @@ } } }, + "AzureVmWorkloadProtectedItem": { + "description": "Azure VM workload-specific protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the DB represented by this backup item.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "parentName": { + "description": "Parent name of the DB such as Instance or Availability Group.", + "type": "string" + }, + "parentType": { + "description": "Parent type of protected item, example: for a DB, standalone server or distributed", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true + } + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "lastBackupErrorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error details in last backup" + }, + "protectedItemDataSourceId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "protectedItemHealthStatus": { + "description": "Health status of the backup item, evaluated based on last heartbeat received", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemHealthStatus", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" + }, "AzureVmWorkloadProtectedItemExtendedInfo": { "description": "Additional information on Azure Workload for SQL specific backup item.", "type": "object", @@ -1164,6 +1511,36 @@ } } }, + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP ASE Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + }, "AzureWorkloadErrorInfo": { "description": "Azure storage specific error information", "type": "object", @@ -1299,6 +1676,23 @@ }, "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" }, + "AzureWorkloadPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" + }, "AzureWorkloadRecoveryPoint": { "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", "type": "object", @@ -1333,6 +1727,61 @@ }, "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" }, + "AzureWorkloadRestoreRequest": { + "description": "AzureWorkload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", + "type": "string" + }, + "propertyBag": { + "description": "Workload specific property bag.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" + }, + "recoveryMode": { + "description": "Defines whether the current recovery mode is file restore or database restore", + "enum": [ + "Invalid", + "FileRecovery", + "WorkloadRecovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryMode", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" + }, "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { "description": "Recovery point specific to PointInTime in SAPHana", "type": "object", @@ -1343,6 +1792,23 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" }, + "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" + }, "AzureWorkloadSAPHanaRecoveryPoint": { "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", "type": "object", @@ -1353,6 +1819,16 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" }, + "AzureWorkloadSAPHanaRestoreRequest": { + "description": "AzureWorkload SAP Hana-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" + }, "AzureWorkloadSQLPointInTimeRecoveryPoint": { "description": "Recovery point specific to PointInTime", "type": "object", @@ -1372,81 +1848,22 @@ }, "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" }, - "JobQueryObject": { - "description": "Filters to list the jobs.", + "AzureWorkloadSQLPointInTimeRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], "properties": { - "status": { - "description": "Status of the job.", - "enum": [ - "Invalid", - "InProgress", - "Completed", - "Failed", - "CompletedWithWarnings", - "Cancelled", - "Cancelling" - ], - "type": "string", - "x-ms-enum": { - "name": "JobStatus", - "modelAsString": true - } - }, - "backupManagementType": { - "description": "Type of backup management for the job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "operation": { - "description": "Type of operation.", - "enum": [ - "Invalid", - "Register", - "UnRegister", - "ConfigureBackup", - "Backup", - "Restore", - "DisableBackup", - "DeleteBackupData", - "CrossRegionRestore", - "Undelete" - ], - "type": "string", - "x-ms-enum": { - "name": "JobOperationType", - "modelAsString": true - } - }, - "jobId": { - "description": "JobID represents the job uniquely.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "Job has started at this time. Value is in UTC.", - "type": "string" - }, - "endTime": { + "pointInTime": { "format": "date-time", - "description": "Job has ended at this time. Value is in UTC.", + "description": "PointInTime value", "type": "string" } - } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" }, "AzureWorkloadSQLRecoveryPoint": { "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", @@ -1484,6 +1901,33 @@ } } }, + "AzureWorkloadSQLRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "shouldUseAlternateTargetLocation": { + "description": "Default option set to true. If this is set to false, alternate data directory must be provided", + "type": "boolean" + }, + "isNonRecoverable": { + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", + "type": "boolean" + }, + "alternateDirectoryPaths": { + "description": "Data directory details", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + }, "BEKDetails": { "description": "BEK is bitlocker encryption key.", "type": "object", @@ -1539,45 +1983,6 @@ } } }, - "ClientScriptForConnect": { - "description": "Client script details for file / folder restore.", - "type": "object", - "properties": { - "scriptContent": { - "description": "File content of the client script for file / folder restore.", - "type": "string" - }, - "scriptExtension": { - "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", - "type": "string" - }, - "osType": { - "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", - "type": "string" - }, - "url": { - "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", - "type": "string" - }, - "scriptNameSuffix": { - "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", - "type": "string" - } - } - }, - "CrossRegionRestoreRequest": { - "type": "object", - "properties": { - "crossRegionRestoreAccessDetails": { - "$ref": "#/definitions/CrrAccessToken", - "description": "Access details for cross region restore" - }, - "restoreRequest": { - "$ref": "#/definitions/RestoreRequest", - "description": "Request object for triggering restore" - } - } - }, "BackupResourceConfig": { "description": "The resource storage details.", "type": "object", @@ -1631,6 +2036,34 @@ } } }, + "CrrJobRequest": { + "description": "Request object for fetching CRR jobs.", + "type": "object", + "properties": { + "resourceId": { + "description": "Entire ARM resource id of the resource", + "type": "string" + }, + "jobName": { + "description": "Job Name of the job to be fetched", + "type": "string" + } + } + }, + "CrrJobRequestResource": { + "description": "Request object for fetching CRR jobs.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CrrJobRequest", + "description": "CrrJobRequestResource properties" + } + } + }, "BackupResourceConfigResource": { "description": "The resource storage details.", "allOf": [ @@ -1645,6 +2078,45 @@ } } }, + "ClientScriptForConnect": { + "description": "Client script details for file / folder restore.", + "type": "object", + "properties": { + "scriptContent": { + "description": "File content of the client script for file / folder restore.", + "type": "string" + }, + "scriptExtension": { + "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", + "type": "string" + }, + "osType": { + "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", + "type": "string" + }, + "url": { + "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", + "type": "string" + }, + "scriptNameSuffix": { + "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", + "type": "string" + } + } + }, + "CrossRegionRestoreRequest": { + "type": "object", + "properties": { + "crossRegionRestoreAccessDetails": { + "$ref": "#/definitions/CrrAccessToken", + "description": "Access details for cross region restore" + }, + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Request object for triggering restore" + } + } + }, "CrossRegionRestoreRequestResource": { "allOf": [ { @@ -1754,34 +2226,6 @@ } } }, - "CrrJobRequest": { - "description": "Request object for fetching CRR jobs.", - "type": "object", - "properties": { - "resourceId": { - "description": "Entire ARM resource id of the resource", - "type": "string" - }, - "jobName": { - "description": "Job Name of the job to be fetched", - "type": "string" - } - } - }, - "CrrJobRequestResource": { - "description": "Request object for fetching CRR jobs.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/CrrJobRequest", - "description": "CrrJobRequestResource properties" - } - } - }, "DiskExclusionProperties": { "type": "object", "properties": { @@ -2426,6 +2870,82 @@ }, "discriminator": "jobType" }, + "JobQueryObject": { + "description": "Filters to list the jobs.", + "type": "object", + "properties": { + "status": { + "description": "Status of the job.", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed", + "CompletedWithWarnings", + "Cancelled", + "Cancelling" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup management for the job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "Type of operation.", + "enum": [ + "Invalid", + "Register", + "UnRegister", + "ConfigureBackup", + "Backup", + "Restore", + "DisableBackup", + "DeleteBackupData", + "CrossRegionRestore", + "Undelete" + ], + "type": "string", + "x-ms-enum": { + "name": "JobOperationType", + "modelAsString": true + } + }, + "jobId": { + "description": "JobID represents the job uniquely.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Job has started at this time. Value is in UTC.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Job has ended at this time. Value is in UTC.", + "type": "string" + } + } + }, "JobResource": { "description": "Defines workload agnostic properties for a job.", "allOf": [ @@ -3384,64 +3904,95 @@ "type": "string" } } - } - }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "description": "The subscription Id.", - "required": true, - "type": "string" - }, - "AzureRegion": { - "name": "azureRegion", - "in": "path", - "description": "Azure region to hit Api", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "description": "Client Api Version.", - "required": true, - "type": "string" - }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group where the recovery services vault is present.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "VaultName": { - "name": "vaultName", - "in": "path", - "description": "The name of the recovery services vault.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - } - }, - "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." + }, + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", + "type": "object", + "properties": { + "overwriteOption": { + "description": "Can Overwrite if Target DataBase already exists", + "enum": [ + "Invalid", + "FailOnConflict", + "Overwrite" + ], + "type": "string", + "x-ms-enum": { + "name": "OverwriteOptions", + "modelAsString": true + } + }, + "containerId": { + "description": "Resource Id name of the container in which Target DataBase resides", + "type": "string" + }, + "databaseName": { + "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", + "type": "string" + }, + "targetDirectoryForFileRestore": { + "description": "Target directory location for restore as files.", + "type": "string" + } } } }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "AzureRegion": { + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "description": "The name of the recovery services vault.", + "in": "path", + "name": "vaultName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json index 2de506377c59..24274a982122 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json @@ -2300,6 +2300,25 @@ } } }, + "AzureWorkloadPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" + }, "AzureWorkloadPointInTimeRestoreRequest": { "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -2317,6 +2336,39 @@ }, "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" }, + "AzureWorkloadRecoveryPoint": { + "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointTimeInUTC": { + "format": "date-time", + "description": "UTC time at which recovery point was created", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + }, "AzureWorkloadRestoreRequest": { "description": "AzureWorkload-specific restore.", "type": "object", @@ -2372,6 +2424,16 @@ }, "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" }, + "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime in SAPHana", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + }, "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -2389,6 +2451,16 @@ }, "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" }, + "AzureWorkloadSAPHanaRecoveryPoint": { + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + }, "AzureWorkloadSAPHanaRestoreRequest": { "description": "AzureWorkload SAP Hana-specific restore.", "type": "object", @@ -2399,6 +2471,25 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" }, + "AzureWorkloadSQLPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" + }, "AzureWorkloadSQLPointInTimeRestoreRequest": { "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -2416,6 +2507,22 @@ }, "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" }, + "AzureWorkloadSQLRecoveryPoint": { + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" + }, "AzureWorkloadSQLRecoveryPointExtendedInfo": { "description": "Extended info class details", "type": "object", @@ -2485,9 +2592,7 @@ "enum": [ "Invalid", "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" + "LocallyRedundant" ], "type": "string", "x-ms-enum": { @@ -2590,8 +2695,7 @@ "Log", "Differential", "FullAndDifferential", - "All", - "Incremental" + "All" ], "type": "string", "x-ms-enum": { @@ -4668,8 +4772,7 @@ "Full", "Differential", "Log", - "CopyOnlyFull", - "Incremental" + "CopyOnlyFull" ], "type": "string", "x-ms-enum": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json index 2f207dccd0fa..95ce71d92a45 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json @@ -155,6 +155,709 @@ } } }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { + "get": { + "tags": [ + "ProtectedItems" + ], + "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectedItems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + }, + "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", + "x-ms-examples": { + "Get Protected Classic Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" + }, + "Get Protected Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectedItems" + ], + "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Item name to be backed up.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Enable Protection on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" + }, + "Stop Protection with retain data on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/StopProtection.json" + } + } + }, + "delete": { + "tags": [ + "ProtectedItems" + ], + "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete Protection from Azure Virtual Machine": { + "$ref": "./examples/Common/ProtectedItem_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectedItemOperationResults" + ], + "description": "Fetches the result of any operation on the backup item.", + "operationId": "ProtectedItemOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Get Operation Results of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "description": "Lists the backup copies for the backed up item.", + "operationId": "RecoveryPoints_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item whose backup copies are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } + } + }, + "x-ms-odata": "#/definitions/BMSRPQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", + "operationId": "RecoveryPoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose backup data needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResource" + } + } + }, + "x-ms-examples": { + "Get Azure Vm Recovery Point Details": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { + "post": { + "tags": [ + "Restores" + ], + "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.", + "operationId": "Restores_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents the backed up data to be restored.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource restore request", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Restore to New Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json" + }, + "Restore Disks": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "get": { + "tags": [ + "BackupPolicies" + ], + "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", + "operationId": "BackupPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResourceList" + } + } + }, + "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection policies with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" + }, + "List protection policies with backupManagementType filter as AzureWorkload": { + "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { + "get": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy information to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + }, + "x-ms-examples": { + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be created.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup policy", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Create or Update Simple Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" + }, + "Create or Update Full Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Full Azure Workload Protection Policy": { + "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationResults" + ], + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's result needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + } + } + } + }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { "get": { "tags": [ @@ -1668,6 +2371,25 @@ } } }, + "AzureWorkloadPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" + }, "AzureWorkloadPointInTimeRestoreRequest": { "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -1685,6 +2407,39 @@ }, "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" }, + "AzureWorkloadRecoveryPoint": { + "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointTimeInUTC": { + "format": "date-time", + "description": "UTC time at which recovery point was created", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + }, "AzureWorkloadRestoreRequest": { "description": "AzureWorkload-specific restore.", "type": "object", @@ -1740,6 +2495,16 @@ }, "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" }, + "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime in SAPHana", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + }, "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -1757,6 +2522,16 @@ }, "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" }, + "AzureWorkloadSAPHanaRecoveryPoint": { + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + }, "AzureWorkloadSAPHanaRestoreRequest": { "description": "AzureWorkload SAP Hana-specific restore.", "type": "object", @@ -1767,6 +2542,25 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" }, + "AzureWorkloadSQLPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" + }, "AzureWorkloadSQLPointInTimeRestoreRequest": { "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", "type": "object", @@ -1784,6 +2578,22 @@ }, "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" }, + "AzureWorkloadSQLRecoveryPoint": { + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" + }, "AzureWorkloadSQLRecoveryPointExtendedInfo": { "description": "Extended info class details", "type": "object", @@ -1840,9 +2650,7 @@ "enum": [ "Invalid", "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" + "LocallyRedundant" ], "type": "string", "x-ms-enum": { @@ -1855,9 +2663,7 @@ "enum": [ "Invalid", "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" + "LocallyRedundant" ], "type": "string", "x-ms-enum": { @@ -1960,8 +2766,7 @@ "Log", "Differential", "FullAndDifferential", - "All", - "Incremental" + "All" ], "type": "string", "x-ms-enum": { @@ -4081,8 +4886,7 @@ "Full", "Differential", "Log", - "CopyOnlyFull", - "Incremental" + "CopyOnlyFull" ], "type": "string", "x-ms-enum": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json index 2881dd60f4ee..1320d7f81a28 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -18,13 +18,13 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "get": { "tags": [ - "Backups" + "DataMove" ], - "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", - "operationId": "Backups_Trigger", + "description": "Fetches operation status for data move operation on vault", + "operationId": "GetOperationStatus", "produces": [ "application/json" ], @@ -42,56 +42,95 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "operationId", "in": "path", - "description": "Fabric name associated with the backup item.", "required": true, "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../2020-02-02/bms.json#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Prepares source vault for Data Move operation", + "operationId": "BMSPrepareDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" + "$ref": "#/parameters/VaultName" }, { - "name": "protectedItemName", - "in": "path", - "description": "Backup item for which backup needs to be triggered.", - "required": true, - "type": "string" + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" }, { "name": "parameters", "in": "body", - "description": "resource backup request", + "description": "Prepare data move request", "required": true, "schema": { - "$ref": "#/definitions/BackupRequestResource" + "$ref": "#/definitions/PrepareDataMoveRequest" } } ], "responses": { + "200": { + "description": "OK" + }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Trigger Backup": { - "$ref": "./examples/Common/TriggerBackup_Post.json" + "Prepare Data Move": { + "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { "get": { "tags": [ - "RecoveryPoints" + "BMSPrepareDataMoveOperationResult" ], - "description": "Lists the backup copies for the backed up item.", - "operationId": "RecoveryPoints_List", + "description": "Fetches Operation Result for Prepare Data Move", + "operationId": "BMSPrepareDataMoveOperationResult_Get", "produces": [ "application/json" ], @@ -109,60 +148,44 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", + "name": "operationId", "in": "path", - "description": "Backed up item whose backup copies are to be fetched.", "required": true, "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPointResourceList" + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. ", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSRPQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get Protected Azure Vm Recovery Points": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" + "Get operation result for PrepareDataMove": { + "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { + "post": { "tags": [ - "RecoveryPoints" + "DataMove" ], - "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", - "operationId": "RecoveryPoints_Get", + "description": "Triggers Data Move Operation on target vault", + "operationId": "BMSTriggerDataMove", "produces": [ "application/json" ], @@ -180,56 +203,44 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose backup data needs to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "RecoveryPointID represents the backed up data to be fetched.", + "name": "parameters", + "in": "body", + "description": "Trigger data move request", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/TriggerDataMoveRequest" + } } ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/RecoveryPointResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get Azure Vm Recovery Point Details": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" + "Trigger Data Move": { + "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { "get": { "tags": [ - "BackupPolicies" + "BackupResourceVaultConfigs" ], - "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", - "operationId": "BackupPolicies_List", + "description": "Fetches resource vault config.", + "operationId": "BackupResourceVaultConfigs_Get", "produces": [ "application/json" ], @@ -245,44 +256,28 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionPolicyResourceList" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } } }, - "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List protection policies with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" - }, - "List protection policies with backupManagementType filter as AzureWorkload": { - "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" + "Get Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { - "get": { + }, + "patch": { "tags": [ - "ProtectionPolicies" + "BackupResourceVaultConfigs" ], - "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetProtectionPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Get", + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Update", "produces": [ "application/json" ], @@ -300,34 +295,35 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", - "in": "path", - "description": "Backup policy information to be fetched.", + "name": "parameters", + "in": "body", + "description": "resource config request", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Get Azure IaasVm Protection Policy Details": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" } } }, "put": { "tags": [ - "ProtectionPolicies" + "BackupResourceVaultConfigs" ], - "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetProtectionPolicyOperationResult API.", - "operationId": "ProtectionPolicies_CreateOrUpdate", + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Put", "produces": [ "application/json" ], @@ -344,20 +340,13 @@ { "$ref": "#/parameters/SubscriptionId" }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy to be created.", - "required": true, - "type": "string" - }, { "name": "parameters", "in": "body", - "description": "resource backup policy", + "description": "resource config request", "required": true, "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } } ], @@ -365,32 +354,30 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Create or Update Simple Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" - }, - "Create or Update Full Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" - }, - "Create or Update Full Azure Workload Protection Policy": { - "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { + "get": { "tags": [ - "ProtectionPolicies" + "ProtectedItems" ], - "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Delete", + "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectedItems_Get", "produces": [ "application/json" ], @@ -408,36 +395,58 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Backup policy to be deleted.", + "description": "Fabric name associated with the backed up item.", "required": true, "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" }, - "204": { - "description": "NoContent" + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } } }, - "x-ms-long-running-operation": true, + "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", "x-ms-examples": { - "Delete Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + "Get Protected Classic Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" + }, + "Get Protected Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { - "get": { + }, + "put": { "tags": [ - "ProtectionPolicyOperationResults" + "ProtectedItems" ], - "description": "Provides the result of an operation.", - "operationId": "ProtectionPolicyOperationResults_Get", + "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_CreateOrUpdate", "produces": [ "application/json" ], @@ -455,42 +464,62 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Backup policy name whose operation's result needs to be fetched.", + "description": "Fabric name associated with the backup item.", "required": true, "type": "string" }, { - "name": "operationId", + "name": "containerName", "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", + "description": "Container name associated with the backup item.", "required": true, "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Item name to be backed up.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/ProtectedItemResource" } + }, + "202": { + "description": "Accepted" } }, "x-ms-examples": { - "Get Protection Policy Operation Results": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + "Enable Protection on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" + }, + "Stop Protection with retain data on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/StopProtection.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { - "get": { + }, + "delete": { "tags": [ - "DataMove" + "ProtectedItems" ], - "description": "Fetches operation status for data move operation on vault", - "operationId": "GetOperationStatus", + "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_Delete", "produces": [ "application/json" ], @@ -508,40 +537,49 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", "in": "path", + "description": "Backed up item to be deleted.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "../2020-02-02/bms.json#/definitions/OperationStatus" - } + "202": { + "description": "Accepted" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" - } + "204": { + "description": "NoContent" } }, "x-ms-examples": { - "Get OperationStatus": { - "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + "Delete Protection from Azure Virtual Machine": { + "$ref": "./examples/Common/ProtectedItem_Delete.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { + "get": { "tags": [ - "DataMove" + "ProtectedItemOperationResults" ], - "description": "Prepares source vault for Data Move operation", - "operationId": "BMSPrepareDataMove", + "description": "Fetches the result of any operation on the backup item.", + "operationId": "ProtectedItemOperationResults_Get", "produces": [ "application/json" ], @@ -559,44 +597,62 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "parameters", - "in": "body", - "description": "Prepare data move request", + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", "required": true, - "schema": { - "$ref": "#/definitions/PrepareDataMoveRequest" - } + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } }, "202": { "description": "Accepted" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" - } + "204": { + "description": "NoContent" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Prepare Data Move": { - "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" + "Get Operation Results of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { "get": { "tags": [ - "BMSPrepareDataMoveOperationResult" + "RecoveryPoints" ], - "description": "Fetches Operation Result for Prepare Data Move", - "operationId": "BMSPrepareDataMoveOperationResult_Get", + "description": "Lists the backup copies for the backed up item.", + "operationId": "RecoveryPoints_List", "produces": [ "application/json" ], @@ -614,44 +670,60 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", "in": "path", + "description": "Backed up item whose backup copies are to be fetched.", "required": true, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" - } - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed. ", - "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/RecoveryPointResourceList" } } }, - "x-ms-long-running-operation": true, + "x-ms-odata": "#/definitions/BMSRPQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Get operation result for PrepareDataMove": { - "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + "Get Protected Azure Vm Recovery Points": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { + "get": { "tags": [ - "DataMove" + "RecoveryPoints" ], - "description": "Triggers Data Move Operation on target vault", - "operationId": "BMSTriggerDataMove", + "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", + "operationId": "RecoveryPoints_Get", "produces": [ "application/json" ], @@ -669,58 +741,1371 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "parameters", - "in": "body", - "description": "Trigger data move request", + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with backed up item.", "required": true, - "schema": { - "$ref": "#/definitions/TriggerDataMoveRequest" - } + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose backup data needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", + "description": "OK", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/RecoveryPointResource" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Trigger Data Move": { - "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + "Get Azure Vm Recovery Point Details": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" } } } - } - }, - "definitions": { - "AzureFileShareBackupRequest": { - "description": "AzureFileShare workload-specific backup request.", + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { + "post": { + "tags": [ + "Restores" + ], + "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.", + "operationId": "Restores_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents the backed up data to be restored.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource restore request", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Restore to New Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json" + }, + "Restore Disks": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "get": { + "tags": [ + "BackupPolicies" + ], + "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", + "operationId": "BackupPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResourceList" + } + } + }, + "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection policies with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" + }, + "List protection policies with backupManagementType filter as AzureWorkload": { + "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { + "get": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy information to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + }, + "x-ms-examples": { + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be created.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup policy", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Create or Update Simple Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" + }, + "Create or Update Full Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Full Azure Workload Protection Policy": { + "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationResults" + ], + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's result needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { + "get": { + "tags": [ + "BackupJobs" + ], + "description": "Provides a pageable list of jobs.", + "operationId": "BackupJobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + } + }, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List All Jobs": { + "$ref": "./examples/Common/ListJobs.json" + }, + "List Jobs With Filters": { + "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json" + }, + "List Jobs With Time Filter": { + "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { + "get": { + "tags": [ + "JobDetails" + ], + "description": "Gets extended information associated with the job.", + "operationId": "JobDetails_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Name of the job whose details are to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResource" + } + } + }, + "x-ms-examples": { + "Get Job Details": { + "$ref": "./examples/Common/GetJobDetails.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { + "post": { + "tags": [ + "JobCancellations" + ], + "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.", + "operationId": "JobCancellations_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Name of the job to cancel.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Cancel Job": { + "$ref": "./examples/Common/TriggerCancelJob.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { + "get": { + "tags": [ + "JobOperationResults" + ], + "description": "Fetches the result of any operation.", + "operationId": "JobOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job name whose operation result has to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result has to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Cancel Job Operation Result": { + "$ref": "./examples/Common/CancelJobOperationResult.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { + "get": { + "tags": [ + "ExportJobsOperationResults" + ], + "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", + "operationId": "ExportJobsOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the export job.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + } + }, + "x-ms-examples": { + "Export Jobs Operation Results": { + "$ref": "./examples/Common/ExportJobsOperationResult.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", + "operationId": "Jobs_Export", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-examples": { + "Export Jobs": { + "$ref": "./examples/Common/TriggerExportJobs.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { + "get": { + "tags": [ + "BackupProtectedItems" + ], + "description": "Provides a pageable list of all items that are backed up within a vault.", + "operationId": "BackupProtectedItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResourceList" + } + } + }, + "x-ms-odata": "#/definitions/ProtectedItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protected items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { + "post": { + "tags": [ + "Operation" + ], + "description": "Validate operation for specified backed up item. This is a synchronous operation.", + "operationId": "Operation_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource validate operation request", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateOperationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateOperationsResponse" + } + } + }, + "x-ms-examples": { + "Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" + } + } + } + } + }, + "definitions": { + "AzureFileshareProtectedItem": { + "description": "Azure File Share workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the fileshare represented by this backup item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "AzureFileShareProtectedItem" + }, + "AzureFileshareProtectedItemExtendedInfo": { + "description": "Additional information about Azure File Share backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "resourceState": { + "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}", + "type": "string", + "readOnly": true + }, + "resourceStateSyncTime": { + "format": "date-time", + "description": "The resource state sync time for this backup item.", + "type": "string", + "readOnly": true + } + } + }, + "AzureFileShareRecoveryPoint": { + "description": "Azure File Share workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", + "type": "string", + "readOnly": true + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string", + "readOnly": true + }, + "fileShareSnapshotUri": { + "description": "Contains Url to the snapshot of fileshare, if applicable", + "type": "string", + "readOnly": true + }, + "recoveryPointSizeInGB": { + "format": "int32", + "description": "Contains recovery point size", + "type": "integer", + "readOnly": true + } + }, + "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" + }, + "AzureFileShareRestoreRequest": { + "description": "AzureFileShare Restore Request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Source storage account ARM Id", + "type": "string" + }, + "copyOptions": { + "description": "Options to resolve copy conflicts.", + "enum": [ + "Invalid", + "CreateCopy", + "Skip", + "Overwrite", + "FailOnConflict" + ], + "type": "string", + "x-ms-enum": { + "name": "CopyOptions", + "modelAsString": true + } + }, + "restoreRequestType": { + "description": "Restore Type (FullShareRestore or ItemLevelRestore)", + "enum": [ + "Invalid", + "FullShareRestore", + "ItemLevelRestore" + ], + "type": "string", + "x-ms-enum": { + "name": "RestoreRequestType", + "modelAsString": true + } + }, + "restoreFileSpecs": { + "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", + "type": "array", + "items": { + "$ref": "#/definitions/RestoreFileSpecs" + } + }, + "targetDetails": { + "$ref": "#/definitions/TargetAFSRestoreInfo", + "description": "Target File Share Details" + } + }, + "x-ms-discriminator-value": "AzureFileShareRestoreRequest" + }, + "AzureVmWorkloadProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" + }, + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + "makePolicyConsistent": { + "description": "Fix the policy inconsistency", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureWorkload" + }, + "AzureFileShareProtectionPolicy": { + "description": "AzureStorage backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSVMErrorInfo": { + "description": "Azure IaaS VM workload-specific error information.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer", + "readOnly": true + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string", + "readOnly": true + }, + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ResourceHealthDetails": { + "description": "Health Details for backup items.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer", + "readOnly": true + }, + "title": { + "description": "Health Title", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Health Message", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "AzureIaaSVMHealthDetails": { + "description": "Azure IaaS VM workload-specific Health Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceHealthDetails" + } + ] + }, + "AzureIaaSVMJob": { + "description": "Azure IaaS VM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMErrorInfo" + } + }, + "virtualMachineVersion": { + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "AzureIaaSVMJob" + }, + "AzureIaaSVMJobExtendedInfo": { + "description": "Azure IaaS VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "internalPropertyBag": { + "description": "Job internal properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "progressPercentage": { + "format": "double", + "description": "Indicates progress of the job. Null if it has not started or completed.", + "type": "number" + }, + "estimatedRemainingDuration": { + "description": "Time remaining for execution of this job.", + "type": "string" + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureIaaSVMJobTaskDetails": { + "description": "Azure IaaS VM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "instanceId": { + "description": "The instanceId.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + }, + "progressPercentage": { + "format": "double", + "description": "Progress of the task.", + "type": "number" + }, + "taskExecutionDetails": { + "description": "Details about execution of the task.\r\neg: number of bytes transferred etc", + "type": "string" + } + } + }, + "AzureIaaSVMProtectedItem": { + "description": "IaaS VM workload-specific backup item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/BackupRequest" + "$ref": "#/definitions/ProtectedItem" } ], "properties": { - "recoveryPointExpiryTimeInUTC": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "Health status of protected item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "healthDetails": { + "description": "Health details on this backup item.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + } + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "lastBackupStatus": { + "description": "Last backup operation status.", + "type": "string" + }, + "lastBackupTime": { "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectedItemDataId": { + "description": "Data ID of the protected item.", "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "extendedProperties": { + "$ref": "#/definitions/ExtendedProperties" } }, - "x-ms-discriminator-value": "AzureFileShareBackupRequest" + "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" }, - "AzureFileShareProtectionPolicy": { - "description": "AzureStorage backup policy.", + "AzureIaaSVMProtectedItemExtendedInfo": { + "description": "Additional information on Azure IaaS VM specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyInconsistent": { + "description": "Specifies if backup policy associated with the backup item is inconsistent.", + "type": "boolean" + } + } + }, + "AzureIaaSVMProtectionPolicy": { + "description": "IaaS VM workload-specific backup policy.", "type": "object", "allOf": [ { @@ -728,30 +2113,8 @@ } ], "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } + "instantRPDetails": { + "$ref": "#/definitions/InstantRPAdditionalDetails" }, "schedulePolicy": { "$ref": "#/definitions/SchedulePolicy", @@ -761,45 +2124,98 @@ "$ref": "#/definitions/RetentionPolicy", "description": "Retention policy with the details on backup copy retention ranges." }, + "instantRpRetentionRangeInDays": { + "format": "int32", + "description": "Instant RP retention policy range in days", + "type": "integer" + }, "timeZone": { "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", "type": "string" } }, - "x-ms-discriminator-value": "AzureStorage" + "x-ms-discriminator-value": "AzureIaasVM" }, - "AzureFileShareRecoveryPoint": { - "description": "Azure File Share workload specific backup copy.", + "AzureSqlProtectedItem": { + "description": "Azure SQL workload-specific backup item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/ProtectedItem" } ], "properties": { - "recoveryPointType": { - "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", + "protectedItemDataId": { + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", "type": "string" }, - "recoveryPointTime": { + "protectionState": { + "description": "Backup state of the backed up item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + }, + "AzureSqlProtectedItemExtendedInfo": { + "description": "Additional information on Azure Sql specific protected item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { "format": "date-time", - "description": "Time at which this backup copy was created.", + "description": "The oldest backup copy available for this item in the service.", "type": "string" }, - "fileShareSnapshotUri": { - "description": "Contains Url to the snapshot of fileshare, if applicable", - "type": "string" + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" }, - "recoveryPointSizeInGB": { + "policyState": { + "description": "State of the backup policy associated with this backup item.", + "type": "string" + } + } + }, + "AzureStorageErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { "format": "int32", - "description": "Contains recovery point size", + "description": "Error code.", "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } } - }, - "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" + } }, - "AzureIaaSVMProtectionPolicy": { - "description": "IaaS VM workload-specific backup policy.", + "AzureSqlProtectionPolicy": { + "description": "Azure SQL workload-specific backup policy.", "type": "object", "allOf": [ { @@ -807,133 +2223,369 @@ } ], "properties": { - "instantRPDetails": { - "$ref": "#/definitions/InstantRPAdditionalDetails" - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, "retentionPolicy": { "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "AzureSql" + }, + "AzureStorageJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageErrorInfo" + } + }, + "storageAccountName": { + "description": "Specifies friendly name of the storage account.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureStorageJobExtendedInfo", + "description": "Additional information about the job." + } + }, + "x-ms-discriminator-value": "AzureStorageJob" + }, + "AzureStorageJobExtendedInfo": { + "description": "Azure Storage workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureStorageJobTaskDetails": { + "description": "Azure storage workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "AzureVmWorkloadProtectedItem": { + "description": "Azure VM workload-specific protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the DB represented by this backup item.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "parentName": { + "description": "Parent name of the DB such as Instance or Availability Group.", + "type": "string" + }, + "parentType": { + "description": "Parent type of protected item, example: for a DB, standalone server or distributed", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true + } + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "lastBackupErrorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error details in last backup" + }, + "protectedItemDataSourceId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "protectedItemHealthStatus": { + "description": "Health status of the backup item, evaluated based on last heartbeat received", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemHealthStatus", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" + }, + "AzureVmWorkloadProtectedItemExtendedInfo": { + "description": "Additional information on Azure Workload for SQL specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", + "type": "string" }, - "instantRpRetentionRangeInDays": { + "recoveryPointCount": { "format": "int32", - "description": "Instant RP retention policy range in days", + "description": "Number of backup copies available for this backup item.", "type": "integer" }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", "type": "string" } - }, - "x-ms-discriminator-value": "AzureIaasVM" + } }, - "AzureSqlProtectionPolicy": { - "description": "Azure SQL workload-specific backup policy.", + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP ASE Database.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } ], - "properties": { - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." + "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } - }, - "x-ms-discriminator-value": "AzureSql" + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" }, - "AzureVmWorkloadProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SQL Database.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } ], + "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + }, + "AzureWorkloadErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" }, - "settings": { - "$ref": "#/definitions/Settings", - "description": "Common settings for the backup management" + "errorString": { + "description": "Localized error string.", + "type": "string" }, - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", "type": "array", "items": { - "$ref": "#/definitions/SubProtectionPolicy" + "type": "string" } }, - "makePolicyConsistent": { - "description": "Fix the policy inconsistency", - "type": "boolean" + "additionalDetails": { + "description": "Additional details for above error code.", + "type": "string" } - }, - "x-ms-discriminator-value": "AzureWorkload" + } }, - "AzureWorkloadBackupRequest": { - "description": "AzureWorkload workload-specific backup request.", + "AzureWorkloadJob": { + "description": "Azure storage specific job.", "type": "object", "allOf": [ { - "$ref": "#/definitions/BackupRequest" + "$ref": "#/definitions/Job" } ], "properties": { - "backupType": { - "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental" - ], - "type": "string", - "x-ms-enum": { - "name": "backupType", - "modelAsString": true + "workloadType": { + "description": "Workload type of the job", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } } }, - "enableCompression": { - "description": "Bool for Compression setting", - "type": "boolean" + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadErrorInfo" + } }, - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", + "description": "Additional information about the job." } }, - "x-ms-discriminator-value": "AzureWorkloadBackupRequest" + "x-ms-discriminator-value": "AzureWorkloadJob" + }, + "AzureWorkloadJobExtendedInfo": { + "description": "Azure VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureWorkloadJobTaskDetails": { + "description": "Azure VM workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } }, "AzureWorkloadPointInTimeRecoveryPoint": { "description": "Recovery point specific to PointInTime", @@ -954,6 +2606,23 @@ }, "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" }, + "AzureWorkloadPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" + }, "AzureWorkloadRecoveryPoint": { "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", "type": "object", @@ -966,7 +2635,8 @@ "recoveryPointTimeInUTC": { "format": "date-time", "description": "UTC time at which recovery point was created", - "type": "string" + "type": "string", + "readOnly": true }, "type": { "description": "Type of restore point", @@ -981,11 +2651,67 @@ "x-ms-enum": { "name": "RestorePointType", "modelAsString": true - } + }, + "readOnly": true } }, "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" }, + "AzureWorkloadRestoreRequest": { + "description": "AzureWorkload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", + "type": "string" + }, + "propertyBag": { + "description": "Workload specific property bag.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" + }, + "recoveryMode": { + "description": "Defines whether the current recovery mode is file restore or database restore", + "enum": [ + "Invalid", + "FileRecovery", + "WorkloadRecovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryMode", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" + }, "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { "description": "Recovery point specific to PointInTime in SAPHana", "type": "object", @@ -996,6 +2722,23 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" }, + "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" + }, "AzureWorkloadSAPHanaRecoveryPoint": { "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", "type": "object", @@ -1006,6 +2749,16 @@ ], "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" }, + "AzureWorkloadSAPHanaRestoreRequest": { + "description": "AzureWorkload SAP Hana-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" + }, "AzureWorkloadSQLPointInTimeRecoveryPoint": { "description": "Recovery point specific to PointInTime", "type": "object", @@ -1025,6 +2778,23 @@ }, "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" }, + "AzureWorkloadSQLPointInTimeRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" + }, "AzureWorkloadSQLRecoveryPoint": { "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", "type": "object", @@ -1048,33 +2818,123 @@ "dataDirectoryTimeInUTC": { "format": "date-time", "description": "UTC time at which data directory info was captured", - "type": "string" + "type": "string", + "readOnly": true + }, + "dataDirectoryPaths": { + "description": "List of data directory paths during restore operation.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + }, + "readOnly": true + } + } + }, + "AzureWorkloadSQLRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "shouldUseAlternateTargetLocation": { + "description": "Default option set to true. If this is set to false, alternate data directory must be provided", + "type": "boolean" + }, + "isNonRecoverable": { + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", + "type": "boolean" + }, + "alternateDirectoryPaths": { + "description": "Data directory details", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + }, + "BackupResourceVaultConfig": { + "description": "Backup resource vault config details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } }, - "dataDirectoryPaths": { - "description": "List of data directory paths during restore operation.", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectory" + "storageTypeState": { + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageTypeState", + "modelAsString": true + } + }, + "enhancedSecurityState": { + "description": "Enabled or Disabled.", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnhancedSecurityState", + "modelAsString": true + } + }, + "softDeleteFeatureState": { + "description": "Soft Delete feature state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SoftDeleteFeatureState", + "modelAsString": true } } } }, - "BackupRequest": { - "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "BackupRequestResource": { - "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "BackupResourceVaultConfigResource": { + "description": "Backup resource vault config details.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -1082,8 +2942,8 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BackupRequest", - "description": "BackupRequestResource properties" + "$ref": "#/definitions/BackupResourceVaultConfig", + "description": "BackupResourceVaultConfigResource properties" } } }, @@ -1142,28 +3002,32 @@ } } }, - "ClientScriptForConnect": { - "description": "Client script details for file / folder restore.", + "DiskExclusionProperties": { "type": "object", "properties": { - "scriptContent": { - "description": "File content of the client script for file / folder restore.", - "type": "string" - }, - "scriptExtension": { - "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", - "type": "string" - }, - "osType": { - "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", - "type": "string" + "diskLunList": { + "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } }, - "url": { - "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", - "type": "string" + "isInclusionList": { + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", + "type": "boolean" + } + } + }, + "DiskInformation": { + "description": "Disk information", + "type": "object", + "properties": { + "lun": { + "format": "int32", + "type": "integer" }, - "scriptNameSuffix": { - "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", + "name": { "type": "string" } } @@ -1189,41 +3053,357 @@ "description": "Retention times of retention policy.", "type": "array", "items": { - "format": "date-time", + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "Day": { + "description": "Day of the week.", + "type": "object", + "properties": { + "date": { + "format": "int32", + "description": "Date of the month", + "type": "integer" + }, + "isLast": { + "description": "Whether Date is last date of month", + "type": "boolean" + } + } + }, + "DpmErrorInfo": { + "description": "DPM workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DpmJob": { + "description": "DPM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed for job.", + "type": "string" + }, + "dpmServerName": { + "description": "DPM server name managing the backup item or backup job.", + "type": "string" + }, + "containerName": { + "description": "Name of cluster/server protecting current backup item, if any.", + "type": "string" + }, + "containerType": { + "description": "Type of container.", + "type": "string" + }, + "workloadType": { + "description": "Type of backup item.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/DpmJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "DpmJob" + }, + "DpmJobExtendedInfo": { + "description": "Additional information on the DPM workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmJobTaskDetails" + } + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "DpmJobTaskDetails": { + "description": "DPM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "DPMProtectedItem": { + "description": "Additional information on Backup engine specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the managed item", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Management server protecting this backup item", + "type": "string" + }, + "protectionState": { + "description": "Protection state of the backup engine", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/DPMProtectedItemExtendedInfo", + "description": "Extended info of the backup item." + } + }, + "x-ms-discriminator-value": "DPMProtectedItem" + }, + "DPMProtectedItemExtendedInfo": { + "description": "Additional information of DPM Protected item.", + "type": "object", + "properties": { + "protectableObjectLoadPath": { + "description": "Attribute to provide information on various DBs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "protected": { + "description": "To check if backup item is disk protected.", + "type": "boolean" + }, + "isPresentOnCloud": { + "description": "To check if backup item is cloud protected.", + "type": "boolean" + }, + "lastBackupStatus": { + "description": "Last backup status information on backup item.", + "type": "string" + }, + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time on backup item.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest cloud recovery point time.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "cloud recovery point count.", + "type": "integer" + }, + "onPremiseOldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest disk recovery point time.", + "type": "string" + }, + "onPremiseLatestRecoveryPoint": { + "format": "date-time", + "description": "latest disk recovery point time.", + "type": "string" + }, + "onPremiseRecoveryPointCount": { + "format": "int32", + "description": "disk recovery point count.", + "type": "integer" + }, + "isCollocated": { + "description": "To check if backup item is collocated.", + "type": "boolean" + }, + "protectionGroupName": { + "description": "Protection group name of the backup item.", + "type": "string" + }, + "diskStorageUsedInBytes": { + "description": "Used Disk storage in bytes.", + "type": "string" + }, + "totalDiskStorageSizeInBytes": { + "description": "total Disk storage in bytes.", + "type": "string" + } + } + }, + "EncryptionDetails": { + "description": "Details needed if the VM was encrypted at the time of backup.", + "type": "object", + "properties": { + "encryptionEnabled": { + "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", + "type": "boolean" + }, + "kekUrl": { + "description": "Key Url.", + "type": "string" + }, + "secretKeyUrl": { + "description": "Secret Url.", + "type": "string" + }, + "kekVaultId": { + "description": "ID of Key Vault where KEK is stored.", + "type": "string" + }, + "secretKeyVaultId": { + "description": "ID of Key Vault where Secret is stored.", + "type": "string" + } + } + }, + "ErrorDetail": { + "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error Message related to the Code.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of recommendation strings.", + "type": "array", + "items": { "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." + }, + "readOnly": true } } }, - "Day": { - "description": "Day of the week.", + "ExportJobsOperationResultInfo": { + "description": "This class is used to send blob details after exporting jobs.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], "properties": { - "date": { - "format": "int32", - "description": "Date of the month", - "type": "integer" + "blobUrl": { + "description": "URL of the blob into which the serialized string of list of jobs is exported.", + "type": "string" }, - "isLast": { - "description": "Whether Date is last date of month", - "type": "boolean" + "blobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" + }, + "excelFileBlobUrl": { + "description": "URL of the blob into which the ExcelFile is uploaded.", + "type": "string" + }, + "excelFileBlobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "ExportJobsOperationResultInfo" }, - "DiskInformation": { - "description": "Disk information", + "ExtendedProperties": { + "description": "Extended Properties for Azure IaasVM Backup.", "type": "object", "properties": { - "lun": { - "format": "int32", - "type": "integer" - }, - "name": { - "type": "string" + "diskExclusionProperties": { + "$ref": "#/definitions/DiskExclusionProperties", + "description": "Extended Properties for Disk Exclusion." } } }, @@ -1254,6 +3434,69 @@ }, "x-ms-discriminator-value": "GenericProtectionPolicy" }, + "InstantRPAdditionalDetails": { + "type": "object", + "properties": { + "azureBackupRGNamePrefix": { + "type": "string" + }, + "azureBackupRGNameSuffix": { + "type": "string" + } + } + }, + "GenericProtectedItem": { + "description": "Base class for backup items.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "protectedItemId": { + "format": "int64", + "description": "Data Plane Service ID of the protected item.", + "type": "integer" + }, + "sourceAssociations": { + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "fabricName": { + "description": "Name of this backup item's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectedItem" + }, "GenericRecoveryPoint": { "description": "Generic backup copy.", "type": "object", @@ -1283,22 +3526,15 @@ }, "x-ms-discriminator-value": "GenericRecoveryPoint" }, - "IaasVMBackupRequest": { - "description": "IaaS VM workload-specific backup request.", + "GetProtectedItemQueryObject": { + "description": "Filters to list backup items.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } - ], "properties": { - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", + "expand": { + "description": "Specifies if the additional information should be provided for this item.", "type": "string" } - }, - "x-ms-discriminator-value": "IaasVMBackupRequest" + } }, "IaasVMRecoveryPoint": { "description": "IaaS VM workload specific backup copy.", @@ -1311,24 +3547,29 @@ "properties": { "recoveryPointType": { "description": "Type of the backup copy.", - "type": "string" + "type": "string", + "readOnly": true }, "recoveryPointTime": { "format": "date-time", "description": "Time at which this backup copy was created.", - "type": "string" + "type": "string", + "readOnly": true }, "recoveryPointAdditionalInfo": { "description": "Additional information associated with this backup copy.", - "type": "string" + "type": "string", + "readOnly": true }, "sourceVMStorageType": { "description": "Storage type of the VM whose backup copy is created.", - "type": "string" + "type": "string", + "readOnly": true }, "isSourceVMEncrypted": { "description": "Identifies whether the VM was encrypted when the backup copy is created.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "keyAndSecret": { "$ref": "#/definitions/KeyAndSecretDetails", @@ -1345,50 +3586,280 @@ "$ref": "#/definitions/RecoveryPointTierInformation" } }, - "isManagedVirtualMachine": { - "description": "Whether VM is with Managed Disks", - "type": "boolean" - }, - "virtualMachineSize": { - "description": "Virtual Machine Size", + "isManagedVirtualMachine": { + "description": "Whether VM is with Managed Disks", + "type": "boolean" + }, + "virtualMachineSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "osType": { + "description": "OS type", + "type": "string" + }, + "recoveryPointDiskConfiguration": { + "$ref": "#/definitions/RecoveryPointDiskConfiguration", + "description": "Disk configuration" + } + }, + "x-ms-discriminator-value": "IaasVMRecoveryPoint" + }, + "IaasVMRestoreRequest": { + "description": "IaaS VM workload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "ID of the backup copy to be recovered.", + "type": "string" + }, + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM which is being recovered.", + "type": "string" + }, + "targetVirtualMachineId": { + "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", + "type": "string" + }, + "targetResourceGroupId": { + "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}", + "type": "string" + }, + "storageAccountId": { + "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", + "type": "string" + }, + "virtualNetworkId": { + "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.", + "type": "string" + }, + "subnetId": { + "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.", + "type": "string" + }, + "targetDomainNameId": { + "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.", + "type": "string" + }, + "region": { + "description": "Region in which the virtual machine is restored.", + "type": "string" + }, + "affinityGroup": { + "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", + "type": "string" + }, + "createNewCloudService": { + "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.", + "type": "boolean" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Details needed if the VM was encrypted at the time of backup." + }, + "restoreDiskLunList": { + "description": "List of Disk LUNs for partial restore", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + } + }, + "x-ms-discriminator-value": "IaasVMRestoreRequest" + }, + "Job": { + "description": "Defines workload agnostic properties for a job.", + "required": [ + "jobType" + ], + "type": "object", + "properties": { + "entityFriendlyName": { + "description": "Friendly name of the entity on which the current job is executing.", + "type": "string" + }, + "backupManagementType": { + "description": "Backup management type to execute the current job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "The operation name.", + "type": "string" + }, + "status": { + "description": "Job status.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "activityId": { + "description": "ActivityId of job.", + "type": "string" + }, + "jobType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "jobType" + }, + "JobQueryObject": { + "description": "Filters to list the jobs.", + "type": "object", + "properties": { + "status": { + "description": "Status of the job.", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed", + "CompletedWithWarnings", + "Cancelled", + "Cancelling" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup management for the job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "Type of operation.", + "enum": [ + "Invalid", + "Register", + "UnRegister", + "ConfigureBackup", + "Backup", + "Restore", + "DisableBackup", + "DeleteBackupData", + "CrossRegionRestore", + "Undelete" + ], + "type": "string", + "x-ms-enum": { + "name": "JobOperationType", + "modelAsString": true + } + }, + "jobId": { + "description": "JobID represents the job uniquely.", "type": "string" }, - "originalStorageAccountOption": { - "description": "Original Storage Account Option", - "type": "boolean" - }, - "osType": { - "description": "OS type", + "startTime": { + "format": "date-time", + "description": "Job has started at this time. Value is in UTC.", "type": "string" }, - "recoveryPointDiskConfiguration": { - "$ref": "#/definitions/RecoveryPointDiskConfiguration", - "description": "Disk configuration" + "endTime": { + "format": "date-time", + "description": "Job has ended at this time. Value is in UTC.", + "type": "string" } - }, - "x-ms-discriminator-value": "IaasVMRecoveryPoint" + } }, - "InstantItemRecoveryTarget": { - "description": "Target details for file / folder restore.", - "type": "object", + "JobResource": { + "description": "Defines workload agnostic properties for a job.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "clientScripts": { - "description": "List of client scripts.", - "type": "array", - "items": { - "$ref": "#/definitions/ClientScriptForConnect" - } + "properties": { + "$ref": "#/definitions/Job", + "description": "JobResource properties" } } }, - "InstantRPAdditionalDetails": { + "JobResourceList": { + "description": "List of Job resources", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], "properties": { - "azureBackupRGNamePrefix": { - "type": "string" - }, - "azureBackupRGNameSuffix": { - "type": "string" + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } } } }, @@ -1483,6 +3954,239 @@ ], "x-ms-discriminator-value": "LongTermSchedulePolicy" }, + "MabErrorInfo": { + "description": "MAB workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of localized recommendations.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "MabFileFolderProtectedItem": { + "description": "MAB workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of this backup item.", + "type": "string" + }, + "computerName": { + "description": "Name of the computer associated with this backup item.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Status of last backup operation.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Protected, ProtectionStopped, IRPending or ProtectionError", + "type": "string" + }, + "deferredDeleteSyncTimeInUTC": { + "format": "int64", + "description": "Sync time for deferred deletion in UTC", + "type": "integer" + }, + "extendedInfo": { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "MabFileFolderProtectedItem" + }, + "MabFileFolderProtectedItemExtendedInfo": { + "description": "Additional information on the backed up item.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Last time when the agent data synced to service.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies associated with the backup item.", + "type": "integer" + } + } + }, + "MabJob": { + "description": "MAB workload-specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time taken by job to run.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on jobs like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "mabServerName": { + "description": "Name of server protecting the DS.", + "type": "string" + }, + "mabServerType": { + "description": "Server type of MAB container.", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "MabServerType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type of backup item.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/MabErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/MabJobExtendedInfo", + "description": "Additional information on the job." + } + }, + "x-ms-discriminator-value": "MabJob" + }, + "MabJobExtendedInfo": { + "description": "Additional information for the MAB workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job.", + "type": "array", + "items": { + "$ref": "#/definitions/MabJobTaskDetails" + } + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message specific to this job.", + "type": "string" + } + } + }, + "MabJobTaskDetails": { + "description": "MAB workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, "MabProtectionPolicy": { "description": "Mab container-specific backup policy.", "type": "object", @@ -1510,97 +4214,168 @@ "retentionScheduleFormatType": { "description": "Retention schedule format type for monthly retention policy.", "enum": [ - "Invalid", - "Daily", - "Weekly" + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for monthly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for monthly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "OperationResultInfo": { + "description": "Operation result info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "jobList": { + "description": "List of jobs created by this operation.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationResultInfo" + }, + "OperationResultInfoBase": { + "description": "Base class for operation result info.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "KPIResourceHealthDetails": { + "description": "KPI Resource Health Details", + "type": "object", + "properties": { + "resourceHealthStatus": { + "description": "Resource Health Status", + "enum": [ + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" ], "type": "string", "x-ms-enum": { - "name": "RetentionScheduleFormat", + "name": "ResourceHealthStatus", "modelAsString": true } }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for monthly retention policy." - }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for monthly retention policy." - }, - "retentionTimes": { - "description": "Retention times of retention policy.", + "resourceHealthDetails": { + "description": "Resource Health Status", "type": "array", "items": { - "format": "date-time", - "type": "string" + "$ref": "#/definitions/ResourceHealthDetails" } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." } } }, - "OperationStatus": { - "description": "Operation status.", + "PrepareDataMoveRequest": { + "description": "Prepare DataMove Request", + "required": [ + "targetResourceId", + "targetRegion", + "dataMoveLevel" + ], "type": "object", "properties": { - "id": { - "description": "ID of the operation.", + "targetResourceId": { + "description": "ARM Id of target vault", "type": "string" }, - "name": { - "description": "Name of the operation.", + "targetRegion": { + "description": "Target Region", "type": "string" }, - "status": { - "description": "Operation status.", + "dataMoveLevel": { + "description": "DataMove Level", "enum": [ "Invalid", - "InProgress", - "Succeeded", - "Failed", - "Canceled" + "Vault", + "Container" ], "type": "string", "x-ms-enum": { - "name": "OperationStatusValues", + "name": "DataMoveLevel", "modelAsString": true } }, - "startTime": { - "format": "date-time", - "description": "Operation start time. Format: ISO-8601.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "Operation end time. Format: ISO-8601.", - "type": "string" + "sourceContainerArmIds": { + "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", + "type": "array", + "items": { + "type": "string" + } }, - "error": { - "$ref": "#/definitions/OperationStatusError", - "description": "Error information related to this operation." + "ignoreMoved": { + "description": "Ignore the artifacts which are already moved.", + "type": "boolean" } } }, - "OperationStatusError": { - "description": "Error information associated with operation status call.", + "PrepareDataMoveResponse": { + "description": "Prepare DataMove Response", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + ], "properties": { - "code": { - "description": "Error code of the operation failure.", + "correlationId": { + "description": "Co-relationId for move operation", "type": "string" }, - "message": { - "description": "Error message displayed if the operation failure.", - "type": "string" + "sourceVaultProperties": { + "description": "Source Vault Properties", + "type": "object", + "additionalProperties": { + "type": "string" + } } - } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" }, - "OperationStatusExtendedInfo": { - "description": "Base class for additional information of operation status.", + "VaultStorageConfigOperationResultResponse": { + "description": "Operation result response for Vault Storage Config", "required": [ "objectType" ], @@ -1613,83 +4388,140 @@ }, "discriminator": "objectType" }, - "OperationStatusJobExtendedInfo": { - "description": "Operation status job extended info.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationStatusExtendedInfo" - } + "TriggerDataMoveRequest": { + "description": "Trigger DataMove Request", + "required": [ + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" ], - "properties": { - "jobId": { - "description": "ID of the job created for this protected item.", - "type": "string" - } - }, - "x-ms-discriminator-value": "OperationStatusJobExtendedInfo" - }, - "OperationStatusJobsExtendedInfo": { - "description": "Operation status extended info for list of jobs.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationStatusExtendedInfo" - } - ], "properties": { - "jobIds": { - "description": "IDs of the jobs created for the protected item.", + "sourceResourceId": { + "description": "ARM Id of source vault", + "type": "string" + }, + "sourceRegion": { + "description": "Source Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "correlationId": { + "description": "Correlation Id", + "type": "string" + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds", "type": "array", "items": { "type": "string" } }, - "failedJobsError": { - "description": "Stores all the failed jobs along with the corresponding error codes.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "pauseGC": { + "description": "Pause GC", + "type": "boolean" } - }, - "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo" + } }, - "OperationStatusProvisionILRExtendedInfo": { - "description": "Operation status extended info for ILR provision action.", - "type": "object", + "OperationResultInfoBaseResource": { + "description": "Base class for operation result info.", "allOf": [ { - "$ref": "#/definitions/OperationStatusExtendedInfo" + "$ref": "#/definitions/OperationWorkerResponse" } ], "properties": { - "recoveryTarget": { - "$ref": "#/definitions/InstantItemRecoveryTarget", - "description": "Target details for file / folder restore." + "operation": { + "$ref": "#/definitions/OperationResultInfoBase", + "description": "OperationResultInfoBaseResource operation" } - }, - "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" + } }, - "OperationStatusRecoveryPointExtendedInfo": { - "description": "Operation status extended info for Updated Recovery Point.", + "OperationWorkerResponse": { + "description": "This is the base class for operation result responses.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationStatusExtendedInfo" - } - ], "properties": { - "updatedRecoveryPoint": { - "$ref": "#/definitions/RecoveryPoint", - "description": "Recovery Point info with updated source snapshot URI" + "statusCode": { + "description": "HTTP Status Code of the operation.", + "enum": [ + "Continue", + "SwitchingProtocols", + "OK", + "Created", + "Accepted", + "NonAuthoritativeInformation", + "NoContent", + "ResetContent", + "PartialContent", + "MultipleChoices", + "Ambiguous", + "MovedPermanently", + "Moved", + "Found", + "Redirect", + "SeeOther", + "RedirectMethod", + "NotModified", + "UseProxy", + "Unused", + "TemporaryRedirect", + "RedirectKeepVerb", + "BadRequest", + "Unauthorized", + "PaymentRequired", + "Forbidden", + "NotFound", + "MethodNotAllowed", + "NotAcceptable", + "ProxyAuthenticationRequired", + "RequestTimeout", + "Conflict", + "Gone", + "LengthRequired", + "PreconditionFailed", + "RequestEntityTooLarge", + "RequestUriTooLong", + "UnsupportedMediaType", + "RequestedRangeNotSatisfiable", + "ExpectationFailed", + "UpgradeRequired", + "InternalServerError", + "NotImplemented", + "BadGateway", + "ServiceUnavailable", + "GatewayTimeout", + "HttpVersionNotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": false + } }, - "deletedBackupItemVersion": { - "description": "In case the share is in soft-deleted state, populate this field with deleted backup item", - "type": "string" + "headers": { + "description": "HTTP headers associated with this operation.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } } - }, - "x-ms-discriminator-value": "OperationStatusRecoveryPointExtendedInfo" + } }, "PointInTimeRange": { "description": "Provides details for log ranges", @@ -1707,71 +4539,238 @@ } } }, - "PrepareDataMoveRequest": { - "description": "Prepare DataMove Request", + "ProtectedItem": { + "description": "Base class for backup items.", "required": [ - "targetResourceId", - "targetRegion", - "dataMoveLevel" + "protectedItemType" ], "type": "object", "properties": { - "targetResourceId": { - "description": "ARM Id of target vault", + "protectedItemType": { + "description": "backup item type.", "type": "string" }, - "targetRegion": { - "description": "Target Region", + "backupManagementType": { + "description": "Type of backup management for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "containerName": { + "description": "Unique name of container", + "type": "string" + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "lastRecoveryPoint": { + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set the backup item belongs to", + "type": "string" + }, + "createMode": { + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", + "enum": [ + "Invalid", + "Default", + "Recover" + ], + "type": "string", + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "deferredDeleteTimeInUTC": { + "format": "date-time", + "description": "Time for deferred deletion in UTC", + "type": "string" + }, + "isScheduledForDeferredDelete": { + "description": "Flag to identify whether the DS is scheduled for deferred delete", + "type": "boolean" + }, + "deferredDeleteTimeRemaining": { + "description": "Time remaining before the DS marked for deferred delete is permanently deleted", "type": "string" }, - "dataMoveLevel": { - "description": "DataMove Level", + "isDeferredDeleteScheduleUpcoming": { + "description": "Flag to identify whether the deferred deleted DS is to be purged soon", + "type": "boolean" + }, + "isRehydrate": { + "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", + "type": "boolean" + } + }, + "discriminator": "protectedItemType" + }, + "ProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "healthState": { + "description": "Health State for the backed up item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Backup management type for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "itemType": { + "description": "Type of workload this item represents.", "enum": [ "Invalid", - "Vault", - "Container" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "DataMoveLevel", + "name": "DataSourceType", "modelAsString": true } }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", - "type": "array", - "items": { - "type": "string" - } + "policyName": { + "description": "Backup policy name associated with the backup item.", + "type": "string" }, - "ignoreMoved": { - "description": "Ignore the artifacts which are already moved.", - "type": "boolean" + "containerName": { + "description": "Name of the container.", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Engine name", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of protected item", + "type": "string" + }, + "fabricName": { + "description": "Name of the fabric.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set.", + "type": "string" } } }, - "PrepareDataMoveResponse": { - "description": "Prepare DataMove Response", + "ProtectedItemResource": { + "description": "Base class for backup items.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectedItem", + "description": "ProtectedItemResource properties" + } + } + }, + "ProtectedItemResourceList": { + "description": "List of ProtectedItem resources", "type": "object", "allOf": [ { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + "$ref": "#/definitions/ResourceList" } ], "properties": { - "correlationId": { - "description": "Co-relationId for move operation", - "type": "string" - }, - "sourceVaultProperties": { - "description": "Source Vault Properties", - "type": "object", - "additionalProperties": { - "type": "string" + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectedItemResource" } } - }, - "x-ms-discriminator-value": "PrepareDataMoveResponse" + } }, "ProtectionPolicy": { "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", @@ -2034,6 +5033,52 @@ } } }, + "RestoreFileSpecs": { + "description": "Restore file specs like file path, type and target folder path info.", + "type": "object", + "properties": { + "path": { + "description": "Source File/Folder path", + "type": "string" + }, + "fileSpecType": { + "description": "Indicates what the Path variable stands for", + "type": "string" + }, + "targetFolderPath": { + "description": "Destination folder path in target FileShare", + "type": "string" + } + } + }, + "RestoreRequest": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "RestoreRequestResource": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RestoreRequest", + "description": "RestoreRequestResource properties" + } + } + }, "RetentionDuration": { "description": "Retention duration.", "type": "object", @@ -2180,6 +5225,36 @@ }, "x-ms-discriminator-value": "SimpleSchedulePolicy" }, + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", + "type": "object", + "properties": { + "policyType": { + "description": "Type of backup policy type", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + } + } + }, "SQLDataDirectory": { "description": "SQLDataDirectory info", "type": "object", @@ -2207,80 +5282,94 @@ } } }, - "SubProtectionPolicy": { - "description": "Sub-protection policy which includes schedule and retention", + "SQLDataDirectoryMapping": { + "description": "Encapsulates information regarding data directory", "type": "object", "properties": { - "policyType": { - "description": "Type of backup policy type", + "mappingType": { + "description": "Type of data directory mapping", "enum": [ "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental" + "Data", + "Log" ], "type": "string", "x-ms-enum": { - "name": "PolicyType", + "name": "SQLDataDirectoryType", "modelAsString": true } }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." + "sourceLogicalName": { + "description": "Restore source logical name path", + "type": "string" }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." + "sourcePath": { + "description": "Restore source path", + "type": "string" + }, + "targetPath": { + "description": "Target path", + "type": "string" } } }, - "NewErrorResponse": { + "TargetAFSRestoreInfo": { + "description": "Target Azure File Share Info.", + "type": "object", "properties": { - "error": { - "type": "object", - "description": "The error object.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "The error code." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "The error message." - }, - "target": { - "readOnly": true, - "type": "string", - "description": "The error target." - }, - "details": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/NewErrorResponse" - }, - "description": "The error details." - }, - "additionalInfo": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" - }, - "description": "The error additional info." - } + "name": { + "description": "File share name", + "type": "string" + }, + "targetResourceId": { + "description": "Target file share resource ARM ID", + "type": "string" + } + } + }, + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", + "type": "object", + "properties": { + "overwriteOption": { + "description": "Can Overwrite if Target DataBase already exists", + "enum": [ + "Invalid", + "FailOnConflict", + "Overwrite" + ], + "type": "string", + "x-ms-enum": { + "name": "OverwriteOptions", + "modelAsString": true } + }, + "containerId": { + "description": "Resource Id name of the container in which Target DataBase resides", + "type": "string" + }, + "databaseName": { + "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", + "type": "string" + }, + "targetDirectoryForFileRestore": { + "description": "Target directory location for restore as files.", + "type": "string" } - }, - "description": "The resource management error response." + } }, - "VaultStorageConfigOperationResultResponse": { - "description": "Operation result response for Vault Storage Config", + "ValidateIaasVMRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateRestoreOperationRequest" + } + ], + "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" + }, + "ValidateOperationRequest": { + "description": "Base class for validate operation request.", "required": [ "objectType" ], @@ -2293,54 +5382,43 @@ }, "discriminator": "objectType" }, - "TriggerDataMoveRequest": { - "description": "Trigger DataMove Request", - "required": [ - "sourceResourceId", - "sourceRegion", - "dataMoveLevel", - "correlationId" - ], + "ValidateOperationResponse": { + "description": "Base class for validate operation response.", "type": "object", "properties": { - "sourceResourceId": { - "description": "ARM Id of source vault", - "type": "string" - }, - "sourceRegion": { - "description": "Source Region", - "type": "string" - }, - "dataMoveLevel": { - "description": "DataMove Level", - "enum": [ - "Invalid", - "Vault", - "Container" - ], - "type": "string", - "x-ms-enum": { - "name": "DataMoveLevel", - "modelAsString": true - } - }, - "correlationId": { - "description": "Correlation Id", - "type": "string" - }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds", + "validationResults": { + "description": "Gets the validation result", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/ErrorDetail" } - }, - "pauseGC": { - "description": "Pause GC", - "type": "boolean" } } }, + "ValidateOperationsResponse": { + "type": "object", + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse" + } + } + }, + "ValidateRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateOperationRequest" + } + ], + "properties": { + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" + } + }, + "x-ms-discriminator-value": "ValidateRestoreOperationRequest" + }, "WeeklyRetentionFormat": { "description": "Weekly retention format.", "type": "object", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json new file mode 100644 index 000000000000..0af1a5e2d311 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2019-06-15", + "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json new file mode 100644 index 000000000000..58e625cad181 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json new file mode 100644 index 000000000000..df420bf905a1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ConfigureProtection.json new file mode 100644 index 000000000000..c65d24a58868 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ConfigureProtection.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "api-version": "2019-06-15", + "parameters": { + "properties": { + "protectedItemType": "Microsoft.Compute/virtualMachines", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": null + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/StopProtection.json new file mode 100644 index 000000000000..0b1bc6aa3b27 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/StopProtection.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "api-version": "2019-06-15", + "parameters": { + "properties": { + "protectedItemType": "Microsoft.Compute/virtualMachines", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionState": "ProtectionStopped" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionStatus": "Healthy", + "protectionState": "ProtectionStopped", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": null + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_ALR.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_ALR.json new file mode 100644 index 000000000000..79ce11e4796c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_ALR.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2019-06-15", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "region": "southeastasia", + "createNewCloudService": false, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json new file mode 100644 index 000000000000..e3319fdfb201 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2019-06-15", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..5c9c915685f5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "api-version": "2019-06-15", + "parameters": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "recoveryPointId": "348916168024334", + "objectType": "IaasVMRestoreRequest", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Get.json new file mode 100644 index 000000000000..3afb23d5160a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Patch.json new file mode 100644 index 000000000000..385b7324d179 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Patch.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2019-06-15", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Put.json new file mode 100644 index 000000000000..385b7324d179 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Put.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2019-06-15", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json deleted file mode 100644 index f0a6200ec052..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "SwaggerTest", - "api-version": "2016-12-01" - }, - "responses": { - "200": { - "body": { - "token": "200432", - "expiryTimeInUtcTicks": 636495150137443121, - "securityPIN": "200432" - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json deleted file mode 100644 index a22ef9d6df43..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2016-12-01" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", - "name": "vaultstorageconfig", - "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", - "properties": { - "storageModelType": "GeoRedundant", - "storageType": "GeoRedundant", - "storageTypeState": "Locked" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json deleted file mode 100644 index 34f7e0fea52d..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2016-12-01", - "parameters": { - "properties": { - "storageType": "LocallyRedundant", - "storageTypeState": "Unlocked" - } - } - }, - "responses": { - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json deleted file mode 100644 index 67f6df781093..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2016-12-01", - "parameters": { - "properties": { - "storageType": "LocallyRedundant", - "storageTypeState": "Unlocked" - } - } - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", - "name": "vaultstorageconfig", - "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", - "properties": { - "storageModelType": "LocallyRedundant", - "storageType": "LocallyRedundant", - "storageTypeState": "Unlocked" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/CancelJobOperationResult.json similarity index 58% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/CancelJobOperationResult.json index 21bbcb775742..63e435e0db8e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/CancelJobOperationResult.json @@ -3,17 +3,18 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", + "jobName": "00000000-0000-0000-0000-000000000000", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-12-01" + "api-version": "2019-06-15" }, "responses": { + "204": {}, + "200": {}, "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Retry-After": 60 } - }, - "204": {} + } } } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ExportJobsOperationResult.json new file mode 100644 index 000000000000..d7e737fcd04c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ExportJobsOperationResult.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo", + "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000", + "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r" + }, + "headers": {} + } + }, + "202": { + "headers": { + "Retry-After": 60, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + }, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo" + }, + "headers": { + "Location": [ + "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + ], + "Retry-After": [ + "60" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/GetJobDetails.json new file mode 100644 index 000000000000..077f4bb9c7f0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/GetJobDetails.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT9.8782791S", + "virtualMachineVersion": "Compute", + "extendedInfo": { + "tasksList": [ + { + "taskId": "Take Snapshot", + "duration": "PT0S", + "status": "InProgress" + }, + { + "taskId": "Transfer data to vault", + "duration": "PT0S", + "status": "NotStarted" + } + ], + "propertyBag": { + "VM Name": "testvm" + } + }, + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobs.json new file mode 100644 index 000000000000..0f138a87eba8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobs.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2019-06-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT31.3066291S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "ConfigureBackup", + "status": "Completed", + "startTime": "2017-08-03T05:30:32.4487085Z", + "endTime": "2017-08-03T05:31:03.7553376Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithAllSupportedFilters.json new file mode 100644 index 000000000000..fd04c044c41f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithAllSupportedFilters.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2019-06-15", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json new file mode 100644 index 000000000000..1f1aa1a63914 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2019-06-15", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT31.3066291S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "ConfigureBackup", + "status": "Completed", + "startTime": "2017-08-03T05:30:32.4487085Z", + "endTime": "2017-08-03T05:31:03.7553376Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete.json similarity index 79% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete.json index abbe8bfacdc7..52ba8dabefe8 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete.json @@ -3,8 +3,10 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "PythonSDKBackupTestRg", "vaultName": "PySDKBackupTestRsVault", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-12-01" + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "api-version": "2019-06-15" }, "responses": { "202": { @@ -14,7 +16,6 @@ "Retry-After": 60 } }, - "200": {}, "204": {} } } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json deleted file mode 100644 index 4c4d58e3bba0..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-12-01" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "00000000-0000-0000-0000-000000000000", - "name": "00000000-0000-0000-0000-000000000000", - "status": "InProgress", - "startTime": "2017-08-03T06:52:53.886027Z", - "endTime": "0001-01-01T00:00:00.00000Z" - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerCancelJob.json new file mode 100644 index 000000000000..43df73675bc5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerCancelJob.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "api-version": "2019-06-15" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerExportJobs.json similarity index 63% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerExportJobs.json index 351b670503d0..229adf3c239a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerExportJobs.json @@ -3,13 +3,12 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", - "api-version": "2016-12-01" + "api-version": "2019-06-15" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Retry-After": 60 } } diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 04cad82cf724..562abe806de2 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -54,7 +54,6 @@ input-file: - Microsoft.RecoveryServices/stable/2020-07-01/bms.json - Microsoft.RecoveryServices/stable/2018-12-20/bms.json - Microsoft.RecoveryServices/stable/2020-02-02/bms.json -- Microsoft.RecoveryServices/stable/2019-06-15/bms.json - Microsoft.RecoveryServices/stable/2017-07-01/bms.json - Microsoft.RecoveryServices/stable/2016-12-01/bms.json - Microsoft.RecoveryServices/stable/2016-08-10/operations.json From 8675fd29013f9e1ca3544ecbacf73a219ee753c7 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Tue, 6 Oct 2020 12:55:54 +0530 Subject: [PATCH 05/17] Updating conflict --- .../Microsoft.RecoveryServices/stable/2020-07-01/bms.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json index fe224d9feb33..fb53f65c4c8e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -5311,8 +5311,7 @@ "description": "Target path", "type": "string" } - }, - "x-ms-discriminator-value": "PrepareDataMoveResponse" + } }, "TargetAFSRestoreInfo": { "description": "Target Azure File Share Info.", From f5c6c405080b182ca9f120e3c103e14c8dfb0546 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Wed, 7 Oct 2020 19:37:29 +0530 Subject: [PATCH 06/17] Resolving failures --- .../stable/2016-12-01/bms.json | 5 +- .../stable/2018-12-20/bms.json | 139 ++- .../TriggerCrossRegionRestore_Post.json | 1 + .../stable/2020-07-01/bms.json | 936 +++++++++--------- .../ProtectionPolicies_Delete.json | 13 - .../examples/Common/TriggerBackup_Post.json | 25 - 6 files changed, 621 insertions(+), 498 deletions(-) delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json index 0f199f61df49..de873b8ddce6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json @@ -1029,7 +1029,7 @@ "tags": [ "ProtectionPolicies" ], - "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetPolicyOperationResult API.", + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResults API.", "operationId": "ProtectionPolicies_Delete", "produces": [ "application/json" @@ -1063,6 +1063,7 @@ "description": "NoContent" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { "Delete Azure Vm Protection Policy": { "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" @@ -3097,7 +3098,7 @@ "GenericContainer" ], "type": "string", - "readOnly": true, + "readOnly": false, "x-ms-enum": { "name": "ContainerType", "modelAsString": false diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index f0cf100ecd8b..4718a98698df 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -18,7 +18,7 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupAadProperties/default": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupAadProperties/default": { "get": { "tags": [ "AadProperties" @@ -45,6 +45,12 @@ "schema": { "$ref": "#/definitions/AADPropertiesResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-examples": { @@ -54,7 +60,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore": { "post": { "tags": [ "CrossRegionRestore" @@ -85,8 +91,17 @@ } ], "responses": { + "200": { + "description": "OK" + }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -100,7 +115,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob": { "post": { "tags": [ "CrrJobDetails" @@ -136,6 +151,12 @@ "schema": { "$ref": "#/definitions/JobResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-examples": { @@ -145,7 +166,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJobs": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJobs": { "post": { "tags": [ "BackupCrrJobs" @@ -195,6 +216,12 @@ "schema": { "$ref": "#/definitions/JobResourceList" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-odata": "#/definitions/JobQueryObject", @@ -208,7 +235,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationResults/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationResults/{operationId}": { "get": { "tags": [ "CrrOperationResults" @@ -240,6 +267,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -253,7 +286,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationsStatus/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationsStatus/{operationId}": { "get": { "tags": [ "CrrOperationStatus" @@ -285,6 +318,12 @@ "schema": { "$ref": "#/definitions/OperationStatus" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-examples": { @@ -294,7 +333,7 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken": { "post": { "tags": [ "RecoveryPoints_GetAccessToken" @@ -364,6 +403,12 @@ }, "400": { "description": "BadRequest" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-examples": { @@ -373,7 +418,7 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { "get": { "tags": [ "BackupResourceStorageConfigs" @@ -403,6 +448,12 @@ "schema": { "$ref": "#/definitions/BackupResourceConfigResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-examples": { @@ -449,6 +500,12 @@ "schema": { "$ref": "#/definitions/BackupResourceConfigResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-examples": { @@ -489,6 +546,12 @@ "responses": { "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-examples": { @@ -498,7 +561,7 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/": { "get": { "tags": [ "RecoveryPoints_Crr" @@ -556,6 +619,12 @@ "schema": { "$ref": "#/definitions/RecoveryPointResourceList" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-odata": "#/definitions/BMSRPQueryObject", @@ -569,7 +638,7 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems/": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems/": { "get": { "tags": [ "BackupProtectedItems_Crr" @@ -613,6 +682,12 @@ "schema": { "$ref": "#/definitions/ProtectedItemResourceList" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-odata": "#/definitions/ProtectedItemQueryObject", @@ -628,6 +703,48 @@ } }, "definitions": { + "NewErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NewErrorResponse" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, "AADProperties": { "type": "object", "properties": { @@ -916,7 +1033,7 @@ } } }, - "AzureIaaSVMHealthDetails": { + "AzureIaaSVMHealthDetails": { "description": "Azure IaaS VM workload-specific Health Details.", "type": "object", "allOf": [ diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json index eddd701a77ef..d915489f6ad1 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json @@ -46,6 +46,7 @@ } }, "responses": { + "200": {}, "202": { "headers": { "Location": "location: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationResults/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2018-12-20-preview", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json index fb53f65c4c8e..dcf513b91d30 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -58,7 +58,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/NewErrorResponse" } } }, @@ -112,7 +112,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/NewErrorResponse" } } }, @@ -167,7 +167,7 @@ "default": { "description": "Error response describing why the operation failed. ", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/NewErrorResponse" } } }, @@ -222,7 +222,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/NewErrorResponse" } } }, @@ -1485,6 +1485,48 @@ } }, "definitions": { + "NewErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NewErrorResponse" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, "AzureFileshareProtectedItem": { "description": "Azure File Share workload-specific backup item.", "type": "object", @@ -5065,509 +5107,509 @@ }, "discriminator": "objectType" }, - "RestoreRequestResource": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], + "RestoreRequestResource": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { "properties": { - "properties": { - "$ref": "#/definitions/RestoreRequest", - "description": "RestoreRequestResource properties" + "$ref": "#/definitions/RestoreRequest", + "description": "RestoreRequestResource properties" + } + } + }, + "RetentionDuration": { + "description": "Retention duration.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", + "type": "integer" + }, + "durationType": { + "description": "Retention duration type of retention policy.", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true } } + } + }, + "RetentionPolicy": { + "description": "Base class for retention policy.", + "required": [ + "retentionPolicyType" + ], + "type": "object", + "properties": { + "retentionPolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } }, - "RetentionDuration": { - "description": "Retention duration.", - "type": "object", - "properties": { - "count": { - "format": "int32", - "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", - "type": "integer" - }, - "durationType": { - "description": "Retention duration type of retention policy.", + "discriminator": "retentionPolicyType" + }, + "SchedulePolicy": { + "description": "Base class for backup schedule.", + "required": [ + "schedulePolicyType" + ], + "type": "object", + "properties": { + "schedulePolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "schedulePolicyType" + }, + "Settings": { + "description": "Common settings field for backup management", + "type": "object", + "properties": { + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" + }, + "isCompression": { + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", + "type": "boolean" + } + } + }, + "SimpleRetentionPolicy": { + "description": "Simple policy retention.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of the protection policy." + } + }, + "x-ms-discriminator-value": "SimpleRetentionPolicy" + }, + "SimpleSchedulePolicy": { + "description": "Simple policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } + }, + "scheduleRunDays": { + "description": "List of days of week this schedule has to be run.", + "type": "array", + "items": { "enum": [ - "Invalid", - "Days", - "Weeks", - "Months", - "Years" + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" ], "type": "string", "x-ms-enum": { - "name": "RetentionDurationType", - "modelAsString": true + "name": "DayOfWeek", + "modelAsString": false } } - } - }, - "RetentionPolicy": { - "description": "Base class for retention policy.", - "required": [ - "retentionPolicyType" - ], - "type": "object", - "properties": { - "retentionPolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } }, - "discriminator": "retentionPolicyType" - }, - "SchedulePolicy": { - "description": "Base class for backup schedule.", - "required": [ - "schedulePolicyType" - ], - "type": "object", - "properties": { - "schedulePolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", "type": "string" } }, - "discriminator": "schedulePolicyType" - }, - "Settings": { - "description": "Common settings field for backup management", - "type": "object", - "properties": { - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - }, - "issqlcompression": { - "description": "SQL compression flag", - "type": "boolean" - }, - "isCompression": { - "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", - "type": "boolean" - } + "scheduleWeeklyFrequency": { + "format": "int32", + "description": "At every number weeks this schedule has to be run.", + "type": "integer" } }, - "SimpleRetentionPolicy": { - "description": "Simple policy retention.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RetentionPolicy" + "x-ms-discriminator-value": "SimpleSchedulePolicy" + }, + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", + "type": "object", + "properties": { + "policyType": { + "description": "Type of backup policy type", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true } - ], - "properties": { - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of the protection policy." + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + } + } + }, + "SQLDataDirectory": { + "description": "SQLDataDirectory info", + "type": "object", + "properties": { + "type": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true } }, - "x-ms-discriminator-value": "SimpleRetentionPolicy" - }, - "SimpleSchedulePolicy": { - "description": "Simple policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" + "path": { + "description": "File path", + "type": "string" + }, + "logicalName": { + "description": "Logical name of the file", + "type": "string" + } + } + }, + "SQLDataDirectoryMapping": { + "description": "Encapsulates information regarding data directory", + "type": "object", + "properties": { + "mappingType": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true } - ], - "properties": { - "scheduleRunFrequency": { - "description": "Frequency of the schedule operation of this policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "ScheduleRunType", - "modelAsString": true - } - }, - "scheduleRunDays": { - "description": "List of days of week this schedule has to be run.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "scheduleWeeklyFrequency": { - "format": "int32", - "description": "At every number weeks this schedule has to be run.", - "type": "integer" + }, + "sourceLogicalName": { + "description": "Restore source logical name path", + "type": "string" + }, + "sourcePath": { + "description": "Restore source path", + "type": "string" + }, + "targetPath": { + "description": "Target path", + "type": "string" + } + } + }, + "TargetAFSRestoreInfo": { + "description": "Target Azure File Share Info.", + "type": "object", + "properties": { + "name": { + "description": "File share name", + "type": "string" + }, + "targetResourceId": { + "description": "Target file share resource ARM ID", + "type": "string" + } + } + }, + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", + "type": "object", + "properties": { + "overwriteOption": { + "description": "Can Overwrite if Target DataBase already exists", + "enum": [ + "Invalid", + "FailOnConflict", + "Overwrite" + ], + "type": "string", + "x-ms-enum": { + "name": "OverwriteOptions", + "modelAsString": true } }, - "x-ms-discriminator-value": "SimpleSchedulePolicy" + "containerId": { + "description": "Resource Id name of the container in which Target DataBase resides", + "type": "string" + }, + "databaseName": { + "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", + "type": "string" + }, + "targetDirectoryForFileRestore": { + "description": "Target directory location for restore as files.", + "type": "string" + } + } + }, + "ValidateIaasVMRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateRestoreOperationRequest" + } + ], + "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" + }, + "ValidateOperationRequest": { + "description": "Base class for validate operation request.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } }, - "SubProtectionPolicy": { - "description": "Sub-protection policy which includes schedule and retention", - "type": "object", - "properties": { - "policyType": { - "description": "Type of backup policy type", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental" - ], - "type": "string", - "x-ms-enum": { - "name": "PolicyType", - "modelAsString": true - } - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." + "discriminator": "objectType" + }, + "ValidateOperationResponse": { + "description": "Base class for validate operation response.", + "type": "object", + "properties": { + "validationResults": { + "description": "Gets the validation result", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" } } + } + }, + "ValidateOperationsResponse": { + "type": "object", + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse" + } + } + }, + "ValidateRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateOperationRequest" + } + ], + "properties": { + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" + } }, - "SQLDataDirectory": { - "description": "SQLDataDirectory info", - "type": "object", - "properties": { - "type": { - "description": "Type of data directory mapping", + "x-ms-discriminator-value": "ValidateRestoreOperationRequest" + }, + "WeeklyRetentionFormat": { + "description": "Weekly retention format.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of the week.", + "type": "array", + "items": { "enum": [ - "Invalid", - "Data", - "Log" + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" ], "type": "string", "x-ms-enum": { - "name": "SQLDataDirectoryType", - "modelAsString": true + "name": "DayOfWeek", + "modelAsString": false } - }, - "path": { - "description": "File path", - "type": "string" - }, - "logicalName": { - "description": "Logical name of the file", - "type": "string" } - } - }, - "SQLDataDirectoryMapping": { - "description": "Encapsulates information regarding data directory", - "type": "object", - "properties": { - "mappingType": { - "description": "Type of data directory mapping", + }, + "weeksOfTheMonth": { + "description": "List of weeks of month.", + "type": "array", + "items": { "enum": [ - "Invalid", - "Data", - "Log" + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" ], "type": "string", "x-ms-enum": { - "name": "SQLDataDirectoryType", - "modelAsString": true + "name": "WeekOfMonth", + "modelAsString": false } - }, - "sourceLogicalName": { - "description": "Restore source logical name path", - "type": "string" - }, - "sourcePath": { - "description": "Restore source path", - "type": "string" - }, - "targetPath": { - "description": "Target path", - "type": "string" - } - } - }, - "TargetAFSRestoreInfo": { - "description": "Target Azure File Share Info.", - "type": "object", - "properties": { - "name": { - "description": "File share name", - "type": "string" - }, - "targetResourceId": { - "description": "Target file share resource ARM ID", - "type": "string" } } - }, - "TargetRestoreInfo": { - "description": "Details about target workload during restore operation.", - "type": "object", - "properties": { - "overwriteOption": { - "description": "Can Overwrite if Target DataBase already exists", + } + }, + "WeeklyRetentionSchedule": { + "description": "Weekly retention schedule.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of week for weekly retention policy.", + "type": "array", + "items": { "enum": [ - "Invalid", - "FailOnConflict", - "Overwrite" + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" ], "type": "string", "x-ms-enum": { - "name": "OverwriteOptions", - "modelAsString": true + "name": "DayOfWeek", + "modelAsString": false } - }, - "containerId": { - "description": "Resource Id name of the container in which Target DataBase resides", - "type": "string" - }, - "databaseName": { - "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", - "type": "string" - }, - "targetDirectoryForFileRestore": { - "description": "Target directory location for restore as files.", - "type": "string" } - } - }, - "ValidateIaasVMRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ValidateRestoreOperationRequest" - } - ], - "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" - }, - "ValidateOperationRequest": { - "description": "Base class for validate operation request.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", "type": "string" } }, - "discriminator": "objectType" - }, - "ValidateOperationResponse": { - "description": "Base class for validate operation response.", - "type": "object", - "properties": { - "validationResults": { - "description": "Gets the validation result", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorDetail" - } - } - } - }, - "ValidateOperationsResponse": { - "type": "object", - "properties": { - "validateOperationResponse": { - "$ref": "#/definitions/ValidateOperationResponse" - } + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." } - }, - "ValidateRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ValidateOperationRequest" - } - ], - "properties": { - "restoreRequest": { - "$ref": "#/definitions/RestoreRequest", - "description": "Sets restore request to be validated" + } + }, + "YearlyRetentionSchedule": { + "description": "Yearly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format for yearly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true } }, - "x-ms-discriminator-value": "ValidateRestoreOperationRequest" - }, - "WeeklyRetentionFormat": { - "description": "Weekly retention format.", - "type": "object", - "properties": { - "daysOfTheWeek": { - "description": "List of days of the week.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "weeksOfTheMonth": { - "description": "List of weeks of month.", - "type": "array", - "items": { - "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "WeekOfMonth", - "modelAsString": false - } - } - } - } - }, - "WeeklyRetentionSchedule": { - "description": "Weekly retention schedule.", - "type": "object", - "properties": { - "daysOfTheWeek": { - "description": "List of days of week for weekly retention policy.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "YearlyRetentionSchedule": { - "description": "Yearly retention schedule.", - "type": "object", - "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format for yearly retention policy.", + "monthsOfYear": { + "description": "List of months of year of yearly retention policy.", + "type": "array", + "items": { "enum": [ "Invalid", - "Daily", - "Weekly" + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" ], "type": "string", "x-ms-enum": { - "name": "RetentionScheduleFormat", - "modelAsString": true - } - }, - "monthsOfYear": { - "description": "List of months of year of yearly retention policy.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ], - "type": "string", - "x-ms-enum": { - "name": "MonthOfYear", - "modelAsString": false - } - } - }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for yearly retention policy." - }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for yearly retention policy." - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" + "name": "MonthOfYear", + "modelAsString": false } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for yearly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." } } - }, + } + }, "parameters": { "SubscriptionId": { "name": "subscriptionId", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json deleted file mode 100644 index 809778be7611..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", - "api-version": "2016-06-01" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json deleted file mode 100644 index 95043e6b4da5..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "linuxRsVaultRG", - "vaultName": "linuxRsVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", - "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", - "api-version": "2016-12-01", - "parameters": { - "properties": { - "objectType": "IaasVMBackupRequest" - } - } - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - } - } -} From cd987767918202bf2ae1b2669418c0d5ce459e22 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Fri, 16 Oct 2020 11:59:57 +0530 Subject: [PATCH 07/17] Update --- .../stable/2016-12-01/bms.json | 160 +- .../stable/2018-12-20/bms.json | 51 +- .../stable/2020-07-01/bms.json | 9265 ++++++++++++----- .../BackupProtectableItems_List.json | 30 + .../ProtectedItemOperationStatus.json | 28 + .../ProtectionPolicies_Delete.json | 13 + ...ProtectionPolicyOperationStatuses_Get.json | 28 + .../examples/AzureIaasVm/Provision_Ilr.json | 30 + .../examples/AzureIaasVm/Revoke_Ilr.json | 21 + .../ProtectableContainers_List.json | 42 + .../ProtectionContainers_Inquire.json | 19 + .../ProtectionContainers_Inquire_Result.json | 65 + .../ProtectionContainers_List.json | 32 + .../ProtectionContainers_Register.json | 71 + .../BackupWorkloadItems_List.json | 47 + .../ProtectionContainers_Get.json | 57 + .../ProtectionContainers_Unregister.json | 20 + .../BackupResourceVaultConfigs_Get.json | 21 - .../BackupResourceVaultConfigs_Patch.json | 27 - .../BackupResourceVaultConfigs_Put.json | 27 - .../Common/BackupSecurityPin_Get.json | 17 + .../Common/BackupStorageConfig_Get.json | 23 + .../Common/BackupStorageConfig_Patch.json | 17 + .../Common/BackupStorageConfig_Put.json | 29 + .../ProtectedItem_Delete_OperationResult.json | 20 + .../ProtectedItem_Delete_OperationStatus.json | 21 + .../examples/Common/RefreshContainers.json | 17 + .../RefreshContainers_OperationResults.json | 19 + .../examples/Common/TriggerBackup_Post.json | 25 + .../examples/Dpm/BackupEngines_Get.json | 35 + .../examples/Dpm/BackupEngines_List.json | 60 + .../DeletePrivateEndpointConnection.json | 19 + .../GetPrivateEndpointConnection.json | 28 + ...vateEndpointConnectionOperationStatus.json | 21 + .../PutPrivateEndpointConnection.json | 61 + .../resource-manager/readme.md | 2 - 36 files changed, 7466 insertions(+), 3002 deletions(-) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectableItems_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Provision_Ilr.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Revoke_Ilr.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectableContainers_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Register.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupWorkloadItems_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Unregister.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Patch.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Put.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json index de873b8ddce6..39e0e4ed35e7 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json @@ -1029,7 +1029,7 @@ "tags": [ "ProtectionPolicies" ], - "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResults API.", + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetPolicyOperationResult API.", "operationId": "ProtectionPolicies_Delete", "produces": [ "application/json" @@ -1063,7 +1063,6 @@ "description": "NoContent" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { "Delete Azure Vm Protection Policy": { "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" @@ -1269,6 +1268,131 @@ } } } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { + "get": { + "tags": [ + "BackupResourceStorageConfigs" + ], + "description": "Fetches resource storage config.", + "operationId": "BackupResourceStorageConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + }, + "x-ms-examples": { + "Get Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceStorageConfigs" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Put.json" + } + } + }, + "patch": { + "tags": [ + "BackupResourceStorageConfigs" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigs_Patch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Patch.json" + } + } + } } }, "definitions": { @@ -1706,8 +1830,7 @@ "Full", "Differential", "Log", - "CopyOnlyFull", - "Incremental" + "CopyOnlyFull" ], "type": "string", "x-ms-enum": { @@ -1814,9 +1937,6 @@ "BackupEngineBase": { "description": "The base backup engine class. All workload specific backup engines derive from this class.", "type": "object", - "required": [ - "backupEngineType" - ], "properties": { "friendlyName": { "description": "Friendly name of the backup engine.", @@ -2011,9 +2131,7 @@ "enum": [ "Invalid", "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" + "LocallyRedundant" ], "type": "string", "x-ms-enum": { @@ -2026,9 +2144,7 @@ "enum": [ "Invalid", "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" + "LocallyRedundant" ], "type": "string", "x-ms-enum": { @@ -2048,10 +2164,6 @@ "name": "StorageTypeState", "modelAsString": true } - }, - "crossRegionRestoreFlag": { - "description": "Opt in details of Cross Region Restore feature.", - "type": "boolean" } } }, @@ -3051,9 +3163,6 @@ "ProtectableContainer": { "description": "Protectable Container Class.", "type": "object", - "required": [ - "protectableContainerType" - ], "properties": { "friendlyName": { "description": "Friendly name of the container.", @@ -3098,7 +3207,7 @@ "GenericContainer" ], "type": "string", - "readOnly": false, + "readOnly": true, "x-ms-enum": { "name": "ContainerType", "modelAsString": false @@ -3150,9 +3259,6 @@ "ProtectionContainer": { "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", "type": "object", - "required": [ - "containerType" - ], "properties": { "friendlyName": { "description": "Friendly name of the container.", @@ -3374,9 +3480,6 @@ "WorkloadItem": { "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "type": "object", - "required": [ - "workloadItemType" - ], "properties": { "backupManagementType": { "description": "Type of backup management to backup an item.", @@ -3447,9 +3550,6 @@ "WorkloadProtectableItem": { "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "type": "object", - "required": [ - "protectableItemType" - ], "properties": { "backupManagementType": { "description": "Type of backup management to backup an item.", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index 4718a98698df..50642eb7b3a5 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -2247,10 +2247,13 @@ } } }, - "CrrAccessToken": { - "description": "Container level access token for CRR", + "CrrAccessToken": { "type": "object", "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + }, "accessTokenString": { "description": "Access token used for authentication", "type": "string" @@ -2271,6 +2274,11 @@ "description": "Resource Id of the source vault", "type": "string" }, + "protectionContainerId": { + "format": "int64", + "description": "Protected item container id", + "type": "integer" + }, "recoveryPointId": { "description": "Recovery Point Id", "type": "string" @@ -2326,11 +2334,33 @@ "tokenExtendedInformation": { "description": "Extended Information about the token like FileSpec etc.", "type": "string" + }, + "rpTierInformation": { + "description": "Recovery point Tier Information", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "rpOriginalSAOption": { + "description": "Recovery point information: Original SA option", + "type": "boolean" + }, + "rpIsManagedVirtualMachine": { + "description": "Recovery point information: Managed virtual machine", + "type": "boolean" + }, + "rpVMSizeDescription": { + "description": "Recovery point information: VM size description", + "type": "string" + }, + "bMSActiveRegion": { + "description": "Active region name of BMS Stamp", + "type": "string" } } }, "CrrAccessTokenResource": { - "description": "Container level access token for CRR", "allOf": [ { "$ref": "#/definitions/Resource" @@ -2911,6 +2941,14 @@ "format": "int32", "type": "integer" } + }, + "restoreWithManagedDisks": { + "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.", + "type": "boolean" + }, + "diskEncryptionSetId": { + "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.", + "type": "string" } }, "x-ms-discriminator-value": "IaasVMRestoreRequest" @@ -3039,7 +3077,8 @@ "DisableBackup", "DeleteBackupData", "CrossRegionRestore", - "Undelete" + "Undelete", + "UpdateCustomerManagedKey" ], "type": "string", "x-ms-enum": { @@ -3404,6 +3443,10 @@ "error": { "$ref": "#/definitions/OperationStatusError", "description": "Error information related to this operation." + }, + "properties": { + "$ref": "#/definitions/OperationStatusExtendedInfo", + "description": "Additional information associated with this operation." } } }, diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json index dcf513b91d30..76428dd30571 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -18,13 +18,13 @@ "application/json" ], "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "tags": [ - "DataMove" + "PrivateEndpointConnection" ], - "description": "Fetches operation status for data move operation on vault", - "operationId": "GetOperationStatus", + "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Get", "produces": [ "application/json" ], @@ -42,8 +42,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "privateEndpointConnectionName", "in": "path", + "description": "The name of the private endpoint connection.", "required": true, "type": "string" } @@ -52,7 +53,7 @@ "200": { "description": "OK", "schema": { - "$ref": "../2020-02-02/bms.json#/definitions/OperationStatus" + "$ref": "#/definitions/PrivateEndpointConnectionResource" } }, "default": { @@ -63,19 +64,17 @@ } }, "x-ms-examples": { - "Get OperationStatus": { - "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + "Get PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { - "post": { + }, + "put": { "tags": [ - "DataMove" + "PrivateEndpointConnection" ], - "description": "Prepares source vault for Data Move operation", - "operationId": "BMSPrepareDataMove", + "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Put", "produces": [ "application/json" ], @@ -92,15 +91,73 @@ { "$ref": "#/parameters/SubscriptionId" }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, { "name": "parameters", "in": "body", - "description": "Prepare data move request", + "description": "Request body for operation", "required": true, "schema": { - "$ref": "#/definitions/PrepareDataMoveRequest" + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" } } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } ], "responses": { "200": { @@ -109,28 +166,31 @@ "202": { "description": "Accepted" }, + "204": { + "description": "NoContent" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Prepare Data Move": { - "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" + "Delete PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { "get": { "tags": [ - "BMSPrepareDataMoveOperationResult" + "PrivateEndpoint" ], - "description": "Fetches Operation Result for Prepare Data Move", - "operationId": "BMSPrepareDataMoveOperationResult_Get", + "summary": "Gets the operation status for a private endpoint connection.", + "operationId": "PrivateEndpoint_GetOperationStatus", "produces": [ "application/json" ], @@ -147,9 +207,17 @@ { "$ref": "#/parameters/SubscriptionId" }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, { "name": "operationId", "in": "path", + "description": "Operation id", "required": true, "type": "string" } @@ -158,34 +226,30 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + "$ref": "#/definitions/OperationStatus" } }, - "202": { - "description": "Accepted" - }, "default": { - "description": "Error response describing why the operation failed. ", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/NewErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Get operation result for PrepareDataMove": { - "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + "Get OperationStatus": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "get": { "tags": [ "DataMove" ], - "description": "Triggers Data Move Operation on target vault", - "operationId": "BMSTriggerDataMove", + "description": "Fetches operation status for data move operation on vault", + "operationId": "GetOperationStatus", "produces": [ "application/json" ], @@ -203,21 +267,18 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "parameters", - "in": "body", - "description": "Trigger data move request", + "name": "operationId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/TriggerDataMoveRequest" - } + "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "../2020-02-02/bms.json#/definitions/OperationStatus" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -226,21 +287,20 @@ } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Trigger Data Move": { - "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { + "post": { "tags": [ - "BackupResourceVaultConfigs" + "DataMove" ], - "description": "Fetches resource vault config.", - "operationId": "BackupResourceVaultConfigs_Get", + "description": "Prepares source vault for Data Move operation", + "operationId": "BMSPrepareDataMove", "produces": [ "application/json" ], @@ -256,28 +316,46 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Prepare data move request", + "required": true, + "schema": { + "$ref": "#/definitions/PrepareDataMoveRequest" + } } ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" + "$ref": "#/definitions/NewErrorResponse" } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" + "Prepare Data Move": { + "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "get": { "tags": [ - "BackupResourceVaultConfigs" + "BMSPrepareDataMoveOperationResult" ], - "description": "Updates vault security config.", - "operationId": "BackupResourceVaultConfigs_Update", + "description": "Fetches Operation Result for Prepare Data Move", + "operationId": "BMSPrepareDataMoveOperationResult_Get", "produces": [ "application/json" ], @@ -295,35 +373,44 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "parameters", - "in": "body", - "description": "resource config request", + "name": "operationId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. ", + "schema": { + "$ref": "#/definitions/NewErrorResponse" } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Update Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + "Get operation result for PrepareDataMove": { + "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { + "post": { "tags": [ - "BackupResourceVaultConfigs" + "DataMove" ], - "description": "Updates vault security config.", - "operationId": "BackupResourceVaultConfigs_Put", + "description": "Triggers Data Move Operation on target vault", + "operationId": "BMSTriggerDataMove", "produces": [ "application/json" ], @@ -343,30 +430,31 @@ { "name": "parameters", "in": "body", - "description": "resource config request", + "description": "Trigger data move request", "required": true, "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" + "$ref": "#/definitions/TriggerDataMoveRequest" } } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } + "description": "OK" + }, + "202": { + "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/NewErrorResponse" } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Update Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" + "Trigger Data Move": { + "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" } } } @@ -1019,6 +1107,51 @@ "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" } } + }, + "delete": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + } + } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { @@ -1482,24 +1615,1309 @@ } } } - } - }, - "definitions": { - "NewErrorResponse": { - "properties": { - "error": { - "type": "object", - "description": "The error object.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "The error code." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "The error message." + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { + "get": { + "tags": [ + "BackupEngines" + ], + "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", + "operationId": "BackupEngines_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupEngineBaseResourceList" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Dpm/AzureBackupServer/Lajolla Backup Engines": { + "$ref": "./examples/Dpm/BackupEngines_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { + "get": { + "tags": [ + "BackupEngines" + ], + "description": "Returns backup management server registered to Recovery Services Vault.", + "operationId": "BackupEngines_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupEngineName", + "in": "path", + "description": "Name of the backup management server.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupEngineBaseResource" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", + "x-ms-examples": { + "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { + "$ref": "./examples/Dpm/BackupEngines_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionContainerRefreshOperationResults" + ], + "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", + "operationId": "ProtectionContainerRefreshOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID associated with the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Azure Vm Discovery Operation Result": { + "$ref": "./examples/Common/RefreshContainers_OperationResults.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { + "get": { + "tags": [ + "ProtectableContainers" + ], + "description": "Lists the containers that can be registered to Recovery Services Vault.", + "operationId": "ProtectableContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectableContainerResourceList" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureStorage": { + "$ref": "./examples/AzureStorage/ProtectableContainers_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { + "get": { + "tags": [ + "ProtectionContainers" + ], + "description": "Gets details of the specific container registered to your Recovery Services Vault.", + "operationId": "ProtectionContainers_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric where the container belongs.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + } + }, + "x-ms-examples": { + "Get Protection Container Details": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionContainers" + ], + "description": "Registers the container with Recovery Services vault.\r\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\r\nthe operation.", + "operationId": "ProtectionContainers_Register", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container to be registered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "RegisterAzure Storage ProtectionContainers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionContainers" + ], + "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\nwhether the backend service has finished processing the request, call Get Container Operation Result API.", + "operationId": "ProtectionContainers_Unregister", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric where the container belongs.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Unregister Protection Container": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { + "post": { + "tags": [ + "ProtectionContainers" + ], + "summary": "Inquires all the protectable items under the given container.", + "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.", + "operationId": "ProtectionContainers_Inquire", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric Name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container in which inquiry needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", + "x-ms-examples": { + "Inquire Azure Storage Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { + "get": { + "tags": [ + "BackupWorkloadItems" + ], + "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\nparameters.", + "operationId": "BackupWorkloadItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadItemResourceList" + } + } + }, + "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Workload Items in Container": { + "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionContainerOperationResults" + ], + "description": "Fetches the result of any operation on the container.", + "operationId": "ProtectionContainerOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name whose information should be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Get Azure Storage Protection Container Operation Result": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { + "tags": [ + "Backups" + ], + "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", + "operationId": "Backups_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item for which backup needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "get": { + "tags": [ + "ProtectedItemOperationStatuses" + ], + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.", + "operationId": "ProtectedItemOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID represents the operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "x-ms-examples": { + "Get Operation Status of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "post": { + "tags": [ + "ItemLevelRecoveryConnections" + ], + "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.", + "operationId": "ItemLevelRecoveryConnections_Provision", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource ILR request", + "required": true, + "schema": { + "$ref": "#/definitions/ILRRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Provision Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { + "post": { + "tags": [ + "ItemLevelRecoveryConnections" + ], + "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.", + "operationId": "ItemLevelRecoveryConnections_Revoke", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Revoke Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { + "post": { + "tags": [ + "ProtectionContainers" + ], + "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", + "operationId": "ProtectionContainers_Refresh", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated the container.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", + "x-ms-examples": { + "Trigger Azure Vm Discovery": { + "$ref": "./examples/Common/RefreshContainers.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { + "get": { + "tags": [ + "BackupOperationResults" + ], + "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.", + "operationId": "BackupOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Get Result for Protected Item Delete Operation": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { + "get": { + "tags": [ + "BackupOperationStatuses" + ], + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs when the operation is complete.", + "operationId": "BackupOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "x-ms-examples": { + "Get Protected Item Delete Operation Status": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationStatuses" + ], + "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with operation.", + "operationId": "ProtectionPolicyOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's status needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents an operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Status": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { + "get": { + "tags": [ + "BackupProtectableItems" + ], + "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.", + "operationId": "BackupProtectableItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadProtectableItemResourceList" + } + } + }, + "x-ms-odata": "#/definitions/BMSPOQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": { + "get": { + "tags": [ + "BackupProtectionContainers" + ], + "description": "Lists the containers registered to Recovery Services Vault.", + "operationId": "BackupProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResourceList" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Backup Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": { + "post": { + "tags": [ + "SecurityPINs" + ], + "description": "Get the security PIN.", + "operationId": "SecurityPINs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TokenInformation" + } + } + }, + "x-ms-examples": { + "Get Vault Security Pin": { + "$ref": "./examples/Common/BackupSecurityPin_Get.json" + } + } + } + } + }, + "definitions": { + "PrivateEndpoint": { + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets id", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "Private Endpoint Connection Response Properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Gets or sets provisioning state of the private endpoint connection", + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Gets or sets private endpoint associated with the private endpoint connection" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Gets or sets private link service connection state" + } + } + }, + "PrivateEndpointConnectionResource": { + "description": "Private Endpoint Connection Response Properties", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnection", + "description": "PrivateEndpointConnectionResource properties" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Private Link Service Connection State", + "type": "object", + "properties": { + "status": { + "description": "Gets or sets the status", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Gets or sets description", + "type": "string" + }, + "actionRequired": { + "description": "Gets or sets actions required", + "type": "string" + } + } + }, + "NewErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." }, "target": { "readOnly": true, @@ -1524,11 +2942,1645 @@ } } } - }, - "description": "The resource management error response." + }, + "description": "The resource management error response." + }, + "AzureFileshareProtectedItem": { + "description": "Azure File Share workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the fileshare represented by this backup item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "AzureFileShareProtectedItem" + }, + "AzureFileshareProtectedItemExtendedInfo": { + "description": "Additional information about Azure File Share backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "resourceState": { + "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}", + "type": "string", + "readOnly": true + }, + "resourceStateSyncTime": { + "format": "date-time", + "description": "The resource state sync time for this backup item.", + "type": "string", + "readOnly": true + } + } + }, + "AzureFileShareRecoveryPoint": { + "description": "Azure File Share workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", + "type": "string", + "readOnly": true + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string", + "readOnly": true + }, + "fileShareSnapshotUri": { + "description": "Contains Url to the snapshot of fileshare, if applicable", + "type": "string", + "readOnly": true + }, + "recoveryPointSizeInGB": { + "format": "int32", + "description": "Contains recovery point size", + "type": "integer", + "readOnly": true + } + }, + "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" + }, + "AzureFileShareRestoreRequest": { + "description": "AzureFileShare Restore Request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Source storage account ARM Id", + "type": "string" + }, + "copyOptions": { + "description": "Options to resolve copy conflicts.", + "enum": [ + "Invalid", + "CreateCopy", + "Skip", + "Overwrite", + "FailOnConflict" + ], + "type": "string", + "x-ms-enum": { + "name": "CopyOptions", + "modelAsString": true + } + }, + "restoreRequestType": { + "description": "Restore Type (FullShareRestore or ItemLevelRestore)", + "enum": [ + "Invalid", + "FullShareRestore", + "ItemLevelRestore" + ], + "type": "string", + "x-ms-enum": { + "name": "RestoreRequestType", + "modelAsString": true + } + }, + "restoreFileSpecs": { + "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", + "type": "array", + "items": { + "$ref": "#/definitions/RestoreFileSpecs" + } + }, + "targetDetails": { + "$ref": "#/definitions/TargetAFSRestoreInfo", + "description": "Target File Share Details" + } + }, + "x-ms-discriminator-value": "AzureFileShareRestoreRequest" + }, + "AzureVmWorkloadProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" + }, + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + "makePolicyConsistent": { + "description": "Fix the policy inconsistency", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureWorkload" + }, + "AzureFileShareProtectionPolicy": { + "description": "AzureStorage backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSVMErrorInfo": { + "description": "Azure IaaS VM workload-specific error information.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer", + "readOnly": true + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string", + "readOnly": true + }, + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ResourceHealthDetails": { + "description": "Health Details for backup items.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer", + "readOnly": true + }, + "title": { + "description": "Health Title", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Health Message", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "AzureIaaSVMHealthDetails": { + "description": "Azure IaaS VM workload-specific Health Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceHealthDetails" + } + ] + }, + "AzureIaaSVMJob": { + "description": "Azure IaaS VM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMErrorInfo" + } + }, + "virtualMachineVersion": { + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "AzureIaaSVMJob" + }, + "AzureIaaSVMJobExtendedInfo": { + "description": "Azure IaaS VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "internalPropertyBag": { + "description": "Job internal properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "progressPercentage": { + "format": "double", + "description": "Indicates progress of the job. Null if it has not started or completed.", + "type": "number" + }, + "estimatedRemainingDuration": { + "description": "Time remaining for execution of this job.", + "type": "string" + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureIaaSVMJobTaskDetails": { + "description": "Azure IaaS VM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "instanceId": { + "description": "The instanceId.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + }, + "progressPercentage": { + "format": "double", + "description": "Progress of the task.", + "type": "number" + }, + "taskExecutionDetails": { + "description": "Details about execution of the task.\r\neg: number of bytes transferred etc", + "type": "string" + } + } + }, + "AzureIaaSVMProtectedItem": { + "description": "IaaS VM workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "Health status of protected item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "healthDetails": { + "description": "Health details on this backup item.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + } + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "lastBackupStatus": { + "description": "Last backup operation status.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectedItemDataId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "extendedProperties": { + "$ref": "#/definitions/ExtendedProperties" + } + }, + "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" + }, + "AzureIaaSVMProtectedItemExtendedInfo": { + "description": "Additional information on Azure IaaS VM specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyInconsistent": { + "description": "Specifies if backup policy associated with the backup item is inconsistent.", + "type": "boolean" + } + } + }, + "AzureIaaSVMProtectionPolicy": { + "description": "IaaS VM workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "instantRPDetails": { + "$ref": "#/definitions/InstantRPAdditionalDetails" + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "instantRpRetentionRangeInDays": { + "format": "int32", + "description": "Instant RP retention policy range in days", + "type": "integer" + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureIaasVM" + }, + "AzureSqlProtectedItem": { + "description": "Azure SQL workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "protectedItemDataId": { + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of the backed up item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + }, + "AzureSqlProtectedItemExtendedInfo": { + "description": "Additional information on Azure Sql specific protected item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "State of the backup policy associated with this backup item.", + "type": "string" + } + } + }, + "AzureStorageErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureSqlProtectionPolicy": { + "description": "Azure SQL workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "AzureSql" + }, + "AzureStorageJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageErrorInfo" + } + }, + "storageAccountName": { + "description": "Specifies friendly name of the storage account.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureStorageJobExtendedInfo", + "description": "Additional information about the job." + } + }, + "x-ms-discriminator-value": "AzureStorageJob" + }, + "AzureStorageJobExtendedInfo": { + "description": "Azure Storage workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureStorageJobTaskDetails": { + "description": "Azure storage workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "AzureVmWorkloadProtectedItem": { + "description": "Azure VM workload-specific protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the DB represented by this backup item.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "parentName": { + "description": "Parent name of the DB such as Instance or Availability Group.", + "type": "string" + }, + "parentType": { + "description": "Parent type of protected item, example: for a DB, standalone server or distributed", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true + } + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "lastBackupErrorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error details in last backup" + }, + "protectedItemDataSourceId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "protectedItemHealthStatus": { + "description": "Health status of the backup item, evaluated based on last heartbeat received", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemHealthStatus", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" + }, + "AzureVmWorkloadProtectedItemExtendedInfo": { + "description": "Additional information on Azure Workload for SQL specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + } + } + }, + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP ASE Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + }, + "AzureWorkloadErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + }, + "additionalDetails": { + "description": "Additional details for above error code.", + "type": "string" + } + } + }, + "AzureWorkloadJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "workloadType": { + "description": "Workload type of the job", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", + "description": "Additional information about the job." + } + }, + "x-ms-discriminator-value": "AzureWorkloadJob" + }, + "AzureWorkloadJobExtendedInfo": { + "description": "Azure VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureWorkloadJobTaskDetails": { + "description": "Azure VM workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "AzureWorkloadPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" + }, + "AzureWorkloadPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" + }, + "AzureWorkloadRecoveryPoint": { + "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointTimeInUTC": { + "format": "date-time", + "description": "UTC time at which recovery point was created", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + }, + "AzureWorkloadRestoreRequest": { + "description": "AzureWorkload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", + "type": "string" + }, + "propertyBag": { + "description": "Workload specific property bag.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" + }, + "recoveryMode": { + "description": "Defines whether the current recovery mode is file restore or database restore", + "enum": [ + "Invalid", + "FileRecovery", + "WorkloadRecovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryMode", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" + }, + "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime in SAPHana", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + }, + "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" + }, + "AzureWorkloadSAPHanaRecoveryPoint": { + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + }, + "AzureWorkloadSAPHanaRestoreRequest": { + "description": "AzureWorkload SAP Hana-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" + }, + "AzureWorkloadSQLPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" + }, + "AzureWorkloadSQLPointInTimeRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" + }, + "AzureWorkloadSQLRecoveryPoint": { + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" + }, + "AzureWorkloadSQLRecoveryPointExtendedInfo": { + "description": "Extended info class details", + "type": "object", + "properties": { + "dataDirectoryTimeInUTC": { + "format": "date-time", + "description": "UTC time at which data directory info was captured", + "type": "string", + "readOnly": true + }, + "dataDirectoryPaths": { + "description": "List of data directory paths during restore operation.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + }, + "readOnly": true + } + } + }, + "AzureWorkloadSQLRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "shouldUseAlternateTargetLocation": { + "description": "Default option set to true. If this is set to false, alternate data directory must be provided", + "type": "boolean" + }, + "isNonRecoverable": { + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", + "type": "boolean" + }, + "alternateDirectoryPaths": { + "description": "Data directory details", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + }, + "BEKDetails": { + "description": "BEK is bitlocker encryption key.", + "type": "object", + "properties": { + "secretUrl": { + "description": "Secret is BEK.", + "type": "string" + }, + "secretVaultId": { + "description": "ID of the Key Vault where this Secret is stored.", + "type": "string" + }, + "secretData": { + "description": "BEK data.", + "type": "string" + } + } + }, + "BMSRPQueryObject": { + "description": "Filters to list backup copies.", + "type": "object", + "properties": { + "startDate": { + "format": "date-time", + "description": "Backup copies created after this time.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "Backup copies created before this time.", + "type": "string" + }, + "restorePointQueryType": { + "description": "RestorePoint type", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "FullAndDifferential", + "All", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointQueryType", + "modelAsString": true + } + }, + "extendedInfo": { + "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", + "type": "boolean" + } + } + }, + "DiskExclusionProperties": { + "type": "object", + "properties": { + "diskLunList": { + "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "isInclusionList": { + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", + "type": "boolean" + } + } + }, + "DiskInformation": { + "description": "Disk information", + "type": "object", + "properties": { + "lun": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + } + } + }, + "DailyRetentionFormat": { + "description": "Daily retention format.", + "type": "object", + "properties": { + "daysOfTheMonth": { + "description": "List of days of the month.", + "type": "array", + "items": { + "$ref": "#/definitions/Day" + } + } + } + }, + "DailyRetentionSchedule": { + "description": "Daily retention schedule.", + "type": "object", + "properties": { + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "Day": { + "description": "Day of the week.", + "type": "object", + "properties": { + "date": { + "format": "int32", + "description": "Date of the month", + "type": "integer" + }, + "isLast": { + "description": "Whether Date is last date of month", + "type": "boolean" + } + } + }, + "DpmErrorInfo": { + "description": "DPM workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DpmJob": { + "description": "DPM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed for job.", + "type": "string" + }, + "dpmServerName": { + "description": "DPM server name managing the backup item or backup job.", + "type": "string" + }, + "containerName": { + "description": "Name of cluster/server protecting current backup item, if any.", + "type": "string" + }, + "containerType": { + "description": "Type of container.", + "type": "string" + }, + "workloadType": { + "description": "Type of backup item.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/DpmJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "DpmJob" + }, + "DpmJobExtendedInfo": { + "description": "Additional information on the DPM workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmJobTaskDetails" + } + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "DpmJobTaskDetails": { + "description": "DPM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } }, - "AzureFileshareProtectedItem": { - "description": "Azure File Share workload-specific backup item.", + "DPMProtectedItem": { + "description": "Additional information on Backup engine specific backup item.", "type": "object", "allOf": [ { @@ -1537,15 +4589,15 @@ ], "properties": { "friendlyName": { - "description": "Friendly name of the fileshare represented by this backup item.", + "description": "Friendly name of the managed item", "type": "string" }, - "protectionStatus": { - "description": "Backup status of this backup item.", + "backupEngineName": { + "description": "Backup Management server protecting this backup item", "type": "string" }, "protectionState": { - "description": "Backup state of this backup item.", + "description": "Protection state of the backup engine", "enum": [ "Invalid", "IRPending", @@ -1556,169 +4608,177 @@ ], "type": "string", "x-ms-enum": { - "name": "ProtectionState", + "name": "ProtectedItemState", "modelAsString": true } }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "kpisHealths": { - "description": "Health details of different KPIs", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/KPIResourceHealthDetails" - } - }, "extendedInfo": { - "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", - "description": "Additional information with this backup item." + "$ref": "#/definitions/DPMProtectedItemExtendedInfo", + "description": "Extended info of the backup item." } }, - "x-ms-discriminator-value": "AzureFileShareProtectedItem" + "x-ms-discriminator-value": "DPMProtectedItem" }, - "AzureFileshareProtectedItemExtendedInfo": { - "description": "Additional information about Azure File Share backup item.", + "DPMProtectedItemExtendedInfo": { + "description": "Additional information of DPM Protected item.", "type": "object", "properties": { + "protectableObjectLoadPath": { + "description": "Attribute to provide information on various DBs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "protected": { + "description": "To check if backup item is disk protected.", + "type": "boolean" + }, + "isPresentOnCloud": { + "description": "To check if backup item is cloud protected.", + "type": "boolean" + }, + "lastBackupStatus": { + "description": "Last backup status information on backup item.", + "type": "string" + }, + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time on backup item.", + "type": "string" + }, "oldestRecoveryPoint": { "format": "date-time", - "description": "The oldest backup copy available for this item in the service.", + "description": "Oldest cloud recovery point time.", "type": "string" }, "recoveryPointCount": { "format": "int32", - "description": "Number of available backup copies associated with this backup item.", + "description": "cloud recovery point count.", "type": "integer" }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", + "onPremiseOldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest disk recovery point time.", "type": "string" }, - "resourceState": { - "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}", - "type": "string", - "readOnly": true - }, - "resourceStateSyncTime": { + "onPremiseLatestRecoveryPoint": { "format": "date-time", - "description": "The resource state sync time for this backup item.", - "type": "string", - "readOnly": true + "description": "latest disk recovery point time.", + "type": "string" + }, + "onPremiseRecoveryPointCount": { + "format": "int32", + "description": "disk recovery point count.", + "type": "integer" + }, + "isCollocated": { + "description": "To check if backup item is collocated.", + "type": "boolean" + }, + "protectionGroupName": { + "description": "Protection group name of the backup item.", + "type": "string" + }, + "diskStorageUsedInBytes": { + "description": "Used Disk storage in bytes.", + "type": "string" + }, + "totalDiskStorageSizeInBytes": { + "description": "total Disk storage in bytes.", + "type": "string" } } }, - "AzureFileShareRecoveryPoint": { - "description": "Azure File Share workload specific backup copy.", + "EncryptionDetails": { + "description": "Details needed if the VM was encrypted at the time of backup.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], "properties": { - "recoveryPointType": { - "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", - "type": "string", - "readOnly": true + "encryptionEnabled": { + "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", + "type": "boolean" }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", + "kekUrl": { + "description": "Key Url.", + "type": "string" + }, + "secretKeyUrl": { + "description": "Secret Url.", + "type": "string" + }, + "kekVaultId": { + "description": "ID of Key Vault where KEK is stored.", + "type": "string" + }, + "secretKeyVaultId": { + "description": "ID of Key Vault where Secret is stored.", + "type": "string" + } + } + }, + "ErrorDetail": { + "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", "type": "string", "readOnly": true }, - "fileShareSnapshotUri": { - "description": "Contains Url to the snapshot of fileshare, if applicable", + "message": { + "description": "Error Message related to the Code.", "type": "string", "readOnly": true }, - "recoveryPointSizeInGB": { - "format": "int32", - "description": "Contains recovery point size", - "type": "integer", + "recommendations": { + "description": "List of recommendation strings.", + "type": "array", + "items": { + "type": "string" + }, "readOnly": true } - }, - "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" + } }, - "AzureFileShareRestoreRequest": { - "description": "AzureFileShare Restore Request", + "ExportJobsOperationResultInfo": { + "description": "This class is used to send blob details after exporting jobs.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RestoreRequest" + "$ref": "#/definitions/OperationResultInfoBase" } ], "properties": { - "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryType", - "modelAsString": true - } - }, - "sourceResourceId": { - "description": "Source storage account ARM Id", + "blobUrl": { + "description": "URL of the blob into which the serialized string of list of jobs is exported.", "type": "string" }, - "copyOptions": { - "description": "Options to resolve copy conflicts.", - "enum": [ - "Invalid", - "CreateCopy", - "Skip", - "Overwrite", - "FailOnConflict" - ], - "type": "string", - "x-ms-enum": { - "name": "CopyOptions", - "modelAsString": true - } - }, - "restoreRequestType": { - "description": "Restore Type (FullShareRestore or ItemLevelRestore)", - "enum": [ - "Invalid", - "FullShareRestore", - "ItemLevelRestore" - ], - "type": "string", - "x-ms-enum": { - "name": "RestoreRequestType", - "modelAsString": true - } + "blobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" }, - "restoreFileSpecs": { - "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", - "type": "array", - "items": { - "$ref": "#/definitions/RestoreFileSpecs" - } + "excelFileBlobUrl": { + "description": "URL of the blob into which the ExcelFile is uploaded.", + "type": "string" }, - "targetDetails": { - "$ref": "#/definitions/TargetAFSRestoreInfo", - "description": "Target File Share Details" + "excelFileBlobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExportJobsOperationResultInfo" + }, + "ExtendedProperties": { + "description": "Extended Properties for Azure IaasVM Backup.", + "type": "object", + "properties": { + "diskExclusionProperties": { + "$ref": "#/definitions/DiskExclusionProperties", + "description": "Extended Properties for Disk Exclusion." } - }, - "x-ms-discriminator-value": "AzureFileShareRestoreRequest" + } }, - "AzureVmWorkloadProtectionPolicy": { + "GenericProtectionPolicy": { "description": "Azure VM (Mercury) workload-specific backup policy.", "type": "object", "allOf": [ @@ -1727,35 +4787,6 @@ } ], "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "settings": { - "$ref": "#/definitions/Settings", - "description": "Common settings for the backup management" - }, "subProtectionPolicy": { "description": "List of sub-protection policies which includes schedule and retention", "type": "array", @@ -1763,245 +4794,323 @@ "$ref": "#/definitions/SubProtectionPolicy" } }, - "makePolicyConsistent": { - "description": "Fix the policy inconsistency", - "type": "boolean" + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "fabricName": { + "description": "Name of this policy's fabric.", + "type": "string" } }, - "x-ms-discriminator-value": "AzureWorkload" + "x-ms-discriminator-value": "GenericProtectionPolicy" }, - "AzureFileShareProtectionPolicy": { - "description": "AzureStorage backup policy.", + "InstantRPAdditionalDetails": { + "type": "object", + "properties": { + "azureBackupRGNamePrefix": { + "type": "string" + }, + "azureBackupRGNameSuffix": { + "type": "string" + } + } + }, + "GenericProtectedItem": { + "description": "Base class for backup items.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/ProtectedItem" } ], "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", "enum": [ "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" ], "type": "string", "x-ms-enum": { - "name": "WorkloadType", + "name": "ProtectionState", "modelAsString": true } }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." + "protectedItemId": { + "format": "int64", + "description": "Data Plane Service ID of the protected item.", + "type": "integer" }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." + "sourceAssociations": { + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "fabricName": { + "description": "Name of this backup item's fabric.", "type": "string" } }, - "x-ms-discriminator-value": "AzureStorage" + "x-ms-discriminator-value": "GenericProtectedItem" }, - "AzureIaaSClassicComputeVMProtectedItem": { - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "GenericRecoveryPoint": { + "description": "Generic backup copy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureIaaSVMProtectedItem" + "$ref": "#/definitions/RecoveryPoint" } ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + "properties": { + "friendlyName": { + "description": "Friendly name of the backup copy.", + "type": "string" + }, + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericRecoveryPoint" }, - "AzureIaaSComputeVMProtectedItem": { - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "GetProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "expand": { + "description": "Specifies if the additional information should be provided for this item.", + "type": "string" + } + } + }, + "IaasVMRecoveryPoint": { + "description": "IaaS VM workload specific backup copy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureIaaSVMProtectedItem" + "$ref": "#/definitions/RecoveryPoint" } ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "AzureIaaSVMErrorInfo": { - "description": "Azure IaaS VM workload-specific error information.", - "type": "object", "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer", - "readOnly": true - }, - "errorTitle": { - "description": "Title: Typically, the entity that the error pertains to.", + "recoveryPointType": { + "description": "Type of the backup copy.", "type": "string", "readOnly": true }, - "errorString": { - "description": "Localized error string.", + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", "type": "string", "readOnly": true }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - } - } - }, - "ResourceHealthDetails": { - "description": "Health Details for backup items.", - "type": "object", - "properties": { - "code": { - "format": "int32", - "description": "Health Code", - "type": "integer", + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string", "readOnly": true }, - "title": { - "description": "Health Title", + "sourceVMStorageType": { + "description": "Storage type of the VM whose backup copy is created.", "type": "string", "readOnly": true }, - "message": { - "description": "Health Message", - "type": "string", + "isSourceVMEncrypted": { + "description": "Identifies whether the VM was encrypted when the backup copy is created.", + "type": "boolean", "readOnly": true }, - "recommendations": { - "description": "Health Recommended Actions", + "keyAndSecret": { + "$ref": "#/definitions/KeyAndSecretDetails", + "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." + }, + "isInstantIlrSessionActive": { + "description": "Is the session to recover items from this backup copy still active.", + "type": "boolean" + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", "type": "array", "items": { - "type": "string" - }, - "readOnly": true - } - } - }, - "AzureIaaSVMHealthDetails": { - "description": "Azure IaaS VM workload-specific Health Details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceHealthDetails" + "$ref": "#/definitions/RecoveryPointTierInformation" + } + }, + "isManagedVirtualMachine": { + "description": "Whether VM is with Managed Disks", + "type": "boolean" + }, + "virtualMachineSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "osType": { + "description": "OS type", + "type": "string" + }, + "recoveryPointDiskConfiguration": { + "$ref": "#/definitions/RecoveryPointDiskConfiguration", + "description": "Disk configuration" } - ] + }, + "x-ms-discriminator-value": "IaasVMRecoveryPoint" }, - "AzureIaaSVMJob": { - "description": "Azure IaaS VM workload-specific job object.", + "IaasVMRestoreRequest": { + "description": "IaaS VM workload-specific restore.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/RestoreRequest" } ], "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", + "recoveryPointId": { + "description": "ID of the backup copy to be recovered.", "type": "string" }, - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true } }, - "errorDetails": { - "description": "Error details on execution of this job.", + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM which is being recovered.", + "type": "string" + }, + "targetVirtualMachineId": { + "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", + "type": "string" + }, + "targetResourceGroupId": { + "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}", + "type": "string" + }, + "storageAccountId": { + "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", + "type": "string" + }, + "virtualNetworkId": { + "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.", + "type": "string" + }, + "subnetId": { + "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.", + "type": "string" + }, + "targetDomainNameId": { + "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.", + "type": "string" + }, + "region": { + "description": "Region in which the virtual machine is restored.", + "type": "string" + }, + "affinityGroup": { + "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", + "type": "string" + }, + "createNewCloudService": { + "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.", + "type": "boolean" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Details needed if the VM was encrypted at the time of backup." + }, + "restoreDiskLunList": { + "description": "List of Disk LUNs for partial restore", "type": "array", "items": { - "$ref": "#/definitions/AzureIaaSVMErrorInfo" + "format": "int32", + "type": "integer" } }, - "virtualMachineVersion": { - "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", - "type": "string" + "restoreWithManagedDisks": { + "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.", + "type": "boolean" }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", - "description": "Additional information for this job." + "diskEncryptionSetId": { + "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.", + "type": "string" } }, - "x-ms-discriminator-value": "AzureIaaSVMJob" + "x-ms-discriminator-value": "IaasVMRestoreRequest" }, - "AzureIaaSVMJobExtendedInfo": { - "description": "Azure IaaS VM workload-specific additional information for job.", + "Job": { + "description": "Defines workload agnostic properties for a job.", + "required": [ + "jobType" + ], "type": "object", "properties": { - "tasksList": { - "description": "List of tasks associated with this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" - } - }, - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "entityFriendlyName": { + "description": "Friendly name of the entity on which the current job is executing.", + "type": "string" }, - "internalPropertyBag": { - "description": "Job internal properties.", - "type": "object", - "additionalProperties": { - "type": "string" + "backupManagementType": { + "description": "Backup management type to execute the current job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true } }, - "progressPercentage": { - "format": "double", - "description": "Indicates progress of the job. Null if it has not started or completed.", - "type": "number" - }, - "estimatedRemainingDuration": { - "description": "Time remaining for execution of this job.", + "operation": { + "description": "The operation name.", "type": "string" }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" - } - } - }, - "AzureIaaSVMJobTaskDetails": { - "description": "Azure IaaS VM workload-specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", + "status": { + "description": "Job status.", "type": "string" }, "startTime": { @@ -2014,266 +5123,301 @@ "description": "The end time.", "type": "string" }, - "instanceId": { - "description": "The instanceId.", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" - }, - "status": { - "description": "The status.", + "activityId": { + "description": "ActivityId of job.", "type": "string" }, - "progressPercentage": { - "format": "double", - "description": "Progress of the task.", - "type": "number" - }, - "taskExecutionDetails": { - "description": "Details about execution of the task.\r\neg: number of bytes transferred etc", + "jobType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" } - } + }, + "discriminator": "jobType" }, - "AzureIaaSVMProtectedItem": { - "description": "IaaS VM workload-specific backup item.", + "JobQueryObject": { + "description": "Filters to list the jobs.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], "properties": { - "friendlyName": { - "description": "Friendly name of the VM represented by this backup item.", - "type": "string" - }, - "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine represented by this item.", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" + "status": { + "description": "Status of the job.", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed", + "CompletedWithWarnings", + "Cancelled", + "Cancelling" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } }, - "protectionState": { - "description": "Backup state of this backup item.", + "backupManagementType": { + "description": "Type of backup management for the job.", "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "ProtectionState", + "name": "BackupManagementType", "modelAsString": true } }, - "healthStatus": { - "description": "Health status of protected item.", + "operation": { + "description": "Type of operation.", "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" + "Invalid", + "Register", + "UnRegister", + "ConfigureBackup", + "Backup", + "Restore", + "DisableBackup", + "DeleteBackupData", + "CrossRegionRestore", + "Undelete", + "UpdateCustomerManagedKey" ], "type": "string", "x-ms-enum": { - "name": "HealthStatus", + "name": "JobOperationType", "modelAsString": true } }, - "healthDetails": { - "description": "Health details on this backup item.", + "jobId": { + "description": "JobID represents the job uniquely.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Job has started at this time. Value is in UTC.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Job has ended at this time. Value is in UTC.", + "type": "string" + } + } + }, + "JobResource": { + "description": "Defines workload agnostic properties for a job.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/Job", + "description": "JobResource properties" + } + } + }, + "JobResourceList": { + "description": "List of Job resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", "type": "array", "items": { - "$ref": "#/definitions/AzureIaaSVMHealthDetails" - } - }, - "kpisHealths": { - "description": "Health details of different KPIs", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/KPIResourceHealthDetails" + "$ref": "#/definitions/JobResource" } - }, - "lastBackupStatus": { - "description": "Last backup operation status.", + } + } + }, + "KEKDetails": { + "description": "KEK is encryption key for BEK.", + "type": "object", + "properties": { + "keyUrl": { + "description": "Key is KEK.", "type": "string" }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", + "keyVaultId": { + "description": "Key Vault ID where this Key is stored.", "type": "string" }, - "protectedItemDataId": { - "description": "Data ID of the protected item.", + "keyBackupData": { + "description": "KEK data.", "type": "string" + } + } + }, + "KeyAndSecretDetails": { + "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.", + "type": "object", + "properties": { + "kekDetails": { + "$ref": "#/definitions/KEKDetails", + "description": "KEK is encryption key for BEK." }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", - "description": "Additional information for this backup item." + "bekDetails": { + "$ref": "#/definitions/BEKDetails", + "description": "BEK is bitlocker encryption key." }, - "extendedProperties": { - "$ref": "#/definitions/ExtendedProperties" + "encryptionMechanism": { + "description": "Encryption mechanism: None/ SinglePass/ DoublePass", + "type": "string" } - }, - "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" + } }, - "AzureIaaSVMProtectedItemExtendedInfo": { - "description": "Additional information on Azure IaaS VM specific backup item.", + "LogSchedulePolicy": { + "description": "Log policy schedule.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this backup item.", - "type": "string" - }, - "recoveryPointCount": { + "scheduleFrequencyInMins": { "format": "int32", - "description": "Number of backup copies available for this backup item.", + "description": "Frequency of the log schedule operation of this policy in minutes.", "type": "integer" - }, - "policyInconsistent": { - "description": "Specifies if backup policy associated with the backup item is inconsistent.", - "type": "boolean" } - } + }, + "x-ms-discriminator-value": "LogSchedulePolicy" }, - "AzureIaaSVMProtectionPolicy": { - "description": "IaaS VM workload-specific backup policy.", + "LongTermRetentionPolicy": { + "description": "Long term retention policy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/RetentionPolicy" } ], "properties": { - "instantRPDetails": { - "$ref": "#/definitions/InstantRPAdditionalDetails" - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." + "dailySchedule": { + "$ref": "#/definitions/DailyRetentionSchedule", + "description": "Daily retention schedule of the protection policy." }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." + "weeklySchedule": { + "$ref": "#/definitions/WeeklyRetentionSchedule", + "description": "Weekly retention schedule of the protection policy." }, - "instantRpRetentionRangeInDays": { - "format": "int32", - "description": "Instant RP retention policy range in days", - "type": "integer" + "monthlySchedule": { + "$ref": "#/definitions/MonthlyRetentionSchedule", + "description": "Monthly retention schedule of the protection policy." }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" + "yearlySchedule": { + "$ref": "#/definitions/YearlyRetentionSchedule", + "description": "Yearly retention schedule of the protection policy." } }, - "x-ms-discriminator-value": "AzureIaasVM" + "x-ms-discriminator-value": "LongTermRetentionPolicy" }, - "AzureSqlProtectedItem": { - "description": "Azure SQL workload-specific backup item.", + "LongTermSchedulePolicy": { + "description": "Long term policy schedule.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/SchedulePolicy" } ], + "x-ms-discriminator-value": "LongTermSchedulePolicy" + }, + "MabErrorInfo": { + "description": "MAB workload-specific error information.", + "type": "object", "properties": { - "protectedItemDataId": { - "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of the backed up item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], + "errorString": { + "description": "Localized error string.", "type": "string", - "x-ms-enum": { - "name": "ProtectedItemState", - "modelAsString": true - } + "readOnly": true }, - "extendedInfo": { - "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", - "description": "Additional information for this backup item." + "recommendations": { + "description": "List of localized recommendations.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true } - }, - "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + } }, - "AzureSqlProtectedItemExtendedInfo": { - "description": "Additional information on Azure Sql specific protected item.", + "MabFileFolderProtectedItem": { + "description": "MAB workload-specific backup item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], "properties": { - "oldestRecoveryPoint": { + "friendlyName": { + "description": "Friendly name of this backup item.", + "type": "string" + }, + "computerName": { + "description": "Name of the computer associated with this backup item.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Status of last backup operation.", + "type": "string" + }, + "lastBackupTime": { "format": "date-time", - "description": "The oldest backup copy available for this item in the service.", + "description": "Timestamp of the last backup operation on this backup item.", "type": "string" }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of available backup copies associated with this backup item.", + "protectionState": { + "description": "Protected, ProtectionStopped, IRPending or ProtectionError", + "type": "string" + }, + "deferredDeleteSyncTimeInUTC": { + "format": "int64", + "description": "Sync time for deferred deletion in UTC", "type": "integer" }, - "policyState": { - "description": "State of the backup policy associated with this backup item.", - "type": "string" + "extendedInfo": { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", + "description": "Additional information with this backup item." } - } + }, + "x-ms-discriminator-value": "MabFileFolderProtectedItem" }, - "AzureStorageErrorInfo": { - "description": "Azure storage specific error information", + "MabFileFolderProtectedItemExtendedInfo": { + "description": "Additional information on the backed up item.", "type": "object", "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer" + "lastRefreshedAt": { + "format": "date-time", + "description": "Last time when the agent data synced to service.", + "type": "string" }, - "errorString": { - "description": "Localized error string.", + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available.", "type": "string" }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies associated with the backup item.", + "type": "integer" } } }, - "AzureSqlProtectionPolicy": { - "description": "Azure SQL workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." - } - }, - "x-ms-discriminator-value": "AzureSql" - }, - "AzureStorageJob": { - "description": "Azure storage specific job.", + "MabJob": { + "description": "MAB workload-specific job.", "type": "object", "allOf": [ { @@ -2283,11 +5427,11 @@ "properties": { "duration": { "format": "duration", - "description": "Time elapsed during the execution of this job.", + "description": "Time taken by job to run.", "type": "string" }, "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "description": "The state/actions applicable on jobs like cancel/retry.", "type": "array", "items": { "enum": [ @@ -2302,681 +5446,787 @@ } } }, + "mabServerName": { + "description": "Name of server protecting the DS.", + "type": "string" + }, + "mabServerType": { + "description": "Server type of MAB container.", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "MabServerType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type of backup item.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, "errorDetails": { - "description": "Error details on execution of this job.", + "description": "The errors.", "type": "array", "items": { - "$ref": "#/definitions/AzureStorageErrorInfo" + "$ref": "#/definitions/MabErrorInfo" } }, - "storageAccountName": { - "description": "Specifies friendly name of the storage account.", - "type": "string" - }, - "storageAccountVersion": { - "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", - "type": "string" - }, "extendedInfo": { - "$ref": "#/definitions/AzureStorageJobExtendedInfo", - "description": "Additional information about the job." + "$ref": "#/definitions/MabJobExtendedInfo", + "description": "Additional information on the job." } }, - "x-ms-discriminator-value": "AzureStorageJob" + "x-ms-discriminator-value": "MabJob" }, - "AzureStorageJobExtendedInfo": { - "description": "Azure Storage workload-specific additional information for job.", + "MabJobExtendedInfo": { + "description": "Additional information for the MAB workload-specific job.", "type": "object", "properties": { "tasksList": { - "description": "List of tasks for this job", + "description": "List of tasks for this job.", "type": "array", "items": { - "$ref": "#/definitions/AzureStorageJobTaskDetails" + "$ref": "#/definitions/MabJobTaskDetails" } }, "propertyBag": { - "description": "Job properties.", + "description": "The job properties.", "type": "object", "additionalProperties": { "type": "string" } }, "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", + "description": "Non localized error message specific to this job.", "type": "string" } } }, - "AzureStorageJobTaskDetails": { - "description": "Azure storage workload specific job task details.", + "MabJobTaskDetails": { + "description": "MAB workload-specific job task details.", "type": "object", "properties": { "taskId": { "description": "The task display name.", "type": "string" }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, "status": { "description": "The status.", "type": "string" } } }, - "AzureVmWorkloadProtectedItem": { - "description": "Azure VM workload-specific protected item.", + "MabProtectionPolicy": { + "description": "Mab container-specific backup policy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { - "friendlyName": { - "description": "Friendly name of the DB represented by this backup item.", - "type": "string" - }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", - "type": "string" - }, - "parentName": { - "description": "Parent name of the DB such as Instance or Availability Group.", - "type": "string" - }, - "parentType": { - "description": "Parent type of protected item, example: for a DB, standalone server or distributed", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule of backup policy." }, - "protectionState": { - "description": "Backup state of this backup item.", + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "MAB" + }, + "MonthlyRetentionSchedule": { + "description": "Monthly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format type for monthly retention policy.", "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "Daily", + "Weekly" ], "type": "string", "x-ms-enum": { - "name": "ProtectionState", + "name": "RetentionScheduleFormat", "modelAsString": true } }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for monthly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for monthly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "OperationResultInfo": { + "description": "Operation result info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "jobList": { + "description": "List of jobs created by this operation.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationResultInfo" + }, + "OperationResultInfoBase": { + "description": "Base class for operation result info.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "KPIResourceHealthDetails": { + "description": "KPI Resource Health Details", + "type": "object", + "properties": { + "resourceHealthStatus": { + "description": "Resource Health Status", "enum": [ - "Invalid", "Healthy", - "Unhealthy", - "IRPending" + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" ], "type": "string", "x-ms-enum": { - "name": "LastBackupStatus", + "name": "ResourceHealthStatus", "modelAsString": true } }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", + "resourceHealthDetails": { + "description": "Resource Health Status", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceHealthDetails" + } + } + } + }, + "PrepareDataMoveRequest": { + "description": "Prepare DataMove Request", + "required": [ + "targetResourceId", + "targetRegion", + "dataMoveLevel" + ], + "type": "object", + "properties": { + "targetResourceId": { + "description": "ARM Id of target vault", "type": "string" }, - "lastBackupErrorDetail": { - "$ref": "#/definitions/ErrorDetail", - "description": "Error details in last backup" - }, - "protectedItemDataSourceId": { - "description": "Data ID of the protected item.", + "targetRegion": { + "description": "Target Region", "type": "string" }, - "protectedItemHealthStatus": { - "description": "Health status of the backup item, evaluated based on last heartbeat received", + "dataMoveLevel": { + "description": "DataMove Level", "enum": [ "Invalid", - "Healthy", - "Unhealthy", - "NotReachable", - "IRPending" + "Vault", + "Container" ], "type": "string", "x-ms-enum": { - "name": "ProtectedItemHealthStatus", + "name": "DataMoveLevel", "modelAsString": true } }, - "extendedInfo": { - "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", - "description": "Additional information for this backup item." - }, - "kpisHealths": { - "description": "Health details of different KPIs", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/KPIResourceHealthDetails" + "sourceContainerArmIds": { + "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", + "type": "array", + "items": { + "type": "string" } - } - }, - "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" - }, - "AzureVmWorkloadProtectedItemExtendedInfo": { - "description": "Additional information on Azure Workload for SQL specific backup item.", - "type": "object", - "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this backup item.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies available for this backup item.", - "type": "integer" }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "type": "string" + "ignoreMoved": { + "description": "Ignore the artifacts which are already moved.", + "type": "boolean" } } }, - "AzureVmWorkloadSAPAseDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP ASE Database.", + "PrepareDataMoveResponse": { + "description": "Prepare DataMove Response", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" } ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" - }, - "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP HANA Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + "properties": { + "correlationId": { + "description": "Co-relationId for move operation", + "type": "string" + }, + "sourceVaultProperties": { + "description": "Source Vault Properties", + "type": "object", + "additionalProperties": { + "type": "string" + } } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" }, - "AzureVmWorkloadSQLDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SQL Database.", + "VaultStorageConfigOperationResultResponse": { + "description": "Operation result response for Vault Storage Config", + "required": [ + "objectType" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + }, + "discriminator": "objectType" }, - "AzureWorkloadErrorInfo": { - "description": "Azure storage specific error information", + "TriggerDataMoveRequest": { + "description": "Trigger DataMove Request", + "required": [ + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" + ], "type": "object", "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer" + "sourceResourceId": { + "description": "ARM Id of source vault", + "type": "string" }, - "errorString": { - "description": "Localized error string.", + "sourceRegion": { + "description": "Source Region", "type": "string" }, - "errorTitle": { - "description": "Title: Typically, the entity that the error pertains to.", + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "correlationId": { + "description": "Correlation Id", "type": "string" }, - "recommendations": { - "description": "List of localized recommendations for above error code.", + "sourceContainerArmIds": { + "description": "Source Container ArmIds", "type": "array", "items": { "type": "string" } }, - "additionalDetails": { - "description": "Additional details for above error code.", - "type": "string" + "pauseGC": { + "description": "Pause GC", + "type": "boolean" } } }, - "AzureWorkloadJob": { - "description": "Azure storage specific job.", - "type": "object", + "OperationResultInfoBaseResource": { + "description": "Base class for operation result info.", "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/OperationWorkerResponse" } ], "properties": { - "workloadType": { - "description": "Workload type of the job", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" - }, - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureWorkloadErrorInfo" - } - }, - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", - "description": "Additional information about the job." + "operation": { + "$ref": "#/definitions/OperationResultInfoBase", + "description": "OperationResultInfoBaseResource operation" } - }, - "x-ms-discriminator-value": "AzureWorkloadJob" + } }, - "AzureWorkloadJobExtendedInfo": { - "description": "Azure VM workload-specific additional information for job.", + "OperationWorkerResponse": { + "description": "This is the base class for operation result responses.", "type": "object", "properties": { - "tasksList": { - "description": "List of tasks for this job", - "type": "array", - "items": { - "$ref": "#/definitions/AzureWorkloadJobTaskDetails" + "statusCode": { + "description": "HTTP Status Code of the operation.", + "enum": [ + "Continue", + "SwitchingProtocols", + "OK", + "Created", + "Accepted", + "NonAuthoritativeInformation", + "NoContent", + "ResetContent", + "PartialContent", + "MultipleChoices", + "Ambiguous", + "MovedPermanently", + "Moved", + "Found", + "Redirect", + "SeeOther", + "RedirectMethod", + "NotModified", + "UseProxy", + "Unused", + "TemporaryRedirect", + "RedirectKeepVerb", + "BadRequest", + "Unauthorized", + "PaymentRequired", + "Forbidden", + "NotFound", + "MethodNotAllowed", + "NotAcceptable", + "ProxyAuthenticationRequired", + "RequestTimeout", + "Conflict", + "Gone", + "LengthRequired", + "PreconditionFailed", + "RequestEntityTooLarge", + "RequestUriTooLong", + "UnsupportedMediaType", + "RequestedRangeNotSatisfiable", + "ExpectationFailed", + "UpgradeRequired", + "InternalServerError", + "NotImplemented", + "BadGateway", + "ServiceUnavailable", + "GatewayTimeout", + "HttpVersionNotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": false } }, - "propertyBag": { - "description": "Job properties.", + "headers": { + "description": "HTTP headers associated with this operation.", "type": "object", "additionalProperties": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } } - }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" } } }, - "AzureWorkloadJobTaskDetails": { - "description": "Azure VM workload specific job task details.", + "PointInTimeRange": { + "description": "Provides details for log ranges", "type": "object", "properties": { - "taskId": { - "description": "The task display name.", + "startTime": { + "format": "date-time", + "description": "Start time of the time range for log recovery.", "type": "string" }, - "status": { - "description": "The status.", + "endTime": { + "format": "date-time", + "description": "End time of the time range for log recovery.", "type": "string" } } }, - "AzureWorkloadPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } + "ProtectedItem": { + "description": "Base class for backup items.", + "required": [ + "protectedItemType" ], - "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" - }, - "AzureWorkloadPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", + "protectedItemType": { + "description": "backup item type.", "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" - }, - "AzureWorkloadRecoveryPoint": { - "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "recoveryPointTimeInUTC": { - "format": "date-time", - "description": "UTC time at which recovery point was created", + }, + "backupManagementType": { + "description": "Type of backup management for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } }, - "type": { - "description": "Type of restore point", + "workloadType": { + "description": "Type of workload this item represents.", "enum": [ "Invalid", - "Full", - "Log", - "Differential", - "Incremental" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "RestorePointType", + "name": "DataSourceType", "modelAsString": true - }, - "readOnly": true + } + }, + "containerName": { + "description": "Unique name of container", + "type": "string" + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "lastRecoveryPoint": { + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set the backup item belongs to", + "type": "string" + }, + "createMode": { + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", + "enum": [ + "Invalid", + "Default", + "Recover" + ], + "type": "string", + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "deferredDeleteTimeInUTC": { + "format": "date-time", + "description": "Time for deferred deletion in UTC", + "type": "string" + }, + "isScheduledForDeferredDelete": { + "description": "Flag to identify whether the DS is scheduled for deferred delete", + "type": "boolean" + }, + "deferredDeleteTimeRemaining": { + "description": "Time remaining before the DS marked for deferred delete is permanently deleted", + "type": "string" + }, + "isDeferredDeleteScheduleUpcoming": { + "description": "Flag to identify whether the deferred deleted DS is to be purged soon", + "type": "boolean" + }, + "isRehydrate": { + "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", + "type": "boolean" } }, - "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + "discriminator": "protectedItemType" }, - "AzureWorkloadRestoreRequest": { - "description": "AzureWorkload-specific restore.", + "ProtectedItemQueryObject": { + "description": "Filters to list backup items.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], "properties": { - "recoveryType": { - "description": "Type of this recovery.", + "healthState": { + "description": "Health State for the backed up item.", "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" ], "type": "string", "x-ms-enum": { - "name": "RecoveryType", + "name": "HealthState", "modelAsString": true } }, - "sourceResourceId": { - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", - "type": "string" - }, - "propertyBag": { - "description": "Workload specific property bag.", - "type": "object", - "additionalProperties": { - "type": "string" + "backupManagementType": { + "description": "Backup management type for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true } }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "description": "Defines whether the current recovery mode is file restore or database restore", + "itemType": { + "description": "Type of workload this item represents.", "enum": [ "Invalid", - "FileRecovery", - "WorkloadRecovery" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "RecoveryMode", + "name": "DataSourceType", "modelAsString": true } - } - }, - "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" - }, - "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime in SAPHana", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" - }, - "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" - } - ], - "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", + }, + "policyName": { + "description": "Backup policy name associated with the backup item.", + "type": "string" + }, + "containerName": { + "description": "Name of the container.", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Engine name", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of protected item", + "type": "string" + }, + "fabricName": { + "description": "Name of the fabric.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set.", "type": "string" } - }, - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" - }, - "AzureWorkloadSAPHanaRecoveryPoint": { - "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" - }, - "AzureWorkloadSAPHanaRestoreRequest": { - "description": "AzureWorkload SAP Hana-specific restore.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" - }, - "AzureWorkloadSQLPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" - } - ], - "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" + } }, - "AzureWorkloadSQLPointInTimeRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", - "type": "object", + "ProtectedItemResource": { + "description": "Base class for backup items.", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + "$ref": "#/definitions/Resource" } ], "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" + "properties": { + "$ref": "#/definitions/ProtectedItem", + "description": "ProtectedItemResource properties" } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" + } }, - "AzureWorkloadSQLRecoveryPoint": { - "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "ProtectedItemResourceList": { + "description": "List of ProtectedItem resources", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + "$ref": "#/definitions/ResourceList" } ], "properties": { - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", - "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" - }, - "AzureWorkloadSQLRecoveryPointExtendedInfo": { - "description": "Extended info class details", - "type": "object", - "properties": { - "dataDirectoryTimeInUTC": { - "format": "date-time", - "description": "UTC time at which data directory info was captured", - "type": "string", - "readOnly": true - }, - "dataDirectoryPaths": { - "description": "List of data directory paths during restore operation.", + "value": { + "description": "List of resources.", "type": "array", "items": { - "$ref": "#/definitions/SQLDataDirectory" - }, - "readOnly": true + "$ref": "#/definitions/ProtectedItemResource" + } } } }, - "AzureWorkloadSQLRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } + "ProtectionPolicy": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "required": [ + "backupManagementType" ], + "type": "object", "properties": { - "shouldUseAlternateTargetLocation": { - "description": "Default option set to true. If this is set to false, alternate data directory must be provided", - "type": "boolean" - }, - "isNonRecoverable": { - "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", - "type": "boolean" + "protectedItemsCount": { + "format": "int32", + "description": "Number of items associated with this policy.", + "type": "integer" }, - "alternateDirectoryPaths": { - "description": "Data directory details", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectoryMapping" - } + "backupManagementType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" } }, - "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + "discriminator": "backupManagementType" }, - "BackupResourceVaultConfig": { - "description": "Backup resource vault config details.", - "type": "object", - "properties": { - "storageModelType": { - "description": "Storage type.", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "storageType": { - "description": "Storage type.", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "storageTypeState": { - "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "ProtectionPolicyQueryObject": { + "description": "Filters the list backup policies API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup policy.", "enum": [ "Invalid", - "Locked", - "Unlocked" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "StorageTypeState", + "name": "BackupManagementType", "modelAsString": true } }, - "enhancedSecurityState": { - "description": "Enabled or Disabled.", - "enum": [ - "Invalid", - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "EnhancedSecurityState", - "modelAsString": true - } + "fabricName": { + "description": "Fabric name for filter", + "type": "string" }, - "softDeleteFeatureState": { - "description": "Soft Delete feature state", + "workloadType": { + "description": "Workload type for the backup policy.", "enum": [ "Invalid", - "Enabled", - "Disabled" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "SoftDeleteFeatureState", + "name": "WorkloadType", "modelAsString": true } } } }, - "BackupResourceVaultConfigResource": { - "description": "Backup resource vault config details.", + "ProtectionPolicyResource": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -2984,1440 +6234,1502 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BackupResourceVaultConfig", - "description": "BackupResourceVaultConfigResource properties" - } - } - }, - "BEKDetails": { - "description": "BEK is bitlocker encryption key.", - "type": "object", - "properties": { - "secretUrl": { - "description": "Secret is BEK.", - "type": "string" - }, - "secretVaultId": { - "description": "ID of the Key Vault where this Secret is stored.", - "type": "string" - }, - "secretData": { - "description": "BEK data.", - "type": "string" + "$ref": "#/definitions/ProtectionPolicy", + "description": "ProtectionPolicyResource properties" } } }, - "BMSRPQueryObject": { - "description": "Filters to list backup copies.", + "ProtectionPolicyResourceList": { + "description": "List of ProtectionPolicy resources", "type": "object", - "properties": { - "startDate": { - "format": "date-time", - "description": "Backup copies created after this time.", - "type": "string" - }, - "endDate": { - "format": "date-time", - "description": "Backup copies created before this time.", - "type": "string" - }, - "restorePointQueryType": { - "description": "RestorePoint type", - "enum": [ - "Invalid", - "Full", - "Log", - "Differential", - "FullAndDifferential", - "All", - "Incremental" - ], - "type": "string", - "x-ms-enum": { - "name": "RestorePointQueryType", - "modelAsString": true - } - }, - "extendedInfo": { - "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", - "type": "boolean" + "allOf": [ + { + "$ref": "#/definitions/ResourceList" } - } - }, - "DiskExclusionProperties": { - "type": "object", + ], "properties": { - "diskLunList": { - "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", + "value": { + "description": "List of resources.", "type": "array", "items": { - "format": "int32", - "type": "integer" + "$ref": "#/definitions/ProtectionPolicyResource" } - }, - "isInclusionList": { - "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", - "type": "boolean" } } }, - "DiskInformation": { - "description": "Disk information", + "RecoveryPoint": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "required": [ + "objectType" + ], "type": "object", "properties": { - "lun": { - "format": "int32", - "type": "integer" - }, - "name": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" } - } + }, + "discriminator": "objectType" }, - "DailyRetentionFormat": { - "description": "Daily retention format.", + "RecoveryPointDiskConfiguration": { + "description": "Disk configuration", "type": "object", "properties": { - "daysOfTheMonth": { - "description": "List of days of the month.", + "numberOfDisksIncludedInBackup": { + "format": "int32", + "description": "Number of disks included in backup", + "type": "integer" + }, + "numberOfDisksAttachedToVm": { + "format": "int32", + "description": "Number of disks attached to the VM", + "type": "integer" + }, + "includedDiskList": { + "description": "Information of disks included in backup", "type": "array", "items": { - "$ref": "#/definitions/Day" + "$ref": "#/definitions/DiskInformation" } - } - } - }, - "DailyRetentionSchedule": { - "description": "Daily retention schedule.", - "type": "object", - "properties": { - "retentionTimes": { - "description": "Retention times of retention policy.", + }, + "excludedDiskList": { + "description": "Information of disks excluded from backup", "type": "array", "items": { - "format": "date-time", - "type": "string" + "$ref": "#/definitions/DiskInformation" } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." } } }, - "Day": { - "description": "Day of the week.", - "type": "object", - "properties": { - "date": { - "format": "int32", - "description": "Date of the month", - "type": "integer" - }, - "isLast": { - "description": "Whether Date is last date of month", - "type": "boolean" + "RecoveryPointResource": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" } - } - }, - "DpmErrorInfo": { - "description": "DPM workload-specific error information.", - "type": "object", + ], "properties": { - "errorString": { - "description": "Localized error string.", - "type": "string" - }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } + "properties": { + "$ref": "#/definitions/RecoveryPoint", + "description": "RecoveryPointResource properties" } } }, - "DpmJob": { - "description": "DPM workload-specific job object.", + "RecoveryPointResourceList": { + "description": "List of RecoveryPoint resources", "type": "object", "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/ResourceList" } ], "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed for job.", - "type": "string" - }, - "dpmServerName": { - "description": "DPM server name managing the backup item or backup job.", - "type": "string" - }, - "containerName": { - "description": "Name of cluster/server protecting current backup item, if any.", - "type": "string" - }, - "containerType": { - "description": "Type of container.", - "type": "string" - }, - "workloadType": { - "description": "Type of backup item.", - "type": "string" - }, - "actionsInfo": { - "description": "The state/actions applicable on this job like cancel/retry.", + "value": { + "description": "List of resources.", "type": "array", "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } + "$ref": "#/definitions/RecoveryPointResource" + } + } + } + }, + "RecoveryPointTierInformation": { + "description": "Recovery point tier information.", + "type": "object", + "properties": { + "type": { + "description": "Recovery point tier type.", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false } }, - "errorDetails": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/DpmErrorInfo" + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": false } - }, - "extendedInfo": { - "$ref": "#/definitions/DpmJobExtendedInfo", - "description": "Additional information for this job." } - }, - "x-ms-discriminator-value": "DpmJob" + } }, - "DpmJobExtendedInfo": { - "description": "Additional information on the DPM workload-specific job.", + "Resource": { + "description": "ARM Resource.", "type": "object", "properties": { - "tasksList": { - "description": "List of tasks associated with this job.", - "type": "array", - "items": { - "$ref": "#/definitions/DpmJobTaskDetails" - } + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true }, - "propertyBag": { - "description": "The job properties.", + "name": { + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", "type": "object", "additionalProperties": { "type": "string" } }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", + "eTag": { + "description": "Optional ETag.", "type": "string" } - } + }, + "x-ms-azure-resource": true }, - "DpmJobTaskDetails": { - "description": "DPM workload-specific job task details.", + "ResourceList": { + "description": "Base for all lists of resources.", "type": "object", "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", + } + } + }, + "RestoreFileSpecs": { + "description": "Restore file specs like file path, type and target folder path info.", + "type": "object", + "properties": { + "path": { + "description": "Source File/Folder path", "type": "string" }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", + "fileSpecType": { + "description": "Indicates what the Path variable stands for", "type": "string" }, - "status": { - "description": "The status.", + "targetFolderPath": { + "description": "Destination folder path in target FileShare", "type": "string" } } }, - "DPMProtectedItem": { - "description": "Additional information on Backup engine specific backup item.", + "RestoreRequest": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "required": [ + "objectType" + ], "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "RestoreRequestResource": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/Resource" } ], "properties": { - "friendlyName": { - "description": "Friendly name of the managed item", - "type": "string" - }, - "backupEngineName": { - "description": "Backup Management server protecting this backup item", - "type": "string" + "properties": { + "$ref": "#/definitions/RestoreRequest", + "description": "RestoreRequestResource properties" + } + } + }, + "RetentionDuration": { + "description": "Retention duration.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", + "type": "integer" }, - "protectionState": { - "description": "Protection state of the backup engine", + "durationType": { + "description": "Retention duration type of retention policy.", "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "Days", + "Weeks", + "Months", + "Years" ], "type": "string", "x-ms-enum": { - "name": "ProtectedItemState", + "name": "RetentionDurationType", "modelAsString": true } - }, - "extendedInfo": { - "$ref": "#/definitions/DPMProtectedItemExtendedInfo", - "description": "Extended info of the backup item." } - }, - "x-ms-discriminator-value": "DPMProtectedItem" + } }, - "DPMProtectedItemExtendedInfo": { - "description": "Additional information of DPM Protected item.", + "RetentionPolicy": { + "description": "Base class for retention policy.", + "required": [ + "retentionPolicyType" + ], "type": "object", "properties": { - "protectableObjectLoadPath": { - "description": "Attribute to provide information on various DBs.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "protected": { - "description": "To check if backup item is disk protected.", - "type": "boolean" - }, - "isPresentOnCloud": { - "description": "To check if backup item is cloud protected.", - "type": "boolean" - }, - "lastBackupStatus": { - "description": "Last backup status information on backup item.", - "type": "string" - }, - "lastRefreshedAt": { - "format": "date-time", - "description": "Last refresh time on backup item.", - "type": "string" - }, - "oldestRecoveryPoint": { - "format": "date-time", - "description": "Oldest cloud recovery point time.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "cloud recovery point count.", - "type": "integer" - }, - "onPremiseOldestRecoveryPoint": { - "format": "date-time", - "description": "Oldest disk recovery point time.", - "type": "string" - }, - "onPremiseLatestRecoveryPoint": { - "format": "date-time", - "description": "latest disk recovery point time.", - "type": "string" - }, - "onPremiseRecoveryPointCount": { - "format": "int32", - "description": "disk recovery point count.", - "type": "integer" - }, - "isCollocated": { - "description": "To check if backup item is collocated.", - "type": "boolean" - }, - "protectionGroupName": { - "description": "Protection group name of the backup item.", - "type": "string" - }, - "diskStorageUsedInBytes": { - "description": "Used Disk storage in bytes.", + "retentionPolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" - }, - "totalDiskStorageSizeInBytes": { - "description": "total Disk storage in bytes.", + } + }, + "discriminator": "retentionPolicyType" + }, + "SchedulePolicy": { + "description": "Base class for backup schedule.", + "required": [ + "schedulePolicyType" + ], + "type": "object", + "properties": { + "schedulePolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" } - } + }, + "discriminator": "schedulePolicyType" }, - "EncryptionDetails": { - "description": "Details needed if the VM was encrypted at the time of backup.", + "Settings": { + "description": "Common settings field for backup management", "type": "object", "properties": { - "encryptionEnabled": { - "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", - "type": "boolean" - }, - "kekUrl": { - "description": "Key Url.", - "type": "string" - }, - "secretKeyUrl": { - "description": "Secret Url.", + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", "type": "string" }, - "kekVaultId": { - "description": "ID of Key Vault where KEK is stored.", - "type": "string" + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" }, - "secretKeyVaultId": { - "description": "ID of Key Vault where Secret is stored.", - "type": "string" + "isCompression": { + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", + "type": "boolean" } } }, - "ErrorDetail": { - "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "SimpleRetentionPolicy": { + "description": "Simple policy retention.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], "properties": { - "code": { - "description": "Error code.", - "type": "string", - "readOnly": true - }, - "message": { - "description": "Error Message related to the Code.", - "type": "string", - "readOnly": true - }, - "recommendations": { - "description": "List of recommendation strings.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of the protection policy." } - } + }, + "x-ms-discriminator-value": "SimpleRetentionPolicy" }, - "ExportJobsOperationResultInfo": { - "description": "This class is used to send blob details after exporting jobs.", + "SimpleSchedulePolicy": { + "description": "Simple policy schedule.", "type": "object", "allOf": [ { - "$ref": "#/definitions/OperationResultInfoBase" + "$ref": "#/definitions/SchedulePolicy" } ], "properties": { - "blobUrl": { - "description": "URL of the blob into which the serialized string of list of jobs is exported.", - "type": "string" + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } }, - "blobSasKey": { - "description": "SAS key to access the blob. It expires in 15 mins.", - "type": "string" + "scheduleRunDays": { + "description": "List of days of week this schedule has to be run.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } }, - "excelFileBlobUrl": { - "description": "URL of the blob into which the ExcelFile is uploaded.", - "type": "string" + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } }, - "excelFileBlobSasKey": { - "description": "SAS key to access the blob. It expires in 15 mins.", - "type": "string" + "scheduleWeeklyFrequency": { + "format": "int32", + "description": "At every number weeks this schedule has to be run.", + "type": "integer" } }, - "x-ms-discriminator-value": "ExportJobsOperationResultInfo" + "x-ms-discriminator-value": "SimpleSchedulePolicy" }, - "ExtendedProperties": { - "description": "Extended Properties for Azure IaasVM Backup.", + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", "type": "object", "properties": { - "diskExclusionProperties": { - "$ref": "#/definitions/DiskExclusionProperties", - "description": "Extended Properties for Disk Exclusion." + "policyType": { + "description": "Type of backup policy type", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." } } }, - "GenericProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", + "SQLDataDirectory": { + "description": "SQLDataDirectory info", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], "properties": { - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", - "type": "array", - "items": { - "$ref": "#/definitions/SubProtectionPolicy" + "type": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true } }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "path": { + "description": "File path", "type": "string" }, - "fabricName": { - "description": "Name of this policy's fabric.", + "logicalName": { + "description": "Logical name of the file", "type": "string" } - }, - "x-ms-discriminator-value": "GenericProtectionPolicy" + } }, - "InstantRPAdditionalDetails": { + "SQLDataDirectoryMapping": { + "description": "Encapsulates information regarding data directory", "type": "object", "properties": { - "azureBackupRGNamePrefix": { + "mappingType": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "sourceLogicalName": { + "description": "Restore source logical name path", "type": "string" }, - "azureBackupRGNameSuffix": { + "sourcePath": { + "description": "Restore source path", + "type": "string" + }, + "targetPath": { + "description": "Target path", "type": "string" } } }, - "GenericProtectedItem": { - "description": "Base class for backup items.", + "TargetAFSRestoreInfo": { + "description": "Target Azure File Share Info.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], "properties": { - "friendlyName": { - "description": "Friendly name of the container.", + "name": { + "description": "File share name", "type": "string" }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", + "targetResourceId": { + "description": "Target file share resource ARM ID", "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + } + } + }, + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", + "type": "object", + "properties": { + "overwriteOption": { + "description": "Can Overwrite if Target DataBase already exists", + "enum": [ + "Invalid", + "FailOnConflict", + "Overwrite" ], "type": "string", "x-ms-enum": { - "name": "ProtectionState", + "name": "OverwriteOptions", "modelAsString": true } }, - "protectedItemId": { - "format": "int64", - "description": "Data Plane Service ID of the protected item.", - "type": "integer" + "containerId": { + "description": "Resource Id name of the container in which Target DataBase resides", + "type": "string" }, - "sourceAssociations": { - "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", - "type": "object", - "additionalProperties": { - "type": "string" - } + "databaseName": { + "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", + "type": "string" }, - "fabricName": { - "description": "Name of this backup item's fabric.", + "targetDirectoryForFileRestore": { + "description": "Target directory location for restore as files.", "type": "string" } - }, - "x-ms-discriminator-value": "GenericProtectedItem" + } }, - "GenericRecoveryPoint": { - "description": "Generic backup copy.", + "ValidateIaasVMRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/ValidateRestoreOperationRequest" } ], + "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" + }, + "ValidateOperationRequest": { + "description": "Base class for validate operation request.", + "required": [ + "objectType" + ], + "type": "object", "properties": { - "friendlyName": { - "description": "Friendly name of the backup copy.", - "type": "string" - }, - "recoveryPointType": { - "description": "Type of the backup copy.", - "type": "string" - }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string" - }, - "recoveryPointAdditionalInfo": { - "description": "Additional information associated with this backup copy.", + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" } }, - "x-ms-discriminator-value": "GenericRecoveryPoint" + "discriminator": "objectType" }, - "GetProtectedItemQueryObject": { - "description": "Filters to list backup items.", + "ValidateOperationResponse": { + "description": "Base class for validate operation response.", "type": "object", "properties": { - "expand": { - "description": "Specifies if the additional information should be provided for this item.", - "type": "string" + "validationResults": { + "description": "Gets the validation result", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } } } }, - "IaasVMRecoveryPoint": { - "description": "IaaS VM workload specific backup copy.", + "ValidateOperationsResponse": { + "type": "object", + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse" + } + } + }, + "ValidateRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/ValidateOperationRequest" } ], "properties": { - "recoveryPointType": { - "description": "Type of the backup copy.", - "type": "string", - "readOnly": true - }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string", - "readOnly": true - }, - "recoveryPointAdditionalInfo": { - "description": "Additional information associated with this backup copy.", - "type": "string", - "readOnly": true - }, - "sourceVMStorageType": { - "description": "Storage type of the VM whose backup copy is created.", - "type": "string", - "readOnly": true - }, - "isSourceVMEncrypted": { - "description": "Identifies whether the VM was encrypted when the backup copy is created.", - "type": "boolean", - "readOnly": true - }, - "keyAndSecret": { - "$ref": "#/definitions/KeyAndSecretDetails", - "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." - }, - "isInstantIlrSessionActive": { - "description": "Is the session to recover items from this backup copy still active.", - "type": "boolean" - }, - "recoveryPointTierDetails": { - "description": "Recovery point tier information.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformation" - } - }, - "isManagedVirtualMachine": { - "description": "Whether VM is with Managed Disks", - "type": "boolean" - }, - "virtualMachineSize": { - "description": "Virtual Machine Size", - "type": "string" - }, - "originalStorageAccountOption": { - "description": "Original Storage Account Option", - "type": "boolean" - }, - "osType": { - "description": "OS type", - "type": "string" - }, - "recoveryPointDiskConfiguration": { - "$ref": "#/definitions/RecoveryPointDiskConfiguration", - "description": "Disk configuration" + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" } }, - "x-ms-discriminator-value": "IaasVMRecoveryPoint" + "x-ms-discriminator-value": "ValidateRestoreOperationRequest" }, - "IaasVMRestoreRequest": { - "description": "IaaS VM workload-specific restore.", + "WeeklyRetentionFormat": { + "description": "Weekly retention format.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], "properties": { - "recoveryPointId": { - "description": "ID of the backup copy to be recovered.", - "type": "string" - }, - "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryType", - "modelAsString": true + "daysOfTheWeek": { + "description": "List of days of the week.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } } }, - "sourceResourceId": { - "description": "Fully qualified ARM ID of the VM which is being recovered.", - "type": "string" - }, - "targetVirtualMachineId": { - "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", - "type": "string" - }, - "targetResourceGroupId": { - "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}", - "type": "string" - }, - "storageAccountId": { - "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", - "type": "string" - }, - "virtualNetworkId": { - "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.", - "type": "string" - }, - "subnetId": { - "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.", - "type": "string" - }, - "targetDomainNameId": { - "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.", - "type": "string" - }, - "region": { - "description": "Region in which the virtual machine is restored.", - "type": "string" - }, - "affinityGroup": { - "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", - "type": "string" - }, - "createNewCloudService": { - "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.", - "type": "boolean" - }, - "originalStorageAccountOption": { - "description": "Original Storage Account Option", - "type": "boolean" - }, - "encryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Details needed if the VM was encrypted at the time of backup." - }, - "restoreDiskLunList": { - "description": "List of Disk LUNs for partial restore", + "weeksOfTheMonth": { + "description": "List of weeks of month.", "type": "array", "items": { - "format": "int32", - "type": "integer" + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "WeekOfMonth", + "modelAsString": false + } } } - }, - "x-ms-discriminator-value": "IaasVMRestoreRequest" + } }, - "Job": { - "description": "Defines workload agnostic properties for a job.", - "required": [ - "jobType" - ], + "WeeklyRetentionSchedule": { + "description": "Weekly retention schedule.", "type": "object", "properties": { - "entityFriendlyName": { - "description": "Friendly name of the entity on which the current job is executing.", - "type": "string" - }, - "backupManagementType": { - "description": "Backup management type to execute the current job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true + "daysOfTheWeek": { + "description": "List of days of week for weekly retention policy.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } } }, - "operation": { - "description": "The operation name.", - "type": "string" - }, - "status": { - "description": "Job status.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "activityId": { - "description": "ActivityId of job.", - "type": "string" + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } }, - "jobType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." } - }, - "discriminator": "jobType" + } }, - "JobQueryObject": { - "description": "Filters to list the jobs.", + "YearlyRetentionSchedule": { + "description": "Yearly retention schedule.", "type": "object", "properties": { - "status": { - "description": "Status of the job.", + "retentionScheduleFormatType": { + "description": "Retention schedule format for yearly retention policy.", "enum": [ "Invalid", - "InProgress", - "Completed", - "Failed", - "CompletedWithWarnings", - "Cancelled", - "Cancelling" + "Daily", + "Weekly" ], "type": "string", "x-ms-enum": { - "name": "JobStatus", + "name": "RetentionScheduleFormat", "modelAsString": true } }, - "backupManagementType": { - "description": "Type of backup management for the job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true + "monthsOfYear": { + "description": "List of months of year of yearly retention policy.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "type": "string", + "x-ms-enum": { + "name": "MonthOfYear", + "modelAsString": false + } } }, - "operation": { - "description": "Type of operation.", - "enum": [ - "Invalid", - "Register", - "UnRegister", - "ConfigureBackup", - "Backup", - "Restore", - "DisableBackup", - "DeleteBackupData", - "CrossRegionRestore", - "Undelete" - ], - "type": "string", - "x-ms-enum": { - "name": "JobOperationType", - "modelAsString": true - } + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for yearly retention policy." }, - "jobId": { - "description": "JobID represents the job uniquely.", - "type": "string" + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for yearly retention policy." }, - "startTime": { - "format": "date-time", - "description": "Job has started at this time. Value is in UTC.", - "type": "string" + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } }, - "endTime": { - "format": "date-time", - "description": "Job has ended at this time. Value is in UTC.", - "type": "string" + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." } } }, - "JobResource": { - "description": "Defines workload agnostic properties for a job.", + "VaultJob": { + "description": "Vault level Job", + "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/Job" } ], "properties": { - "properties": { - "$ref": "#/definitions/Job", - "description": "JobResource properties" + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/VaultJobErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/VaultJobExtendedInfo", + "description": "Additional information about the job." } - } + }, + "x-ms-discriminator-value": "VaultJob" }, - "JobResourceList": { - "description": "List of Job resources", + "VaultJobErrorInfo": { + "description": "Vault Job specific error information", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], "properties": { - "value": { - "description": "List of resources.", + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", "type": "array", "items": { - "$ref": "#/definitions/JobResource" + "type": "string" } } } }, - "KEKDetails": { - "description": "KEK is encryption key for BEK.", + "VaultJobExtendedInfo": { + "description": "Vault Job for CMK - has CMK specific info.", "type": "object", "properties": { - "keyUrl": { - "description": "Key is KEK.", - "type": "string" - }, - "keyVaultId": { - "description": "Key Vault ID where this Key is stored.", - "type": "string" - }, - "keyBackupData": { - "description": "KEK data.", - "type": "string" + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } } } }, - "KeyAndSecretDetails": { - "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.", + "AzureBackupServerContainer": { + "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", "type": "object", - "properties": { - "kekDetails": { - "$ref": "#/definitions/KEKDetails", - "description": "KEK is encryption key for BEK." - }, - "bekDetails": { - "$ref": "#/definitions/BEKDetails", - "description": "BEK is bitlocker encryption key." - }, - "encryptionMechanism": { - "description": "Encryption mechanism: None/ SinglePass/ DoublePass", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/DpmContainer" } - } + ], + "x-ms-discriminator-value": "AzureBackupServerContainer" }, - "LogSchedulePolicy": { - "description": "Log policy schedule.", + "AzureBackupServerEngine": { + "description": "Backup engine type when Azure Backup Server is used to manage the backups.", "type": "object", "allOf": [ { - "$ref": "#/definitions/SchedulePolicy" + "$ref": "#/definitions/BackupEngineBase" } ], - "properties": { - "scheduleFrequencyInMins": { - "format": "int32", - "description": "Frequency of the log schedule operation of this policy in minutes.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "LogSchedulePolicy" + "x-ms-discriminator-value": "AzureBackupServerEngine" }, - "LongTermRetentionPolicy": { - "description": "Long term retention policy.", + "AzureFileShareBackupRequest": { + "description": "AzureFileShare workload-specific backup request.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RetentionPolicy" + "$ref": "#/definitions/BackupRequest" } ], "properties": { - "dailySchedule": { - "$ref": "#/definitions/DailyRetentionSchedule", - "description": "Daily retention schedule of the protection policy." - }, - "weeklySchedule": { - "$ref": "#/definitions/WeeklyRetentionSchedule", - "description": "Weekly retention schedule of the protection policy." - }, - "monthlySchedule": { - "$ref": "#/definitions/MonthlyRetentionSchedule", - "description": "Monthly retention schedule of the protection policy." - }, - "yearlySchedule": { - "$ref": "#/definitions/YearlyRetentionSchedule", - "description": "Yearly retention schedule of the protection policy." + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" } }, - "x-ms-discriminator-value": "LongTermRetentionPolicy" + "x-ms-discriminator-value": "AzureFileShareBackupRequest" }, - "LongTermSchedulePolicy": { - "description": "Long term policy schedule.", + "AzureFileShareProtectableItem": { + "description": "Protectable item for Azure Fileshare workloads.", "type": "object", "allOf": [ { - "$ref": "#/definitions/SchedulePolicy" + "$ref": "#/definitions/WorkloadProtectableItem" } ], - "x-ms-discriminator-value": "LongTermSchedulePolicy" - }, - "MabErrorInfo": { - "description": "MAB workload-specific error information.", - "type": "object", "properties": { - "errorString": { - "description": "Localized error string.", - "type": "string", - "readOnly": true + "parentContainerFabricId": { + "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", + "type": "string" }, - "recommendations": { - "description": "List of localized recommendations.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true + "parentContainerFriendlyName": { + "description": "Friendly name of container to which this protectable item belongs.", + "type": "string" + }, + "azureFileShareType": { + "description": "File Share type XSync or XSMB.", + "enum": [ + "Invalid", + "XSMB", + "XSync" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureFileShareType", + "modelAsString": true + } } - } + }, + "x-ms-discriminator-value": "AzureFileShare" }, - "MabFileFolderProtectedItem": { - "description": "MAB workload-specific backup item.", + "AzureFileShareProvisionILRRequest": { + "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/ILRRequest" } ], "properties": { - "friendlyName": { - "description": "Friendly name of this backup item.", - "type": "string" - }, - "computerName": { - "description": "Name of the computer associated with this backup item.", - "type": "string" - }, - "lastBackupStatus": { - "description": "Status of last backup operation.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", + "recoveryPointId": { + "description": "Recovery point ID.", "type": "string" }, - "protectionState": { - "description": "Protected, ProtectionStopped, IRPending or ProtectionError", + "sourceResourceId": { + "description": "Source Storage account ARM Id", "type": "string" - }, - "deferredDeleteSyncTimeInUTC": { - "format": "int64", - "description": "Sync time for deferred deletion in UTC", - "type": "integer" - }, - "extendedInfo": { - "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", - "description": "Additional information with this backup item." } }, - "x-ms-discriminator-value": "MabFileFolderProtectedItem" + "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" }, - "MabFileFolderProtectedItemExtendedInfo": { - "description": "Additional information on the backed up item.", + "AzureIaaSClassicComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", "type": "object", - "properties": { - "lastRefreshedAt": { - "format": "date-time", - "description": "Last time when the agent data synced to service.", - "type": "string" - }, - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies associated with the backup item.", - "type": "integer" + "allOf": [ + { + "$ref": "#/definitions/IaaSVMContainer" } - } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, - "MabJob": { - "description": "MAB workload-specific job.", + "AzureIaaSClassicComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/IaaSVMProtectableItem" } ], - "properties": { - "duration": { - "format": "duration", - "description": "Time taken by job to run.", - "type": "string" - }, - "actionsInfo": { - "description": "The state/actions applicable on jobs like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "mabServerName": { - "description": "Name of server protecting the DS.", - "type": "string" - }, - "mabServerType": { - "description": "Server type of MAB container.", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter", - "VMAppContainer", - "SQLAGWorkLoadContainer", - "StorageContainer", - "GenericContainer" - ], - "type": "string", - "x-ms-enum": { - "name": "MabServerType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Workload type of backup item.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "errorDetails": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/MabErrorInfo" - } - }, - "extendedInfo": { - "$ref": "#/definitions/MabJobExtendedInfo", - "description": "Additional information on the job." + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMContainer" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMProtectableItem" } - }, - "x-ms-discriminator-value": "MabJob" + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "MabJobExtendedInfo": { - "description": "Additional information for the MAB workload-specific job.", + "AzureSQLAGWorkloadContainerProtectionContainer": { + "description": "Container for SQL workloads under SQL Availability Group.", "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks for this job.", - "type": "array", - "items": { - "$ref": "#/definitions/MabJobTaskDetails" - } - }, - "propertyBag": { - "description": "The job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "dynamicErrorMessage": { - "description": "Non localized error message specific to this job.", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" } - } + ], + "x-ms-discriminator-value": "SQLAGWorkLoadContainer" }, - "MabJobTaskDetails": { - "description": "MAB workload-specific job task details.", + "AzureSqlContainer": { + "description": "Azure Sql workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "AzureSqlContainer" + }, + "AzureStorageContainer": { + "description": "Azure Storage Account workload-specific container.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", + "sourceResourceId": { + "description": "Fully qualified ARM url.", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "The end time.", + "storageAccountVersion": { + "description": "Storage account version.", "type": "string" }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", "type": "string" }, - "status": { - "description": "The status.", - "type": "string" + "protectedItemCount": { + "format": "int64", + "description": "Number of items backed up in this container.", + "type": "integer" } - } + }, + "x-ms-discriminator-value": "StorageContainer" }, - "MabProtectionPolicy": { - "description": "Mab container-specific backup policy.", + "AzureStorageProtectableContainer": { + "description": "Azure Storage-specific protectable containers", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureVMAppContainerProtectableContainer": { + "description": "Azure workload-specific container", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVMAppContainerProtectionContainer": { + "description": "Container for SQL workloads under Azure Virtual Machines.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVmWorkloadItem": { + "description": "Azure VM workload-specific workload item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" } ], "properties": { - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule of backup policy." + "parentName": { + "description": "Name for instance or AG", + "type": "string" }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "isAutoProtectable": { + "description": "Indicates if workload item is auto-protectable", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subWorkloadItemCount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" } }, - "x-ms-discriminator-value": "MAB" + "x-ms-discriminator-value": "AzureVmWorkloadItem" }, - "MonthlyRetentionSchedule": { - "description": "Monthly retention schedule.", + "AzureVmWorkloadProtectableItem": { + "description": "Azure VM workload-specific protectable item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format type for monthly retention policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionScheduleFormat", - "modelAsString": true - } + "parentName": { + "description": "Name for instance or AG", + "type": "string" }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for monthly retention policy." + "parentUniqueName": { + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\r\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG.", + "type": "string" }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for monthly retention policy." + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } + "isAutoProtectable": { + "description": "Indicates if protectable item is auto-protectable", + "type": "boolean" }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." + "isAutoProtected": { + "description": "Indicates if protectable item is auto-protected", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subprotectableitemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" } - } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" }, - "OperationResultInfo": { - "description": "Operation result info.", + "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE Database.", "type": "object", "allOf": [ { - "$ref": "#/definitions/OperationResultInfoBase" + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPAseDatabase" + }, + "AzureVmWorkloadSAPAseSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP ASE System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPAseSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaSystem" + }, + "AzureVmWorkloadSAPHanaSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPHanaSystem" + }, + "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" + }, + "AzureVmWorkloadSQLDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLInstanceProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLInstance" + }, + "AzureVmWorkloadSQLInstanceWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" } ], "properties": { - "jobList": { - "description": "List of jobs created by this operation.", + "dataDirectoryPaths": { + "description": "Data Directory Paths for default directories", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/SQLDataDirectory" } } }, - "x-ms-discriminator-value": "OperationResultInfo" + "x-ms-discriminator-value": "SQLInstance" }, - "OperationResultInfoBase": { - "description": "Base class for operation result info.", - "required": [ - "objectType" - ], + "AzureWorkloadBackupRequest": { + "description": "AzureWorkload workload-specific backup request.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "backupType": { + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "backupType", + "modelAsString": true + } + }, + "enableCompression": { + "description": "Bool for Compression setting", + "type": "boolean" + }, + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", "type": "string" } }, - "discriminator": "objectType" + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" }, - "KPIResourceHealthDetails": { - "description": "KPI Resource Health Details", + "AzureWorkloadContainer": { + "description": "Container for the workloads running inside Azure Compute or Classic Compute.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], "properties": { - "resourceHealthStatus": { - "description": "Resource Health Status", + "sourceResourceId": { + "description": "ARM ID of the virtual machine represented by this Azure Workload Container", + "type": "string" + }, + "lastUpdatedTime": { + "format": "date-time", + "description": "Time stamp when this container was updated.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", + "description": "Additional details of a workload container." + }, + "workloadType": { + "description": "Workload type for which registration was sent.", "enum": [ - "Healthy", - "TransientDegraded", - "PersistentDegraded", - "TransientUnhealthy", - "PersistentUnhealthy", - "Invalid" + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "ResourceHealthStatus", + "name": "WorkloadType", "modelAsString": true } }, - "resourceHealthDetails": { - "description": "Resource Health Status", + "operationType": { + "description": "Re-Do Operation", + "enum": [ + "Invalid", + "Register", + "Reregister" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadContainer" + }, + "AzureWorkloadContainerExtendedInfo": { + "description": "Extended information of the container.", + "type": "object", + "properties": { + "hostServerName": { + "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container.", + "type": "string" + }, + "inquiryInfo": { + "$ref": "#/definitions/InquiryInfo", + "description": "Inquiry Status for the container." + }, + "nodesList": { + "description": "List of the nodes in case of distributed container.", "type": "array", "items": { - "$ref": "#/definitions/ResourceHealthDetails" + "$ref": "#/definitions/DistributedNodesInfo" } } } }, - "PrepareDataMoveRequest": { - "description": "Prepare DataMove Request", + "BackupEngineBase": { + "description": "The base backup engine class. All workload specific backup engines derive from this class.", + "type": "object", "required": [ - "targetResourceId", - "targetRegion", - "dataMoveLevel" + "backupEngineType" ], - "type": "object", "properties": { - "targetResourceId": { - "description": "ARM Id of target vault", + "friendlyName": { + "description": "Friendly name of the backup engine.", "type": "string" }, - "targetRegion": { - "description": "Target Region", + "backupManagementType": { + "description": "Type of backup management for the backup engine.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "registrationStatus": { + "description": "Registration status of the backup engine with the Recovery Services Vault.", "type": "string" }, - "dataMoveLevel": { - "description": "DataMove Level", + "backupEngineState": { + "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}", + "type": "string" + }, + "healthStatus": { + "description": "Backup status of the backup engine.", + "type": "string" + }, + "backupEngineType": { + "description": "Type of the backup engine.", "enum": [ "Invalid", - "Vault", - "Container" + "DpmBackupEngine", + "AzureBackupServerEngine" ], "type": "string", "x-ms-enum": { - "name": "DataMoveLevel", + "name": "BackupEngineType", "modelAsString": true } }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", - "type": "array", - "items": { - "type": "string" - } + "canReRegister": { + "description": "Flag indicating if the backup engine be registered, once already registered.", + "type": "boolean" }, - "ignoreMoved": { - "description": "Ignore the artifacts which are already moved.", + "backupEngineId": { + "description": "ID of the backup engine.", + "type": "string" + }, + "dpmVersion": { + "description": "Backup engine version", + "type": "string" + }, + "azureBackupAgentVersion": { + "description": "Backup agent version", + "type": "string" + }, + "isAzureBackupAgentUpgradeAvailable": { + "description": "To check if backup agent upgrade available", "type": "boolean" + }, + "isDpmUpgradeAvailable": { + "description": "To check if backup engine upgrade available", + "type": "boolean" + }, + "extendedInfo": { + "$ref": "#/definitions/BackupEngineExtendedInfo", + "description": "Extended info of the backupengine" + } + }, + "discriminator": "backupEngineType" + }, + "BackupEngineBaseResource": { + "description": "The base backup engine class. All workload specific backup engines derive from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupEngineBase", + "description": "BackupEngineBaseResource properties" } } }, - "PrepareDataMoveResponse": { - "description": "Prepare DataMove Response", + "BackupEngineBaseResourceList": { + "description": "List of BackupEngineBase resources", "type": "object", "allOf": [ { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + "$ref": "#/definitions/ResourceList" } ], "properties": { - "correlationId": { - "description": "Co-relationId for move operation", + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupEngineBaseResource" + } + } + } + }, + "BackupEngineExtendedInfo": { + "description": "Additional information on backup engine.", + "type": "object", + "properties": { + "databaseName": { + "description": "Database name of backup engine.", "type": "string" }, - "sourceVaultProperties": { - "description": "Source Vault Properties", - "type": "object", - "additionalProperties": { - "type": "string" - } + "protectedItemsCount": { + "format": "int32", + "description": "Number of protected items in the backup engine.", + "type": "integer" + }, + "protectedServersCount": { + "format": "int32", + "description": "Number of protected servers in the backup engine.", + "type": "integer" + }, + "diskCount": { + "format": "int32", + "description": "Number of disks in the backup engine.", + "type": "integer" + }, + "usedDiskSpace": { + "format": "double", + "description": "Disk space used in the backup engine.", + "type": "number" + }, + "availableDiskSpace": { + "format": "double", + "description": "Disk space currently available in the backup engine.", + "type": "number" + }, + "refreshedAt": { + "format": "date-time", + "description": "Last refresh time in the backup engine.", + "type": "string" + }, + "azureProtectedInstances": { + "format": "int32", + "description": "Protected instances in the backup engine.", + "type": "integer" } - }, - "x-ms-discriminator-value": "PrepareDataMoveResponse" + } }, - "VaultStorageConfigOperationResultResponse": { - "description": "Operation result response for Vault Storage Config", + "BackupRequest": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", "required": [ "objectType" ], @@ -4430,170 +7742,138 @@ }, "discriminator": "objectType" }, - "TriggerDataMoveRequest": { - "description": "Trigger DataMove Request", - "required": [ - "sourceResourceId", - "sourceRegion", - "dataMoveLevel", - "correlationId" + "BackupRequestResource": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupRequest", + "description": "BackupRequestResource properties" + } + } + }, + "BMSBackupEngineQueryObject": { + "description": "Query parameters to fetch list of backup engines.", "type": "object", "properties": { - "sourceResourceId": { - "description": "ARM Id of source vault", - "type": "string" - }, - "sourceRegion": { - "description": "Source Region", + "expand": { + "description": "attribute to add extended info", "type": "string" - }, - "dataMoveLevel": { - "description": "DataMove Level", + } + } + }, + "BMSBackupEnginesQueryObject": { + "description": "Query parameters to fetch list of backup engines.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup engine.", "enum": [ "Invalid", - "Vault", - "Container" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "DataMoveLevel", + "name": "BackupManagementType", "modelAsString": true } - }, - "correlationId": { - "description": "Correlation Id", - "type": "string" - }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds", - "type": "array", - "items": { - "type": "string" - } - }, - "pauseGC": { - "description": "Pause GC", - "type": "boolean" - } - } - }, - "OperationResultInfoBaseResource": { - "description": "Base class for operation result info.", - "allOf": [ - { - "$ref": "#/definitions/OperationWorkerResponse" - } - ], - "properties": { - "operation": { - "$ref": "#/definitions/OperationResultInfoBase", - "description": "OperationResultInfoBaseResource operation" + }, + "friendlyName": { + "description": "Friendly name of the backup engine.", + "type": "string" + }, + "expand": { + "description": "Attribute to add extended info.", + "type": "string" } } }, - "OperationWorkerResponse": { - "description": "This is the base class for operation result responses.", + "BMSContainerQueryObject": { + "description": "The query filters that can be used with the list containers API.", + "required": [ + "backupManagementType" + ], "type": "object", "properties": { - "statusCode": { - "description": "HTTP Status Code of the operation.", + "backupManagementType": { + "description": "Backup management type for this container.", "enum": [ - "Continue", - "SwitchingProtocols", - "OK", - "Created", - "Accepted", - "NonAuthoritativeInformation", - "NoContent", - "ResetContent", - "PartialContent", - "MultipleChoices", - "Ambiguous", - "MovedPermanently", - "Moved", - "Found", - "Redirect", - "SeeOther", - "RedirectMethod", - "NotModified", - "UseProxy", - "Unused", - "TemporaryRedirect", - "RedirectKeepVerb", - "BadRequest", - "Unauthorized", - "PaymentRequired", - "Forbidden", - "NotFound", - "MethodNotAllowed", - "NotAcceptable", - "ProxyAuthenticationRequired", - "RequestTimeout", - "Conflict", - "Gone", - "LengthRequired", - "PreconditionFailed", - "RequestEntityTooLarge", - "RequestUriTooLong", - "UnsupportedMediaType", - "RequestedRangeNotSatisfiable", - "ExpectationFailed", - "UpgradeRequired", - "InternalServerError", - "NotImplemented", - "BadGateway", - "ServiceUnavailable", - "GatewayTimeout", - "HttpVersionNotSupported" + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "HttpStatusCode", - "modelAsString": false + "name": "BackupManagementType", + "modelAsString": true } }, - "headers": { - "description": "HTTP headers associated with this operation.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } + "containerType": { + "description": "Type of container for filter", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": true } - } - } - }, - "PointInTimeRange": { - "description": "Provides details for log ranges", - "type": "object", - "properties": { - "startTime": { - "format": "date-time", - "description": "Start time of the time range for log recovery.", + }, + "backupEngineName": { + "description": "Backup engine name", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "End time of the time range for log recovery.", + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, + "status": { + "description": "Status of registration of this container with the Recovery Services Vault.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of this container.", "type": "string" } } }, - "ProtectedItem": { - "description": "Base class for backup items.", - "required": [ - "protectedItemType" - ], + "BMSContainersInquiryQueryObject": { + "description": "The query filters that can be used with the inquire container API.", "type": "object", "properties": { - "protectedItemType": { - "description": "backup item type.", - "type": "string" - }, "backupManagementType": { - "description": "Type of backup management for the backed up item.", + "description": "Backup management type for this container.", "enum": [ "Invalid", "AzureIaasVM", @@ -4612,7 +7892,7 @@ } }, "workloadType": { - "description": "Type of workload this item represents.", + "description": "Workload type for this container.", "enum": [ "Invalid", "VM", @@ -4632,97 +7912,114 @@ ], "type": "string", "x-ms-enum": { - "name": "DataSourceType", + "name": "WorkloadType", + "modelAsString": true + } + } + } + }, + "BMSPOQueryObject": { + "description": "Filters to list items that can be backed up.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureSql", + "AzureBackupServer", + "AzureWorkload", + "AzureStorage", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", "modelAsString": true } }, - "containerName": { - "description": "Unique name of container", - "type": "string" - }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", - "type": "string" - }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", - "type": "string" - }, - "lastRecoveryPoint": { - "format": "date-time", - "description": "Timestamp when the last (latest) backup copy was created for this backup item.", - "type": "string" - }, - "backupSetName": { - "description": "Name of the backup set the backup item belongs to", - "type": "string" - }, - "createMode": { - "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", + "workloadType": { + "description": "Workload type", "enum": [ "Invalid", - "Default", - "Recover" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "CreateMode", + "name": "WorkloadType", "modelAsString": true } }, - "deferredDeleteTimeInUTC": { - "format": "date-time", - "description": "Time for deferred deletion in UTC", + "containerName": { + "description": "Full name of the container whose Protectable Objects should be returned.", "type": "string" }, - "isScheduledForDeferredDelete": { - "description": "Flag to identify whether the DS is scheduled for deferred delete", - "type": "boolean" - }, - "deferredDeleteTimeRemaining": { - "description": "Time remaining before the DS marked for deferred delete is permanently deleted", + "status": { + "description": "Backup status query parameter.", "type": "string" }, - "isDeferredDeleteScheduleUpcoming": { - "description": "Flag to identify whether the deferred deleted DS is to be purged soon", - "type": "boolean" - }, - "isRehydrate": { - "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", - "type": "boolean" + "friendlyName": { + "description": "Friendly name.", + "type": "string" } - }, - "discriminator": "protectedItemType" + } }, - "ProtectedItemQueryObject": { - "description": "Filters to list backup items.", + "BMSRefreshContainersQueryObject": { + "description": "The query filters that can be used with the refresh container API.", "type": "object", "properties": { - "healthState": { - "description": "Health State for the backed up item.", + "backupManagementType": { + "description": "Backup management type for this container.", "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "HealthState", + "name": "BackupManagementType", "modelAsString": true } - }, + } + } + }, + "BMSWorkloadItemQueryObject": { + "description": "Filters to list items that can be backed up.", + "type": "object", + "properties": { "backupManagementType": { - "description": "Backup management type for the backed up item.", + "description": "Backup management type.", "enum": [ "Invalid", "AzureIaasVM", "MAB", "DPM", - "AzureBackupServer", "AzureSql", - "AzureStorage", + "AzureBackupServer", "AzureWorkload", + "AzureStorage", "DefaultBackup" ], "type": "string", @@ -4731,8 +8028,25 @@ "modelAsString": true } }, - "itemType": { - "description": "Type of workload this item represents.", + "workloadItemType": { + "description": "Workload Item type", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type", "enum": [ "Invalid", "VM", @@ -4752,219 +8066,304 @@ ], "type": "string", "x-ms-enum": { - "name": "DataSourceType", + "name": "WorkloadType", "modelAsString": true } }, - "policyName": { - "description": "Backup policy name associated with the backup item.", + "protectionStatus": { + "description": "Backup status query parameter.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + } + }, + "ClientScriptForConnect": { + "description": "Client script details for file / folder restore.", + "type": "object", + "properties": { + "scriptContent": { + "description": "File content of the client script for file / folder restore.", "type": "string" }, - "containerName": { - "description": "Name of the container.", + "scriptExtension": { + "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", "type": "string" }, - "backupEngineName": { - "description": "Backup Engine name", + "osType": { + "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", "type": "string" }, - "friendlyName": { - "description": "Friendly name of protected item", + "url": { + "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", "type": "string" }, - "fabricName": { - "description": "Name of the fabric.", + "scriptNameSuffix": { + "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", + "type": "string" + } + } + }, + "ContainerIdentityInfo": { + "description": "Container identity information", + "type": "object", + "properties": { + "uniqueName": { + "description": "Unique name of the container", "type": "string" }, - "backupSetName": { - "description": "Name of the backup set.", + "aadTenantId": { + "description": "Protection container identity - AAD Tenant", + "type": "string" + }, + "servicePrincipalClientId": { + "description": "Protection container identity - AAD Service Principal", + "type": "string" + }, + "audience": { + "description": "Protection container identity - Audience", "type": "string" } } }, - "ProtectedItemResource": { - "description": "Base class for backup items.", + "DistributedNodesInfo": { + "description": "This is used to represent the various nodes of the distributed container.", + "type": "object", + "properties": { + "nodeName": { + "description": "Name of the node under a distributed container.", + "type": "string" + }, + "status": { + "description": "Status of this Node.\r\nFailed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + } + } + }, + "DpmBackupEngine": { + "description": "Data Protection Manager (DPM) specific backup engine.", + "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/BackupEngineBase" } ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectedItem", - "description": "ProtectedItemResource properties" - } - } + "x-ms-discriminator-value": "DpmBackupEngine" }, - "ProtectedItemResourceList": { - "description": "List of ProtectedItem resources", + "DpmContainer": { + "description": "DPM workload-specific protection container.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ResourceList" + "$ref": "#/definitions/ProtectionContainer" } ], "properties": { - "value": { - "description": "List of resources.", + "canReRegister": { + "description": "Specifies whether the container is re-registrable.", + "type": "boolean" + }, + "containerId": { + "description": "ID of container.", + "type": "string" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of protected items in the BackupEngine", + "type": "integer" + }, + "dpmAgentVersion": { + "description": "Backup engine Agent version", + "type": "string" + }, + "dpmServers": { + "description": "List of BackupEngines protecting the container", "type": "array", "items": { - "$ref": "#/definitions/ProtectedItemResource" + "type": "string" } + }, + "upgradeAvailable": { + "description": "To check if upgrade available", + "type": "boolean" + }, + "protectionStatus": { + "description": "Protection status of the container.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/DPMContainerExtendedInfo", + "description": "Extended Info of the container." + } + }, + "x-ms-discriminator-value": "DPMContainer" + }, + "DPMContainerExtendedInfo": { + "description": "Additional information of the DPMContainer.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time of the DPMContainer.", + "type": "string" } } }, - "ProtectionPolicy": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "required": [ - "backupManagementType" - ], + "GenericContainer": { + "description": "Base class for generic container of backup items", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], "properties": { - "protectedItemsCount": { - "format": "int32", - "description": "Number of items associated with this policy.", - "type": "integer" - }, - "backupManagementType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "fabricName": { + "description": "Name of the container's fabric", "type": "string" + }, + "extendedInformation": { + "$ref": "#/definitions/GenericContainerExtendedInfo", + "description": "Extended information (not returned in List container API calls)" } }, - "discriminator": "backupManagementType" + "x-ms-discriminator-value": "GenericContainer" }, - "ProtectionPolicyQueryObject": { - "description": "Filters the list backup policies API.", + "GenericContainerExtendedInfo": { + "description": "Container extended information", "type": "object", "properties": { - "backupManagementType": { - "description": "Backup management type for the backup policy.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "fabricName": { - "description": "Fabric name for filter", + "rawCertData": { + "description": "Public key of container cert", "type": "string" }, - "workloadType": { - "description": "Workload type for the backup policy.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true + "containerIdentityInfo": { + "$ref": "#/definitions/ContainerIdentityInfo", + "description": "Container identity information" + }, + "serviceEndpoints": { + "description": "Azure Backup Service Endpoints for the container", + "type": "object", + "additionalProperties": { + "type": "string" } } } }, - "ProtectionPolicyResource": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "IaasVMBackupRequest": { + "description": "IaaS VM workload-specific backup request.", + "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/BackupRequest" } ], "properties": { - "properties": { - "$ref": "#/definitions/ProtectionPolicy", - "description": "ProtectionPolicyResource properties" + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" } - } + }, + "x-ms-discriminator-value": "IaasVMBackupRequest" }, - "ProtectionPolicyResourceList": { - "description": "List of ProtectionPolicy resources", + "IaaSVMContainer": { + "description": "IaaS VM workload-specific container.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ResourceList" + "$ref": "#/definitions/ProtectionContainer" } ], "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionPolicyResource" - } + "virtualMachineId": { + "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.", + "type": "string" + }, + "virtualMachineVersion": { + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "IaaSVMContainer" }, - "RecoveryPoint": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", - "required": [ - "objectType" - ], + "IaasVMILRRegistrationRequest": { + "description": "Restore files/folders from a backup copy of IaaS VM.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "recoveryPointId": { + "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.", "type": "string" + }, + "initiatorName": { + "description": "iSCSI initiator name.", + "type": "string" + }, + "renewExistingRegistration": { + "description": "Whether to renew existing registration with the iSCSI server.", + "type": "boolean" } }, - "discriminator": "objectType" + "x-ms-discriminator-value": "IaasVMILRRegistrationRequest" }, - "RecoveryPointDiskConfiguration": { - "description": "Disk configuration", + "IaaSVMProtectableItem": { + "description": "IaaS VM workload-specific backup item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], "properties": { - "numberOfDisksIncludedInBackup": { - "format": "int32", - "description": "Number of disks included in backup", - "type": "integer" - }, - "numberOfDisksAttachedToVm": { - "format": "int32", - "description": "Number of disks attached to the VM", - "type": "integer" - }, - "includedDiskList": { - "description": "Information of disks included in backup", - "type": "array", - "items": { - "$ref": "#/definitions/DiskInformation" - } - }, - "excludedDiskList": { - "description": "Information of disks excluded from backup", - "type": "array", - "items": { - "$ref": "#/definitions/DiskInformation" - } + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "IaaSVMProtectableItem" }, - "RecoveryPointResource": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "ILRRequest": { + "description": "Parameters to Provision ILR API.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "ILRRequestResource": { + "description": "Parameters to Provision ILR API.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -4972,640 +8371,724 @@ ], "properties": { "properties": { - "$ref": "#/definitions/RecoveryPoint", - "description": "RecoveryPointResource properties" + "$ref": "#/definitions/ILRRequest", + "description": "ILRRequestResource properties" } } }, - "RecoveryPointResourceList": { - "description": "List of RecoveryPoint resources", + "InquiryInfo": { + "description": "Details about inquired protectable items under a given container.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], "properties": { - "value": { - "description": "List of resources.", + "status": { + "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + }, + "inquiryDetails": { + "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPointResource" + "$ref": "#/definitions/WorkloadInquiryDetails" } } } }, - "RecoveryPointTierInformation": { - "description": "Recovery point tier information.", + "InquiryValidation": { + "description": "Validation for inquired protectable items under a given container.", "type": "object", "properties": { - "type": { - "description": "Recovery point tier type.", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false - } - }, "status": { - "description": "Recovery point tier status.", - "enum": [ - "Invalid", - "Valid", - "Disabled", - "Deleted" - ], + "description": "Status for the Inquiry Validation.", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Detail in case the status is non-success." + }, + "additionalDetail": { + "description": "Error Additional Detail in case the status is non-success.", "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierStatus", - "modelAsString": false + "readOnly": true + } + } + }, + "InstantItemRecoveryTarget": { + "description": "Target details for file / folder restore.", + "type": "object", + "properties": { + "clientScripts": { + "description": "List of client scripts.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientScriptForConnect" } } } }, - "Resource": { - "description": "ARM Resource.", + "MabContainer": { + "description": "Container with items backed up using MAB backup engine.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], "properties": { - "id": { - "description": "Resource Id represents the complete path to the resource.", - "type": "string", - "readOnly": true + "canReRegister": { + "description": "Can the container be registered one more time.", + "type": "boolean" }, - "name": { - "description": "Resource name associated with the resource.", - "type": "string", - "readOnly": true + "containerId": { + "format": "int64", + "description": "ContainerID represents the container.", + "type": "integer" }, - "type": { - "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", - "type": "string", - "readOnly": true + "protectedItemCount": { + "format": "int64", + "description": "Number of items backed up in this container.", + "type": "integer" }, - "location": { - "description": "Resource location.", + "agentVersion": { + "description": "Agent version of this container.", "type": "string" }, - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" + "extendedInfo": { + "$ref": "#/definitions/MabContainerExtendedInfo", + "description": "Additional information for this container" + }, + "mabContainerHealthDetails": { + "description": "Health details on this mab container.", + "type": "array", + "items": { + "$ref": "#/definitions/MABContainerHealthDetails" } }, - "eTag": { - "description": "Optional ETag.", + "containerHealthState": { + "description": "Health state of mab container.", "type": "string" } }, - "x-ms-azure-resource": true - }, - "ResourceList": { - "description": "Base for all lists of resources.", - "type": "object", - "properties": { - "nextLink": { - "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", - "type": "string" - } - } + "x-ms-discriminator-value": "Windows" }, - "RestoreFileSpecs": { - "description": "Restore file specs like file path, type and target folder path info.", + "MabContainerExtendedInfo": { + "description": "Additional information of the container.", "type": "object", "properties": { - "path": { - "description": "Source File/Folder path", + "lastRefreshedAt": { + "format": "date-time", + "description": "Time stamp when this container was refreshed.", "type": "string" }, - "fileSpecType": { - "description": "Indicates what the Path variable stands for", + "backupItemType": { + "description": "Type of backup items associated with this container.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupItemType", + "modelAsString": true + } + }, + "backupItems": { + "description": "List of backup items associated with this container.", + "type": "array", + "items": { + "type": "string" + } + }, + "policyName": { + "description": "Backup policy associated with this container.", "type": "string" }, - "targetFolderPath": { - "description": "Destination folder path in target FileShare", + "lastBackupStatus": { + "description": "Latest backup status of this container.", "type": "string" } } }, - "RestoreRequest": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", - "required": [ - "objectType" - ], + "MABContainerHealthDetails": { + "description": "MAB workload-specific Health Details.", "type": "object", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer" + }, + "title": { + "description": "Health Title", "type": "string" - } - }, - "discriminator": "objectType" - }, - "RestoreRequestResource": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RestoreRequest", - "description": "RestoreRequestResource properties" + }, + "message": { + "description": "Health Message", + "type": "string" + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + } } } }, - "RetentionDuration": { - "description": "Retention duration.", + "OperationStatus": { + "description": "Operation status.", "type": "object", "properties": { - "count": { - "format": "int32", - "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", - "type": "integer" + "id": { + "description": "ID of the operation.", + "type": "string" }, - "durationType": { - "description": "Retention duration type of retention policy.", + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", "enum": [ "Invalid", - "Days", - "Weeks", - "Months", - "Years" + "InProgress", + "Succeeded", + "Failed", + "Canceled" ], "type": "string", "x-ms-enum": { - "name": "RetentionDurationType", + "name": "OperationStatusValues", "modelAsString": true } + }, + "startTime": { + "format": "date-time", + "description": "Operation start time. Format: ISO-8601.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Operation end time. Format: ISO-8601.", + "type": "string" + }, + "error": { + "$ref": "#/definitions/OperationStatusError", + "description": "Error information related to this operation." + }, + "properties": { + "$ref": "#/definitions/OperationStatusExtendedInfo", + "description": "Additional information associated with this operation." } } }, - "RetentionPolicy": { - "description": "Base class for retention policy.", - "required": [ - "retentionPolicyType" - ], + "OperationStatusError": { + "description": "Error information associated with operation status call.", "type": "object", "properties": { - "retentionPolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "code": { + "description": "Error code of the operation failure.", "type": "string" - } - }, - "discriminator": "retentionPolicyType" - }, - "SchedulePolicy": { - "description": "Base class for backup schedule.", - "required": [ - "schedulePolicyType" - ], - "type": "object", - "properties": { - "schedulePolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + }, + "message": { + "description": "Error message displayed if the operation failure.", "type": "string" } - }, - "discriminator": "schedulePolicyType" + } }, - "Settings": { - "description": "Common settings field for backup management", + "OperationStatusExtendedInfo": { + "description": "Base class for additional information of operation status.", + "required": [ + "objectType" + ], "type": "object", "properties": { - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" - }, - "issqlcompression": { - "description": "SQL compression flag", - "type": "boolean" - }, - "isCompression": { - "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", - "type": "boolean" } - } + }, + "discriminator": "objectType" }, - "SimpleRetentionPolicy": { - "description": "Simple policy retention.", + "OperationStatusJobExtendedInfo": { + "description": "Operation status job extended info.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RetentionPolicy" + "$ref": "#/definitions/OperationStatusExtendedInfo" } ], "properties": { - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of the protection policy." + "jobId": { + "description": "ID of the job created for this protected item.", + "type": "string" } }, - "x-ms-discriminator-value": "SimpleRetentionPolicy" + "x-ms-discriminator-value": "OperationStatusJobExtendedInfo" }, - "SimpleSchedulePolicy": { - "description": "Simple policy schedule.", + "OperationStatusJobsExtendedInfo": { + "description": "Operation status extended info for list of jobs.", "type": "object", "allOf": [ { - "$ref": "#/definitions/SchedulePolicy" + "$ref": "#/definitions/OperationStatusExtendedInfo" } ], "properties": { - "scheduleRunFrequency": { - "description": "Frequency of the schedule operation of this policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "ScheduleRunType", - "modelAsString": true - } - }, - "scheduleRunDays": { - "description": "List of days of week this schedule has to be run.", + "jobIds": { + "description": "IDs of the jobs created for the protected item.", "type": "array", "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } + "type": "string" } }, - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", - "type": "array", - "items": { - "format": "date-time", + "failedJobsError": { + "description": "Stores all the failed jobs along with the corresponding error codes.", + "type": "object", + "additionalProperties": { "type": "string" } - }, - "scheduleWeeklyFrequency": { - "format": "int32", - "description": "At every number weeks this schedule has to be run.", - "type": "integer" } }, - "x-ms-discriminator-value": "SimpleSchedulePolicy" + "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo" }, - "SubProtectionPolicy": { - "description": "Sub-protection policy which includes schedule and retention", + "OperationStatusProvisionILRExtendedInfo": { + "description": "Operation status extended info for ILR provision action.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], "properties": { - "policyType": { - "description": "Type of backup policy type", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental" - ], - "type": "string", - "x-ms-enum": { - "name": "PolicyType", - "modelAsString": true - } - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." + "recoveryTarget": { + "$ref": "#/definitions/InstantItemRecoveryTarget", + "description": "Target details for file / folder restore." } - } + }, + "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" }, - "SQLDataDirectory": { - "description": "SQLDataDirectory info", + "PreBackupValidation": { + "description": "Pre-backup validation for Azure VM Workload provider.", "type": "object", "properties": { - "type": { - "description": "Type of data directory mapping", + "status": { + "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed", "enum": [ "Invalid", - "Data", - "Log" + "Success", + "Failed" ], "type": "string", "x-ms-enum": { - "name": "SQLDataDirectoryType", + "name": "InquiryStatus", "modelAsString": true } }, - "path": { - "description": "File path", + "code": { + "description": "Error code of protectable item", "type": "string" }, - "logicalName": { - "description": "Logical name of the file", + "message": { + "description": "Message corresponding to the error code for the protectable item", "type": "string" } } }, - "SQLDataDirectoryMapping": { - "description": "Encapsulates information regarding data directory", + "ProtectableContainer": { + "description": "Protectable Container Class.", "type": "object", + "required": [ + "protectableContainerType" + ], "properties": { - "mappingType": { - "description": "Type of data directory mapping", + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the container.", "enum": [ "Invalid", - "Data", - "Log" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "SQLDataDirectoryType", + "name": "BackupManagementType", "modelAsString": true } }, - "sourceLogicalName": { - "description": "Restore source logical name path", - "type": "string" + "protectableContainerType": { + "description": "Type of the container. The value of this property for\r\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "readOnly": false, + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": false + } }, - "sourcePath": { - "description": "Restore source path", + "healthStatus": { + "description": "Status of health of the container.", "type": "string" }, - "targetPath": { - "description": "Target path", + "containerId": { + "description": "Fabric Id of the container such as ARM Id.", "type": "string" } + }, + "discriminator": "protectableContainerType" + }, + "ProtectableContainerResource": { + "description": "Protectable Container Class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectableContainer", + "description": "ProtectableContainerResource properties" + } } }, - "TargetAFSRestoreInfo": { - "description": "Target Azure File Share Info.", + "ProtectableContainerResourceList": { + "description": "List of ProtectableContainer resources", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], "properties": { - "name": { - "description": "File share name", - "type": "string" - }, - "targetResourceId": { - "description": "Target file share resource ARM ID", - "type": "string" + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectableContainerResource" + } } } }, - "TargetRestoreInfo": { - "description": "Details about target workload during restore operation.", + "ProtectionContainer": { + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", "type": "object", + "required": [ + "containerType" + ], "properties": { - "overwriteOption": { - "description": "Can Overwrite if Target DataBase already exists", + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the container.", "enum": [ "Invalid", - "FailOnConflict", - "Overwrite" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "OverwriteOptions", + "name": "BackupManagementType", "modelAsString": true } }, - "containerId": { - "description": "Resource Id name of the container in which Target DataBase resides", + "registrationStatus": { + "description": "Status of registration of the container with the Recovery Services Vault.", "type": "string" }, - "databaseName": { - "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", + "healthStatus": { + "description": "Status of health of the container.", "type": "string" }, - "targetDirectoryForFileRestore": { - "description": "Target directory location for restore as files.", - "type": "string" + "containerType": { + "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\nBackup is VMAppContainer", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": true + } } - } + }, + "discriminator": "containerType" }, - "ValidateIaasVMRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", + "ProtectionContainerResource": { + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", "allOf": [ { - "$ref": "#/definitions/ValidateRestoreOperationRequest" + "$ref": "#/definitions/Resource" } ], - "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" - }, - "ValidateOperationRequest": { - "description": "Base class for validate operation request.", - "required": [ - "objectType" - ], - "type": "object", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "properties": { + "$ref": "#/definitions/ProtectionContainer", + "description": "ProtectionContainerResource properties" } - }, - "discriminator": "objectType" + } }, - "ValidateOperationResponse": { - "description": "Base class for validate operation response.", + "ProtectionContainerResourceList": { + "description": "List of ProtectionContainer resources", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], "properties": { - "validationResults": { - "description": "Gets the validation result", + "value": { + "description": "List of resources.", "type": "array", "items": { - "$ref": "#/definitions/ErrorDetail" + "$ref": "#/definitions/ProtectionContainerResource" } } } }, - "ValidateOperationsResponse": { + "TokenInformation": { + "description": "The token information details.", "type": "object", "properties": { - "validateOperationResponse": { - "$ref": "#/definitions/ValidateOperationResponse" + "token": { + "description": "Token value.", + "type": "string" + }, + "expiryTimeInUtcTicks": { + "format": "int64", + "description": "Expiry time of token.", + "type": "integer" + }, + "securityPIN": { + "description": "Security PIN", + "type": "string" } } }, - "ValidateRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", + "WorkloadInquiryDetails": { + "description": "Details of an inquired protectable item.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ValidateOperationRequest" - } - ], "properties": { - "restoreRequest": { - "$ref": "#/definitions/RestoreRequest", - "description": "Sets restore request to be validated" + "type": { + "description": "Type of the Workload such as SQL, Oracle etc.", + "type": "string" + }, + "itemCount": { + "format": "int64", + "description": "Contains the protectable item Count inside this Container.", + "type": "integer" + }, + "inquiryValidation": { + "$ref": "#/definitions/InquiryValidation", + "description": "Inquiry validation such as permissions and other backup validations." } - }, - "x-ms-discriminator-value": "ValidateRestoreOperationRequest" + } }, - "WeeklyRetentionFormat": { - "description": "Weekly retention format.", + "WorkloadItem": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "type": "object", + "required": [ + "workloadItemType" + ], "properties": { - "daysOfTheWeek": { - "description": "List of days of the week.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } + "backupManagementType": { + "description": "Type of backup management to backup an item.", + "type": "string" }, - "weeksOfTheMonth": { - "description": "List of weeks of month.", - "type": "array", - "items": { - "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "WeekOfMonth", - "modelAsString": false - } + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "workloadItemType": { + "description": "Type of the backup item.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the backup item.", + "type": "string" + }, + "protectionState": { + "description": "State of the back up item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true } } + }, + "discriminator": "workloadItemType" + }, + "WorkloadItemResource": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadItem", + "description": "WorkloadItemResource properties" + } } }, - "WeeklyRetentionSchedule": { - "description": "Weekly retention schedule.", + "WorkloadItemResourceList": { + "description": "List of WorkloadItem resources", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], "properties": { - "daysOfTheWeek": { - "description": "List of days of week for weekly retention policy.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "retentionTimes": { - "description": "Retention times of retention policy.", + "value": { + "description": "List of resources.", "type": "array", "items": { - "format": "date-time", - "type": "string" + "$ref": "#/definitions/WorkloadItemResource" } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." } } }, - "YearlyRetentionSchedule": { - "description": "Yearly retention schedule.", + "WorkloadProtectableItem": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "type": "object", + "required": [ + "protectableItemType" + ], "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format for yearly retention policy.", + "backupManagementType": { + "description": "Type of backup management to backup an item.", + "type": "string" + }, + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "protectableItemType": { + "description": "Type of the backup item.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the backup item.", + "type": "string" + }, + "protectionState": { + "description": "State of the back up item.", "enum": [ "Invalid", - "Daily", - "Weekly" + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" ], "type": "string", "x-ms-enum": { - "name": "RetentionScheduleFormat", + "name": "ProtectionStatus", "modelAsString": true } - }, - "monthsOfYear": { - "description": "List of months of year of yearly retention policy.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ], - "type": "string", - "x-ms-enum": { - "name": "MonthOfYear", - "modelAsString": false - } - } - }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for yearly retention policy." - }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for yearly retention policy." - }, - "retentionTimes": { - "description": "Retention times of retention policy.", + } + }, + "discriminator": "protectableItemType" + }, + "WorkloadProtectableItemResource": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadProtectableItem", + "description": "WorkloadProtectableItemResource properties" + } + } + }, + "WorkloadProtectableItemResourceList": { + "description": "List of WorkloadProtectableItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", "type": "array", "items": { - "format": "date-time", - "type": "string" + "$ref": "#/definitions/WorkloadProtectableItemResource" } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." } } } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectableItems_List.json new file mode 100644 index 000000000000..f957d314a41c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectableItems_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2016-06-01", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionState": "NotProtected", + "protectableItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json new file mode 100644 index 000000000000..a8bb0fc1f636 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "Succeeded", + "startTime": "2017-10-29T06:04:18.207325Z", + "endTime": "2017-10-29T06:04:18.207325Z", + "properties": { + "objectType": "OperationStatusJobExtendedInfo", + "jobId": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json new file mode 100644 index 000000000000..809778be7611 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2016-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json new file mode 100644 index 000000000000..5dc4ee72c7f2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-06-01" + }, + "responses": { + "200": { + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "GetProtectionPolicyOperationStatus", + "status": "Succeeded", + "startTime": "2018-01-24T12:57:32.1142968Z", + "endTime": "2018-01-24T12:57:32.1142968Z", + "properties": { + "objectType": "OperationStatusJobsExtendedInfo", + "jobIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "failedJobsError": {} + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Provision_Ilr.json new file mode 100644 index 000000000000..f184b739339f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Provision_Ilr.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "initiatorName": "Hello World", + "recoveryPointId": "38823086363464", + "renewExistingRegistration": true, + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1", + "objectType": "IaasVMILRRegistrationRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Revoke_Ilr.json new file mode 100644 index 000000000000..361695d6835d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Revoke_Ilr.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectableContainers_List.json new file mode 100644 index 000000000000..e03c72c7ee72 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectableContainers_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testvault", + "fabricName": "Azure", + "api-version": "2017-07-01", + "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage", + "name": "StorageContainer;storage;test-rg;testst", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage", + "name": "StorageContainer;ClassicStorage;test-rg;teststorage", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire.json new file mode 100644 index 000000000000..1c0898755cd2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage", + "api-version": "2017-07-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json new file mode 100644 index 000000000000..074c4bf1a5f1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2017-07-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "extendedInfo": { + "hostServerName": "testsql", + "nodesList": [], + "inquiryInfo": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + } + }, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "friendlyName": "testSQL" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_List.json new file mode 100644 index 000000000000..adb110557936 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2016-12-01", + "fabricName": "Azure", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", + "name": "StorageContainer;Storage;testrg;suchandrtestsa125", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125", + "protectedItemCount": 2, + "friendlyName": "suchandrtestsa125", + "backupManagementType": "AzureStorage", + "registrationStatus": "Registered", + "healthStatus": "Healthy", + "containerType": "StorageContainer" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Register.json new file mode 100644 index 000000000000..f56939720aff --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Register.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "api-version": "2017-07-01", + "parameters": { + "properties": { + "friendlyName": "testSQL", + "backupManagementType": "AzureWorkload", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "containerType": "VMAppContainer" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "extendedInfo": { + "hostServerName": "testsql", + "nodesList": [], + "inquiryInfo": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + } + }, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "friendlyName": "testSQL" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupWorkloadItems_List.json new file mode 100644 index 000000000000..66f28ba90ac9 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupWorkloadItems_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "suchandr-seacan-rsv", + "api-version": "2016-12-01", + "$filter": "backupManagementType eq 'AzureWorkload'", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER", + "name": "SQLInstance;MSSQLSERVER", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items", + "properties": { + "dataDirectoryPaths": [ + { + "type": "Data", + "path": "F:\\DATA\\" + }, + { + "type": "Log", + "path": "F:\\LOG\\" + } + ], + "parentName": "MSSQLSERVER", + "serverName": "sqlserver-1.contoso.com", + "isAutoProtectable": true, + "subinquireditemcount": 0, + "subWorkloadItemCount": 3, + "backupManagementType": "AzureWorkload", + "workloadType": "SQL", + "workloadItemType": "SQLInstance", + "friendlyName": "MSSQLSERVER", + "protectionState": "NotProtected" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Get.json new file mode 100644 index 000000000000..4c0b7aefd524 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Get.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "api-version": "2016-12-01", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "extendedInfo": { + "hostServerName": "testsql", + "nodesList": [], + "inquiryInfo": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + } + }, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "friendlyName": "testSQL" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Unregister.json new file mode 100644 index 000000000000..e32f407ea56e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Unregister.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2016-12-01", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Get.json deleted file mode 100644 index 3afb23d5160a..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Get.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "SwaggerTest", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", - "name": "vaultconfig", - "type": "Microsoft.RecoveryServices/vaults/backupconfig", - "properties": { - "enhancedSecurityState": "Enabled", - "softDeleteFeatureState": "Enabled" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Patch.json deleted file mode 100644 index 385b7324d179..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Patch.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "SwaggerTest", - "api-version": "2019-06-15", - "parameters": { - "properties": { - "enhancedSecurityState": "Enabled", - "softDeleteFeatureState": "Enabled" - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", - "name": "vaultconfig", - "type": "Microsoft.RecoveryServices/vaults/backupconfig", - "properties": { - "enhancedSecurityState": "Enabled", - "softDeleteFeatureState": "Enabled" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Put.json deleted file mode 100644 index 385b7324d179..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupResourceVaultConfigs_Put.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "SwaggerTest", - "api-version": "2019-06-15", - "parameters": { - "properties": { - "enhancedSecurityState": "Enabled", - "softDeleteFeatureState": "Enabled" - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", - "name": "vaultconfig", - "type": "Microsoft.RecoveryServices/vaults/backupconfig", - "properties": { - "enhancedSecurityState": "Enabled", - "softDeleteFeatureState": "Enabled" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json new file mode 100644 index 000000000000..f0a6200ec052 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": { + "token": "200432", + "expiryTimeInUtcTicks": 636495150137443121, + "securityPIN": "200432" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json new file mode 100644 index 000000000000..a22ef9d6df43 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "GeoRedundant", + "storageType": "GeoRedundant", + "storageTypeState": "Locked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json new file mode 100644 index 000000000000..34f7e0fea52d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json new file mode 100644 index 000000000000..67f6df781093 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "LocallyRedundant", + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json new file mode 100644 index 000000000000..abbe8bfacdc7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json new file mode 100644 index 000000000000..4c4d58e3bba0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "InProgress", + "startTime": "2017-08-03T06:52:53.886027Z", + "endTime": "0001-01-01T00:00:00.00000Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json new file mode 100644 index 000000000000..351b670503d0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json new file mode 100644 index 000000000000..21bbcb775742 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json new file mode 100644 index 000000000000..95043e6b4da5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "linuxRsVaultRG", + "vaultName": "linuxRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", + "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "objectType": "IaasVMBackupRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_Get.json new file mode 100644 index 000000000000..fad29f7158b0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "backupEngineName": "testServer", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer", + "name": "testServer", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_List.json new file mode 100644 index 000000000000..a75e9709e14b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1", + "name": "testServer1", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer1", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5", + "name": "testServer5", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9530.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer5", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..afce2b84d2c8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2020-02-02" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..45dee7c44bcc --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2020-02-02" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json new file mode 100644 index 000000000000..f91c1f9849d3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "vaultName": "gaallavaultbvtd2msi", + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2020-02-02" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..2e8c586ecd08 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2020-02-02", + "parameters": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + }, + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 5c8d7d4e8caf..3d08a1b85bb2 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -53,9 +53,7 @@ These settings apply only when `--tag=package-2020-07` is specified on the comma input-file: - Microsoft.RecoveryServices/stable/2020-07-01/bms.json - Microsoft.RecoveryServices/stable/2018-12-20/bms.json -- Microsoft.RecoveryServices/stable/2020-02-02/bms.json - Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-12-01/bms.json - Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` From ee0bb7a054156cc626932f482b31c43f569cda0b Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Fri, 16 Oct 2020 12:49:02 +0530 Subject: [PATCH 08/17] Update --- .../stable/2018-12-20/bms.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index 50642eb7b3a5..d987ee59154f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -18,7 +18,7 @@ "application/json" ], "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupAadProperties/default": { + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupAadProperties/default": { "get": { "tags": [ "AadProperties" @@ -60,7 +60,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore": { + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore": { "post": { "tags": [ "CrossRegionRestore" @@ -115,7 +115,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob": { + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob": { "post": { "tags": [ "CrrJobDetails" @@ -166,7 +166,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJobs": { + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJobs": { "post": { "tags": [ "BackupCrrJobs" @@ -235,7 +235,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationResults/{operationId}": { + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationResults/{operationId}": { "get": { "tags": [ "CrrOperationResults" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationsStatus/{operationId}": { + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationsStatus/{operationId}": { "get": { "tags": [ "CrrOperationStatus" @@ -333,7 +333,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken": { "post": { "tags": [ "RecoveryPoints_GetAccessToken" @@ -561,7 +561,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/": { "get": { "tags": [ "RecoveryPoints_Crr" @@ -638,7 +638,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems/": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems/": { "get": { "tags": [ "BackupProtectedItems_Crr" From 1bdac967a1ae21df4ab7d2937c365339a98afe15 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Sun, 18 Oct 2020 21:31:23 +0530 Subject: [PATCH 09/17] Update --- .../stable/2018-12-20/bms.json | 14 ++++----- .../Common/BackupStorageConfig_Get.json | 23 --------------- .../Common/BackupStorageConfig_Patch.json | 17 ----------- .../Common/BackupStorageConfig_Put.json | 29 ------------------- 4 files changed, 7 insertions(+), 76 deletions(-) delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index d987ee59154f..dac32e375196 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -18,7 +18,7 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupAadProperties/default": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupAadProperties/default": { "get": { "tags": [ "AadProperties" @@ -60,7 +60,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore": { "post": { "tags": [ "CrossRegionRestore" @@ -115,7 +115,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob": { "post": { "tags": [ "CrrJobDetails" @@ -166,7 +166,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJobs": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJobs": { "post": { "tags": [ "BackupCrrJobs" @@ -235,7 +235,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationResults/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationResults/{operationId}": { "get": { "tags": [ "CrrOperationResults" @@ -286,7 +286,7 @@ } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationsStatus/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationsStatus/{operationId}": { "get": { "tags": [ "CrrOperationStatus" @@ -333,7 +333,7 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken": { "post": { "tags": [ "RecoveryPoints_GetAccessToken" diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json deleted file mode 100644 index a22ef9d6df43..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Get.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2016-12-01" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", - "name": "vaultstorageconfig", - "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", - "properties": { - "storageModelType": "GeoRedundant", - "storageType": "GeoRedundant", - "storageTypeState": "Locked" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json deleted file mode 100644 index 34f7e0fea52d..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Patch.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2016-12-01", - "parameters": { - "properties": { - "storageType": "LocallyRedundant", - "storageTypeState": "Unlocked" - } - } - }, - "responses": { - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json deleted file mode 100644 index 67f6df781093..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupStorageConfig_Put.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2016-12-01", - "parameters": { - "properties": { - "storageType": "LocallyRedundant", - "storageTypeState": "Unlocked" - } - } - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", - "name": "vaultstorageconfig", - "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", - "properties": { - "storageModelType": "LocallyRedundant", - "storageType": "LocallyRedundant", - "storageTypeState": "Unlocked" - } - } - } - } -} From c5c4c47c4594c8af8093d23d123fbb1e6f9b1c2c Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Mon, 19 Oct 2020 23:22:44 +0530 Subject: [PATCH 10/17] Update --- .../Common/BackupStorageConfig_Get.json | 23 +++++++++++++++ .../Common/BackupStorageConfig_Patch.json | 17 +++++++++++ .../Common/BackupStorageConfig_Put.json | 29 +++++++++++++++++++ .../stable/2018-12-20/bms.json | 4 +-- .../stable/2020-07-01/bms.json | 2 +- .../ProtectedItemOperationStatus.json | 2 +- ...ProtectionPolicyOperationStatuses_Get.json | 2 +- 7 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json new file mode 100644 index 000000000000..a22ef9d6df43 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "GeoRedundant", + "storageType": "GeoRedundant", + "storageTypeState": "Locked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json new file mode 100644 index 000000000000..34f7e0fea52d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json new file mode 100644 index 000000000000..67f6df781093 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "LocallyRedundant", + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index dac32e375196..50642eb7b3a5 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -561,7 +561,7 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/": { "get": { "tags": [ "RecoveryPoints_Crr" @@ -638,7 +638,7 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems/": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems/": { "get": { "tags": [ "BackupProtectedItems_Crr" diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json index 76428dd30571..9e0aa1b62f4a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -277,7 +277,7 @@ "200": { "description": "OK", "schema": { - "$ref": "../2020-02-02/bms.json#/definitions/OperationStatus" + "$ref": "#/definitions/OperationStatus" } }, "default": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json index a8bb0fc1f636..4ef26836f0d7 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json @@ -7,7 +7,7 @@ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-12-01" + "api-version": "2020-07-01" }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json index 5dc4ee72c7f2..3cd3573517ad 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -5,7 +5,7 @@ "vaultName": "NetSDKTestRsVault", "policyName": "testPolicy1", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-06-01" + "api-version": "2020-07-01" }, "responses": { "200": { From f7d5ef77d3d3d008a8d0456a5554472238bb6df0 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Tue, 20 Oct 2020 18:24:00 +0530 Subject: [PATCH 11/17] Adding workloadCRRAccessToken --- .../stable/2018-12-20/bms.json | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index 50642eb7b3a5..1500e6ee9aff 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -2247,7 +2247,7 @@ } } }, - "CrrAccessToken": { + "CrrAccessToken": { "type": "object", "properties": { "objectType": { @@ -4095,6 +4095,47 @@ "type": "string" } } + }, + "WorkloadCrrAccessToken": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CrrAccessToken" + } + ], + "properties": { + "protectableObjectUniqueName": { + "type": "string" + }, + "protectableObjectFriendlyName": { + "type": "string" + }, + "protectableObjectWorkloadType": { + "type": "string" + }, + "protectableObjectProtectionState": { + "type": "string" + }, + "protectableObjectContainerHostOsName": { + "type": "string" + }, + "protectableObjectParentLogicalContainerName": { + "type": "string" + }, + "containerId": { + "description": "Container Id", + "type": "string" + }, + "policyName": { + "description": "Policy Name", + "type": "string" + }, + "policyId": { + "description": "Policy Id", + "type": "string" + } + }, + "x-ms-discriminator-value": "WorkloadCrrAccessToken" } }, "parameters": { From aacf69807faca8d94e8012e5d77ca53fdafc00f8 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Tue, 20 Oct 2020 19:22:35 +0530 Subject: [PATCH 12/17] Adding discriminator for CRRAccesToken --- .../Microsoft.RecoveryServices/stable/2018-12-20/bms.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index 1500e6ee9aff..fc33e67641c6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2018-12-20", + "version": "2018-12-20-preview", "title": "RecoveryServicesBackupClient", "x-ms-code-generation-settings": { "internalConstructors": false @@ -2358,7 +2358,8 @@ "description": "Active region name of BMS Stamp", "type": "string" } - } + }, + "discriminator": "objectType" }, "CrrAccessTokenResource": { "allOf": [ From 6358c423959fca6105e3308989ec26eec39ec67d Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Tue, 20 Oct 2020 19:23:33 +0530 Subject: [PATCH 13/17] Update --- .../Microsoft.RecoveryServices/stable/2018-12-20/bms.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index fc33e67641c6..ebe088eef402 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2018-12-20-preview", + "version": "2018-12-20", "title": "RecoveryServicesBackupClient", "x-ms-code-generation-settings": { "internalConstructors": false From 8ef376ceadc4dcdb6d43a6df4526a260140c7382 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Tue, 17 Nov 2020 13:00:14 +0530 Subject: [PATCH 14/17] Reverting change to 2020-07-01 --- .../stable/2020-07-01/bms.json | 9012 +---------------- .../AzureIaasVm/BackupPolicies_List.json | 76 - .../BackupProtectableItems_List.json | 30 - .../BackupProtectedItems_List.json | 39 - .../ClassicCompute_ProtectedItem_Get.json | 38 - .../Compute_ProtectedItem_Get.json | 38 - .../AzureIaasVm/ConfigureProtection.json | 51 - .../ProtectedItemOperationResults.json | 46 - .../ProtectedItemOperationStatus.json | 28 - ...ectionPolicies_CreateOrUpdate_Complex.json | 181 - ...tectionPolicies_CreateOrUpdate_Simple.json | 75 - .../ProtectionPolicies_Delete.json | 13 - .../AzureIaasVm/ProtectionPolicies_Get.json | 43 - .../ProtectionPolicyOperationResults_Get.json | 44 - ...ProtectionPolicyOperationStatuses_Get.json | 28 - .../examples/AzureIaasVm/Provision_Ilr.json | 30 - .../AzureIaasVm/RecoveryPoints_Get.json | 39 - .../AzureIaasVm/RecoveryPoints_List.json | 74 - .../examples/AzureIaasVm/Revoke_Ilr.json | 21 - .../examples/AzureIaasVm/StopProtection.json | 51 - .../AzureIaasVm/TriggerRestore_ALR.json | 40 - .../TriggerRestore_RestoreDisks.json | 36 - .../ValidateOperation_RestoreDisk.json | 46 - .../ProtectableContainers_List.json | 42 - .../ProtectionContainers_Inquire.json | 19 - .../ProtectionContainers_Inquire_Result.json | 65 - .../ProtectionContainers_List.json | 32 - .../ProtectionContainers_Register.json | 71 - .../AzureWorkload/BackupPolicies_List.json | 70 - .../BackupWorkloadItems_List.json | 47 - .../ProtectionContainers_Get.json | 57 - .../ProtectionContainers_Unregister.json | 20 - ...ectionPolicies_CreateOrUpdate_Complex.json | 260 - .../Common/BackupSecurityPin_Get.json | 17 - .../Common/CancelJobOperationResult.json | 20 - .../Common/ExportJobsOperationResult.json | 41 - .../examples/Common/GetJobDetails.json | 46 - .../2020-07-01/examples/Common/ListJobs.json | 49 - .../ListJobsWithAllSupportedFilters.json | 33 - ...istJobsWithStartTimeAndEndTimeFilters.json | 51 - .../examples/Common/ProtectedItem_Delete.json | 21 - .../ProtectedItem_Delete_OperationResult.json | 20 - .../ProtectedItem_Delete_OperationStatus.json | 21 - .../examples/Common/RefreshContainers.json | 17 - .../RefreshContainers_OperationResults.json | 19 - .../examples/Common/TriggerBackup_Post.json | 25 - .../examples/Common/TriggerCancelJob.json | 17 - .../examples/Common/TriggerExportJobs.json | 16 - .../examples/Dpm/BackupEngines_Get.json | 35 - .../examples/Dpm/BackupEngines_List.json | 60 - .../DeletePrivateEndpointConnection.json | 19 - .../GetPrivateEndpointConnection.json | 28 - ...vateEndpointConnectionOperationStatus.json | 21 - .../PutPrivateEndpointConnection.json | 61 - .../resource-manager/readme.md | 3 + 55 files changed, 166 insertions(+), 11236 deletions(-) delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupPolicies_List.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectableItems_List.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ConfigureProtection.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationResults.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Provision_Ilr.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_List.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Revoke_Ilr.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/StopProtection.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_ALR.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectableContainers_List.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_List.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Register.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupPolicies_List.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupWorkloadItems_List.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Unregister.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/CancelJobOperationResult.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ExportJobsOperationResult.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/GetJobDetails.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobs.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithAllSupportedFilters.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerCancelJob.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerExportJobs.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_Get.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_List.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json index 9e0aa1b62f4a..5cf3367e2e17 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -18,231 +18,6 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { - "get": { - "tags": [ - "PrivateEndpointConnection" - ], - "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "privateEndpointConnectionName", - "in": "path", - "description": "The name of the private endpoint connection.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" - } - } - }, - "x-ms-examples": { - "Get PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" - } - } - }, - "put": { - "tags": [ - "PrivateEndpointConnection" - ], - "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Put", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "privateEndpointConnectionName", - "in": "path", - "description": "The name of the private endpoint connection.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "Request body for operation", - "required": true, - "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Update PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" - } - } - }, - "delete": { - "tags": [ - "PrivateEndpointConnection" - ], - "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Delete", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "privateEndpointConnectionName", - "in": "path", - "description": "The name of the private endpoint connection.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Delete PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { - "get": { - "tags": [ - "PrivateEndpoint" - ], - "summary": "Gets the operation status for a private endpoint connection.", - "operationId": "PrivateEndpoint_GetOperationStatus", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "privateEndpointConnectionName", - "in": "path", - "description": "The name of the private endpoint connection.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "Operation id", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" - } - } - }, - "x-ms-examples": { - "Get OperationStatus": { - "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { "get": { "tags": [ @@ -277,7 +52,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "../2020-02-02/bms.json#/definitions/OperationStatus" } }, "default": { @@ -458,8689 +233,228 @@ } } } + } + }, + "definitions": { + "NewErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NewErrorResponse" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { - "get": { - "tags": [ - "ProtectedItems" - ], - "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", - "operationId": "ProtectedItems_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose details are to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - } - }, - "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", - "x-ms-examples": { - "Get Protected Classic Virtual Machine Details": { - "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" - }, - "Get Protected Virtual Machine Details": { - "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json" - } - } - }, - "put": { - "tags": [ - "ProtectedItems" - ], - "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", - "operationId": "ProtectedItems_CreateOrUpdate", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Item name to be backed up.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backed up item", - "required": true, - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Enable Protection on Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" - }, - "Stop Protection with retain data on Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/StopProtection.json" - } - } - }, - "delete": { - "tags": [ - "ProtectedItems" - ], - "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.", - "operationId": "ProtectedItems_Delete", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item to be deleted.", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Delete Protection from Azure Virtual Machine": { - "$ref": "./examples/Common/ProtectedItem_Delete.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { - "get": { - "tags": [ - "ProtectedItemOperationResults" - ], - "description": "Fetches the result of any operation on the backup item.", - "operationId": "ProtectedItemOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backup item name whose details are to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation whose result needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Get Operation Results of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { - "get": { - "tags": [ - "RecoveryPoints" - ], - "description": "Lists the backup copies for the backed up item.", - "operationId": "RecoveryPoints_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item whose backup copies are to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPointResourceList" - } - } - }, - "x-ms-odata": "#/definitions/BMSRPQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Get Protected Azure Vm Recovery Points": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { - "get": { - "tags": [ - "RecoveryPoints" - ], - "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", - "operationId": "RecoveryPoints_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose backup data needs to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "RecoveryPointID represents the backed up data to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPointResource" - } - } - }, - "x-ms-examples": { - "Get Azure Vm Recovery Point Details": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { - "post": { - "tags": [ - "Restores" - ], - "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.", - "operationId": "Restores_Trigger", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item to be restored.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents the backed up data to be restored.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource restore request", - "required": true, - "schema": { - "$ref": "#/definitions/RestoreRequestResource" - } - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Restore to New Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json" - }, - "Restore Disks": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { - "get": { - "tags": [ - "BackupPolicies" - ], - "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", - "operationId": "BackupPolicies_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResourceList" - } - } - }, - "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List protection policies with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" - }, - "List protection policies with backupManagementType filter as AzureWorkload": { - "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { - "get": { - "tags": [ - "ProtectionPolicies" - ], - "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy information to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - }, - "x-ms-examples": { - "Get Azure IaasVm Protection Policy Details": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" - } - } - }, - "put": { - "tags": [ - "ProtectionPolicies" - ], - "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_CreateOrUpdate", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy to be created.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backup policy", - "required": true, - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Create or Update Simple Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" - }, - "Create or Update Full Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" - }, - "Create or Update Full Azure Workload Protection Policy": { - "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" - } - } - }, - "delete": { - "tags": [ - "ProtectionPolicies" - ], - "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Delete", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy to be deleted.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Delete Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { - "get": { - "tags": [ - "ProtectionPolicyOperationResults" - ], - "description": "Provides the result of an operation.", - "operationId": "ProtectionPolicyOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy name whose operation's result needs to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - }, - "x-ms-examples": { - "Get Protection Policy Operation Results": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { - "get": { - "tags": [ - "BackupJobs" - ], - "description": "Provides a pageable list of jobs.", - "operationId": "BackupJobs_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JobResourceList" - } - } - }, - "x-ms-odata": "#/definitions/JobQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List All Jobs": { - "$ref": "./examples/Common/ListJobs.json" - }, - "List Jobs With Filters": { - "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json" - }, - "List Jobs With Time Filter": { - "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { - "get": { - "tags": [ - "JobDetails" - ], - "description": "Gets extended information associated with the job.", - "operationId": "JobDetails_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "jobName", - "in": "path", - "description": "Name of the job whose details are to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JobResource" - } - } - }, - "x-ms-examples": { - "Get Job Details": { - "$ref": "./examples/Common/GetJobDetails.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { - "post": { - "tags": [ - "JobCancellations" - ], - "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.", - "operationId": "JobCancellations_Trigger", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "jobName", - "in": "path", - "description": "Name of the job to cancel.", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Cancel Job": { - "$ref": "./examples/Common/TriggerCancelJob.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { - "get": { - "tags": [ - "JobOperationResults" - ], - "description": "Fetches the result of any operation.", - "operationId": "JobOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "jobName", - "in": "path", - "description": "Job name whose operation result has to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation whose result has to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Cancel Job Operation Result": { - "$ref": "./examples/Common/CancelJobOperationResult.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { - "get": { - "tags": [ - "ExportJobsOperationResults" - ], - "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", - "operationId": "ExportJobsOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the export job.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationResultInfoBaseResource" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/OperationResultInfoBaseResource" - } - } - }, - "x-ms-examples": { - "Export Jobs Operation Results": { - "$ref": "./examples/Common/ExportJobsOperationResult.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { - "post": { - "tags": [ - "Jobs" - ], - "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", - "operationId": "Jobs_Export", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-odata": "#/definitions/JobQueryObject", - "x-ms-examples": { - "Export Jobs": { - "$ref": "./examples/Common/TriggerExportJobs.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { - "get": { - "tags": [ - "BackupProtectedItems" - ], - "description": "Provides a pageable list of all items that are backed up within a vault.", - "operationId": "BackupProtectedItems_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResourceList" - } - } - }, - "x-ms-odata": "#/definitions/ProtectedItemQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List protected items with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { - "post": { - "tags": [ - "Operation" - ], - "description": "Validate operation for specified backed up item. This is a synchronous operation.", - "operationId": "Operation_Validate", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "parameters", - "in": "body", - "description": "resource validate operation request", - "required": true, - "schema": { - "$ref": "#/definitions/ValidateOperationRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ValidateOperationsResponse" - } - } - }, - "x-ms-examples": { - "Validate Operation": { - "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { - "get": { - "tags": [ - "BackupEngines" - ], - "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", - "operationId": "BackupEngines_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupEngineBaseResourceList" - } - } - }, - "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List Dpm/AzureBackupServer/Lajolla Backup Engines": { - "$ref": "./examples/Dpm/BackupEngines_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { - "get": { - "tags": [ - "BackupEngines" - ], - "description": "Returns backup management server registered to Recovery Services Vault.", - "operationId": "BackupEngines_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "backupEngineName", - "in": "path", - "description": "Name of the backup management server.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupEngineBaseResource" - } - } - }, - "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", - "x-ms-examples": { - "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { - "$ref": "./examples/Dpm/BackupEngines_Get.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { - "get": { - "tags": [ - "ProtectionContainerRefreshOperationResults" - ], - "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", - "operationId": "ProtectionContainerRefreshOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "Operation ID associated with the operation whose result needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Azure Vm Discovery Operation Result": { - "$ref": "./examples/Common/RefreshContainers_OperationResults.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { - "get": { - "tags": [ - "ProtectableContainers" - ], - "description": "Lists the containers that can be registered to Recovery Services Vault.", - "operationId": "ProtectableContainers_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectableContainerResourceList" - } - } - }, - "x-ms-odata": "#/definitions/BMSContainerQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List protectable items with backupManagementType filter as AzureStorage": { - "$ref": "./examples/AzureStorage/ProtectableContainers_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { - "get": { - "tags": [ - "ProtectionContainers" - ], - "description": "Gets details of the specific container registered to your Recovery Services Vault.", - "operationId": "ProtectionContainers_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Name of the fabric where the container belongs.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Name of the container whose details need to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainerResource" - } - } - }, - "x-ms-examples": { - "Get Protection Container Details": { - "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" - } - } - }, - "put": { - "tags": [ - "ProtectionContainers" - ], - "description": "Registers the container with Recovery Services vault.\r\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\r\nthe operation.", - "operationId": "ProtectionContainers_Register", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Name of the container to be registered.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "Request body for operation", - "required": true, - "schema": { - "$ref": "#/definitions/ProtectionContainerResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainerResource" - } - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "RegisterAzure Storage ProtectionContainers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" - } - } - }, - "delete": { - "tags": [ - "ProtectionContainers" - ], - "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\nwhether the backend service has finished processing the request, call Get Container Operation Result API.", - "operationId": "ProtectionContainers_Unregister", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Name of the fabric where the container belongs.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Unregister Protection Container": { - "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { - "post": { - "tags": [ - "ProtectionContainers" - ], - "summary": "Inquires all the protectable items under the given container.", - "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.", - "operationId": "ProtectionContainers_Inquire", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric Name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Name of the container in which inquiry needs to be triggered.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", - "x-ms-examples": { - "Inquire Azure Storage Protection Containers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { - "get": { - "tags": [ - "BackupWorkloadItems" - ], - "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\nparameters.", - "operationId": "BackupWorkloadItems_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Name of the container.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkloadItemResourceList" - } - } - }, - "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List Workload Items in Container": { - "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { - "get": { - "tags": [ - "ProtectionContainerOperationResults" - ], - "description": "Fetches the result of any operation on the container.", - "operationId": "ProtectionContainerOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name whose information should be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainerResource" - } - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Get Azure Storage Protection Container Operation Result": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { - "post": { - "tags": [ - "Backups" - ], - "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", - "operationId": "Backups_Trigger", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backup item for which backup needs to be triggered.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backup request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupRequestResource" - } - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Trigger Backup": { - "$ref": "./examples/Common/TriggerBackup_Post.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { - "get": { - "tags": [ - "ProtectedItemOperationStatuses" - ], - "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.", - "operationId": "ProtectedItemOperationStatuses_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backup item name whose details are to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID represents the operation whose status needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - } - }, - "x-ms-examples": { - "Get Operation Status of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { - "post": { - "tags": [ - "ItemLevelRecoveryConnections" - ], - "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.", - "operationId": "ItemLevelRecoveryConnections_Provision", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose files/folders are to be restored.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource ILR request", - "required": true, - "schema": { - "$ref": "#/definitions/ILRRequestResource" - } - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Provision Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { - "post": { - "tags": [ - "ItemLevelRecoveryConnections" - ], - "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.", - "operationId": "ItemLevelRecoveryConnections_Revoke", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose files/folders are to be restored.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Revoke Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { - "post": { - "tags": [ - "ProtectionContainers" - ], - "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", - "operationId": "ProtectionContainers_Refresh", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated the container.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", - "x-ms-examples": { - "Trigger Azure Vm Discovery": { - "$ref": "./examples/Common/RefreshContainers.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { - "get": { - "tags": [ - "BackupOperationResults" - ], - "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.", - "operationId": "BackupOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Get Result for Protected Item Delete Operation": { - "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { - "get": { - "tags": [ - "BackupOperationStatuses" - ], - "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs when the operation is complete.", - "operationId": "BackupOperationStatuses_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - } - }, - "x-ms-examples": { - "Get Protected Item Delete Operation Status": { - "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { - "get": { - "tags": [ - "ProtectionPolicyOperationStatuses" - ], - "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with operation.", - "operationId": "ProtectionPolicyOperationStatuses_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy name whose operation's status needs to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "Operation ID which represents an operation whose status needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - } - }, - "x-ms-examples": { - "Get Protection Policy Operation Status": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { - "get": { - "tags": [ - "BackupProtectableItems" - ], - "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.", - "operationId": "BackupProtectableItems_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkloadProtectableItemResourceList" - } - } - }, - "x-ms-odata": "#/definitions/BMSPOQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List protectable items with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": { - "get": { - "tags": [ - "BackupProtectionContainers" - ], - "description": "Lists the containers registered to Recovery Services Vault.", - "operationId": "BackupProtectionContainers_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainerResourceList" - } - } - }, - "x-ms-odata": "#/definitions/BMSContainerQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List Backup Protection Containers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": { - "post": { - "tags": [ - "SecurityPINs" - ], - "description": "Get the security PIN.", - "operationId": "SecurityPINs_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TokenInformation" - } - } - }, - "x-ms-examples": { - "Get Vault Security Pin": { - "$ref": "./examples/Common/BackupSecurityPin_Get.json" - } - } - } - } - }, - "definitions": { - "PrivateEndpoint": { - "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection", - "type": "object", - "properties": { - "id": { - "description": "Gets or sets id", - "type": "string" - } - } - }, - "PrivateEndpointConnection": { - "description": "Private Endpoint Connection Response Properties", - "type": "object", - "properties": { - "provisioningState": { - "description": "Gets or sets provisioning state of the private endpoint connection", - "enum": [ - "Succeeded", - "Deleting", - "Failed", - "Pending" - ], - "type": "string", - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } - }, - "privateEndpoint": { - "$ref": "#/definitions/PrivateEndpoint", - "description": "Gets or sets private endpoint associated with the private endpoint connection" - }, - "privateLinkServiceConnectionState": { - "$ref": "#/definitions/PrivateLinkServiceConnectionState", - "description": "Gets or sets private link service connection state" - } - } - }, - "PrivateEndpointConnectionResource": { - "description": "Private Endpoint Connection Response Properties", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/PrivateEndpointConnection", - "description": "PrivateEndpointConnectionResource properties" - } - } - }, - "PrivateLinkServiceConnectionState": { - "description": "Private Link Service Connection State", - "type": "object", - "properties": { - "status": { - "description": "Gets or sets the status", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected" - ], - "type": "string", - "x-ms-enum": { - "name": "PrivateEndpointConnectionStatus", - "modelAsString": true - } - }, - "description": { - "description": "Gets or sets description", - "type": "string" - }, - "actionRequired": { - "description": "Gets or sets actions required", - "type": "string" - } - } - }, - "NewErrorResponse": { - "properties": { - "error": { - "type": "object", - "description": "The error object.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "The error code." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "The error message." - }, - "target": { - "readOnly": true, - "type": "string", - "description": "The error target." - }, - "details": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/NewErrorResponse" - }, - "description": "The error details." - }, - "additionalInfo": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" - }, - "description": "The error additional info." - } - } - } - }, - "description": "The resource management error response." - }, - "AzureFileshareProtectedItem": { - "description": "Azure File Share workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the fileshare represented by this backup item.", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "kpisHealths": { - "description": "Health details of different KPIs", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/KPIResourceHealthDetails" - } - }, - "extendedInfo": { - "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", - "description": "Additional information with this backup item." - } - }, - "x-ms-discriminator-value": "AzureFileShareProtectedItem" - }, - "AzureFileshareProtectedItemExtendedInfo": { - "description": "Additional information about Azure File Share backup item.", - "type": "object", - "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this item in the service.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of available backup copies associated with this backup item.", - "type": "integer" - }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "type": "string" - }, - "resourceState": { - "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}", - "type": "string", - "readOnly": true - }, - "resourceStateSyncTime": { - "format": "date-time", - "description": "The resource state sync time for this backup item.", - "type": "string", - "readOnly": true - } - } - }, - "AzureFileShareRecoveryPoint": { - "description": "Azure File Share workload specific backup copy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "recoveryPointType": { - "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", - "type": "string", - "readOnly": true - }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string", - "readOnly": true - }, - "fileShareSnapshotUri": { - "description": "Contains Url to the snapshot of fileshare, if applicable", - "type": "string", - "readOnly": true - }, - "recoveryPointSizeInGB": { - "format": "int32", - "description": "Contains recovery point size", - "type": "integer", - "readOnly": true - } - }, - "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" - }, - "AzureFileShareRestoreRequest": { - "description": "AzureFileShare Restore Request", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "properties": { - "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryType", - "modelAsString": true - } - }, - "sourceResourceId": { - "description": "Source storage account ARM Id", - "type": "string" - }, - "copyOptions": { - "description": "Options to resolve copy conflicts.", - "enum": [ - "Invalid", - "CreateCopy", - "Skip", - "Overwrite", - "FailOnConflict" - ], - "type": "string", - "x-ms-enum": { - "name": "CopyOptions", - "modelAsString": true - } - }, - "restoreRequestType": { - "description": "Restore Type (FullShareRestore or ItemLevelRestore)", - "enum": [ - "Invalid", - "FullShareRestore", - "ItemLevelRestore" - ], - "type": "string", - "x-ms-enum": { - "name": "RestoreRequestType", - "modelAsString": true - } - }, - "restoreFileSpecs": { - "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", - "type": "array", - "items": { - "$ref": "#/definitions/RestoreFileSpecs" - } - }, - "targetDetails": { - "$ref": "#/definitions/TargetAFSRestoreInfo", - "description": "Target File Share Details" - } - }, - "x-ms-discriminator-value": "AzureFileShareRestoreRequest" - }, - "AzureVmWorkloadProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "settings": { - "$ref": "#/definitions/Settings", - "description": "Common settings for the backup management" - }, - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", - "type": "array", - "items": { - "$ref": "#/definitions/SubProtectionPolicy" - } - }, - "makePolicyConsistent": { - "description": "Fix the policy inconsistency", - "type": "boolean" - } - }, - "x-ms-discriminator-value": "AzureWorkload" - }, - "AzureFileShareProtectionPolicy": { - "description": "AzureStorage backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureStorage" - }, - "AzureIaaSClassicComputeVMProtectedItem": { - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSVMProtectedItem" - } - ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" - }, - "AzureIaaSComputeVMProtectedItem": { - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureIaaSVMProtectedItem" - } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "AzureIaaSVMErrorInfo": { - "description": "Azure IaaS VM workload-specific error information.", - "type": "object", - "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer", - "readOnly": true - }, - "errorTitle": { - "description": "Title: Typically, the entity that the error pertains to.", - "type": "string", - "readOnly": true - }, - "errorString": { - "description": "Localized error string.", - "type": "string", - "readOnly": true - }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - } - } - }, - "ResourceHealthDetails": { - "description": "Health Details for backup items.", - "type": "object", - "properties": { - "code": { - "format": "int32", - "description": "Health Code", - "type": "integer", - "readOnly": true - }, - "title": { - "description": "Health Title", - "type": "string", - "readOnly": true - }, - "message": { - "description": "Health Message", - "type": "string", - "readOnly": true - }, - "recommendations": { - "description": "Health Recommended Actions", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - } - } - }, - "AzureIaaSVMHealthDetails": { - "description": "Azure IaaS VM workload-specific Health Details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceHealthDetails" - } - ] - }, - "AzureIaaSVMJob": { - "description": "Azure IaaS VM workload-specific job object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], - "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" - }, - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMErrorInfo" - } - }, - "virtualMachineVersion": { - "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", - "description": "Additional information for this job." - } - }, - "x-ms-discriminator-value": "AzureIaaSVMJob" - }, - "AzureIaaSVMJobExtendedInfo": { - "description": "Azure IaaS VM workload-specific additional information for job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks associated with this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" - } - }, - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "internalPropertyBag": { - "description": "Job internal properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "progressPercentage": { - "format": "double", - "description": "Indicates progress of the job. Null if it has not started or completed.", - "type": "number" - }, - "estimatedRemainingDuration": { - "description": "Time remaining for execution of this job.", - "type": "string" - }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" - } - } - }, - "AzureIaaSVMJobTaskDetails": { - "description": "Azure IaaS VM workload-specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "instanceId": { - "description": "The instanceId.", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - }, - "progressPercentage": { - "format": "double", - "description": "Progress of the task.", - "type": "number" - }, - "taskExecutionDetails": { - "description": "Details about execution of the task.\r\neg: number of bytes transferred etc", - "type": "string" - } - } - }, - "AzureIaaSVMProtectedItem": { - "description": "IaaS VM workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the VM represented by this backup item.", - "type": "string" - }, - "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine represented by this item.", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "healthStatus": { - "description": "Health status of protected item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthStatus", - "modelAsString": true - } - }, - "healthDetails": { - "description": "Health details on this backup item.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMHealthDetails" - } - }, - "kpisHealths": { - "description": "Health details of different KPIs", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/KPIResourceHealthDetails" - } - }, - "lastBackupStatus": { - "description": "Last backup operation status.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "protectedItemDataId": { - "description": "Data ID of the protected item.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", - "description": "Additional information for this backup item." - }, - "extendedProperties": { - "$ref": "#/definitions/ExtendedProperties" - } - }, - "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" - }, - "AzureIaaSVMProtectedItemExtendedInfo": { - "description": "Additional information on Azure IaaS VM specific backup item.", - "type": "object", - "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this backup item.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies available for this backup item.", - "type": "integer" - }, - "policyInconsistent": { - "description": "Specifies if backup policy associated with the backup item is inconsistent.", - "type": "boolean" - } - } - }, - "AzureIaaSVMProtectionPolicy": { - "description": "IaaS VM workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "instantRPDetails": { - "$ref": "#/definitions/InstantRPAdditionalDetails" - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - }, - "instantRpRetentionRangeInDays": { - "format": "int32", - "description": "Instant RP retention policy range in days", - "type": "integer" - }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureIaasVM" - }, - "AzureSqlProtectedItem": { - "description": "Azure SQL workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "protectedItemDataId": { - "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of the backed up item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectedItemState", - "modelAsString": true - } - }, - "extendedInfo": { - "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", - "description": "Additional information for this backup item." - } - }, - "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" - }, - "AzureSqlProtectedItemExtendedInfo": { - "description": "Additional information on Azure Sql specific protected item.", - "type": "object", - "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this item in the service.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of available backup copies associated with this backup item.", - "type": "integer" - }, - "policyState": { - "description": "State of the backup policy associated with this backup item.", - "type": "string" - } - } - }, - "AzureStorageErrorInfo": { - "description": "Azure storage specific error information", - "type": "object", - "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer" - }, - "errorString": { - "description": "Localized error string.", - "type": "string" - }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "AzureSqlProtectionPolicy": { - "description": "Azure SQL workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." - } - }, - "x-ms-discriminator-value": "AzureSql" - }, - "AzureStorageJob": { - "description": "Azure storage specific job.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], - "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" - }, - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureStorageErrorInfo" - } - }, - "storageAccountName": { - "description": "Specifies friendly name of the storage account.", - "type": "string" - }, - "storageAccountVersion": { - "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureStorageJobExtendedInfo", - "description": "Additional information about the job." - } - }, - "x-ms-discriminator-value": "AzureStorageJob" - }, - "AzureStorageJobExtendedInfo": { - "description": "Azure Storage workload-specific additional information for job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks for this job", - "type": "array", - "items": { - "$ref": "#/definitions/AzureStorageJobTaskDetails" - } - }, - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" - } - } - }, - "AzureStorageJobTaskDetails": { - "description": "Azure storage workload specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - } - } - }, - "AzureVmWorkloadProtectedItem": { - "description": "Azure VM workload-specific protected item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the DB represented by this backup item.", - "type": "string" - }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", - "type": "string" - }, - "parentName": { - "description": "Parent name of the DB such as Instance or Availability Group.", - "type": "string" - }, - "parentType": { - "description": "Parent type of protected item, example: for a DB, standalone server or distributed", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "enum": [ - "Invalid", - "Healthy", - "Unhealthy", - "IRPending" - ], - "type": "string", - "x-ms-enum": { - "name": "LastBackupStatus", - "modelAsString": true - } - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "lastBackupErrorDetail": { - "$ref": "#/definitions/ErrorDetail", - "description": "Error details in last backup" - }, - "protectedItemDataSourceId": { - "description": "Data ID of the protected item.", - "type": "string" - }, - "protectedItemHealthStatus": { - "description": "Health status of the backup item, evaluated based on last heartbeat received", - "enum": [ - "Invalid", - "Healthy", - "Unhealthy", - "NotReachable", - "IRPending" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectedItemHealthStatus", - "modelAsString": true - } - }, - "extendedInfo": { - "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", - "description": "Additional information for this backup item." - }, - "kpisHealths": { - "description": "Health details of different KPIs", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/KPIResourceHealthDetails" - } - } - }, - "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" - }, - "AzureVmWorkloadProtectedItemExtendedInfo": { - "description": "Additional information on Azure Workload for SQL specific backup item.", - "type": "object", - "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this backup item.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies available for this backup item.", - "type": "integer" - }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "type": "string" - } - } - }, - "AzureVmWorkloadSAPAseDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP ASE Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" - }, - "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP HANA Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" - }, - "AzureVmWorkloadSQLDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SQL Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" - }, - "AzureWorkloadErrorInfo": { - "description": "Azure storage specific error information", - "type": "object", - "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer" - }, - "errorString": { - "description": "Localized error string.", - "type": "string" - }, - "errorTitle": { - "description": "Title: Typically, the entity that the error pertains to.", - "type": "string" - }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } - }, - "additionalDetails": { - "description": "Additional details for above error code.", - "type": "string" - } - } - }, - "AzureWorkloadJob": { - "description": "Azure storage specific job.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], - "properties": { - "workloadType": { - "description": "Workload type of the job", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" - }, - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureWorkloadErrorInfo" - } - }, - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", - "description": "Additional information about the job." - } - }, - "x-ms-discriminator-value": "AzureWorkloadJob" - }, - "AzureWorkloadJobExtendedInfo": { - "description": "Azure VM workload-specific additional information for job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks for this job", - "type": "array", - "items": { - "$ref": "#/definitions/AzureWorkloadJobTaskDetails" - } - }, - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" - } - } - }, - "AzureWorkloadJobTaskDetails": { - "description": "Azure VM workload specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - } - } - }, - "AzureWorkloadPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" - }, - "AzureWorkloadPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" - }, - "AzureWorkloadRecoveryPoint": { - "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "recoveryPointTimeInUTC": { - "format": "date-time", - "description": "UTC time at which recovery point was created", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Type of restore point", - "enum": [ - "Invalid", - "Full", - "Log", - "Differential", - "Incremental" - ], - "type": "string", - "x-ms-enum": { - "name": "RestorePointType", - "modelAsString": true - }, - "readOnly": true - } - }, - "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" - }, - "AzureWorkloadRestoreRequest": { - "description": "AzureWorkload-specific restore.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "properties": { - "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryType", - "modelAsString": true - } - }, - "sourceResourceId": { - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", - "type": "string" - }, - "propertyBag": { - "description": "Workload specific property bag.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "description": "Defines whether the current recovery mode is file restore or database restore", - "enum": [ - "Invalid", - "FileRecovery", - "WorkloadRecovery" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryMode", - "modelAsString": true - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" - }, - "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime in SAPHana", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" - }, - "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" - } - ], - "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" - }, - "AzureWorkloadSAPHanaRecoveryPoint": { - "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" - }, - "AzureWorkloadSAPHanaRestoreRequest": { - "description": "AzureWorkload SAP Hana-specific restore.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" - }, - "AzureWorkloadSQLPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" - } - ], - "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" - }, - "AzureWorkloadSQLPointInTimeRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" - } - ], - "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" - }, - "AzureWorkloadSQLRecoveryPoint": { - "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "properties": { - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", - "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" - }, - "AzureWorkloadSQLRecoveryPointExtendedInfo": { - "description": "Extended info class details", - "type": "object", - "properties": { - "dataDirectoryTimeInUTC": { - "format": "date-time", - "description": "UTC time at which data directory info was captured", - "type": "string", - "readOnly": true - }, - "dataDirectoryPaths": { - "description": "List of data directory paths during restore operation.", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectory" - }, - "readOnly": true - } - } - }, - "AzureWorkloadSQLRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "properties": { - "shouldUseAlternateTargetLocation": { - "description": "Default option set to true. If this is set to false, alternate data directory must be provided", - "type": "boolean" - }, - "isNonRecoverable": { - "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", - "type": "boolean" - }, - "alternateDirectoryPaths": { - "description": "Data directory details", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectoryMapping" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" - }, - "BEKDetails": { - "description": "BEK is bitlocker encryption key.", - "type": "object", - "properties": { - "secretUrl": { - "description": "Secret is BEK.", - "type": "string" - }, - "secretVaultId": { - "description": "ID of the Key Vault where this Secret is stored.", - "type": "string" - }, - "secretData": { - "description": "BEK data.", - "type": "string" - } - } - }, - "BMSRPQueryObject": { - "description": "Filters to list backup copies.", - "type": "object", - "properties": { - "startDate": { - "format": "date-time", - "description": "Backup copies created after this time.", - "type": "string" - }, - "endDate": { - "format": "date-time", - "description": "Backup copies created before this time.", - "type": "string" - }, - "restorePointQueryType": { - "description": "RestorePoint type", - "enum": [ - "Invalid", - "Full", - "Log", - "Differential", - "FullAndDifferential", - "All", - "Incremental" - ], - "type": "string", - "x-ms-enum": { - "name": "RestorePointQueryType", - "modelAsString": true - } - }, - "extendedInfo": { - "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", - "type": "boolean" - } - } - }, - "DiskExclusionProperties": { - "type": "object", - "properties": { - "diskLunList": { - "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - }, - "isInclusionList": { - "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", - "type": "boolean" - } - } - }, - "DiskInformation": { - "description": "Disk information", - "type": "object", - "properties": { - "lun": { - "format": "int32", - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "DailyRetentionFormat": { - "description": "Daily retention format.", - "type": "object", - "properties": { - "daysOfTheMonth": { - "description": "List of days of the month.", - "type": "array", - "items": { - "$ref": "#/definitions/Day" - } - } - } - }, - "DailyRetentionSchedule": { - "description": "Daily retention schedule.", - "type": "object", - "properties": { - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "Day": { - "description": "Day of the week.", - "type": "object", - "properties": { - "date": { - "format": "int32", - "description": "Date of the month", - "type": "integer" - }, - "isLast": { - "description": "Whether Date is last date of month", - "type": "boolean" - } - } - }, - "DpmErrorInfo": { - "description": "DPM workload-specific error information.", - "type": "object", - "properties": { - "errorString": { - "description": "Localized error string.", - "type": "string" - }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DpmJob": { - "description": "DPM workload-specific job object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], - "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed for job.", - "type": "string" - }, - "dpmServerName": { - "description": "DPM server name managing the backup item or backup job.", - "type": "string" - }, - "containerName": { - "description": "Name of cluster/server protecting current backup item, if any.", - "type": "string" - }, - "containerType": { - "description": "Type of container.", - "type": "string" - }, - "workloadType": { - "description": "Type of backup item.", - "type": "string" - }, - "actionsInfo": { - "description": "The state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "errorDetails": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/DpmErrorInfo" - } - }, - "extendedInfo": { - "$ref": "#/definitions/DpmJobExtendedInfo", - "description": "Additional information for this job." - } - }, - "x-ms-discriminator-value": "DpmJob" - }, - "DpmJobExtendedInfo": { - "description": "Additional information on the DPM workload-specific job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks associated with this job.", - "type": "array", - "items": { - "$ref": "#/definitions/DpmJobTaskDetails" - } - }, - "propertyBag": { - "description": "The job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" - } - } - }, - "DpmJobTaskDetails": { - "description": "DPM workload-specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - } - } - }, - "DPMProtectedItem": { - "description": "Additional information on Backup engine specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the managed item", - "type": "string" - }, - "backupEngineName": { - "description": "Backup Management server protecting this backup item", - "type": "string" - }, - "protectionState": { - "description": "Protection state of the backup engine", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectedItemState", - "modelAsString": true - } - }, - "extendedInfo": { - "$ref": "#/definitions/DPMProtectedItemExtendedInfo", - "description": "Extended info of the backup item." - } - }, - "x-ms-discriminator-value": "DPMProtectedItem" - }, - "DPMProtectedItemExtendedInfo": { - "description": "Additional information of DPM Protected item.", - "type": "object", - "properties": { - "protectableObjectLoadPath": { - "description": "Attribute to provide information on various DBs.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "protected": { - "description": "To check if backup item is disk protected.", - "type": "boolean" - }, - "isPresentOnCloud": { - "description": "To check if backup item is cloud protected.", - "type": "boolean" - }, - "lastBackupStatus": { - "description": "Last backup status information on backup item.", - "type": "string" - }, - "lastRefreshedAt": { - "format": "date-time", - "description": "Last refresh time on backup item.", - "type": "string" - }, - "oldestRecoveryPoint": { - "format": "date-time", - "description": "Oldest cloud recovery point time.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "cloud recovery point count.", - "type": "integer" - }, - "onPremiseOldestRecoveryPoint": { - "format": "date-time", - "description": "Oldest disk recovery point time.", - "type": "string" - }, - "onPremiseLatestRecoveryPoint": { - "format": "date-time", - "description": "latest disk recovery point time.", - "type": "string" - }, - "onPremiseRecoveryPointCount": { - "format": "int32", - "description": "disk recovery point count.", - "type": "integer" - }, - "isCollocated": { - "description": "To check if backup item is collocated.", - "type": "boolean" - }, - "protectionGroupName": { - "description": "Protection group name of the backup item.", - "type": "string" - }, - "diskStorageUsedInBytes": { - "description": "Used Disk storage in bytes.", - "type": "string" - }, - "totalDiskStorageSizeInBytes": { - "description": "total Disk storage in bytes.", - "type": "string" - } - } - }, - "EncryptionDetails": { - "description": "Details needed if the VM was encrypted at the time of backup.", - "type": "object", - "properties": { - "encryptionEnabled": { - "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", - "type": "boolean" - }, - "kekUrl": { - "description": "Key Url.", - "type": "string" - }, - "secretKeyUrl": { - "description": "Secret Url.", - "type": "string" - }, - "kekVaultId": { - "description": "ID of Key Vault where KEK is stored.", - "type": "string" - }, - "secretKeyVaultId": { - "description": "ID of Key Vault where Secret is stored.", - "type": "string" - } - } - }, - "ErrorDetail": { - "description": "Error Detail class which encapsulates Code, Message and Recommendations.", - "type": "object", - "properties": { - "code": { - "description": "Error code.", - "type": "string", - "readOnly": true - }, - "message": { - "description": "Error Message related to the Code.", - "type": "string", - "readOnly": true - }, - "recommendations": { - "description": "List of recommendation strings.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - } - } - }, - "ExportJobsOperationResultInfo": { - "description": "This class is used to send blob details after exporting jobs.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationResultInfoBase" - } - ], - "properties": { - "blobUrl": { - "description": "URL of the blob into which the serialized string of list of jobs is exported.", - "type": "string" - }, - "blobSasKey": { - "description": "SAS key to access the blob. It expires in 15 mins.", - "type": "string" - }, - "excelFileBlobUrl": { - "description": "URL of the blob into which the ExcelFile is uploaded.", - "type": "string" - }, - "excelFileBlobSasKey": { - "description": "SAS key to access the blob. It expires in 15 mins.", - "type": "string" - } - }, - "x-ms-discriminator-value": "ExportJobsOperationResultInfo" - }, - "ExtendedProperties": { - "description": "Extended Properties for Azure IaasVM Backup.", - "type": "object", - "properties": { - "diskExclusionProperties": { - "$ref": "#/definitions/DiskExclusionProperties", - "description": "Extended Properties for Disk Exclusion." - } - } - }, - "GenericProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", - "type": "array", - "items": { - "$ref": "#/definitions/SubProtectionPolicy" - } - }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - }, - "fabricName": { - "description": "Name of this policy's fabric.", - "type": "string" - } - }, - "x-ms-discriminator-value": "GenericProtectionPolicy" - }, - "InstantRPAdditionalDetails": { - "type": "object", - "properties": { - "azureBackupRGNamePrefix": { - "type": "string" - }, - "azureBackupRGNameSuffix": { - "type": "string" - } - } - }, - "GenericProtectedItem": { - "description": "Base class for backup items.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the container.", - "type": "string" - }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "protectedItemId": { - "format": "int64", - "description": "Data Plane Service ID of the protected item.", - "type": "integer" - }, - "sourceAssociations": { - "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "fabricName": { - "description": "Name of this backup item's fabric.", - "type": "string" - } - }, - "x-ms-discriminator-value": "GenericProtectedItem" - }, - "GenericRecoveryPoint": { - "description": "Generic backup copy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the backup copy.", - "type": "string" - }, - "recoveryPointType": { - "description": "Type of the backup copy.", - "type": "string" - }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string" - }, - "recoveryPointAdditionalInfo": { - "description": "Additional information associated with this backup copy.", - "type": "string" - } - }, - "x-ms-discriminator-value": "GenericRecoveryPoint" - }, - "GetProtectedItemQueryObject": { - "description": "Filters to list backup items.", - "type": "object", - "properties": { - "expand": { - "description": "Specifies if the additional information should be provided for this item.", - "type": "string" - } - } - }, - "IaasVMRecoveryPoint": { - "description": "IaaS VM workload specific backup copy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "recoveryPointType": { - "description": "Type of the backup copy.", - "type": "string", - "readOnly": true - }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string", - "readOnly": true - }, - "recoveryPointAdditionalInfo": { - "description": "Additional information associated with this backup copy.", - "type": "string", - "readOnly": true - }, - "sourceVMStorageType": { - "description": "Storage type of the VM whose backup copy is created.", - "type": "string", - "readOnly": true - }, - "isSourceVMEncrypted": { - "description": "Identifies whether the VM was encrypted when the backup copy is created.", - "type": "boolean", - "readOnly": true - }, - "keyAndSecret": { - "$ref": "#/definitions/KeyAndSecretDetails", - "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." - }, - "isInstantIlrSessionActive": { - "description": "Is the session to recover items from this backup copy still active.", - "type": "boolean" - }, - "recoveryPointTierDetails": { - "description": "Recovery point tier information.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformation" - } - }, - "isManagedVirtualMachine": { - "description": "Whether VM is with Managed Disks", - "type": "boolean" - }, - "virtualMachineSize": { - "description": "Virtual Machine Size", - "type": "string" - }, - "originalStorageAccountOption": { - "description": "Original Storage Account Option", - "type": "boolean" - }, - "osType": { - "description": "OS type", - "type": "string" - }, - "recoveryPointDiskConfiguration": { - "$ref": "#/definitions/RecoveryPointDiskConfiguration", - "description": "Disk configuration" - } - }, - "x-ms-discriminator-value": "IaasVMRecoveryPoint" - }, - "IaasVMRestoreRequest": { - "description": "IaaS VM workload-specific restore.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "properties": { - "recoveryPointId": { - "description": "ID of the backup copy to be recovered.", - "type": "string" - }, - "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryType", - "modelAsString": true - } - }, - "sourceResourceId": { - "description": "Fully qualified ARM ID of the VM which is being recovered.", - "type": "string" - }, - "targetVirtualMachineId": { - "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", - "type": "string" - }, - "targetResourceGroupId": { - "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}", - "type": "string" - }, - "storageAccountId": { - "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", - "type": "string" - }, - "virtualNetworkId": { - "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.", - "type": "string" - }, - "subnetId": { - "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.", - "type": "string" - }, - "targetDomainNameId": { - "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.", - "type": "string" - }, - "region": { - "description": "Region in which the virtual machine is restored.", - "type": "string" - }, - "affinityGroup": { - "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", - "type": "string" - }, - "createNewCloudService": { - "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.", - "type": "boolean" - }, - "originalStorageAccountOption": { - "description": "Original Storage Account Option", - "type": "boolean" - }, - "encryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Details needed if the VM was encrypted at the time of backup." - }, - "restoreDiskLunList": { - "description": "List of Disk LUNs for partial restore", - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - }, - "restoreWithManagedDisks": { - "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.", - "type": "boolean" - }, - "diskEncryptionSetId": { - "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.", - "type": "string" - } - }, - "x-ms-discriminator-value": "IaasVMRestoreRequest" - }, - "Job": { - "description": "Defines workload agnostic properties for a job.", - "required": [ - "jobType" - ], - "type": "object", - "properties": { - "entityFriendlyName": { - "description": "Friendly name of the entity on which the current job is executing.", - "type": "string" - }, - "backupManagementType": { - "description": "Backup management type to execute the current job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "operation": { - "description": "The operation name.", - "type": "string" - }, - "status": { - "description": "Job status.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "activityId": { - "description": "ActivityId of job.", - "type": "string" - }, - "jobType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "jobType" - }, - "JobQueryObject": { - "description": "Filters to list the jobs.", - "type": "object", - "properties": { - "status": { - "description": "Status of the job.", - "enum": [ - "Invalid", - "InProgress", - "Completed", - "Failed", - "CompletedWithWarnings", - "Cancelled", - "Cancelling" - ], - "type": "string", - "x-ms-enum": { - "name": "JobStatus", - "modelAsString": true - } - }, - "backupManagementType": { - "description": "Type of backup management for the job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "operation": { - "description": "Type of operation.", - "enum": [ - "Invalid", - "Register", - "UnRegister", - "ConfigureBackup", - "Backup", - "Restore", - "DisableBackup", - "DeleteBackupData", - "CrossRegionRestore", - "Undelete", - "UpdateCustomerManagedKey" - ], - "type": "string", - "x-ms-enum": { - "name": "JobOperationType", - "modelAsString": true - } - }, - "jobId": { - "description": "JobID represents the job uniquely.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "Job has started at this time. Value is in UTC.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "Job has ended at this time. Value is in UTC.", - "type": "string" - } - } - }, - "JobResource": { - "description": "Defines workload agnostic properties for a job.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/Job", - "description": "JobResource properties" - } - } - }, - "JobResourceList": { - "description": "List of Job resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/JobResource" - } - } - } - }, - "KEKDetails": { - "description": "KEK is encryption key for BEK.", - "type": "object", - "properties": { - "keyUrl": { - "description": "Key is KEK.", - "type": "string" - }, - "keyVaultId": { - "description": "Key Vault ID where this Key is stored.", - "type": "string" - }, - "keyBackupData": { - "description": "KEK data.", - "type": "string" - } - } - }, - "KeyAndSecretDetails": { - "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.", - "type": "object", - "properties": { - "kekDetails": { - "$ref": "#/definitions/KEKDetails", - "description": "KEK is encryption key for BEK." - }, - "bekDetails": { - "$ref": "#/definitions/BEKDetails", - "description": "BEK is bitlocker encryption key." - }, - "encryptionMechanism": { - "description": "Encryption mechanism: None/ SinglePass/ DoublePass", - "type": "string" - } - } - }, - "LogSchedulePolicy": { - "description": "Log policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "properties": { - "scheduleFrequencyInMins": { - "format": "int32", - "description": "Frequency of the log schedule operation of this policy in minutes.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "LogSchedulePolicy" - }, - "LongTermRetentionPolicy": { - "description": "Long term retention policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - } - ], - "properties": { - "dailySchedule": { - "$ref": "#/definitions/DailyRetentionSchedule", - "description": "Daily retention schedule of the protection policy." - }, - "weeklySchedule": { - "$ref": "#/definitions/WeeklyRetentionSchedule", - "description": "Weekly retention schedule of the protection policy." - }, - "monthlySchedule": { - "$ref": "#/definitions/MonthlyRetentionSchedule", - "description": "Monthly retention schedule of the protection policy." - }, - "yearlySchedule": { - "$ref": "#/definitions/YearlyRetentionSchedule", - "description": "Yearly retention schedule of the protection policy." - } - }, - "x-ms-discriminator-value": "LongTermRetentionPolicy" - }, - "LongTermSchedulePolicy": { - "description": "Long term policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "x-ms-discriminator-value": "LongTermSchedulePolicy" - }, - "MabErrorInfo": { - "description": "MAB workload-specific error information.", - "type": "object", - "properties": { - "errorString": { - "description": "Localized error string.", - "type": "string", - "readOnly": true - }, - "recommendations": { - "description": "List of localized recommendations.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - } - } - }, - "MabFileFolderProtectedItem": { - "description": "MAB workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of this backup item.", - "type": "string" - }, - "computerName": { - "description": "Name of the computer associated with this backup item.", - "type": "string" - }, - "lastBackupStatus": { - "description": "Status of last backup operation.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Protected, ProtectionStopped, IRPending or ProtectionError", - "type": "string" - }, - "deferredDeleteSyncTimeInUTC": { - "format": "int64", - "description": "Sync time for deferred deletion in UTC", - "type": "integer" - }, - "extendedInfo": { - "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", - "description": "Additional information with this backup item." - } - }, - "x-ms-discriminator-value": "MabFileFolderProtectedItem" - }, - "MabFileFolderProtectedItemExtendedInfo": { - "description": "Additional information on the backed up item.", - "type": "object", - "properties": { - "lastRefreshedAt": { - "format": "date-time", - "description": "Last time when the agent data synced to service.", - "type": "string" - }, - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies associated with the backup item.", - "type": "integer" - } - } - }, - "MabJob": { - "description": "MAB workload-specific job.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], - "properties": { - "duration": { - "format": "duration", - "description": "Time taken by job to run.", - "type": "string" - }, - "actionsInfo": { - "description": "The state/actions applicable on jobs like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "mabServerName": { - "description": "Name of server protecting the DS.", - "type": "string" - }, - "mabServerType": { - "description": "Server type of MAB container.", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter", - "VMAppContainer", - "SQLAGWorkLoadContainer", - "StorageContainer", - "GenericContainer" - ], - "type": "string", - "x-ms-enum": { - "name": "MabServerType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Workload type of backup item.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "errorDetails": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/MabErrorInfo" - } - }, - "extendedInfo": { - "$ref": "#/definitions/MabJobExtendedInfo", - "description": "Additional information on the job." - } - }, - "x-ms-discriminator-value": "MabJob" - }, - "MabJobExtendedInfo": { - "description": "Additional information for the MAB workload-specific job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks for this job.", - "type": "array", - "items": { - "$ref": "#/definitions/MabJobTaskDetails" - } - }, - "propertyBag": { - "description": "The job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "dynamicErrorMessage": { - "description": "Non localized error message specific to this job.", - "type": "string" - } - } - }, - "MabJobTaskDetails": { - "description": "MAB workload-specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - } - } - }, - "MabProtectionPolicy": { - "description": "Mab container-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." - } - }, - "x-ms-discriminator-value": "MAB" - }, - "MonthlyRetentionSchedule": { - "description": "Monthly retention schedule.", - "type": "object", - "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format type for monthly retention policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionScheduleFormat", - "modelAsString": true - } - }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for monthly retention policy." - }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for monthly retention policy." - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "OperationResultInfo": { - "description": "Operation result info.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationResultInfoBase" - } - ], - "properties": { - "jobList": { - "description": "List of jobs created by this operation.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-discriminator-value": "OperationResultInfo" - }, - "OperationResultInfoBase": { - "description": "Base class for operation result info.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "KPIResourceHealthDetails": { - "description": "KPI Resource Health Details", - "type": "object", - "properties": { - "resourceHealthStatus": { - "description": "Resource Health Status", - "enum": [ - "Healthy", - "TransientDegraded", - "PersistentDegraded", - "TransientUnhealthy", - "PersistentUnhealthy", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "ResourceHealthStatus", - "modelAsString": true - } - }, - "resourceHealthDetails": { - "description": "Resource Health Status", - "type": "array", - "items": { - "$ref": "#/definitions/ResourceHealthDetails" - } - } - } - }, - "PrepareDataMoveRequest": { - "description": "Prepare DataMove Request", - "required": [ - "targetResourceId", - "targetRegion", - "dataMoveLevel" - ], - "type": "object", - "properties": { - "targetResourceId": { - "description": "ARM Id of target vault", - "type": "string" - }, - "targetRegion": { - "description": "Target Region", - "type": "string" - }, - "dataMoveLevel": { - "description": "DataMove Level", - "enum": [ - "Invalid", - "Vault", - "Container" - ], - "type": "string", - "x-ms-enum": { - "name": "DataMoveLevel", - "modelAsString": true - } - }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", - "type": "array", - "items": { - "type": "string" - } - }, - "ignoreMoved": { - "description": "Ignore the artifacts which are already moved.", - "type": "boolean" - } - } - }, - "PrepareDataMoveResponse": { - "description": "Prepare DataMove Response", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" - } - ], - "properties": { - "correlationId": { - "description": "Co-relationId for move operation", - "type": "string" - }, - "sourceVaultProperties": { - "description": "Source Vault Properties", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "x-ms-discriminator-value": "PrepareDataMoveResponse" - }, - "VaultStorageConfigOperationResultResponse": { - "description": "Operation result response for Vault Storage Config", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "TriggerDataMoveRequest": { - "description": "Trigger DataMove Request", - "required": [ - "sourceResourceId", - "sourceRegion", - "dataMoveLevel", - "correlationId" - ], - "type": "object", - "properties": { - "sourceResourceId": { - "description": "ARM Id of source vault", - "type": "string" - }, - "sourceRegion": { - "description": "Source Region", - "type": "string" - }, - "dataMoveLevel": { - "description": "DataMove Level", - "enum": [ - "Invalid", - "Vault", - "Container" - ], - "type": "string", - "x-ms-enum": { - "name": "DataMoveLevel", - "modelAsString": true - } - }, - "correlationId": { - "description": "Correlation Id", - "type": "string" - }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds", - "type": "array", - "items": { - "type": "string" - } - }, - "pauseGC": { - "description": "Pause GC", - "type": "boolean" - } - } - }, - "OperationResultInfoBaseResource": { - "description": "Base class for operation result info.", - "allOf": [ - { - "$ref": "#/definitions/OperationWorkerResponse" - } - ], - "properties": { - "operation": { - "$ref": "#/definitions/OperationResultInfoBase", - "description": "OperationResultInfoBaseResource operation" - } - } - }, - "OperationWorkerResponse": { - "description": "This is the base class for operation result responses.", - "type": "object", - "properties": { - "statusCode": { - "description": "HTTP Status Code of the operation.", - "enum": [ - "Continue", - "SwitchingProtocols", - "OK", - "Created", - "Accepted", - "NonAuthoritativeInformation", - "NoContent", - "ResetContent", - "PartialContent", - "MultipleChoices", - "Ambiguous", - "MovedPermanently", - "Moved", - "Found", - "Redirect", - "SeeOther", - "RedirectMethod", - "NotModified", - "UseProxy", - "Unused", - "TemporaryRedirect", - "RedirectKeepVerb", - "BadRequest", - "Unauthorized", - "PaymentRequired", - "Forbidden", - "NotFound", - "MethodNotAllowed", - "NotAcceptable", - "ProxyAuthenticationRequired", - "RequestTimeout", - "Conflict", - "Gone", - "LengthRequired", - "PreconditionFailed", - "RequestEntityTooLarge", - "RequestUriTooLong", - "UnsupportedMediaType", - "RequestedRangeNotSatisfiable", - "ExpectationFailed", - "UpgradeRequired", - "InternalServerError", - "NotImplemented", - "BadGateway", - "ServiceUnavailable", - "GatewayTimeout", - "HttpVersionNotSupported" - ], - "type": "string", - "x-ms-enum": { - "name": "HttpStatusCode", - "modelAsString": false - } - }, - "headers": { - "description": "HTTP headers associated with this operation.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "PointInTimeRange": { - "description": "Provides details for log ranges", - "type": "object", - "properties": { - "startTime": { - "format": "date-time", - "description": "Start time of the time range for log recovery.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "End time of the time range for log recovery.", - "type": "string" - } - } - }, - "ProtectedItem": { - "description": "Base class for backup items.", - "required": [ - "protectedItemType" - ], - "type": "object", - "properties": { - "protectedItemType": { - "description": "backup item type.", - "type": "string" - }, - "backupManagementType": { - "description": "Type of backup management for the backed up item.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Type of workload this item represents.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - } - }, - "containerName": { - "description": "Unique name of container", - "type": "string" - }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", - "type": "string" - }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", - "type": "string" - }, - "lastRecoveryPoint": { - "format": "date-time", - "description": "Timestamp when the last (latest) backup copy was created for this backup item.", - "type": "string" - }, - "backupSetName": { - "description": "Name of the backup set the backup item belongs to", - "type": "string" - }, - "createMode": { - "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", - "enum": [ - "Invalid", - "Default", - "Recover" - ], - "type": "string", - "x-ms-enum": { - "name": "CreateMode", - "modelAsString": true - } - }, - "deferredDeleteTimeInUTC": { - "format": "date-time", - "description": "Time for deferred deletion in UTC", - "type": "string" - }, - "isScheduledForDeferredDelete": { - "description": "Flag to identify whether the DS is scheduled for deferred delete", - "type": "boolean" - }, - "deferredDeleteTimeRemaining": { - "description": "Time remaining before the DS marked for deferred delete is permanently deleted", - "type": "string" - }, - "isDeferredDeleteScheduleUpcoming": { - "description": "Flag to identify whether the deferred deleted DS is to be purged soon", - "type": "boolean" - }, - "isRehydrate": { - "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", - "type": "boolean" - } - }, - "discriminator": "protectedItemType" - }, - "ProtectedItemQueryObject": { - "description": "Filters to list backup items.", - "type": "object", - "properties": { - "healthState": { - "description": "Health State for the backed up item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthState", - "modelAsString": true - } - }, - "backupManagementType": { - "description": "Backup management type for the backed up item.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "itemType": { - "description": "Type of workload this item represents.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - } - }, - "policyName": { - "description": "Backup policy name associated with the backup item.", - "type": "string" - }, - "containerName": { - "description": "Name of the container.", - "type": "string" - }, - "backupEngineName": { - "description": "Backup Engine name", - "type": "string" - }, - "friendlyName": { - "description": "Friendly name of protected item", - "type": "string" - }, - "fabricName": { - "description": "Name of the fabric.", - "type": "string" - }, - "backupSetName": { - "description": "Name of the backup set.", - "type": "string" - } - } - }, - "ProtectedItemResource": { - "description": "Base class for backup items.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectedItem", - "description": "ProtectedItemResource properties" - } - } - }, - "ProtectedItemResourceList": { - "description": "List of ProtectedItem resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectedItemResource" - } - } - } - }, - "ProtectionPolicy": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "required": [ - "backupManagementType" - ], - "type": "object", - "properties": { - "protectedItemsCount": { - "format": "int32", - "description": "Number of items associated with this policy.", - "type": "integer" - }, - "backupManagementType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "backupManagementType" - }, - "ProtectionPolicyQueryObject": { - "description": "Filters the list backup policies API.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for the backup policy.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "fabricName": { - "description": "Fabric name for filter", - "type": "string" - }, - "workloadType": { - "description": "Workload type for the backup policy.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - } - } - }, - "ProtectionPolicyResource": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionPolicy", - "description": "ProtectionPolicyResource properties" - } - } - }, - "ProtectionPolicyResourceList": { - "description": "List of ProtectionPolicy resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - } - }, - "RecoveryPoint": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "RecoveryPointDiskConfiguration": { - "description": "Disk configuration", - "type": "object", - "properties": { - "numberOfDisksIncludedInBackup": { - "format": "int32", - "description": "Number of disks included in backup", - "type": "integer" - }, - "numberOfDisksAttachedToVm": { - "format": "int32", - "description": "Number of disks attached to the VM", - "type": "integer" - }, - "includedDiskList": { - "description": "Information of disks included in backup", - "type": "array", - "items": { - "$ref": "#/definitions/DiskInformation" - } - }, - "excludedDiskList": { - "description": "Information of disks excluded from backup", - "type": "array", - "items": { - "$ref": "#/definitions/DiskInformation" - } - } - } - }, - "RecoveryPointResource": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPoint", - "description": "RecoveryPointResource properties" - } - } - }, - "RecoveryPointResourceList": { - "description": "List of RecoveryPoint resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPointResource" - } - } - } - }, - "RecoveryPointTierInformation": { - "description": "Recovery point tier information.", - "type": "object", - "properties": { - "type": { - "description": "Recovery point tier type.", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false - } - }, - "status": { - "description": "Recovery point tier status.", - "enum": [ - "Invalid", - "Valid", - "Disabled", - "Deleted" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierStatus", - "modelAsString": false - } - } - } - }, - "Resource": { - "description": "ARM Resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource Id represents the complete path to the resource.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource name associated with the resource.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", - "type": "string", - "readOnly": true - }, - "location": { - "description": "Resource location.", - "type": "string" - }, - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "eTag": { - "description": "Optional ETag.", - "type": "string" - } - }, - "x-ms-azure-resource": true - }, - "ResourceList": { - "description": "Base for all lists of resources.", - "type": "object", - "properties": { - "nextLink": { - "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", - "type": "string" - } - } - }, - "RestoreFileSpecs": { - "description": "Restore file specs like file path, type and target folder path info.", - "type": "object", - "properties": { - "path": { - "description": "Source File/Folder path", - "type": "string" - }, - "fileSpecType": { - "description": "Indicates what the Path variable stands for", - "type": "string" - }, - "targetFolderPath": { - "description": "Destination folder path in target FileShare", - "type": "string" - } - } - }, - "RestoreRequest": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "RestoreRequestResource": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RestoreRequest", - "description": "RestoreRequestResource properties" - } - } - }, - "RetentionDuration": { - "description": "Retention duration.", - "type": "object", - "properties": { - "count": { - "format": "int32", - "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", - "type": "integer" - }, - "durationType": { - "description": "Retention duration type of retention policy.", - "enum": [ - "Invalid", - "Days", - "Weeks", - "Months", - "Years" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionDurationType", - "modelAsString": true - } - } - } - }, - "RetentionPolicy": { - "description": "Base class for retention policy.", - "required": [ - "retentionPolicyType" - ], - "type": "object", - "properties": { - "retentionPolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "retentionPolicyType" - }, - "SchedulePolicy": { - "description": "Base class for backup schedule.", - "required": [ - "schedulePolicyType" - ], - "type": "object", - "properties": { - "schedulePolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "schedulePolicyType" - }, - "Settings": { - "description": "Common settings field for backup management", - "type": "object", - "properties": { - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - }, - "issqlcompression": { - "description": "SQL compression flag", - "type": "boolean" - }, - "isCompression": { - "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", - "type": "boolean" - } - } - }, - "SimpleRetentionPolicy": { - "description": "Simple policy retention.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - } - ], - "properties": { - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of the protection policy." - } - }, - "x-ms-discriminator-value": "SimpleRetentionPolicy" - }, - "SimpleSchedulePolicy": { - "description": "Simple policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "properties": { - "scheduleRunFrequency": { - "description": "Frequency of the schedule operation of this policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "ScheduleRunType", - "modelAsString": true - } - }, - "scheduleRunDays": { - "description": "List of days of week this schedule has to be run.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "scheduleWeeklyFrequency": { - "format": "int32", - "description": "At every number weeks this schedule has to be run.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "SimpleSchedulePolicy" - }, - "SubProtectionPolicy": { - "description": "Sub-protection policy which includes schedule and retention", - "type": "object", - "properties": { - "policyType": { - "description": "Type of backup policy type", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental" - ], - "type": "string", - "x-ms-enum": { - "name": "PolicyType", - "modelAsString": true - } - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - } - } - }, - "SQLDataDirectory": { - "description": "SQLDataDirectory info", - "type": "object", - "properties": { - "type": { - "description": "Type of data directory mapping", - "enum": [ - "Invalid", - "Data", - "Log" - ], - "type": "string", - "x-ms-enum": { - "name": "SQLDataDirectoryType", - "modelAsString": true - } - }, - "path": { - "description": "File path", - "type": "string" - }, - "logicalName": { - "description": "Logical name of the file", - "type": "string" - } - } - }, - "SQLDataDirectoryMapping": { - "description": "Encapsulates information regarding data directory", - "type": "object", - "properties": { - "mappingType": { - "description": "Type of data directory mapping", - "enum": [ - "Invalid", - "Data", - "Log" - ], - "type": "string", - "x-ms-enum": { - "name": "SQLDataDirectoryType", - "modelAsString": true - } - }, - "sourceLogicalName": { - "description": "Restore source logical name path", - "type": "string" - }, - "sourcePath": { - "description": "Restore source path", - "type": "string" - }, - "targetPath": { - "description": "Target path", - "type": "string" - } - } - }, - "TargetAFSRestoreInfo": { - "description": "Target Azure File Share Info.", - "type": "object", - "properties": { - "name": { - "description": "File share name", - "type": "string" - }, - "targetResourceId": { - "description": "Target file share resource ARM ID", - "type": "string" - } - } - }, - "TargetRestoreInfo": { - "description": "Details about target workload during restore operation.", - "type": "object", - "properties": { - "overwriteOption": { - "description": "Can Overwrite if Target DataBase already exists", - "enum": [ - "Invalid", - "FailOnConflict", - "Overwrite" - ], - "type": "string", - "x-ms-enum": { - "name": "OverwriteOptions", - "modelAsString": true - } - }, - "containerId": { - "description": "Resource Id name of the container in which Target DataBase resides", - "type": "string" - }, - "databaseName": { - "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", - "type": "string" - }, - "targetDirectoryForFileRestore": { - "description": "Target directory location for restore as files.", - "type": "string" - } - } - }, - "ValidateIaasVMRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ValidateRestoreOperationRequest" - } - ], - "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" - }, - "ValidateOperationRequest": { - "description": "Base class for validate operation request.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "ValidateOperationResponse": { - "description": "Base class for validate operation response.", - "type": "object", - "properties": { - "validationResults": { - "description": "Gets the validation result", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorDetail" - } - } - } - }, - "ValidateOperationsResponse": { - "type": "object", - "properties": { - "validateOperationResponse": { - "$ref": "#/definitions/ValidateOperationResponse" - } - } - }, - "ValidateRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ValidateOperationRequest" - } - ], - "properties": { - "restoreRequest": { - "$ref": "#/definitions/RestoreRequest", - "description": "Sets restore request to be validated" - } - }, - "x-ms-discriminator-value": "ValidateRestoreOperationRequest" - }, - "WeeklyRetentionFormat": { - "description": "Weekly retention format.", - "type": "object", - "properties": { - "daysOfTheWeek": { - "description": "List of days of the week.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "weeksOfTheMonth": { - "description": "List of weeks of month.", - "type": "array", - "items": { - "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "WeekOfMonth", - "modelAsString": false - } - } - } - } - }, - "WeeklyRetentionSchedule": { - "description": "Weekly retention schedule.", - "type": "object", - "properties": { - "daysOfTheWeek": { - "description": "List of days of week for weekly retention policy.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "YearlyRetentionSchedule": { - "description": "Yearly retention schedule.", - "type": "object", - "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format for yearly retention policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionScheduleFormat", - "modelAsString": true - } - }, - "monthsOfYear": { - "description": "List of months of year of yearly retention policy.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ], - "type": "string", - "x-ms-enum": { - "name": "MonthOfYear", - "modelAsString": false - } - } - }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for yearly retention policy." - }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for yearly retention policy." - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "VaultJob": { - "description": "Vault level Job", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], - "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" - }, - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/VaultJobErrorInfo" - } - }, - "extendedInfo": { - "$ref": "#/definitions/VaultJobExtendedInfo", - "description": "Additional information about the job." - } - }, - "x-ms-discriminator-value": "VaultJob" - }, - "VaultJobErrorInfo": { - "description": "Vault Job specific error information", - "type": "object", - "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer" - }, - "errorString": { - "description": "Localized error string.", - "type": "string" - }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "VaultJobExtendedInfo": { - "description": "Vault Job for CMK - has CMK specific info.", - "type": "object", - "properties": { - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "AzureBackupServerContainer": { - "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DpmContainer" - } - ], - "x-ms-discriminator-value": "AzureBackupServerContainer" - }, - "AzureBackupServerEngine": { - "description": "Backup engine type when Azure Backup Server is used to manage the backups.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupEngineBase" - } - ], - "x-ms-discriminator-value": "AzureBackupServerEngine" - }, - "AzureFileShareBackupRequest": { - "description": "AzureFileShare workload-specific backup request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } - ], - "properties": { - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureFileShareBackupRequest" - }, - "AzureFileShareProtectableItem": { - "description": "Protectable item for Azure Fileshare workloads.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadProtectableItem" - } - ], - "properties": { - "parentContainerFabricId": { - "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", - "type": "string" - }, - "parentContainerFriendlyName": { - "description": "Friendly name of container to which this protectable item belongs.", - "type": "string" - }, - "azureFileShareType": { - "description": "File Share type XSync or XSMB.", - "enum": [ - "Invalid", - "XSMB", - "XSync" - ], - "type": "string", - "x-ms-enum": { - "name": "AzureFileShareType", - "modelAsString": true - } - } - }, - "x-ms-discriminator-value": "AzureFileShare" - }, - "AzureFileShareProvisionILRRequest": { - "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ILRRequest" - } - ], - "properties": { - "recoveryPointId": { - "description": "Recovery point ID.", - "type": "string" - }, - "sourceResourceId": { - "description": "Source Storage account ARM Id", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" - }, - "AzureIaaSClassicComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMContainer" - } - ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" - }, - "AzureIaaSClassicComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMProtectableItem" - } - ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" - }, - "AzureIaaSComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMContainer" - } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "AzureIaaSComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMProtectableItem" - } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "AzureSQLAGWorkloadContainerProtectionContainer": { - "description": "Container for SQL workloads under SQL Availability Group.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadContainer" - } - ], - "x-ms-discriminator-value": "SQLAGWorkLoadContainer" - }, - "AzureSqlContainer": { - "description": "Azure Sql workload-specific container.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], - "x-ms-discriminator-value": "AzureSqlContainer" - }, - "AzureStorageContainer": { - "description": "Azure Storage Account workload-specific container.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], - "properties": { - "sourceResourceId": { - "description": "Fully qualified ARM url.", - "type": "string" - }, - "storageAccountVersion": { - "description": "Storage account version.", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group name of Recovery Services Vault.", - "type": "string" - }, - "protectedItemCount": { - "format": "int64", - "description": "Number of items backed up in this container.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "StorageContainer" - }, - "AzureStorageProtectableContainer": { - "description": "Azure Storage-specific protectable containers", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectableContainer" - } - ], - "x-ms-discriminator-value": "StorageContainer" - }, - "AzureVMAppContainerProtectableContainer": { - "description": "Azure workload-specific container", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectableContainer" - } - ], - "x-ms-discriminator-value": "VMAppContainer" - }, - "AzureVMAppContainerProtectionContainer": { - "description": "Container for SQL workloads under Azure Virtual Machines.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadContainer" - } - ], - "x-ms-discriminator-value": "VMAppContainer" - }, - "AzureVmWorkloadItem": { - "description": "Azure VM workload-specific workload item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadItem" - } - ], - "properties": { - "parentName": { - "description": "Name for instance or AG", - "type": "string" - }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", - "type": "string" - }, - "isAutoProtectable": { - "description": "Indicates if workload item is auto-protectable", - "type": "boolean" - }, - "subinquireditemcount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's present", - "type": "integer" - }, - "subWorkloadItemCount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected", - "type": "integer" - } - }, - "x-ms-discriminator-value": "AzureVmWorkloadItem" - }, - "AzureVmWorkloadProtectableItem": { - "description": "Azure VM workload-specific protectable item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadProtectableItem" - } - ], - "properties": { - "parentName": { - "description": "Name for instance or AG", - "type": "string" - }, - "parentUniqueName": { - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\r\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG.", - "type": "string" - }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", - "type": "string" - }, - "isAutoProtectable": { - "description": "Indicates if protectable item is auto-protectable", - "type": "boolean" - }, - "isAutoProtected": { - "description": "Indicates if protectable item is auto-protected", - "type": "boolean" - }, - "subinquireditemcount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's present", - "type": "integer" - }, - "subprotectableitemcount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected", - "type": "integer" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - } - }, - "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" - }, - "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP ASE Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" - } - ], - "x-ms-discriminator-value": "SAPAseDatabase" - }, - "AzureVmWorkloadSAPAseSystemProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP ASE System.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" - } - ], - "x-ms-discriminator-value": "SAPAseSystem" - }, - "AzureVmWorkloadSAPAseSystemWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP ASE System.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" - } - ], - "x-ms-discriminator-value": "SAPAseSystem" - }, - "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" - } - ], - "x-ms-discriminator-value": "SAPHanaDatabase" - }, - "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP HANA Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" - } - ], - "x-ms-discriminator-value": "SAPHanaDatabase" - }, - "AzureVmWorkloadSAPHanaSystemProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP HANA System.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" - } - ], - "x-ms-discriminator-value": "SAPHanaSystem" - }, - "AzureVmWorkloadSAPHanaSystemWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP HANA System.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" - } - ], - "x-ms-discriminator-value": "SAPHanaSystem" - }, - "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" - } - ], - "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" - }, - "AzureVmWorkloadSQLDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" - } - ], - "x-ms-discriminator-value": "SQLDataBase" - }, - "AzureVmWorkloadSQLDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SQL Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" - } - ], - "x-ms-discriminator-value": "SQLDataBase" - }, - "AzureVmWorkloadSQLInstanceProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Instance.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" - } - ], - "x-ms-discriminator-value": "SQLInstance" - }, - "AzureVmWorkloadSQLInstanceWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SQL Instance.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" - } - ], - "properties": { - "dataDirectoryPaths": { - "description": "Data Directory Paths for default directories", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectory" - } - } - }, - "x-ms-discriminator-value": "SQLInstance" - }, - "AzureWorkloadBackupRequest": { - "description": "AzureWorkload workload-specific backup request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } - ], - "properties": { - "backupType": { - "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental" - ], - "type": "string", - "x-ms-enum": { - "name": "backupType", - "modelAsString": true - } - }, - "enableCompression": { - "description": "Bool for Compression setting", - "type": "boolean" - }, - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadBackupRequest" - }, - "AzureWorkloadContainer": { - "description": "Container for the workloads running inside Azure Compute or Classic Compute.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], - "properties": { - "sourceResourceId": { - "description": "ARM ID of the virtual machine represented by this Azure Workload Container", - "type": "string" - }, - "lastUpdatedTime": { - "format": "date-time", - "description": "Time stamp when this container was updated.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", - "description": "Additional details of a workload container." - }, - "workloadType": { - "description": "Workload type for which registration was sent.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "operationType": { - "description": "Re-Do Operation", - "enum": [ - "Invalid", - "Register", - "Reregister" - ], - "type": "string", - "x-ms-enum": { - "name": "OperationType", - "modelAsString": true - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadContainer" - }, - "AzureWorkloadContainerExtendedInfo": { - "description": "Extended information of the container.", - "type": "object", - "properties": { - "hostServerName": { - "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container.", - "type": "string" - }, - "inquiryInfo": { - "$ref": "#/definitions/InquiryInfo", - "description": "Inquiry Status for the container." - }, - "nodesList": { - "description": "List of the nodes in case of distributed container.", - "type": "array", - "items": { - "$ref": "#/definitions/DistributedNodesInfo" - } - } - } - }, - "BackupEngineBase": { - "description": "The base backup engine class. All workload specific backup engines derive from this class.", - "type": "object", - "required": [ - "backupEngineType" - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the backup engine.", - "type": "string" - }, - "backupManagementType": { - "description": "Type of backup management for the backup engine.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "registrationStatus": { - "description": "Registration status of the backup engine with the Recovery Services Vault.", - "type": "string" - }, - "backupEngineState": { - "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}", - "type": "string" - }, - "healthStatus": { - "description": "Backup status of the backup engine.", - "type": "string" - }, - "backupEngineType": { - "description": "Type of the backup engine.", - "enum": [ - "Invalid", - "DpmBackupEngine", - "AzureBackupServerEngine" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupEngineType", - "modelAsString": true - } - }, - "canReRegister": { - "description": "Flag indicating if the backup engine be registered, once already registered.", - "type": "boolean" - }, - "backupEngineId": { - "description": "ID of the backup engine.", - "type": "string" - }, - "dpmVersion": { - "description": "Backup engine version", - "type": "string" - }, - "azureBackupAgentVersion": { - "description": "Backup agent version", - "type": "string" - }, - "isAzureBackupAgentUpgradeAvailable": { - "description": "To check if backup agent upgrade available", - "type": "boolean" - }, - "isDpmUpgradeAvailable": { - "description": "To check if backup engine upgrade available", - "type": "boolean" - }, - "extendedInfo": { - "$ref": "#/definitions/BackupEngineExtendedInfo", - "description": "Extended info of the backupengine" - } - }, - "discriminator": "backupEngineType" - }, - "BackupEngineBaseResource": { - "description": "The base backup engine class. All workload specific backup engines derive from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BackupEngineBase", - "description": "BackupEngineBaseResource properties" - } - } - }, - "BackupEngineBaseResourceList": { - "description": "List of BackupEngineBase resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/BackupEngineBaseResource" - } - } - } - }, - "BackupEngineExtendedInfo": { - "description": "Additional information on backup engine.", - "type": "object", - "properties": { - "databaseName": { - "description": "Database name of backup engine.", - "type": "string" - }, - "protectedItemsCount": { - "format": "int32", - "description": "Number of protected items in the backup engine.", - "type": "integer" - }, - "protectedServersCount": { - "format": "int32", - "description": "Number of protected servers in the backup engine.", - "type": "integer" - }, - "diskCount": { - "format": "int32", - "description": "Number of disks in the backup engine.", - "type": "integer" - }, - "usedDiskSpace": { - "format": "double", - "description": "Disk space used in the backup engine.", - "type": "number" - }, - "availableDiskSpace": { - "format": "double", - "description": "Disk space currently available in the backup engine.", - "type": "number" - }, - "refreshedAt": { - "format": "date-time", - "description": "Last refresh time in the backup engine.", - "type": "string" - }, - "azureProtectedInstances": { - "format": "int32", - "description": "Protected instances in the backup engine.", - "type": "integer" - } - } - }, - "BackupRequest": { - "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "BackupRequestResource": { - "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BackupRequest", - "description": "BackupRequestResource properties" - } - } - }, - "BMSBackupEngineQueryObject": { - "description": "Query parameters to fetch list of backup engines.", - "type": "object", - "properties": { - "expand": { - "description": "attribute to add extended info", - "type": "string" - } - } - }, - "BMSBackupEnginesQueryObject": { - "description": "Query parameters to fetch list of backup engines.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for the backup engine.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "friendlyName": { - "description": "Friendly name of the backup engine.", - "type": "string" - }, - "expand": { - "description": "Attribute to add extended info.", - "type": "string" - } - } - }, - "BMSContainerQueryObject": { - "description": "The query filters that can be used with the list containers API.", - "required": [ - "backupManagementType" - ], - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for this container.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "containerType": { - "description": "Type of container for filter", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter", - "VMAppContainer", - "SQLAGWorkLoadContainer", - "StorageContainer", - "GenericContainer" - ], - "type": "string", - "x-ms-enum": { - "name": "ContainerType", - "modelAsString": true - } - }, - "backupEngineName": { - "description": "Backup engine name", - "type": "string" - }, - "fabricName": { - "description": "Fabric name for filter", - "type": "string" - }, - "status": { - "description": "Status of registration of this container with the Recovery Services Vault.", - "type": "string" - }, - "friendlyName": { - "description": "Friendly name of this container.", - "type": "string" - } - } - }, - "BMSContainersInquiryQueryObject": { - "description": "The query filters that can be used with the inquire container API.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for this container.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Workload type for this container.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - } - } - }, - "BMSPOQueryObject": { - "description": "Filters to list items that can be backed up.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureSql", - "AzureBackupServer", - "AzureWorkload", - "AzureStorage", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Workload type", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "containerName": { - "description": "Full name of the container whose Protectable Objects should be returned.", - "type": "string" - }, - "status": { - "description": "Backup status query parameter.", - "type": "string" - }, - "friendlyName": { - "description": "Friendly name.", - "type": "string" - } - } - }, - "BMSRefreshContainersQueryObject": { - "description": "The query filters that can be used with the refresh container API.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for this container.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - } - } - }, - "BMSWorkloadItemQueryObject": { - "description": "Filters to list items that can be backed up.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureSql", - "AzureBackupServer", - "AzureWorkload", - "AzureStorage", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "workloadItemType": { - "description": "Workload Item type", - "enum": [ - "Invalid", - "SQLInstance", - "SQLDataBase", - "SAPHanaSystem", - "SAPHanaDatabase", - "SAPAseSystem", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadItemType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Workload type", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "protectionStatus": { - "description": "Backup status query parameter.", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true - } - } - } - }, - "ClientScriptForConnect": { - "description": "Client script details for file / folder restore.", - "type": "object", - "properties": { - "scriptContent": { - "description": "File content of the client script for file / folder restore.", - "type": "string" - }, - "scriptExtension": { - "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", - "type": "string" - }, - "osType": { - "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", - "type": "string" - }, - "url": { - "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", - "type": "string" - }, - "scriptNameSuffix": { - "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", - "type": "string" - } - } - }, - "ContainerIdentityInfo": { - "description": "Container identity information", - "type": "object", - "properties": { - "uniqueName": { - "description": "Unique name of the container", - "type": "string" - }, - "aadTenantId": { - "description": "Protection container identity - AAD Tenant", - "type": "string" - }, - "servicePrincipalClientId": { - "description": "Protection container identity - AAD Service Principal", - "type": "string" - }, - "audience": { - "description": "Protection container identity - Audience", - "type": "string" - } - } - }, - "DistributedNodesInfo": { - "description": "This is used to represent the various nodes of the distributed container.", - "type": "object", - "properties": { - "nodeName": { - "description": "Name of the node under a distributed container.", - "type": "string" - }, - "status": { - "description": "Status of this Node.\r\nFailed | Succeeded", - "type": "string" - }, - "errorDetail": { - "$ref": "#/definitions/ErrorDetail", - "description": "Error Details if the Status is non-success." - } - } - }, - "DpmBackupEngine": { - "description": "Data Protection Manager (DPM) specific backup engine.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupEngineBase" - } - ], - "x-ms-discriminator-value": "DpmBackupEngine" - }, - "DpmContainer": { - "description": "DPM workload-specific protection container.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], - "properties": { - "canReRegister": { - "description": "Specifies whether the container is re-registrable.", - "type": "boolean" - }, - "containerId": { - "description": "ID of container.", - "type": "string" - }, - "protectedItemCount": { - "format": "int64", - "description": "Number of protected items in the BackupEngine", - "type": "integer" - }, - "dpmAgentVersion": { - "description": "Backup engine Agent version", - "type": "string" - }, - "dpmServers": { - "description": "List of BackupEngines protecting the container", - "type": "array", - "items": { - "type": "string" - } - }, - "upgradeAvailable": { - "description": "To check if upgrade available", - "type": "boolean" - }, - "protectionStatus": { - "description": "Protection status of the container.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/DPMContainerExtendedInfo", - "description": "Extended Info of the container." - } - }, - "x-ms-discriminator-value": "DPMContainer" - }, - "DPMContainerExtendedInfo": { - "description": "Additional information of the DPMContainer.", - "type": "object", - "properties": { - "lastRefreshedAt": { - "format": "date-time", - "description": "Last refresh time of the DPMContainer.", - "type": "string" - } - } - }, - "GenericContainer": { - "description": "Base class for generic container of backup items", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], - "properties": { - "fabricName": { - "description": "Name of the container's fabric", - "type": "string" - }, - "extendedInformation": { - "$ref": "#/definitions/GenericContainerExtendedInfo", - "description": "Extended information (not returned in List container API calls)" - } - }, - "x-ms-discriminator-value": "GenericContainer" - }, - "GenericContainerExtendedInfo": { - "description": "Container extended information", - "type": "object", - "properties": { - "rawCertData": { - "description": "Public key of container cert", - "type": "string" - }, - "containerIdentityInfo": { - "$ref": "#/definitions/ContainerIdentityInfo", - "description": "Container identity information" - }, - "serviceEndpoints": { - "description": "Azure Backup Service Endpoints for the container", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "IaasVMBackupRequest": { - "description": "IaaS VM workload-specific backup request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } - ], - "properties": { - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" - } - }, - "x-ms-discriminator-value": "IaasVMBackupRequest" - }, - "IaaSVMContainer": { - "description": "IaaS VM workload-specific container.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], - "properties": { - "virtualMachineId": { - "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.", - "type": "string" - }, - "virtualMachineVersion": { - "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group name of Recovery Services Vault.", - "type": "string" - } - }, - "x-ms-discriminator-value": "IaaSVMContainer" - }, - "IaasVMILRRegistrationRequest": { - "description": "Restore files/folders from a backup copy of IaaS VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ILRRequest" - } - ], - "properties": { - "recoveryPointId": { - "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.", - "type": "string" - }, - "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.", - "type": "string" - }, - "initiatorName": { - "description": "iSCSI initiator name.", - "type": "string" - }, - "renewExistingRegistration": { - "description": "Whether to renew existing registration with the iSCSI server.", - "type": "boolean" - } - }, - "x-ms-discriminator-value": "IaasVMILRRegistrationRequest" - }, - "IaaSVMProtectableItem": { - "description": "IaaS VM workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadProtectableItem" - } - ], - "properties": { - "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine.", - "type": "string" - } - }, - "x-ms-discriminator-value": "IaaSVMProtectableItem" - }, - "ILRRequest": { - "description": "Parameters to Provision ILR API.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "ILRRequestResource": { - "description": "Parameters to Provision ILR API.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ILRRequest", - "description": "ILRRequestResource properties" - } - } - }, - "InquiryInfo": { - "description": "Details about inquired protectable items under a given container.", - "type": "object", - "properties": { - "status": { - "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded", - "type": "string" - }, - "errorDetail": { - "$ref": "#/definitions/ErrorDetail", - "description": "Error Details if the Status is non-success." - }, - "inquiryDetails": { - "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details.", - "type": "array", - "items": { - "$ref": "#/definitions/WorkloadInquiryDetails" - } - } - } - }, - "InquiryValidation": { - "description": "Validation for inquired protectable items under a given container.", - "type": "object", - "properties": { - "status": { - "description": "Status for the Inquiry Validation.", - "type": "string" - }, - "errorDetail": { - "$ref": "#/definitions/ErrorDetail", - "description": "Error Detail in case the status is non-success." - }, - "additionalDetail": { - "description": "Error Additional Detail in case the status is non-success.", - "type": "string", - "readOnly": true - } - } - }, - "InstantItemRecoveryTarget": { - "description": "Target details for file / folder restore.", - "type": "object", - "properties": { - "clientScripts": { - "description": "List of client scripts.", - "type": "array", - "items": { - "$ref": "#/definitions/ClientScriptForConnect" - } - } - } - }, - "MabContainer": { - "description": "Container with items backed up using MAB backup engine.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], - "properties": { - "canReRegister": { - "description": "Can the container be registered one more time.", - "type": "boolean" - }, - "containerId": { - "format": "int64", - "description": "ContainerID represents the container.", - "type": "integer" - }, - "protectedItemCount": { - "format": "int64", - "description": "Number of items backed up in this container.", - "type": "integer" - }, - "agentVersion": { - "description": "Agent version of this container.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/MabContainerExtendedInfo", - "description": "Additional information for this container" - }, - "mabContainerHealthDetails": { - "description": "Health details on this mab container.", - "type": "array", - "items": { - "$ref": "#/definitions/MABContainerHealthDetails" - } - }, - "containerHealthState": { - "description": "Health state of mab container.", - "type": "string" - } - }, - "x-ms-discriminator-value": "Windows" - }, - "MabContainerExtendedInfo": { - "description": "Additional information of the container.", - "type": "object", - "properties": { - "lastRefreshedAt": { - "format": "date-time", - "description": "Time stamp when this container was refreshed.", - "type": "string" - }, - "backupItemType": { - "description": "Type of backup items associated with this container.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupItemType", - "modelAsString": true - } - }, - "backupItems": { - "description": "List of backup items associated with this container.", - "type": "array", - "items": { - "type": "string" - } - }, - "policyName": { - "description": "Backup policy associated with this container.", - "type": "string" - }, - "lastBackupStatus": { - "description": "Latest backup status of this container.", - "type": "string" - } - } - }, - "MABContainerHealthDetails": { - "description": "MAB workload-specific Health Details.", - "type": "object", - "properties": { - "code": { - "format": "int32", - "description": "Health Code", - "type": "integer" - }, - "title": { - "description": "Health Title", - "type": "string" - }, - "message": { - "description": "Health Message", - "type": "string" - }, - "recommendations": { - "description": "Health Recommended Actions", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "OperationStatus": { - "description": "Operation status.", - "type": "object", - "properties": { - "id": { - "description": "ID of the operation.", - "type": "string" - }, - "name": { - "description": "Name of the operation.", - "type": "string" - }, - "status": { - "description": "Operation status.", - "enum": [ - "Invalid", - "InProgress", - "Succeeded", - "Failed", - "Canceled" - ], - "type": "string", - "x-ms-enum": { - "name": "OperationStatusValues", - "modelAsString": true - } - }, - "startTime": { - "format": "date-time", - "description": "Operation start time. Format: ISO-8601.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "Operation end time. Format: ISO-8601.", - "type": "string" - }, - "error": { - "$ref": "#/definitions/OperationStatusError", - "description": "Error information related to this operation." - }, - "properties": { - "$ref": "#/definitions/OperationStatusExtendedInfo", - "description": "Additional information associated with this operation." - } - } - }, - "OperationStatusError": { - "description": "Error information associated with operation status call.", - "type": "object", - "properties": { - "code": { - "description": "Error code of the operation failure.", - "type": "string" - }, - "message": { - "description": "Error message displayed if the operation failure.", - "type": "string" - } - } - }, - "OperationStatusExtendedInfo": { - "description": "Base class for additional information of operation status.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "OperationStatusJobExtendedInfo": { - "description": "Operation status job extended info.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationStatusExtendedInfo" - } - ], - "properties": { - "jobId": { - "description": "ID of the job created for this protected item.", - "type": "string" - } - }, - "x-ms-discriminator-value": "OperationStatusJobExtendedInfo" - }, - "OperationStatusJobsExtendedInfo": { - "description": "Operation status extended info for list of jobs.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationStatusExtendedInfo" - } + "VaultStorageConfigOperationResultResponse": { + "description": "Operation result response for Vault Storage Config", + "required": [ + "objectType" ], - "properties": { - "jobIds": { - "description": "IDs of the jobs created for the protected item.", - "type": "array", - "items": { - "type": "string" - } - }, - "failedJobsError": { - "description": "Stores all the failed jobs along with the corresponding error codes.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo" - }, - "OperationStatusProvisionILRExtendedInfo": { - "description": "Operation status extended info for ILR provision action.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationStatusExtendedInfo" - } - ], "properties": { - "recoveryTarget": { - "$ref": "#/definitions/InstantItemRecoveryTarget", - "description": "Target details for file / folder restore." + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" } }, - "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" + "discriminator": "objectType" }, - "PreBackupValidation": { - "description": "Pre-backup validation for Azure VM Workload provider.", + "PrepareDataMoveRequest": { + "description": "Prepare DataMove Request", + "required": [ + "targetResourceId", + "targetRegion", + "dataMoveLevel" + ], "type": "object", "properties": { - "status": { - "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed", - "enum": [ - "Invalid", - "Success", - "Failed" - ], - "type": "string", - "x-ms-enum": { - "name": "InquiryStatus", - "modelAsString": true - } - }, - "code": { - "description": "Error code of protectable item", + "targetResourceId": { + "description": "ARM Id of target vault", "type": "string" }, - "message": { - "description": "Message corresponding to the error code for the protectable item", - "type": "string" - } - } - }, - "ProtectableContainer": { - "description": "Protectable Container Class.", - "type": "object", - "required": [ - "protectableContainerType" - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the container.", + "targetRegion": { + "description": "Target Region", "type": "string" }, - "backupManagementType": { - "description": "Type of backup management for the container.", + "dataMoveLevel": { + "description": "DataMove Level", "enum": [ "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" + "Vault", + "Container" ], "type": "string", "x-ms-enum": { - "name": "BackupManagementType", + "name": "DataMoveLevel", "modelAsString": true } }, - "protectableContainerType": { - "description": "Type of the container. The value of this property for\r\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter", - "VMAppContainer", - "SQLAGWorkLoadContainer", - "StorageContainer", - "GenericContainer" - ], - "type": "string", - "readOnly": false, - "x-ms-enum": { - "name": "ContainerType", - "modelAsString": false - } - }, - "healthStatus": { - "description": "Status of health of the container.", - "type": "string" - }, - "containerId": { - "description": "Fabric Id of the container such as ARM Id.", - "type": "string" - } - }, - "discriminator": "protectableContainerType" - }, - "ProtectableContainerResource": { - "description": "Protectable Container Class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectableContainer", - "description": "ProtectableContainerResource properties" - } - } - }, - "ProtectableContainerResourceList": { - "description": "List of ProtectableContainer resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", + "sourceContainerArmIds": { + "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", "type": "array", "items": { - "$ref": "#/definitions/ProtectableContainerResource" - } - } - } - }, - "ProtectionContainer": { - "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", - "type": "object", - "required": [ - "containerType" - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the container.", - "type": "string" - }, - "backupManagementType": { - "description": "Type of backup management for the container.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true + "type": "string" } }, - "registrationStatus": { - "description": "Status of registration of the container with the Recovery Services Vault.", - "type": "string" - }, - "healthStatus": { - "description": "Status of health of the container.", - "type": "string" - }, - "containerType": { - "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\nBackup is VMAppContainer", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter", - "VMAppContainer", - "SQLAGWorkLoadContainer", - "StorageContainer", - "GenericContainer" - ], - "type": "string", - "x-ms-enum": { - "name": "ContainerType", - "modelAsString": true - } - } - }, - "discriminator": "containerType" - }, - "ProtectionContainerResource": { - "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionContainer", - "description": "ProtectionContainerResource properties" + "ignoreMoved": { + "description": "Ignore the artifacts which are already moved.", + "type": "boolean" } } }, - "ProtectionContainerResourceList": { - "description": "List of ProtectionContainer resources", + "PrepareDataMoveResponse": { + "description": "Prepare DataMove Response", "type": "object", "allOf": [ { - "$ref": "#/definitions/ResourceList" + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" } ], "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionContainerResource" - } - } - } - }, - "TokenInformation": { - "description": "The token information details.", - "type": "object", - "properties": { - "token": { - "description": "Token value.", - "type": "string" - }, - "expiryTimeInUtcTicks": { - "format": "int64", - "description": "Expiry time of token.", - "type": "integer" - }, - "securityPIN": { - "description": "Security PIN", - "type": "string" - } - } - }, - "WorkloadInquiryDetails": { - "description": "Details of an inquired protectable item.", - "type": "object", - "properties": { - "type": { - "description": "Type of the Workload such as SQL, Oracle etc.", + "correlationId": { + "description": "Co-relationId for move operation", "type": "string" }, - "itemCount": { - "format": "int64", - "description": "Contains the protectable item Count inside this Container.", - "type": "integer" - }, - "inquiryValidation": { - "$ref": "#/definitions/InquiryValidation", - "description": "Inquiry validation such as permissions and other backup validations." + "sourceVaultProperties": { + "description": "Source Vault Properties", + "type": "object", + "additionalProperties": { + "type": "string" + } } - } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" }, - "WorkloadItem": { - "description": "Base class for backup item. Workload-specific backup items are derived from this class.", - "type": "object", + "TriggerDataMoveRequest": { + "description": "Trigger DataMove Request", "required": [ - "workloadItemType" + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" ], + "type": "object", "properties": { - "backupManagementType": { - "description": "Type of backup management to backup an item.", - "type": "string" - }, - "workloadType": { - "description": "Type of workload for the backup management", - "type": "string" - }, - "workloadItemType": { - "description": "Type of the backup item.", + "sourceResourceId": { + "description": "ARM Id of source vault", "type": "string" }, - "friendlyName": { - "description": "Friendly name of the backup item.", + "sourceRegion": { + "description": "Source Region", "type": "string" }, - "protectionState": { - "description": "State of the back up item.", + "dataMoveLevel": { + "description": "DataMove Level", "enum": [ "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" + "Vault", + "Container" ], "type": "string", "x-ms-enum": { - "name": "ProtectionStatus", + "name": "DataMoveLevel", "modelAsString": true } - } - }, - "discriminator": "workloadItemType" - }, - "WorkloadItemResource": { - "description": "Base class for backup item. Workload-specific backup items are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/WorkloadItem", - "description": "WorkloadItemResource properties" - } - } - }, - "WorkloadItemResourceList": { - "description": "List of WorkloadItem resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/WorkloadItemResource" - } - } - } - }, - "WorkloadProtectableItem": { - "description": "Base class for backup item. Workload-specific backup items are derived from this class.", - "type": "object", - "required": [ - "protectableItemType" - ], - "properties": { - "backupManagementType": { - "description": "Type of backup management to backup an item.", - "type": "string" - }, - "workloadType": { - "description": "Type of workload for the backup management", - "type": "string" - }, - "protectableItemType": { - "description": "Type of the backup item.", - "type": "string" }, - "friendlyName": { - "description": "Friendly name of the backup item.", + "correlationId": { + "description": "Correlation Id", "type": "string" }, - "protectionState": { - "description": "State of the back up item.", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true - } - } - }, - "discriminator": "protectableItemType" - }, - "WorkloadProtectableItemResource": { - "description": "Base class for backup item. Workload-specific backup items are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/WorkloadProtectableItem", - "description": "WorkloadProtectableItemResource properties" - } - } - }, - "WorkloadProtectableItemResourceList": { - "description": "List of WorkloadProtectableItem resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", + "sourceContainerArmIds": { + "description": "Source Container ArmIds", "type": "array", "items": { - "$ref": "#/definitions/WorkloadProtectableItemResource" + "type": "string" } + }, + "pauseGC": { + "description": "Pause GC", + "type": "boolean" } } } }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "description": "The subscription Id.", - "required": true, - "type": "string" - }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group where the recovery services vault is present.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "VaultName": { - "name": "vaultName", - "in": "path", - "description": "The name of the recovery services 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" - ] + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services 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/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupPolicies_List.json deleted file mode 100644 index fc2c06ed00d7..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupPolicies_List.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2019-06-15", - "$filter": "backupManagementType eq 'AzureIaasVM'" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", - "name": "DefaultPolicy", - "type": "Microsoft.RecoveryServices/vaults/backupPolicies", - "properties": { - "backupManagementType": "AzureIaasVM", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Daily", - "scheduleRunTimes": [ - "2017-12-05T19:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2017-12-05T19:00:00Z" - ], - "retentionDuration": { - "count": 30, - "durationType": "Days" - } - } - }, - "protectedItemsCount": 0 - } - }, - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", - "name": "testPolicy1", - "type": "Microsoft.RecoveryServices/vaults/backupPolicies", - "properties": { - "backupManagementType": "AzureIaasVM", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Daily", - "scheduleRunTimes": [ - "2018-01-24T02:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 - } - } - ] - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectableItems_List.json deleted file mode 100644 index f957d314a41c..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectableItems_List.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2016-06-01", - "$filter": "backupManagementType eq 'AzureIaasVM'" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems", - "properties": { - "friendlyName": "iaasvm-1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "protectionState": "NotProtected", - "protectableItemType": "Microsoft.ClassicCompute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM" - } - } - ] - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json deleted file mode 100644 index 0af1a5e2d311..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2019-06-15", - "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", - "properties": { - "friendlyName": "iaasvm-1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "protectionStatus": "Healthy", - "protectionState": "Protected", - "healthStatus": "Passed", - "lastBackupStatus": "Completed", - "lastBackupTime": "2018-01-22T12:25:32.048723Z", - "protectedItemDataId": "636482643132986882", - "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" - } - } - ] - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json deleted file mode 100644 index 58e625cad181..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", - "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", - "properties": { - "friendlyName": "iaasvm-1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "protectionStatus": "Healthy", - "protectionState": "Protected", - "healthStatus": "Passed", - "lastBackupStatus": "Completed", - "lastBackupTime": "2018-01-22T12:25:32.048723Z", - "protectedItemDataId": "636482643132986882", - "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json deleted file mode 100644 index df420bf905a1..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", - "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", - "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", - "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", - "properties": { - "friendlyName": "iaasvm-1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", - "protectionStatus": "Healthy", - "protectionState": "Protected", - "healthStatus": "Passed", - "lastBackupStatus": "Completed", - "lastBackupTime": "2018-01-22T12:25:32.048723Z", - "protectedItemDataId": "636482643132986882", - "protectedItemType": "Microsoft.Compute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ConfigureProtection.json deleted file mode 100644 index c65d24a58868..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ConfigureProtection.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "api-version": "2019-06-15", - "parameters": { - "properties": { - "protectedItemType": "Microsoft.Compute/virtualMachines", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy" - } - } - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, - "200": { - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", - "properties": { - "friendlyName": "netvmtestv2vm1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "protectionStatus": "Healthy", - "protectionState": "Protected", - "healthStatus": "Passed", - "lastBackupStatus": "Completed", - "lastBackupTime": "2018-01-22T12:25:32.048723Z", - "protectedItemDataId": "636482643132986882", - "protectedItemType": "Microsoft.Compute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": null - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationResults.json deleted file mode 100644 index 620fc00b0474..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationResults.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2019-06-15" - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, - "200": { - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", - "properties": { - "friendlyName": "netvmtestv2vm1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "protectionStatus": "Healthy", - "protectionState": "Protected", - "healthStatus": "Passed", - "lastBackupStatus": "Completed", - "lastBackupTime": "2018-01-22T12:25:32.048723Z", - "protectedItemDataId": "636482643132986882", - "protectedItemType": "Microsoft.Compute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": null - } - } - }, - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json deleted file mode 100644 index 4ef26836f0d7..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2020-07-01" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "00000000-0000-0000-0000-000000000000", - "name": "00000000-0000-0000-0000-000000000000", - "status": "Succeeded", - "startTime": "2017-10-29T06:04:18.207325Z", - "endTime": "2017-10-29T06:04:18.207325Z", - "properties": { - "objectType": "OperationStatusJobExtendedInfo", - "jobId": "00000000-0000-0000-0000-000000000000" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json deleted file mode 100644 index 36299ea1fe2f..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", - "api-version": "2019-06-15", - "parameters": { - "properties": { - "backupManagementType": "AzureIaasVM", - "timeZone": "Pacific Standard Time", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleRunDays": [ - "Monday", - "Wednesday", - "Thursday" - ] - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "weeklySchedule": { - "daysOfTheWeek": [ - "Monday", - "Wednesday", - "Thursday" - ], - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Weeks" - } - }, - "monthlySchedule": { - "retentionScheduleFormatType": "Weekly", - "retentionScheduleWeekly": { - "daysOfTheWeek": [ - "Wednesday", - "Thursday" - ], - "weeksOfTheMonth": [ - "First", - "Third" - ] - }, - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 2, - "durationType": "Months" - } - }, - "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", - "monthsOfYear": [ - "February", - "November" - ], - "retentionScheduleWeekly": { - "daysOfTheWeek": [ - "Monday", - "Thursday" - ], - "weeksOfTheMonth": [ - "Fourth" - ] - }, - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 4, - "durationType": "Years" - } - } - } - } - } - }, - "responses": { - "200": { - "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", - "name": "testPolicy1", - "type": "Microsoft.RecoveryServices/vaults/backupPolicies", - "properties": { - "backupManagementType": "AzureIaasVM", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunDays": [ - "Monday", - "Wednesday", - "Thursday" - ], - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "weeklySchedule": { - "daysOfTheWeek": [ - "Monday", - "Wednesday", - "Thursday" - ], - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Weeks" - } - }, - "monthlySchedule": { - "retentionScheduleFormatType": "Weekly", - "retentionScheduleWeekly": { - "daysOfTheWeek": [ - "Wednesday", - "Thursday" - ], - "weeksOfTheMonth": [ - "First", - "Third" - ] - }, - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 2, - "durationType": "Months" - } - }, - "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", - "monthsOfYear": [ - "February", - "November" - ], - "retentionScheduleWeekly": { - "daysOfTheWeek": [ - "Monday", - "Thursday" - ], - "weeksOfTheMonth": [ - "Fourth" - ] - }, - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 4, - "durationType": "Years" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 - } - } - }, - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json deleted file mode 100644 index df749edb0f33..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", - "api-version": "2019-06-15", - "parameters": { - "properties": { - "backupManagementType": "AzureIaasVM", - "timeZone": "Pacific Standard Time", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Daily", - "scheduleRunTimes": [ - "2018-01-24T02:00:00Z" - ] - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - } - } - } - }, - "responses": { - "200": { - "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", - "name": "testPolicy1", - "type": "Microsoft.RecoveryServices/vaults/backupPolicies", - "properties": { - "backupManagementType": "AzureIaasVM", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Daily", - "scheduleRunTimes": [ - "2018-01-24T02:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 - } - } - }, - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json deleted file mode 100644 index 809778be7611..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", - "api-version": "2016-06-01" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Get.json deleted file mode 100644 index d6e9dd3d37bf..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicies_Get.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", - "name": "testPolicy1", - "type": "Microsoft.RecoveryServices/vaults/backupPolicies", - "properties": { - "backupManagementType": "AzureIaasVM", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Daily", - "scheduleRunTimes": [ - "2018-01-24T02:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json deleted file mode 100644 index 341db335ac37..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", - "name": "testPolicy1", - "type": "Microsoft.RecoveryServices/vaults/backupPolicies", - "properties": { - "backupManagementType": "AzureIaasVM", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Daily", - "scheduleRunTimes": [ - "2018-01-24T02:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 1 - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json deleted file mode 100644 index 3cd3573517ad..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2020-07-01" - }, - "responses": { - "200": { - "body": { - "id": "00000000-0000-0000-0000-000000000000", - "name": "GetProtectionPolicyOperationStatus", - "status": "Succeeded", - "startTime": "2018-01-24T12:57:32.1142968Z", - "endTime": "2018-01-24T12:57:32.1142968Z", - "properties": { - "objectType": "OperationStatusJobsExtendedInfo", - "jobIds": [ - "00000000-0000-0000-0000-000000000000" - ], - "failedJobsError": {} - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Provision_Ilr.json deleted file mode 100644 index f184b739339f..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Provision_Ilr.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", - "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "recoveryPointId": "1", - "api-version": "2016-12-01", - "parameters": { - "properties": { - "initiatorName": "Hello World", - "recoveryPointId": "38823086363464", - "renewExistingRegistration": true, - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1", - "objectType": "IaasVMILRRegistrationRequest" - } - } - }, - "responses": { - "202": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_Get.json deleted file mode 100644 index c09b0da2e36a..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_Get.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rshhtestmdvmrg", - "vaultName": "rshvault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", - "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", - "recoveryPointId": "26083826328862", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862", - "name": "26083826328862", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", - "properties": { - "objectType": "IaasVMRecoveryPoint", - "recoveryPointType": "CrashConsistent", - "recoveryPointTime": "2017-11-22T22:32:46.6088472Z", - "recoveryPointAdditionalInfo": "", - "sourceVMStorageType": "NormalStorage", - "isSourceVMEncrypted": false, - "isInstantIlrSessionActive": false, - "recoveryPointTierDetails": [ - { - "type": "HardenedRP", - "status": "Valid" - } - ], - "isManagedVirtualMachine": true, - "virtualMachineSize": "Standard_D1", - "originalStorageAccountOption": false - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_List.json deleted file mode 100644 index c7def4baf6ef..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/RecoveryPoints_List.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rshhtestmdvmrg", - "vaultName": "rshvault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", - "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", - "name": "22244821112382", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", - "properties": { - "objectType": "IaasVMRecoveryPoint", - "recoveryPointType": "CrashConsistent", - "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", - "recoveryPointAdditionalInfo": "", - "sourceVMStorageType": "NormalStorage", - "isSourceVMEncrypted": false, - "isInstantIlrSessionActive": false, - "recoveryPointTierDetails": [ - { - "type": "InstantRP", - "status": "Valid" - }, - { - "type": "HardenedRP", - "status": "Valid" - } - ], - "isManagedVirtualMachine": true, - "virtualMachineSize": "Standard_D1", - "originalStorageAccountOption": false - } - }, - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", - "name": "24977149827250", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", - "properties": { - "objectType": "IaasVMRecoveryPoint", - "recoveryPointType": "CrashConsistent", - "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", - "recoveryPointAdditionalInfo": "", - "sourceVMStorageType": "NormalStorage", - "isSourceVMEncrypted": false, - "isInstantIlrSessionActive": false, - "recoveryPointTierDetails": [ - { - "type": "InstantRP", - "status": "Valid" - }, - { - "type": "HardenedRP", - "status": "Valid" - } - ], - "isManagedVirtualMachine": true, - "virtualMachineSize": "Standard_D1", - "originalStorageAccountOption": false - } - } - ], - "nextLink": null - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Revoke_Ilr.json deleted file mode 100644 index 361695d6835d..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/Revoke_Ilr.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", - "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "recoveryPointId": "1", - "api-version": "2016-12-01" - }, - "responses": { - "202": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/StopProtection.json deleted file mode 100644 index 0b1bc6aa3b27..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/StopProtection.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "api-version": "2019-06-15", - "parameters": { - "properties": { - "protectedItemType": "Microsoft.Compute/virtualMachines", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "protectionState": "ProtectionStopped" - } - } - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, - "200": { - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", - "properties": { - "friendlyName": "netvmtestv2vm1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "protectionStatus": "Healthy", - "protectionState": "ProtectionStopped", - "healthStatus": "Passed", - "lastBackupStatus": "Completed", - "lastBackupTime": "2018-01-22T12:25:32.048723Z", - "protectedItemDataId": "636482643132986882", - "protectedItemType": "Microsoft.Compute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": null - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_ALR.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_ALR.json deleted file mode 100644 index 79ce11e4796c..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_ALR.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", - "api-version": "2019-06-15", - "parameters": { - "properties": { - "objectType": "IaasVMRestoreRequest", - "recoveryPointId": "348916168024334", - "recoveryType": "AlternateLocation", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", - "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", - "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", - "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", - "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", - "region": "southeastasia", - "createNewCloudService": false, - "originalStorageAccountOption": false, - "encryptionDetails": { - "encryptionEnabled": false - } - } - } - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json deleted file mode 100644 index e3319fdfb201..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", - "api-version": "2019-06-15", - "parameters": { - "properties": { - "objectType": "IaasVMRestoreRequest", - "recoveryPointId": "348916168024334", - "recoveryType": "RestoreDisks", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", - "region": "southeastasia", - "createNewCloudService": true, - "originalStorageAccountOption": false, - "encryptionDetails": { - "encryptionEnabled": false - } - } - } - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json deleted file mode 100644 index 5c9c915685f5..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRG", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", - "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", - "recoveryPointId": "348916168024334", - "api-version": "2019-06-15", - "parameters": { - "objectType": "ValidateIaasVMRestoreOperationRequest", - "restoreRequest": { - "recoveryPointId": "348916168024334", - "objectType": "IaasVMRestoreRequest", - "recoveryType": "RestoreDisks", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", - "region": "southeastasia", - "createNewCloudService": true, - "originalStorageAccountOption": false, - "encryptionDetails": { - "encryptionEnabled": false - } - } - } - }, - "responses": { - "200": { - "headers": {}, - "body": { - "validateOperationResponse": { - "validationResults": [ - { - "code": "UserErrorCoreCountSubscriptionQuotaReached", - "message": "Core Count subscription quota has been reached.", - "recommendations": [ - "Contact Azure support to increase the limits." - ] - } - ] - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectableContainers_List.json deleted file mode 100644 index e03c72c7ee72..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectableContainers_List.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "testvault", - "fabricName": "Azure", - "api-version": "2017-07-01", - "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage", - "name": "StorageContainer;storage;test-rg;testst", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", - "properties": { - "friendlyName": "teststorage", - "backupManagementType": "AzureStorage", - "protectableContainerType": "StorageContainer", - "healthStatus": "Healthy", - "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage" - } - }, - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage", - "name": "StorageContainer;ClassicStorage;test-rg;teststorage", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", - "properties": { - "friendlyName": "teststorage", - "backupManagementType": "AzureStorage", - "protectableContainerType": "StorageContainer", - "healthStatus": "Healthy", - "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage" - } - } - ] - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire.json deleted file mode 100644 index 1c0898755cd2..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "test-rg", - "vaultName": "testvault", - "fabricName": "Azure", - "containerName": "storagecontainer;Storage;test-rg;teststorage", - "api-version": "2017-07-01" - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json deleted file mode 100644 index 074c4bf1a5f1..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "test-rg", - "vaultName": "testvault", - "fabricName": "Azure", - "containerName": "VMAppContainer;Compute;testRG;testSQL", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2017-07-01" - }, - "responses": { - "204": {}, - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Retry-After": 60 - } - }, - "200": { - "body": { - "name": "VMAppContainer;Compute;testRG;testSQL", - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", - "properties": { - "extendedInfo": { - "hostServerName": "testsql", - "nodesList": [], - "inquiryInfo": { - "status": "Success", - "errorDetail": { - "code": "Success", - "message": "Not Available", - "recommendations": [ - "Not Available" - ] - }, - "inquiryDetails": [ - { - "type": "sql", - "itemCount": 14, - "inquiryValidation": { - "status": "Success", - "errorDetail": { - "code": "Success", - "message": "Not Available", - "recommendations": [ - "Not Available" - ] - } - } - } - ] - } - }, - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", - "backupManagementType": "AzureWorkload", - "workloadType": null, - "containerType": "VMAppContainer", - "friendlyName": "testSQL" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_List.json deleted file mode 100644 index adb110557936..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_List.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "testVault", - "api-version": "2016-12-01", - "fabricName": "Azure", - "$filter": "backupManagementType eq 'AzureWorkload'" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", - "name": "StorageContainer;Storage;testrg;suchandrtestsa125", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", - "properties": { - "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125", - "protectedItemCount": 2, - "friendlyName": "suchandrtestsa125", - "backupManagementType": "AzureStorage", - "registrationStatus": "Registered", - "healthStatus": "Healthy", - "containerType": "StorageContainer" - } - } - ] - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Register.json deleted file mode 100644 index f56939720aff..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureStorage/ProtectionContainers_Register.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "test-rg", - "vaultName": "testvault", - "fabricName": "Azure", - "containerName": "VMAppContainer;Compute;testRG;testSQL", - "api-version": "2017-07-01", - "parameters": { - "properties": { - "friendlyName": "testSQL", - "backupManagementType": "AzureWorkload", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", - "containerType": "VMAppContainer" - } - } - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Retry-After": 60 - } - }, - "200": { - "body": { - "name": "VMAppContainer;Compute;testRG;testSQL", - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", - "properties": { - "extendedInfo": { - "hostServerName": "testsql", - "nodesList": [], - "inquiryInfo": { - "status": "Success", - "errorDetail": { - "code": "Success", - "message": "Not Available", - "recommendations": [ - "Not Available" - ] - }, - "inquiryDetails": [ - { - "type": "sql", - "itemCount": 14, - "inquiryValidation": { - "status": "Success", - "errorDetail": { - "code": "Success", - "message": "Not Available", - "recommendations": [ - "Not Available" - ] - } - } - } - ] - } - }, - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", - "backupManagementType": "AzureWorkload", - "workloadType": null, - "containerType": "VMAppContainer", - "friendlyName": "testSQL" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupPolicies_List.json deleted file mode 100644 index 345704199d42..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupPolicies_List.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2019-06-15", - "$filter": "backupManagementType eq 'AzureWorkload'" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup", - "name": "HourlyLogBackup", - "type": "Microsoft.RecoveryServices/vaults/backupPolicies", - "properties": { - "backupManagementType": "AzureWorkload", - "workLoadType": "SQLDataBase", - "settings": { - "timeZone": "UTC", - "issqlcompression": false - }, - "subProtectionPolicy": [ - { - "policyType": "Full", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Daily", - "scheduleRunTimes": [ - "2017-12-05T19:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2017-12-05T19:00:00Z" - ], - "retentionDuration": { - "count": 30, - "durationType": "Days" - } - } - } - }, - { - "policyType": "Log", - "schedulePolicy": { - "schedulePolicyType": "LogSchedulePolicy", - "scheduleFrequencyInMins": 60 - }, - "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", - "retentionDuration": { - "count": 30, - "durationType": "Days" - } - } - } - ], - "protectedItemsCount": 0 - } - } - ] - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupWorkloadItems_List.json deleted file mode 100644 index 66f28ba90ac9..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/BackupWorkloadItems_List.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "suchandr-seacan-rsv", - "api-version": "2016-12-01", - "$filter": "backupManagementType eq 'AzureWorkload'", - "fabricName": "Azure", - "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER", - "name": "SQLInstance;MSSQLSERVER", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items", - "properties": { - "dataDirectoryPaths": [ - { - "type": "Data", - "path": "F:\\DATA\\" - }, - { - "type": "Log", - "path": "F:\\LOG\\" - } - ], - "parentName": "MSSQLSERVER", - "serverName": "sqlserver-1.contoso.com", - "isAutoProtectable": true, - "subinquireditemcount": 0, - "subWorkloadItemCount": 3, - "backupManagementType": "AzureWorkload", - "workloadType": "SQL", - "workloadItemType": "SQLInstance", - "friendlyName": "MSSQLSERVER", - "protectionState": "NotProtected" - } - } - ], - "nextLink": null - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Get.json deleted file mode 100644 index 4c0b7aefd524..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Get.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "VMAppContainer;Compute;testRG;testSQL", - "api-version": "2016-12-01", - "$filter": "backupManagementType eq 'AzureWorkload'" - }, - "responses": { - "200": { - "body": { - "name": "VMAppContainer;Compute;testRG;testSQL", - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", - "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", - "properties": { - "extendedInfo": { - "hostServerName": "testsql", - "nodesList": [], - "inquiryInfo": { - "status": "Success", - "errorDetail": { - "code": "Success", - "message": "Not Available", - "recommendations": [ - "Not Available" - ] - }, - "inquiryDetails": [ - { - "type": "sql", - "itemCount": 14, - "inquiryValidation": { - "status": "Success", - "errorDetail": { - "code": "Success", - "message": "Not Available", - "recommendations": [ - "Not Available" - ] - } - } - } - ] - } - }, - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", - "backupManagementType": "AzureWorkload", - "workloadType": null, - "containerType": "VMAppContainer", - "friendlyName": "testSQL" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Unregister.json deleted file mode 100644 index e32f407ea56e..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionContainers_Unregister.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "testVault", - "api-version": "2016-12-01", - "fabricName": "Azure", - "containerName": "storagecontainer;Storage;test-rg;teststorage" - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Retry-After": 60 - } - }, - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json deleted file mode 100644 index df49995d8d60..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json +++ /dev/null @@ -1,260 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", - "api-version": "2019-06-15", - "parameters": { - "properties": { - "backupManagementType": "AzureWorkload", - "workLoadType": "SQLDataBase", - "settings": { - "timeZone": "Pacific Standard Time", - "issqlcompression": false - }, - "subProtectionPolicy": [ - { - "policyType": "Full", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleRunDays": [ - "Sunday", - "Tuesday" - ] - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday", - "Tuesday" - ], - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 2, - "durationType": "Weeks" - } - }, - "monthlySchedule": { - "retentionScheduleFormatType": "Weekly", - "retentionScheduleWeekly": { - "daysOfTheWeek": [ - "Sunday" - ], - "weeksOfTheMonth": [ - "Second" - ] - }, - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Months" - } - }, - "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", - "monthsOfYear": [ - "January", - "June", - "December" - ], - "retentionScheduleWeekly": { - "daysOfTheWeek": [ - "Sunday" - ], - "weeksOfTheMonth": [ - "Last" - ] - }, - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Years" - } - } - } - }, - { - "policyType": "Differential", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleRunDays": [ - "Friday" - ] - }, - "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", - "retentionDuration": { - "count": 8, - "durationType": "Days" - } - } - }, - { - "policyType": "Log", - "schedulePolicy": { - "schedulePolicyType": "LogSchedulePolicy", - "scheduleFrequencyInMins": 60 - }, - "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", - "retentionDuration": { - "count": 7, - "durationType": "Days" - } - } - } - ] - } - } - }, - "responses": { - "200": { - "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", - "name": "testPolicy1", - "type": "Microsoft.RecoveryServices/vaults/backupPolicies", - "properties": { - "backupManagementType": "AzureWorkload", - "workLoadType": "SQLDataBase", - "settings": { - "timeZone": "Pacific Standard Time", - "issqlcompression": false - }, - "subProtectionPolicy": [ - { - "policyType": "Full", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunDays": [ - "Sunday", - "Tuesday" - ], - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday", - "Tuesday" - ], - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 2, - "durationType": "Weeks" - } - }, - "monthlySchedule": { - "retentionScheduleFormatType": "Weekly", - "retentionScheduleWeekly": { - "daysOfTheWeek": [ - "Sunday" - ], - "weeksOfTheMonth": [ - "Second" - ] - }, - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Months" - } - }, - "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", - "monthsOfYear": [ - "January", - "June", - "December" - ], - "retentionScheduleWeekly": { - "daysOfTheWeek": [ - "Sunday" - ], - "weeksOfTheMonth": [ - "Last" - ] - }, - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Years" - } - } - } - }, - { - "policyType": "Differential", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunDays": [ - "Friday" - ], - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", - "retentionDuration": { - "count": 8, - "durationType": "Days" - } - } - }, - { - "policyType": "Log", - "schedulePolicy": { - "schedulePolicyType": "LogSchedulePolicy", - "scheduleFrequencyInMins": 60 - }, - "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", - "retentionDuration": { - "count": 7, - "durationType": "Days" - } - } - } - ], - "protectedItemsCount": 0 - } - } - }, - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json deleted file mode 100644 index f0a6200ec052..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/BackupSecurityPin_Get.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "SwaggerTest", - "api-version": "2016-12-01" - }, - "responses": { - "200": { - "body": { - "token": "200432", - "expiryTimeInUtcTicks": 636495150137443121, - "securityPIN": "200432" - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/CancelJobOperationResult.json deleted file mode 100644 index 63e435e0db8e..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/CancelJobOperationResult.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "jobName": "00000000-0000-0000-0000-000000000000", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2019-06-15" - }, - "responses": { - "204": {}, - "200": {}, - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ExportJobsOperationResult.json deleted file mode 100644 index d7e737fcd04c..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ExportJobsOperationResult.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "operation": { - "objectType": "ExportJobsOperationResultInfo", - "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000", - "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r" - }, - "headers": {} - } - }, - "202": { - "headers": { - "Retry-After": 60, - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" - }, - "body": { - "operation": { - "objectType": "ExportJobsOperationResultInfo" - }, - "headers": { - "Location": [ - "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" - ], - "Retry-After": [ - "60" - ] - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/GetJobDetails.json deleted file mode 100644 index 077f4bb9c7f0..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/GetJobDetails.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "jobName": "00000000-0000-0000-0000-000000000000", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", - "name": "00000000-0000-0000-0000-000000000000", - "type": "Microsoft.RecoveryServices/vaults/backupJobs", - "properties": { - "jobType": "AzureIaaSVMJob", - "duration": "PT9.8782791S", - "virtualMachineVersion": "Compute", - "extendedInfo": { - "tasksList": [ - { - "taskId": "Take Snapshot", - "duration": "PT0S", - "status": "InProgress" - }, - { - "taskId": "Transfer data to vault", - "duration": "PT0S", - "status": "NotStarted" - } - ], - "propertyBag": { - "VM Name": "testvm" - } - }, - "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", - "operation": "Backup", - "status": "InProgress", - "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "00000000-0000-0000-0000-000000000000" - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobs.json deleted file mode 100644 index 0f138a87eba8..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobs.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2019-06-15" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", - "name": "00000000-0000-0000-0000-000000000000", - "type": "Microsoft.RecoveryServices/vaults/backupJobs", - "properties": { - "jobType": "AzureIaaSVMJob", - "duration": "PT12.4272909S", - "virtualMachineVersion": "Compute", - "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", - "operation": "Backup", - "status": "InProgress", - "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "00000000-0000-0000-0000-000000000000" - } - }, - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", - "name": "00000000-0000-0000-0000-000000000000", - "type": "Microsoft.RecoveryServices/vaults/backupJobs", - "properties": { - "jobType": "AzureIaaSVMJob", - "duration": "PT31.3066291S", - "virtualMachineVersion": "Compute", - "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", - "operation": "ConfigureBackup", - "status": "Completed", - "startTime": "2017-08-03T05:30:32.4487085Z", - "endTime": "2017-08-03T05:31:03.7553376Z", - "activityId": "00000000-0000-0000-0000-000000000000" - } - } - ] - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithAllSupportedFilters.json deleted file mode 100644 index fd04c044c41f..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithAllSupportedFilters.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2019-06-15", - "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", - "name": "00000000-0000-0000-0000-000000000000", - "type": "Microsoft.RecoveryServices/vaults/backupJobs", - "properties": { - "jobType": "AzureIaaSVMJob", - "duration": "PT12.4272909S", - "virtualMachineVersion": "Compute", - "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", - "operation": "Backup", - "status": "InProgress", - "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "00000000-0000-0000-0000-000000000000" - } - } - ] - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json deleted file mode 100644 index 1f1aa1a63914..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2019-06-15", - "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", - "name": "00000000-0000-0000-0000-000000000000", - "type": "Microsoft.RecoveryServices/vaults/backupJobs", - "properties": { - "jobType": "AzureIaaSVMJob", - "duration": "PT12.4272909S", - "virtualMachineVersion": "Compute", - "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", - "operation": "Backup", - "status": "InProgress", - "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "00000000-0000-0000-0000-000000000000" - } - }, - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", - "name": "00000000-0000-0000-0000-000000000000", - "type": "Microsoft.RecoveryServices/vaults/backupJobs", - "properties": { - "jobType": "AzureIaaSVMJob", - "duration": "PT31.3066291S", - "virtualMachineVersion": "Compute", - "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", - "operation": "ConfigureBackup", - "status": "Completed", - "startTime": "2017-08-03T05:30:32.4487085Z", - "endTime": "2017-08-03T05:31:03.7553376Z", - "activityId": "00000000-0000-0000-0000-000000000000" - } - } - ], - "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e" - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete.json deleted file mode 100644 index 52ba8dabefe8..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", - "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "api-version": "2019-06-15" - }, - "responses": { - "202": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json deleted file mode 100644 index abbe8bfacdc7..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationResult.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-12-01" - }, - "responses": { - "202": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, - "200": {}, - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json deleted file mode 100644 index 4c4d58e3bba0..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/ProtectedItem_Delete_OperationStatus.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-12-01" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "00000000-0000-0000-0000-000000000000", - "name": "00000000-0000-0000-0000-000000000000", - "status": "InProgress", - "startTime": "2017-08-03T06:52:53.886027Z", - "endTime": "0001-01-01T00:00:00.00000Z" - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json deleted file mode 100644 index 351b670503d0..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", - "api-version": "2016-12-01" - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json deleted file mode 100644 index 21bbcb775742..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/RefreshContainers_OperationResults.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-12-01" - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json deleted file mode 100644 index 95043e6b4da5..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerBackup_Post.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "linuxRsVaultRG", - "vaultName": "linuxRsVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", - "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", - "api-version": "2016-12-01", - "parameters": { - "properties": { - "objectType": "IaasVMBackupRequest" - } - } - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerCancelJob.json deleted file mode 100644 index 43df73675bc5..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerCancelJob.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "jobName": "00000000-0000-0000-0000-000000000000", - "api-version": "2019-06-15" - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerExportJobs.json deleted file mode 100644 index 229adf3c239a..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Common/TriggerExportJobs.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2019-06-15" - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_Get.json deleted file mode 100644 index fad29f7158b0..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_Get.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRG", - "vaultName": "testVault", - "backupEngineName": "testServer", - "api-version": "2016-12-01" - }, - "responses": { - "200": { - "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer", - "name": "testServer", - "type": "Microsoft.RecoveryServices/vaults/backupEngines", - "properties": { - "backupEngineType": "DpmBackupEngine", - "dpmVersion": "5.1.348.0", - "isDpmUpgradeAvailable": false, - "azureBackupAgentVersion": "2.0.9532.0", - "isAzureBackupAgentUpgradeAvailable": false, - "registrationStatus": "Registered", - "backupEngineState": "Active", - "friendlyName": "testServer", - "extendedInfo": { - "protectedItemsCount": 35, - "protectedServersCount": 21, - "diskCount": 5, - "availableDiskSpace": 50, - "usedDiskSpace": 20 - } - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_List.json deleted file mode 100644 index a75e9709e14b..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/Dpm/BackupEngines_List.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRG", - "vaultName": "testVault", - "api-version": "2016-12-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1", - "name": "testServer1", - "type": "Microsoft.RecoveryServices/vaults/backupEngines", - "properties": { - "backupEngineType": "DpmBackupEngine", - "dpmVersion": "5.1.348.0", - "isDpmUpgradeAvailable": false, - "azureBackupAgentVersion": "2.0.9532.0", - "isAzureBackupAgentUpgradeAvailable": false, - "registrationStatus": "Registered", - "backupEngineState": "Active", - "friendlyName": "testServer1", - "extendedInfo": { - "protectedItemsCount": 35, - "protectedServersCount": 21, - "diskCount": 5, - "availableDiskSpace": 50, - "usedDiskSpace": 20 - } - } - }, - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5", - "name": "testServer5", - "type": "Microsoft.RecoveryServices/vaults/backupEngines", - "properties": { - "backupEngineType": "DpmBackupEngine", - "dpmVersion": "5.1.348.0", - "isDpmUpgradeAvailable": false, - "azureBackupAgentVersion": "2.0.9530.0", - "isAzureBackupAgentUpgradeAvailable": false, - "registrationStatus": "Registered", - "backupEngineState": "Active", - "friendlyName": "testServer5", - "extendedInfo": { - "protectedItemsCount": 35, - "protectedServersCount": 21, - "diskCount": 5, - "availableDiskSpace": 50, - "usedDiskSpace": 20 - } - } - } - ] - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json deleted file mode 100644 index afce2b84d2c8..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "vaultName": "gaallavaultbvtd2msi", - "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", - "api-version": "2020-02-02" - }, - "responses": { - "200": {}, - "202": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", - "Retry-After": "60" - } - }, - "204": {} - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json deleted file mode 100644 index 45dee7c44bcc..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "vaultName": "gaallavaultbvtd2msi", - "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", - "api-version": "2020-02-02" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", - "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", - "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", - "properties": { - "provisioningState": "Pending", - "privateEndpoint": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" - }, - "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Approved by johndoe@company.com" - } - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json deleted file mode 100644 index f91c1f9849d3..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", - "vaultName": "gaallavaultbvtd2msi", - "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", - "api-version": "2020-02-02" - }, - "responses": { - "200": { - "body": { - "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", - "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", - "status": "Succeeded", - "startTime": "2020-02-27T11:59:47.5901592Z", - "endTime": "2020-02-27T11:59:47.5901592Z" - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json deleted file mode 100644 index 2e8c586ecd08..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "vaultName": "gaallavaultbvtd2msi", - "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", - "api-version": "2020-02-02", - "parameters": { - "properties": { - "provisioningState": "Succeeded", - "privateEndpoint": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" - }, - "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Approved by johndoe@company.com" - } - } - } - }, - "responses": { - "201": { - "body": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", - "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", - "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", - "properties": { - "provisioningState": "Pending", - "privateEndpoint": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" - }, - "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Approved by johndoe@company.com" - } - } - }, - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", - "Retry-After": "60" - } - }, - "200": { - "body": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", - "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", - "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", - "properties": { - "provisioningState": "Succeeded", - "privateEndpoint": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" - }, - "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Approved by johndoe@company.com" - } - } - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 3d08a1b85bb2..87d628725eba 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -52,8 +52,11 @@ These settings apply only when `--tag=package-2020-07` is specified on the comma ``` yaml $(tag) == 'package-2020-07' input-file: - Microsoft.RecoveryServices/stable/2020-07-01/bms.json +- Microsoft.RecoveryServices/stable/2020-02-02/bms.json +- Microsoft.RecoveryServices/stable/2019-06-15/bms.json - Microsoft.RecoveryServices/stable/2018-12-20/bms.json - Microsoft.RecoveryServices/stable/2017-07-01/bms.json +- Microsoft.RecoveryServices/stable/2016-12-01/bms.json - Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` From 1ff27db95f22e212059c29c5a0df6b07217698a6 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Tue, 17 Nov 2020 13:12:18 +0530 Subject: [PATCH 15/17] Update --- .../recoveryservicesbackup/resource-manager/readme.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 87d628725eba..3d08a1b85bb2 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -52,11 +52,8 @@ These settings apply only when `--tag=package-2020-07` is specified on the comma ``` yaml $(tag) == 'package-2020-07' input-file: - Microsoft.RecoveryServices/stable/2020-07-01/bms.json -- Microsoft.RecoveryServices/stable/2020-02-02/bms.json -- Microsoft.RecoveryServices/stable/2019-06-15/bms.json - Microsoft.RecoveryServices/stable/2018-12-20/bms.json - Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-12-01/bms.json - Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` From 16c5b3ab3ad501e0acf4527825b0786ae51bb3d7 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Tue, 17 Nov 2020 13:44:13 +0530 Subject: [PATCH 16/17] Update --- .../Microsoft.RecoveryServices/stable/2018-12-20/bms.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index ebe088eef402..fde3f5b81ad9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -2249,6 +2249,9 @@ }, "CrrAccessToken": { "type": "object", + "required": [ + "objectType" + ], "properties": { "objectType": { "description": "Type of the specific object - used for deserializing", From fb51938e82c54fe038f7b7fdb912c2374e72e360 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Fri, 27 Nov 2020 12:03:02 +0530 Subject: [PATCH 17/17] Fixing prettier --- .../stable/2018-12-20/bms.json | 112 +++++++++--------- .../AzureIaasVm/GetAccessToken_Get.json | 3 +- .../examples/AzureIaasVm/GetCrrJob_Post.json | 6 +- .../AzureIaasVm/ListCrrJobs_Post.json | 4 +- .../TriggerCrossRegionRestore_Post.json | 76 ++++++------ 5 files changed, 100 insertions(+), 101 deletions(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json index fde3f5b81ad9..66fcf1cd106a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/bms.json @@ -4142,62 +4142,62 @@ "x-ms-discriminator-value": "WorkloadCrrAccessToken" } }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "description": "The subscription Id.", - "required": true, - "type": "string" - }, - "AzureRegion": { - "name": "azureRegion", - "in": "path", - "description": "Azure region to hit Api", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "description": "Client Api Version.", - "required": true, - "type": "string" - }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group where the recovery services vault is present.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "VaultName": { - "description": "The name of the recovery services vault.", - "in": "path", - "name": "vaultName", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - } + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "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." - } - } + "AzureRegion": { + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "description": "The name of the recovery services vault.", + "in": "path", + "name": "vaultName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json index 4832df83440c..bedda70ca471 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetAccessToken_Get.json @@ -44,7 +44,6 @@ } } }, - "400": { - } + "400": {} } } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json index 78db0be83003..dbd66a894a11 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/GetCrrJob_Post.json @@ -4,9 +4,9 @@ "azureRegion": "southeastasia", "api-version": "2018-12-20", "parameters": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", - "jobName": "02585cc9-d7f4-4b46-860c-14c048cce178" - } + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "jobName": "02585cc9-d7f4-4b46-860c-14c048cce178" + } }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json index 7d6c525ea8c7..a5931d3fee4c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/ListCrrJobs_Post.json @@ -4,8 +4,8 @@ "azureRegion": "southeastasia", "api-version": "2018-12-20", "parameters": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", - "jobName": "02585cc9-d7f4-4b46-860c-14c048cce178" + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "jobName": "02585cc9-d7f4-4b46-860c-14c048cce178" } }, "responses": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json index d915489f6ad1..ea31f675cf4d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2018-12-20/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json @@ -4,46 +4,46 @@ "azureRegion": "southeastasia", "api-version": "2018-12-20", "parameters": { - "crossRegionRestoreAccessDetails": { - "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhqaUJHdVExa2lWV2hyc2lzLUhEckhyWVZNbyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiIzM2UwMTkyMS00ZDY0LTRmOGMtYTA1NS01YmRhZmZkNWUzM2QiLCJBYWRTUE9iamVjdElkIjoiOTMzMjc2ZmMtMWJiNy00ZWNiLTk0ZTYtYWY3ODMyNWY3MjZhIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMTMzMDgzNzkwNjQxODEzODE2MC9wcm90ZWN0aW9uQ29udGFpbmVycy8xMTE0Ni9wcm90ZWN0ZWRJdGVtcy8xMTQyOTM3MDMxL3JlY292ZXJ5UG9pbnRzLzg3MTc4MzU1MzkyNzE2IiwiaXNzIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2UiLCJhdWQiOiJodHRwczovL1JlY292ZXJ5U2VydmljZXMvUHJvdGVjdGlvblNlcnZpY2UiLCJleHAiOjE1NzExMjE5ODYsIm5iZiI6MTU3MTAzNTI4Nn0.oNbeX8ueE6JRGU0IagFjkOlU-o48ez9gCeCrn1-8XEsaVtYJIFKq9FeHfPAoCMxiLQvwL7S0JTjDTjiEsZEvr_VM7tDVwW3sESo2oW-SZlxT_1dJiUBn0jVlQyfDcHEMzbkaTuZswgNWfowgOrnJ67y-ztSUcegf3eVKPEhN1enBBS7pIuL9bZ3SVwMuqznUen6dH54y9lN2w6H14X0UK2CwSN94Uh-spB27j9SbksxLY_tyZm6xsamZFTHpwbgZwR24-GDtElPSxpFL6n_tWLSCHQtN9s84o0X7PfFaMkVmGWbOf4AZmP9M6agagG0JLnlOwObr07YrzZRkg3s2eQ", - "backupManagementType": "AzureIaasVM", - "containerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux", - "containerType": "IaasVMContainer", - "coordinatorServiceStampUri": "https://pod01-coord1.ccy.backup.windowsazure.com", - "datasourceContainerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux", - "datasourceId": "1142937031", - "datasourceName": "sriniccylinux", - "datasourceType": "VM", - "protectionServiceStampId": "90d98224-2ac6-4bda-9f35-33fb22841f2a", - "protectionServiceStampUri": "https://pod01-prot1-int.ccy.backup.windowsazure.com", - "recoveryPointId": "87178355392716", - "recoveryPointTime": "10/9/2019 6:05:54 PM", - "resourceGroupName": "srinivasccyrg", - "resourceId": "1330837906418138160", - "resourceName": "sriniccyvault", - "subscriptionId": "f2edfd5d-5496-4683-b94f-b3588c579009", - "tokenExtendedInformation": "V2015_09f2edfd5d-5496-4683-b94f-b3588c579009;AzureBackup_sriniccylinux_1142937031;AzureBackup_20191009_060554;AzureBackupRG_centraluseuap_1truetruefalseLinuxFileSystemConsistentPremiumVMOnPremiumStorageStandard_D2s_v3" + "crossRegionRestoreAccessDetails": { + "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhqaUJHdVExa2lWV2hyc2lzLUhEckhyWVZNbyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiIzM2UwMTkyMS00ZDY0LTRmOGMtYTA1NS01YmRhZmZkNWUzM2QiLCJBYWRTUE9iamVjdElkIjoiOTMzMjc2ZmMtMWJiNy00ZWNiLTk0ZTYtYWY3ODMyNWY3MjZhIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMTMzMDgzNzkwNjQxODEzODE2MC9wcm90ZWN0aW9uQ29udGFpbmVycy8xMTE0Ni9wcm90ZWN0ZWRJdGVtcy8xMTQyOTM3MDMxL3JlY292ZXJ5UG9pbnRzLzg3MTc4MzU1MzkyNzE2IiwiaXNzIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2UiLCJhdWQiOiJodHRwczovL1JlY292ZXJ5U2VydmljZXMvUHJvdGVjdGlvblNlcnZpY2UiLCJleHAiOjE1NzExMjE5ODYsIm5iZiI6MTU3MTAzNTI4Nn0.oNbeX8ueE6JRGU0IagFjkOlU-o48ez9gCeCrn1-8XEsaVtYJIFKq9FeHfPAoCMxiLQvwL7S0JTjDTjiEsZEvr_VM7tDVwW3sESo2oW-SZlxT_1dJiUBn0jVlQyfDcHEMzbkaTuZswgNWfowgOrnJ67y-ztSUcegf3eVKPEhN1enBBS7pIuL9bZ3SVwMuqznUen6dH54y9lN2w6H14X0UK2CwSN94Uh-spB27j9SbksxLY_tyZm6xsamZFTHpwbgZwR24-GDtElPSxpFL6n_tWLSCHQtN9s84o0X7PfFaMkVmGWbOf4AZmP9M6agagG0JLnlOwObr07YrzZRkg3s2eQ", + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux", + "containerType": "IaasVMContainer", + "coordinatorServiceStampUri": "https://pod01-coord1.ccy.backup.windowsazure.com", + "datasourceContainerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux", + "datasourceId": "1142937031", + "datasourceName": "sriniccylinux", + "datasourceType": "VM", + "protectionServiceStampId": "90d98224-2ac6-4bda-9f35-33fb22841f2a", + "protectionServiceStampUri": "https://pod01-prot1-int.ccy.backup.windowsazure.com", + "recoveryPointId": "87178355392716", + "recoveryPointTime": "10/9/2019 6:05:54 PM", + "resourceGroupName": "srinivasccyrg", + "resourceId": "1330837906418138160", + "resourceName": "sriniccyvault", + "subscriptionId": "f2edfd5d-5496-4683-b94f-b3588c579009", + "tokenExtendedInformation": "V2015_09f2edfd5d-5496-4683-b94f-b3588c579009;AzureBackup_sriniccylinux_1142937031;AzureBackup_20191009_060554;AzureBackupRG_centraluseuap_1truetruefalseLinuxFileSystemConsistentPremiumVMOnPremiumStorageStandard_D2s_v3" + }, + "restoreRequest": { + "affinityGroup": "", + "createNewCloudService": false, + "encryptionDetails": { + "encryptionEnabled": false }, - "restoreRequest": { - "affinityGroup": "", - "createNewCloudService": false, - "encryptionDetails": { - "encryptionEnabled": false - }, - "objectType": "IaasVMRestoreRequest", - "originalStorageAccountOption": false, - "recoveryPointId": "87178355392716", - "recoveryType": "AlternateLocation", - "region": "eastus2euap", - "sourceResourceId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/srinivasccyrg/providers/Microsoft.Compute/virtualMachines/sriniccylinux", - "storageAccountId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00prjaiTestRg1/providers/Microsoft.Storage/storageAccounts/00prjaitestrg1disks993", - "subnetId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet/subnets/default", - "targetDomainNameId": null, - "targetResourceGroupId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl", - "targetVirtualMachineId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl/providers/Microsoft.Compute/virtualMachines/gaallaVM", - "virtualNetworkId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet" - } + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "87178355392716", + "recoveryType": "AlternateLocation", + "region": "eastus2euap", + "sourceResourceId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/srinivasccyrg/providers/Microsoft.Compute/virtualMachines/sriniccylinux", + "storageAccountId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00prjaiTestRg1/providers/Microsoft.Storage/storageAccounts/00prjaitestrg1disks993", + "subnetId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet/subnets/default", + "targetDomainNameId": null, + "targetResourceGroupId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl", + "targetVirtualMachineId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl/providers/Microsoft.Compute/virtualMachines/gaallaVM", + "virtualNetworkId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet" } + } }, "responses": { "200": {},