From e56daeffcf2a2fea04d62b0c3b43cfb0088476f7 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Sun, 7 Feb 2021 10:46:12 -0800 Subject: [PATCH 1/5] Consolidating APIs in latest version[s360] --- .../stable/2021-01-01/bms.json | 5546 ++++++++++------- .../AzureIaasVm/BackupFeature_Validate.json | 19 + ...onfigureProtectionViaExtensionRouting.json | 25 + ...ngBackupProtectedItemsInContainer_Get.json | 39 + .../examples/AzureIaasVm/GetBackupStatus.json | 25 + .../ProtectionIntent_CreateOrUpdate.json | 31 + .../ProtectionIntent_Validate.json | 25 + .../BackupProtectionIntent_Delete.json | 14 + .../BackupProtectionIntent_Get.json | 25 + .../BackupProtectionIntent_List.json | 27 + .../BackupProtectedItem_UsageSummary_Get.json | 62 + ...ProtectionContainers_UsageSummary_Get.json | 44 + .../2021-01-01/examples/ListOperations.json | 463 ++ .../resource-manager/readme.md | 2 - 14 files changed, 4113 insertions(+), 2234 deletions(-) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/BackupFeature_Validate.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/GetBackupStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_Validate.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/ListOperations.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/bms.json index e577faa65552..2095c56d012a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/bms.json @@ -18,13 +18,14 @@ "application/json" ], "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { - "get": { + + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { + "post": { "tags": [ - "BackupResourceVaultConfigs" + "ProtectionIntent" ], - "description": "Fetches resource vault config.", - "operationId": "BackupResourceVaultConfigs_Get", + "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "operationId": "ProtectionIntent_Validate", "produces": [ "application/json" ], @@ -33,41 +34,43 @@ "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/VaultName" + "$ref": "#/parameters/AzureRegion" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "parameters", + "in": "body", + "description": "Enable backup validation request on Virtual Machine", + "required": true, + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/PreValidateEnableBackupResponse" } } }, "x-ms-examples": { - "Get Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" + "Validate Enable Protection on Azure Vm": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { + "post": { "tags": [ - "BackupResourceVaultConfigs" + "BackupStatus" ], - "description": "Updates vault security config.", - "operationId": "BackupResourceVaultConfigs_Update", + "summary": "Get the container backup status", + "operationId": "BackupStatus_Get", "produces": [ "application/json" ], @@ -76,10 +79,7 @@ "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "#/parameters/AzureRegion" }, { "$ref": "#/parameters/SubscriptionId" @@ -87,10 +87,10 @@ { "name": "parameters", "in": "body", - "description": "resource config request", + "description": "Container Backup Status Request", "required": true, "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" + "$ref": "#/definitions/BackupStatusRequest" } } ], @@ -98,28 +98,24 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/BackupStatusResponse" } } }, "x-ms-examples": { - "Update Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + "Get Azure Virtual Machine Backup Status": { + "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { + "post": { "tags": [ - "BackupResourceVaultConfigs" + "FeatureSupport" ], - "description": "Updates vault security config.", - "operationId": "BackupResourceVaultConfigs_Put", + "summary": "It will validate if given feature with resource properties is supported in service", + "operationId": "FeatureSupport_Validate", "produces": [ "application/json" ], @@ -128,10 +124,7 @@ "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "#/parameters/AzureRegion" }, { "$ref": "#/parameters/SubscriptionId" @@ -139,10 +132,10 @@ { "name": "parameters", "in": "body", - "description": "resource config request", + "description": "Feature support request object", "required": true, "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" + "$ref": "#/definitions/FeatureSupportRequest" } } ], @@ -150,30 +143,24 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" } } }, "x-ms-examples": { - "Update Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" + "Check Azure Vm Backup Feature Support": { + "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { "get": { "tags": [ - "BackupResourceEncryptionConfigs" + "ProtectionIntent" ], - "description": "Fetches Vault Encryption config.", - "operationId": "BackupResourceEncryptionConfigs_Get", + "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectionIntent_Get", "produces": [ "application/json" ], @@ -189,34 +176,42 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupResourceEncryptionConfigResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/ProtectionIntentResource" } } }, "x-ms-examples": { - "Get Vault Encryption Configuration": { - "$ref": "./examples/BackupResourceEncryptionConfig_Get.json" + "Get ProtectionIntent for an item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json" } } }, "put": { "tags": [ - "BackupResourceEncryptionConfigs" + "ProtectionIntent" ], - "description": "Updates Vault encryption config.", - "operationId": "BackupResourceEncryptionConfigs_Update", + "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", + "operationId": "ProtectionIntent_CreateOrUpdate", "produces": [ "application/json" ], @@ -233,41 +228,50 @@ { "$ref": "#/parameters/SubscriptionId" }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent object name.", + "required": true, + "type": "string" + }, { "name": "parameters", "in": "body", - "description": "Vault encryption input config request", + "description": "resource backed up item", "required": true, "schema": { - "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + "$ref": "#/definitions/ProtectionIntentResource" } } ], "responses": { "200": { - "description": "OK" - }, - "default": { - "description": "Error response describing why the operation failed.", + "description": "OK", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/ProtectionIntentResource" } } }, "x-ms-examples": { - "Update Vault Encryption Configuration": { - "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" + "Create or Update Azure Vm Protection Intent": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { - "get": { + }, + "delete": { "tags": [ - "PrivateEndpointConnection" + "ProtectionIntent" ], - "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Get", + "description": "Used to remove intent from an item", + "operationId": "ProtectionIntent_Delete", "produces": [ "application/json" ], @@ -285,39 +289,39 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "privateEndpointConnectionName", + "name": "fabricName", "in": "path", - "description": "The name of the private endpoint connection.", + "description": "Fabric name associated with the intent.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent to be deleted.", "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" - } + "204": { + "description": "NoContent" } }, "x-ms-examples": { - "Get PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" + "Delete Protection intent from item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": { + "get": { "tags": [ - "PrivateEndpointConnection" + "BackupProtectionIntent" ], - "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Put", + "description": "Provides a pageable list of all intents that are present within a vault.", + "operationId": "BackupProtectionIntent_List", "produces": [ "application/json" ], @@ -335,55 +339,46 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "privateEndpointConnectionName", - "in": "path", - "description": "The name of the private endpoint connection.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "Request body for operation", - "required": true, - "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" - } + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "#/definitions/ProtectionIntentResourceList" } } }, - "x-ms-long-running-operation": true, + "x-ms-odata": "#/definitions/ProtectionIntentQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Update PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" + "List protection intent with backupManagementType filter": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { + "get": { "tags": [ - "PrivateEndpointConnection" + "BackupUsageSummaries" ], - "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Delete", + "description": "Fetches the backup management usage summaries of the vault.", + "operationId": "BackupUsageSummaries_List", "produces": [ "application/json" ], @@ -401,81 +396,102 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "privateEndpointConnectionName", - "in": "path", - "description": "The name of the private endpoint connection.", - "required": true, + "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" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, - "default": { - "description": "Error response describing why the operation failed.", + "description": "OK", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "#/definitions/BackupManagementUsageList" } } }, - "x-ms-long-running-operation": true, + "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { - "Delete PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" + "Get Protected Items Usages Summary": { + "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" + }, + "Get Protected Containers Usages Summary": { + "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { + "/providers/Microsoft.RecoveryServices/operations": { "get": { "tags": [ - "PrivateEndpoint" - ], - "summary": "Gets the operation status for a private endpoint connection.", - "operationId": "PrivateEndpoint_GetOperationStatus", - "produces": [ - "application/json" + "Operations" ], + "description": "Returns the list of available operations.", + "operationId": "Operations_List", "parameters": [ { "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { + "get": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Fetches resource vault config.", + "operationId": "BackupResourceVaultConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ { - "$ref": "#/parameters/SubscriptionId" + "$ref": "#/parameters/ApiVersion" }, { - "name": "privateEndpointConnectionName", - "in": "path", - "description": "The name of the private endpoint connection.", - "required": true, - "type": "string" + "$ref": "#/parameters/VaultName" }, { - "name": "operationId", - "in": "path", - "description": "Operation id", - "required": true, - "type": "string" + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } }, "default": { @@ -486,19 +502,17 @@ } }, "x-ms-examples": { - "Get OperationStatus": { - "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" + "Get Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { - "get": { + }, + "patch": { "tags": [ - "DataMove" + "BackupResourceVaultConfigs" ], - "description": "Fetches operation status for data move operation on vault", - "operationId": "GetOperationStatus", + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Update", "produces": [ "application/json" ], @@ -516,17 +530,20 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", - "in": "path", + "name": "parameters", + "in": "body", + "description": "resource config request", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } }, "default": { @@ -537,19 +554,17 @@ } }, "x-ms-examples": { - "Get OperationStatus": { - "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { - "post": { + }, + "put": { "tags": [ - "DataMove" + "BackupResourceVaultConfigs" ], - "description": "Prepares source vault for Data Move operation", - "operationId": "BMSPrepareDataMove", + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Put", "produces": [ "application/json" ], @@ -569,19 +584,19 @@ { "name": "parameters", "in": "body", - "description": "Prepare data move request", + "description": "resource config request", "required": true, "schema": { - "$ref": "#/definitions/PrepareDataMoveRequest" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -590,21 +605,20 @@ } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Prepare Data Move": { - "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { "get": { "tags": [ - "BMSPrepareDataMoveOperationResult" + "BackupResourceEncryptionConfigs" ], - "description": "Fetches Operation Result for Prepare Data Move", - "operationId": "BMSPrepareDataMoveOperationResult_Get", + "description": "Fetches Vault Encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Get", "produces": [ "application/json" ], @@ -620,45 +634,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "operationId", - "in": "path", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" } }, - "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-examples": { - "Get operation result for PrepareDataMove": { - "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + "Get Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { - "post": { + }, + "put": { "tags": [ - "DataMove" + "BackupResourceEncryptionConfigs" ], - "description": "Triggers Data Move Operation on target vault", - "operationId": "BMSTriggerDataMove", + "description": "Updates Vault encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Update", "produces": [ "application/json" ], @@ -678,10 +681,10 @@ { "name": "parameters", "in": "body", - "description": "Trigger data move request", + "description": "Vault encryption input config request", "required": true, "schema": { - "$ref": "#/definitions/TriggerDataMoveRequest" + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" } } ], @@ -689,9 +692,6 @@ "200": { "description": "OK" }, - "202": { - "description": "Accepted" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -699,21 +699,20 @@ } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Trigger Data Move": { - "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + "Update Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "tags": [ - "ProtectedItems" + "PrivateEndpointConnection" ], - "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", + "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Get", "produces": [ "application/json" ], @@ -731,64 +730,39 @@ "$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": "privateEndpointConnectionName", "in": "path", - "description": "Backed up item name whose details are to be fetched.", + "description": "The name of the private endpoint connection.", "required": true, "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/PrivateEndpointConnectionResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "#/definitions/NewErrorResponse" } } }, - "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" + "Get PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" } } }, "put": { "tags": [ - "ProtectedItems" + "PrivateEndpointConnection" ], - "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", + "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Put", "produces": [ "application/json" ], @@ -806,33 +780,19 @@ "$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", + "name": "privateEndpointConnectionName", "in": "path", - "description": "Item name to be backed up.", + "description": "The name of the private endpoint connection.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", - "description": "resource backed up item", + "description": "Request body for operation", "required": true, "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/PrivateEndpointConnectionResource" } } ], @@ -840,11 +800,14 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/PrivateEndpointConnectionResource" } }, - "202": { - "description": "Accepted" + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -853,21 +816,19 @@ } } }, + "x-ms-long-running-operation": true, "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" + "Update PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" } } }, "delete": { "tags": [ - "ProtectedItems" + "PrivateEndpointConnection" ], - "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", + "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Delete", "produces": [ "application/json" ], @@ -885,23 +846,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "privateEndpointConnectionName", "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.", + "description": "The name of the private endpoint connection.", "required": true, "type": "string" } @@ -923,20 +870,21 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Protection from Azure Virtual Machine": { - "$ref": "./examples/Common/ProtectedItem_Delete.json" + "Delete PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { "get": { "tags": [ - "ProtectedItemOperationResults" + "PrivateEndpoint" ], - "description": "Fetches the result of any operation on the backup item.", - "operationId": "ProtectedItemOperationResults_Get", + "summary": "Gets the operation status for a private endpoint connection.", + "operationId": "PrivateEndpoint_GetOperationStatus", "produces": [ "application/json" ], @@ -954,30 +902,16 @@ "$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", + "name": "privateEndpointConnectionName", "in": "path", - "description": "Backup item name whose details are to be fetched.", + "description": "The name of the private endpoint connection.", "required": true, "type": "string" }, { "name": "operationId", "in": "path", - "description": "OperationID which represents the operation whose result needs to be fetched.", + "description": "Operation id", "required": true, "type": "string" } @@ -986,36 +920,30 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/OperationStatus" } }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "#/definitions/NewErrorResponse" } } }, "x-ms-examples": { - "Get Operation Results of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" + "Get OperationStatus": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.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/operationStatus/{operationId}": { "get": { "tags": [ - "RecoveryPoints" + "DataMove" ], - "description": "Lists the backup copies for the backed up item.", - "operationId": "RecoveryPoints_List", + "description": "Fetches operation status for data move operation on vault", + "operationId": "GetOperationStatus", "produces": [ "application/json" ], @@ -1033,66 +961,40 @@ "$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/OperationStatus" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "#/definitions/NewErrorResponse" } } }, - "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" + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_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/prepareDataMove": { + "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": "Prepares source vault for Data Move operation", + "operationId": "BMSPrepareDataMove", "produces": [ "application/json" ], @@ -1110,30 +1012,63 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with backed up item.", + "name": "parameters", + "in": "body", + "description": "Prepare data move request", "required": true, - "type": "string" + "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": [ { - "name": "containerName", - "in": "path", - "description": "Container name associated with backed up item.", - "required": true, - "type": "string" + "$ref": "#/parameters/ApiVersion" }, { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose backup data needs to be fetched.", - "required": true, - "type": "string" + "$ref": "#/parameters/VaultName" }, { - "name": "recoveryPointId", + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", "in": "path", - "description": "RecoveryPointID represents the backed up data to be fetched.", "required": true, "type": "string" } @@ -1142,30 +1077,33 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPointResource" + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" } }, + "202": { + "description": "Accepted" + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "Error response describing why the operation failed. ", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "#/definitions/NewErrorResponse" } } }, "x-ms-examples": { - "Get Azure Vm Recovery Point Details": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.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}/restore": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { "post": { "tags": [ - "Restores" + "DataMove" ], - "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", + "description": "Triggers Data Move Operation on target vault", + "operationId": "BMSTriggerDataMove", "produces": [ "application/json" ], @@ -1182,73 +1120,45 @@ { "$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", + "description": "Trigger data move request", "required": true, "schema": { - "$ref": "#/definitions/RestoreRequestResource" + "$ref": "#/definitions/TriggerDataMoveRequest" } } ], "responses": { + "200": { + "description": "OK" + }, "202": { "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "#/definitions/NewErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Restore to New Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json" - }, - "Restore Disks": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.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}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { "get": { "tags": [ - "BackupPolicies" + "ProtectedItems" ], - "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", - "operationId": "BackupPolicies_List", + "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" ], @@ -1266,77 +1176,39 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResourceList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "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": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" }, { - "name": "policyName", + "name": "protectedItemName", "in": "path", - "description": "Backup policy information to be fetched.", + "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/ProtectionPolicyResource" + "$ref": "#/definitions/ProtectedItemResource" } }, "default": { @@ -1346,18 +1218,22 @@ } } }, + "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", "x-ms-examples": { - "Get Azure IaasVm Protection Policy Details": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.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" } } }, "put": { "tags": [ - "ProtectionPolicies" + "ProtectedItems" ], - "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", + "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" ], @@ -1375,19 +1251,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Backup policy to be created.", + "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 backup policy", + "description": "resource backed up item", "required": true, "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/ProtectedItemResource" } } ], @@ -1395,7 +1285,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/ProtectedItemResource" } }, "202": { @@ -1409,23 +1299,20 @@ } }, "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" + "Enable Protection on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" }, - "Create or Update Full Azure Workload Protection Policy": { - "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + "Stop Protection with retain data on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/StopProtection.json" } } }, "delete": { "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": "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" ], @@ -1443,9 +1330,23 @@ "$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" + }, + { + "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" } @@ -1454,6 +1355,9 @@ "200": { "description": "OK" }, + "202": { + "description": "Accepted" + }, "204": { "description": "NoContent" }, @@ -1464,21 +1368,20 @@ } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + "Delete Protection from Azure Virtual Machine": { + "$ref": "./examples/Common/ProtectedItem_Delete.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { "get": { "tags": [ - "ProtectionPolicyOperationResults" + "ProtectedItemOperationResults" ], - "description": "Provides the result of an operation.", - "operationId": "ProtectionPolicyOperationResults_Get", + "description": "Fetches the result of any operation on the backup item.", + "operationId": "ProtectedItemOperationResults_Get", "produces": [ "application/json" ], @@ -1496,16 +1399,30 @@ "$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": "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": "Operation ID which represents the operation whose result needs to be fetched.", + "description": "OperationID which represents the operation whose result needs to be fetched.", "required": true, "type": "string" } @@ -1514,9 +1431,15 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/ProtectedItemResource" } }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -1525,19 +1448,19 @@ } }, "x-ms-examples": { - "Get Protection Policy Operation Results": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + "Get Operation Results of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { "get": { "tags": [ - "BackupJobs" + "RecoveryPoints" ], - "description": "Provides a pageable list of jobs.", - "operationId": "BackupJobs_List", + "description": "Lists the backup copies for the backed up item.", + "operationId": "RecoveryPoints_List", "produces": [ "application/json" ], @@ -1555,16 +1478,30 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, "type": "string" }, { - "name": "$skipToken", + "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": "skipToken Filter.", + "description": "OData filter options.", "required": false, "type": "string" } @@ -1573,7 +1510,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/JobResourceList" + "$ref": "#/definitions/RecoveryPointResourceList" } }, "default": { @@ -1583,30 +1520,24 @@ } } }, - "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-odata": "#/definitions/BMSRPQueryObject", "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" + "Get Protected Azure Vm Recovery Points": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { "get": { "tags": [ - "JobDetails" + "RecoveryPoints" ], - "description": "Gets extended information associated with the job.", - "operationId": "JobDetails_Get", + "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" ], @@ -1624,18 +1555,39 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "fabricName", "in": "path", - "description": "Name of the job whose details are to be fetched.", + "description": "Fabric name associated with backed up item.", "required": true, "type": "string" - } - ], - "responses": { + }, + { + "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/JobResource" + "$ref": "#/definitions/RecoveryPointResource" } }, "default": { @@ -1646,19 +1598,19 @@ } }, "x-ms-examples": { - "Get Job Details": { - "$ref": "./examples/Common/GetJobDetails.json" + "Get Azure Vm Recovery Point Details": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { "post": { "tags": [ - "JobCancellations" + "Restores" ], - "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.", - "operationId": "JobCancellations_Trigger", + "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" ], @@ -1676,11 +1628,41 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "fabricName", "in": "path", - "description": "Name of the job to cancel.", + "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": { @@ -1694,20 +1676,24 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Cancel Job": { - "$ref": "./examples/Common/TriggerCancelJob.json" + "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}/backupJobs/{jobName}/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { "get": { "tags": [ - "JobOperationResults" + "BackupPolicies" ], - "description": "Fetches the result of any operation.", - "operationId": "JobOperationResults_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" ], @@ -1725,29 +1711,19 @@ "$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, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResourceList" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -1756,20 +1732,27 @@ } } }, + "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Cancel Job Operation Result": { - "$ref": "./examples/Common/CancelJobOperationResult.json" + "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}/backupJobs/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { "get": { "tags": [ - "ExportJobsOperationResults" + "ProtectionPolicies" ], - "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", + "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" ], @@ -1787,9 +1770,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "policyName", "in": "path", - "description": "OperationID which represents the export job.", + "description": "Backup policy information to be fetched.", "required": true, "type": "string" } @@ -1798,13 +1781,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationResultInfoBaseResource" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/OperationResultInfoBaseResource" + "$ref": "#/definitions/ProtectionPolicyResource" } }, "default": { @@ -1815,19 +1792,17 @@ } }, "x-ms-examples": { - "Export Jobs Operation Results": { - "$ref": "./examples/Common/ExportJobsOperationResult.json" + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { - "post": { + }, + "put": { "tags": [ - "Jobs" + "ProtectionPolicies" ], - "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", - "operationId": "Jobs_Export", + "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" ], @@ -1845,14 +1820,29 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "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" }, @@ -1863,21 +1853,24 @@ } } }, - "x-ms-odata": "#/definitions/JobQueryObject", "x-ms-examples": { - "Export Jobs": { - "$ref": "./examples/Common/TriggerExportJobs.json" + "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}/backupProtectedItems": { - "get": { + }, + "delete": { "tags": [ - "BackupProtectedItems" + "ProtectionPolicies" ], - "description": "Provides a pageable list of all items that are backed up within a vault.", - "operationId": "BackupProtectedItems_List", + "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" ], @@ -1895,26 +1888,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "name": "policyName", + "in": "path", + "description": "Backup policy to be deleted.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResourceList" - } + "description": "OK" + }, + "204": { + "description": "NoContent" }, "default": { "description": "Error response describing why the operation failed.", @@ -1923,24 +1909,21 @@ } } }, - "x-ms-odata": "#/definitions/ProtectedItemQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "List protected items with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "get": { "tags": [ - "Operation" + "ProtectionPolicyOperationResults" ], - "description": "Validate operation for specified backed up item. This is a synchronous operation.", - "operationId": "Operation_Validate", + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", "produces": [ "application/json" ], @@ -1958,20 +1941,25 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "parameters", - "in": "body", - "description": "resource validate operation request", + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's result needs to be fetched.", "required": true, - "schema": { - "$ref": "#/definitions/ValidateOperationRequest" - } + "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/ValidateOperationsResponse" + "$ref": "#/definitions/ProtectionPolicyResource" } }, "default": { @@ -1982,19 +1970,19 @@ } }, "x-ms-examples": { - "Validate Operation": { - "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { "get": { "tags": [ - "BackupEngines" + "BackupJobs" ], - "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", - "operationId": "BackupEngines_List", + "description": "Provides a pageable list of jobs.", + "operationId": "BackupJobs_List", "produces": [ "application/json" ], @@ -2030,7 +2018,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupEngineBaseResourceList" + "$ref": "#/definitions/JobResourceList" } }, "default": { @@ -2040,24 +2028,30 @@ } } }, - "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", + "x-ms-odata": "#/definitions/JobQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { - "List Dpm/AzureBackupServer/Lajolla Backup Engines": { - "$ref": "./examples/Dpm/BackupEngines_List.json" + "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}/backupEngines/{backupEngineName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { "get": { "tags": [ - "BackupEngines" + "JobDetails" ], - "description": "Returns backup management server registered to Recovery Services Vault.", - "operationId": "BackupEngines_Get", + "description": "Gets extended information associated with the job.", + "operationId": "JobDetails_Get", "produces": [ "application/json" ], @@ -2075,32 +2069,18 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "backupEngineName", + "name": "jobName", "in": "path", - "description": "Name of the backup management server.", + "description": "Name of the job whose details are to be fetched.", "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" + "$ref": "#/definitions/JobResource" } }, "default": { @@ -2110,21 +2090,20 @@ } } }, - "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", "x-ms-examples": { - "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { - "$ref": "./examples/Dpm/BackupEngines_Get.json" + "Get Job Details": { + "$ref": "./examples/Common/GetJobDetails.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { + "post": { "tags": [ - "ProtectionContainerRefreshOperationResults" + "JobCancellations" ], - "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", - "operationId": "ProtectionContainerRefreshOperationResults_Get", + "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" ], @@ -2142,16 +2121,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "operationId", + "name": "jobName", "in": "path", - "description": "Operation ID associated with the operation whose result needs to be fetched.", + "description": "Name of the job to cancel.", "required": true, "type": "string" } @@ -2160,9 +2132,6 @@ "202": { "description": "Accepted" }, - "204": { - "description": "NoContent" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2171,19 +2140,19 @@ } }, "x-ms-examples": { - "Azure Vm Discovery Operation Result": { - "$ref": "./examples/Common/RefreshContainers_OperationResults.json" + "Cancel Job": { + "$ref": "./examples/Common/TriggerCancelJob.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { "get": { "tags": [ - "ProtectableContainers" + "JobOperationResults" ], - "description": "Lists the containers that can be registered to Recovery Services Vault.", - "operationId": "ProtectableContainers_List", + "description": "Fetches the result of any operation.", + "operationId": "JobOperationResults_Get", "produces": [ "application/json" ], @@ -2201,25 +2170,29 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "jobName", "in": "path", + "description": "Job name whose operation result has to be fetched.", "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result has to be fetched.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectableContainerResourceList" - } + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" }, "default": { "description": "Error response describing why the operation failed.", @@ -2228,24 +2201,20 @@ } } }, - "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" + "Cancel Job Operation Result": { + "$ref": "./examples/Common/CancelJobOperationResult.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { "get": { "tags": [ - "ProtectionContainers" + "ExportJobsOperationResults" ], - "description": "Gets details of the specific container registered to your Recovery Services Vault.", - "operationId": "ProtectionContainers_Get", + "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" ], @@ -2263,16 +2232,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Name of the fabric where the container belongs.", - "required": true, - "type": "string" - }, - { - "name": "containerName", + "name": "operationId", "in": "path", - "description": "Name of the container whose details need to be fetched.", + "description": "OperationID which represents the export job.", "required": true, "type": "string" } @@ -2281,7 +2243,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerResource" + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" } }, "default": { @@ -2292,17 +2260,19 @@ } }, "x-ms-examples": { - "Get Protection Container Details": { - "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" + "Export Jobs Operation Results": { + "$ref": "./examples/Common/ExportJobsOperationResult.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { + "post": { "tags": [ - "ProtectionContainers" + "Jobs" ], - "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", + "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", + "operationId": "Jobs_Export", "produces": [ "application/json" ], @@ -2320,36 +2290,14 @@ "$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, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "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" }, @@ -2360,18 +2308,21 @@ } } }, + "x-ms-odata": "#/definitions/JobQueryObject", "x-ms-examples": { - "RegisterAzure Storage ProtectionContainers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" + "Export Jobs": { + "$ref": "./examples/Common/TriggerExportJobs.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { + "get": { "tags": [ - "ProtectionContainers" + "BackupProtectedItems" ], - "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", + "description": "Provides a pageable list of all items that are backed up within a vault.", + "operationId": "BackupProtectedItems_List", "produces": [ "application/json" ], @@ -2389,29 +2340,26 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Name of the fabric where the container belongs.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "containerName", - "in": "path", - "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", - "required": true, + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResourceList" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -2420,21 +2368,24 @@ } } }, - "x-ms-examples": { - "Unregister Protection Container": { - "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" + "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}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { "post": { "tags": [ - "ProtectionContainers" + "Operation" ], - "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", + "description": "Validate operation for specified backed up item. This is a synchronous operation.", + "operationId": "Operation_Validate", "produces": [ "application/json" ], @@ -2452,30 +2403,21 @@ "$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.", + "name": "parameters", + "in": "body", + "description": "resource validate operation request", "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" + "schema": { + "$ref": "#/definitions/ValidateOperationRequest" + } } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateOperationsResponse" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -2484,21 +2426,20 @@ } } }, - "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", "x-ms-examples": { - "Inquire Azure Storage Protection Containers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" + "Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { "get": { "tags": [ - "BackupWorkloadItems" + "BackupEngines" ], - "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", + "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", + "operationId": "BackupEngines_List", "produces": [ "application/json" ], @@ -2515,20 +2456,6 @@ { "$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", @@ -2548,7 +2475,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/WorkloadItemResourceList" + "$ref": "#/definitions/BackupEngineBaseResourceList" } }, "default": { @@ -2558,24 +2485,24 @@ } } }, - "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", + "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { - "List Workload Items in Container": { - "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" + "List Dpm/AzureBackupServer/Lajolla Backup Engines": { + "$ref": "./examples/Dpm/BackupEngines_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { "get": { "tags": [ - "ProtectionContainerOperationResults" + "BackupEngines" ], - "description": "Fetches the result of any operation on the container.", - "operationId": "ProtectionContainerOperationResults_Get", + "description": "Returns backup management server registered to Recovery Services Vault.", + "operationId": "BackupEngines_Get", "produces": [ "application/json" ], @@ -2593,24 +2520,24 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "backupEngineName", "in": "path", - "description": "Fabric name associated with the container.", + "description": "Name of the backup management server.", "required": true, "type": "string" }, { - "name": "containerName", - "in": "path", - "description": "Container name whose information should be fetched.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "operationId", - "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", - "required": true, + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, "type": "string" } ], @@ -2618,15 +2545,9 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerResource" + "$ref": "#/definitions/BackupEngineBaseResource" } }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2634,20 +2555,21 @@ } } }, + "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", "x-ms-examples": { - "Get Azure Storage Protection Container Operation Result": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" + "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { + "$ref": "./examples/Dpm/BackupEngines_Get.json" } } } }, - "/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}/backupFabrics/{fabricName}/operationResults/{operationId}": { + "get": { "tags": [ - "Backups" + "ProtectionContainerRefreshOperationResults" ], - "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": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", + "operationId": "ProtectionContainerRefreshOperationResults_Get", "produces": [ "application/json" ], @@ -2667,38 +2589,25 @@ { "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.", + "description": "Fabric name associated with the container.", "required": true, "type": "string" }, { - "name": "protectedItemName", + "name": "operationId", "in": "path", - "description": "Backup item for which backup needs to be triggered.", + "description": "Operation ID associated with the operation whose result needs to be fetched.", "required": true, "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backup request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupRequestResource" - } } ], "responses": { "202": { "description": "Accepted" }, + "204": { + "description": "NoContent" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2707,19 +2616,19 @@ } }, "x-ms-examples": { - "Trigger Backup": { - "$ref": "./examples/Common/TriggerBackup_Post.json" + "Azure Vm Discovery Operation Result": { + "$ref": "./examples/Common/RefreshContainers_OperationResults.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { "get": { "tags": [ - "ProtectedItemOperationStatuses" + "ProtectableContainers" ], - "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", + "description": "Lists the containers that can be registered to Recovery Services Vault.", + "operationId": "ProtectableContainers_List", "produces": [ "application/json" ], @@ -2739,29 +2648,14 @@ { "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, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], @@ -2769,7 +2663,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/ProtectableContainerResourceList" } }, "default": { @@ -2779,20 +2673,24 @@ } } }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Get Operation Status of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" + "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}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { + "get": { "tags": [ - "ItemLevelRecoveryConnections" + "ProtectionContainers" ], - "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", + "description": "Gets details of the specific container registered to your Recovery Services Vault.", + "operationId": "ProtectionContainers_Get", "produces": [ "application/json" ], @@ -2812,44 +2710,24 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up items.", + "description": "Name of the fabric where the container belongs.", "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.", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource ILR request", - "required": true, - "schema": { - "$ref": "#/definitions/ILRRequestResource" - } } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -2859,19 +2737,17 @@ } }, "x-ms-examples": { - "Provision Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" + "Get Protection Container Details": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { - "post": { + }, + "put": { "tags": [ - "ItemLevelRecoveryConnections" + "ProtectionContainers" ], - "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", + "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" ], @@ -2891,33 +2767,34 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up items.", + "description": "Fabric name associated with the container.", "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.", + "description": "Name of the container to be registered.", "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.", + "name": "parameters", + "in": "body", + "description": "Request body for operation", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, "202": { "description": "Accepted" }, @@ -2929,19 +2806,17 @@ } }, "x-ms-examples": { - "Revoke Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" + "RegisterAzure Storage ProtectionContainers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { - "post": { + }, + "delete": { "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", + "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" ], @@ -2961,22 +2836,28 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated the container.", + "description": "Name of the fabric where the container belongs.", "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "containerName", + "in": "path", + "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", + "required": true, "type": "string" } ], "responses": { + "200": { + "description": "OK" + }, "202": { "description": "Accepted" }, + "204": { + "description": "NoContent" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2984,21 +2865,21 @@ } } }, - "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", "x-ms-examples": { - "Trigger Azure Vm Discovery": { - "$ref": "./examples/Common/RefreshContainers.json" + "Unregister Protection Container": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { + "post": { "tags": [ - "BackupOperationResults" + "ProtectionContainers" ], - "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", + "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" ], @@ -3016,23 +2897,31 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "fabricName", "in": "path", - "description": "OperationID which represents the operation.", + "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": { - "200": { - "description": "OK" - }, "202": { "description": "Accepted" }, - "204": { - "description": "NoContent" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -3040,20 +2929,21 @@ } } }, + "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", "x-ms-examples": { - "Get Result for Protected Item Delete Operation": { - "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" + "Inquire Azure Storage Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { "get": { "tags": [ - "BackupOperationStatuses" + "BackupWorkloadItems" ], - "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", + "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" ], @@ -3071,18 +2961,39 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "fabricName", "in": "path", - "description": "OperationID which represents the operation.", + "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/OperationStatus" + "$ref": "#/definitions/WorkloadItemResourceList" } }, "default": { @@ -3092,20 +3003,24 @@ } } }, + "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Get Protected Item Delete Operation Status": { - "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" + "List Workload Items in Container": { + "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { "get": { "tags": [ - "ProtectionPolicyOperationStatuses" + "ProtectionContainerOperationResults" ], - "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", + "description": "Fetches the result of any operation on the container.", + "operationId": "ProtectionContainerOperationResults_Get", "produces": [ "application/json" ], @@ -3123,16 +3038,23 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Backup policy name whose operation's status needs to be fetched.", + "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 an operation whose status needs to be fetched.", + "description": "Operation ID which represents the operation whose result needs to be fetched.", "required": true, "type": "string" } @@ -3141,9 +3063,15 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/ProtectionContainerResource" } }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -3152,19 +3080,19 @@ } }, "x-ms-examples": { - "Get Protection Policy Operation Status": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" + "Get Azure Storage Protection Container Operation Result": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { "tags": [ - "BackupProtectableItems" + "Backups" ], - "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.", - "operationId": "BackupProtectableItems_List", + "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" ], @@ -3182,26 +3110,39 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "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": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkloadProtectableItemResourceList" - } + "202": { + "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", @@ -3210,24 +3151,20 @@ } } }, - "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" + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { "get": { "tags": [ - "BackupProtectionContainers" + "ProtectedItemOperationStatuses" ], - "description": "Lists the containers registered to Recovery Services Vault.", - "operationId": "BackupProtectionContainers_List", + "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" ], @@ -3245,18 +3182,39 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" + "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/ProtectionContainerResourceList" + "$ref": "#/definitions/OperationStatus" } }, "default": { @@ -3266,24 +3224,20 @@ } } }, - "x-ms-odata": "#/definitions/BMSContainerQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Backup Protection Containers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_List.json" + "Get Operation Status of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { "post": { "tags": [ - "SecurityPINs" + "ItemLevelRecoveryConnections" ], - "description": "Get the security PIN.", - "operationId": "SecurityPINs_Get", + "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" ], @@ -3299,14 +3253,48 @@ }, { "$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": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TokenInformation" - } + "202": { + "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", @@ -3316,19 +3304,19 @@ } }, "x-ms-examples": { - "Get Vault Security Pin": { - "$ref": "./examples/Common/BackupSecurityPin_Get.json" + "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}/move": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { "post": { "tags": [ - "RecoveryPoint" + "ItemLevelRecoveryConnections" ], - "summary": "Move recovery point from one datastore to another store.", - "operationId": "MoveRecoveryPoint", + "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" ], @@ -3348,35 +3336,30 @@ { "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" - }, - { - "name": "parameters", - "in": "body", - "description": "Move Resource Across Tiers Request", - "required": true, - "schema": { - "$ref": "#/definitions/MoveRPAcrossTiersRequest" - } } ], "responses": { @@ -3390,21 +3373,20 @@ } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Trigger RP Move Operation": { - "$ref": "./examples/TriggerRecoveryPointMove_Post.json" + "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}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { "post": { "tags": [ - "RecoveryPointsRecommendedForMove" + "ProtectionContainers" ], - "description": "Lists the recovery points recommended for move to another tier", - "operationId": "RecoveryPointsRecommendedForMove_List", + "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" ], @@ -3424,36 +3406,128 @@ { "name": "fabricName", "in": "path", + "description": "Fabric name associated the container.", "required": true, "type": "string" }, { - "name": "containerName", - "in": "path", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" }, { - "name": "protectedItemName", + "$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" }, - { - "name": "parameters", - "in": "body", - "description": "List Recovery points Recommended for Move Request", - "required": true, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" + "$ref": "#/definitions/CloudError" } } + }, + "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/RecoveryPointResourceList" + "$ref": "#/definitions/OperationStatus" } }, "default": { @@ -3463,24 +3537,395 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Get Protected Azure Vm Recovery Points Recommended for Move": { - "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json" + "Get Protected Item Delete Operation Status": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" } } } - } - }, - "definitions": { - "BackupResourceEncryptionConfig": { - "type": "object", - "properties": { - "encryptionAtRestType": { - "description": "Encryption At Rest Type", - "enum": [ + }, + "/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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Vault Security Pin": { + "$ref": "./examples/Common/BackupSecurityPin_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": { + "post": { + "tags": [ + "RecoveryPoint" + ], + "summary": "Move recovery point from one datastore to another store.", + "operationId": "MoveRecoveryPoint", + "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": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Move Resource Across Tiers Request", + "required": true, + "schema": { + "$ref": "#/definitions/MoveRPAcrossTiersRequest" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger RP Move Operation": { + "$ref": "./examples/TriggerRecoveryPointMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { + "post": { + "tags": [ + "RecoveryPointsRecommendedForMove" + ], + "description": "Lists the recovery points recommended for move to another tier", + "operationId": "RecoveryPointsRecommendedForMove_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": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "List Recovery points Recommended for Move Request", + "required": true, + "schema": { + "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points Recommended for Move": { + "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json" + } + } + } + } + }, + "definitions": { + "BackupResourceEncryptionConfig": { + "type": "object", + "properties": { + "encryptionAtRestType": { + "description": "Encryption At Rest Type", + "enum": [ "Invalid", "MicrosoftManaged", "CustomerManaged" @@ -5166,6 +5611,108 @@ } } }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + } + } + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "type": "object", + "properties": { + "name": { + "description": "Name for shoebox log specification.", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "blob duration of shoebox log specification", + "type": "string" + } + } + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + } + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + } + } + } + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "type": "object", + "properties": { + "value": { + "description": "List of available operations.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + } + }, + "nextLink": { + "description": "Link to the next chunk of Response.", + "type": "string" + } + } + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." + } + } + }, "DiskInformation": { "description": "Disk information", "type": "object", @@ -6822,28 +7369,153 @@ "type": "boolean" } }, - "discriminator": "protectedItemType" + "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" }, - "ProtectedItemQueryObject": { - "description": "Filters to list backup items.", + "ProtectionPolicyQueryObject": { + "description": "Filters the list backup policies API.", "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.", + "description": "Backup management type for the backup policy.", "enum": [ "Invalid", "AzureIaasVM", @@ -6861,8 +7533,12 @@ "modelAsString": true } }, - "itemType": { - "description": "Type of workload this item represents.", + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, + "workloadType": { + "description": "Workload type for the backup policy.", "enum": [ "Invalid", "VM", @@ -6882,38 +7558,14 @@ ], "type": "string", "x-ms-enum": { - "name": "DataSourceType", + "name": "WorkloadType", "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.", + "ProtectionPolicyResource": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -6921,13 +7573,13 @@ ], "properties": { "properties": { - "$ref": "#/definitions/ProtectedItem", - "description": "ProtectedItemResource properties" + "$ref": "#/definitions/ProtectionPolicy", + "description": "ProtectionPolicyResource properties" } } }, - "ProtectedItemResourceList": { - "description": "List of ProtectedItem resources", + "ProtectionPolicyResourceList": { + "description": "List of ProtectionPolicy resources", "type": "object", "allOf": [ { @@ -6939,301 +7591,513 @@ "description": "List of resources.", "type": "array", "items": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/ProtectionPolicyResource" } } } }, - "ProtectionPolicy": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "RecoveryPoint": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", "required": [ - "backupManagementType" + "objectType" ], "type": "object", "properties": { - "protectedItemsCount": { + "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 items associated with this policy.", + "description": "Number of disks included in backup", "type": "integer" }, - "backupManagementType": { + "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", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": false + } + }, + "extendedInfo": { + "description": "Recovery point tier status.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "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": "backupManagementType" + "discriminator": "objectType" }, - "ProtectionPolicyQueryObject": { - "description": "Filters the list backup policies API.", + "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": { - "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" + "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" }, - "workloadType": { - "description": "Workload type for the backup policy.", + "durationType": { + "description": "Retention duration type of retention policy.", "enum": [ "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" + "Days", + "Weeks", + "Months", + "Years" ], "type": "string", "x-ms-enum": { - "name": "WorkloadType", + "name": "RetentionDurationType", "modelAsString": true } } } }, - "ProtectionPolicyResource": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "RetentionPolicy": { + "description": "Base class for retention policy.", + "required": [ + "retentionPolicyType" ], - "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" - } + "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" }, - "RecoveryPoint": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "SchedulePolicy": { + "description": "Base class for backup schedule.", "required": [ - "objectType" + "schedulePolicyType" ], "type": "object", "properties": { - "objectType": { + "schedulePolicyType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" } }, - "discriminator": "objectType" + "discriminator": "schedulePolicyType" }, - "RecoveryPointDiskConfiguration": { - "description": "Disk configuration", + "Settings": { + "description": "Common settings field for backup management", "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" + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" }, - "includedDiskList": { - "description": "Information of disks included in backup", - "type": "array", - "items": { - "$ref": "#/definitions/DiskInformation" - } + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" }, - "excludedDiskList": { - "description": "Information of disks excluded from backup", - "type": "array", - "items": { - "$ref": "#/definitions/DiskInformation" - } + "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" } } }, - "RecoveryPointResource": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "SimpleRetentionPolicy": { + "description": "Simple policy retention.", + "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/RetentionPolicy" } ], "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPoint", - "description": "RecoveryPointResource properties" + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of the protection policy." } - } + }, + "x-ms-discriminator-value": "SimpleRetentionPolicy" }, - "RecoveryPointResourceList": { - "description": "List of RecoveryPoint resources", + "SimpleSchedulePolicy": { + "description": "Simple policy schedule.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ResourceList" + "$ref": "#/definitions/SchedulePolicy" } ], "properties": { - "value": { - "description": "List of resources.", + "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": { - "$ref": "#/definitions/RecoveryPointResource" + "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" }, - "RecoveryPointTierInformation": { - "description": "Recovery point tier information.", + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", "type": "object", "properties": { - "type": { - "description": "Recovery point tier type.", + "policyType": { + "description": "Type of backup policy type", "enum": [ "Invalid", - "InstantRP", - "HardenedRP", - "ArchivedRP" + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" ], "type": "string", "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false + "name": "PolicyType", + "modelAsString": true } }, - "status": { - "description": "Recovery point tier status.", + "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", - "Valid", - "Disabled", - "Deleted", - "Rehydrated" + "Data", + "Log" ], "type": "string", "x-ms-enum": { - "name": "RecoveryPointTierStatus", - "modelAsString": false + "name": "SQLDataDirectoryType", + "modelAsString": true } }, - "extendedInfo": { - "description": "Recovery point tier status.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "path": { + "description": "File path", + "type": "string" + }, + "logicalName": { + "description": "Logical name of the file", + "type": "string" } } }, - "Resource": { - "description": "ARM Resource.", + "SQLDataDirectoryMapping": { + "description": "Encapsulates information regarding data directory", "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/...", + "mappingType": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } }, - "location": { - "description": "Resource location.", + "sourceLogicalName": { + "description": "Restore source logical name path", "type": "string" }, - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "sourcePath": { + "description": "Restore source path", + "type": "string" }, - "eTag": { - "description": "Optional ETag.", + "targetPath": { + "description": "Target path", "type": "string" } - }, - "x-ms-azure-resource": true + } }, - "ResourceList": { - "description": "Base for all lists of resources.", + "TargetAFSRestoreInfo": { + "description": "Target Azure File Share Info.", "type": "object", "properties": { - "nextLink": { - "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "name": { + "description": "File share name", + "type": "string" + }, + "targetResourceId": { + "description": "Target file share resource ARM ID", "type": "string" } } }, - "RestoreFileSpecs": { - "description": "Restore file specs like file path, type and target folder path info.", + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", "type": "object", "properties": { - "path": { - "description": "Source File/Folder path", + "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" }, - "fileSpecType": { - "description": "Indicates what the Path variable stands for", + "databaseName": { + "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", "type": "string" }, - "targetFolderPath": { - "description": "Destination folder path in target FileShare", + "targetDirectoryForFileRestore": { + "description": "Target directory location for restore as files.", "type": "string" } } }, - "RestoreRequest": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "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" ], @@ -7246,132 +8110,94 @@ }, "discriminator": "objectType" }, - "RestoreRequestResource": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], + "ValidateOperationResponse": { + "description": "Base class for validate operation response.", + "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/RestoreRequest", - "description": "RestoreRequestResource properties" + "validationResults": { + "description": "Gets the validation result", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } } } }, - "RetentionDuration": { - "description": "Retention duration.", + "ValidateOperationsResponse": { "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 - } + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse" } } }, - "RetentionPolicy": { - "description": "Base class for retention policy.", - "required": [ - "retentionPolicyType" - ], + "ValidateRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", "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" + "allOf": [ + { + "$ref": "#/definitions/ValidateOperationRequest" } - }, - "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" + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" } }, - "discriminator": "schedulePolicyType" + "x-ms-discriminator-value": "ValidateRestoreOperationRequest" }, - "Settings": { - "description": "Common settings field for backup management", + "WeeklyRetentionFormat": { + "description": "Weekly retention format.", "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" + "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 + } + } }, - "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" + "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 + } + } } } }, - "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.", + "WeeklyRetentionSchedule": { + "description": "Weekly retention 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.", + "daysOfTheWeek": { + "description": "List of days of week for weekly retention policy.", "type": "array", "items": { "enum": [ @@ -7390,986 +8216,1242 @@ } } }, - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", + "retentionTimes": { + "description": "Retention times of retention policy.", "type": "array", "items": { "format": "date-time", "type": "string" } }, - "scheduleWeeklyFrequency": { - "format": "int32", - "description": "At every number weeks this schedule has to be run.", - "type": "integer" + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." } - }, - "x-ms-discriminator-value": "SimpleSchedulePolicy" + } }, - "SubProtectionPolicy": { - "description": "Sub-protection policy which includes schedule and retention", + "BackupResourceVaultConfigResource": { + "description": "Backup resource vault config details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceVaultConfig", + "description": "BackupResourceVaultConfigResource properties" + } + } + }, + "BackupResourceVaultConfig": { + "description": "Backup resource vault config details.", "type": "object", "properties": { - "policyType": { - "description": "Type of backup policy type", + "storageModelType": { + "description": "Storage type.", "enum": [ "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental" + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" ], "type": "string", "x-ms-enum": { - "name": "PolicyType", + "name": "StorageType", "modelAsString": true } }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." + "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 + } } } }, - "SQLDataDirectory": { - "description": "SQLDataDirectory info", + "YearlyRetentionSchedule": { + "description": "Yearly retention schedule.", "type": "object", "properties": { - "type": { - "description": "Type of data directory mapping", + "retentionScheduleFormatType": { + "description": "Retention schedule format for yearly retention policy.", "enum": [ "Invalid", - "Data", - "Log" + "Daily", + "Weekly" ], "type": "string", "x-ms-enum": { - "name": "SQLDataDirectoryType", + "name": "RetentionScheduleFormat", "modelAsString": true } }, - "path": { - "description": "File path", + "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" }, - "logicalName": { - "description": "Logical name of the file", - "type": "string" + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } } } }, - "SQLDataDirectoryMapping": { - "description": "Encapsulates information regarding data directory", + "VaultJobExtendedInfo": { + "description": "Vault Job for CMK - has CMK specific info.", "type": "object", "properties": { - "mappingType": { - "description": "Type of data directory mapping", - "enum": [ - "Invalid", - "Data", - "Log" - ], - "type": "string", - "x-ms-enum": { - "name": "SQLDataDirectoryType", - "modelAsString": true + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" } - }, - "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.", + "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": { - "name": { - "description": "File share name", - "type": "string" - }, - "targetResourceId": { - "description": "Target file share resource ARM ID", + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", "type": "string" } - } + }, + "x-ms-discriminator-value": "AzureFileShareBackupRequest" }, - "TargetRestoreInfo": { - "description": "Details about target workload during restore operation.", + "AzureFileShareProtectableItem": { + "description": "Protectable item for Azure Fileshare workloads.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], "properties": { - "overwriteOption": { - "description": "Can Overwrite if Target DataBase already exists", + "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", - "FailOnConflict", - "Overwrite" + "XSMB", + "XSync" ], "type": "string", "x-ms-enum": { - "name": "OverwriteOptions", + "name": "AzureFileShareType", "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" } - } + }, + "x-ms-discriminator-value": "AzureFileShare" }, - "ValidateIaasVMRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", + "AzureFileShareProvisionILRRequest": { + "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ValidateRestoreOperationRequest" + "$ref": "#/definitions/ILRRequest" } ], - "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.", + "recoveryPointId": { + "description": "Recovery point ID.", + "type": "string" + }, + "sourceResourceId": { + "description": "Source Storage account ARM Id", "type": "string" } }, - "discriminator": "objectType" + "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" }, - "ValidateOperationResponse": { - "description": "Base class for validate operation response.", + "AzureIaaSClassicComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", "type": "object", - "properties": { - "validationResults": { - "description": "Gets the validation result", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorDetail" - } + "allOf": [ + { + "$ref": "#/definitions/IaaSVMContainer" } - } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, - "ValidateOperationsResponse": { + "AzureIaaSClassicComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", "type": "object", - "properties": { - "validateOperationResponse": { - "$ref": "#/definitions/ValidateOperationResponse" + "allOf": [ + { + "$ref": "#/definitions/IaaSVMProtectableItem" } - } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, - "ValidateRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", + "AzureIaaSComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ValidateOperationRequest" + "$ref": "#/definitions/IaaSVMContainer" } ], - "properties": { - "restoreRequest": { - "$ref": "#/definitions/RestoreRequest", - "description": "Sets restore request to be validated" + "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": "ValidateRestoreOperationRequest" + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "WeeklyRetentionFormat": { - "description": "Weekly retention format.", + "AzureSQLAGWorkloadContainerProtectionContainer": { + "description": "Container for SQL workloads under SQL Availability Group.", "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 - } - } + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" } - } + ], + "x-ms-discriminator-value": "SQLAGWorkLoadContainer" }, - "WeeklyRetentionSchedule": { - "description": "Weekly retention schedule.", + "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": { - "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 - } - } + "sourceResourceId": { + "description": "Fully qualified ARM url.", + "type": "string" }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } + "storageAccountVersion": { + "description": "Storage account version.", + "type": "string" }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." + "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" }, - "BackupResourceVaultConfigResource": { - "description": "Backup resource vault config details.", + "AzureStorageProtectableContainer": { + "description": "Azure Storage-specific protectable containers", + "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProtectableContainer" } ], - "properties": { - "properties": { - "$ref": "#/definitions/BackupResourceVaultConfig", - "description": "BackupResourceVaultConfigResource properties" + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureVMAppContainerProtectableContainer": { + "description": "Azure workload-specific container", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" } - } + ], + "x-ms-discriminator-value": "VMAppContainer" }, - "BackupResourceVaultConfig": { - "description": "Backup resource vault config details.", + "AzureVMAppContainerProtectionContainer": { + "description": "Container for SQL workloads under Azure Virtual Machines.", "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 - } - }, - "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 - } + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" } - } + ], + "x-ms-discriminator-value": "VMAppContainer" }, - "YearlyRetentionSchedule": { - "description": "Yearly retention schedule.", + "AzureVmWorkloadItem": { + "description": "Azure VM workload-specific workload item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" + } + ], "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 - } - } + "parentName": { + "description": "Name for instance or AG", + "type": "string" }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for yearly retention policy." + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for yearly retention policy." + "isAutoProtectable": { + "description": "Indicates if workload item is auto-protectable", + "type": "boolean" }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." + "subWorkloadItemCount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" } - } - }, - "VaultJob": { - "description": "Vault level Job", + }, + "x-ms-discriminator-value": "AzureVmWorkloadItem" + }, + "AzureVmWorkloadProtectableItem": { + "description": "Azure VM workload-specific protectable item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/WorkloadProtectableItem" } ], "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", + "parentName": { + "description": "Name for instance or AG", "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 - } - } + "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" }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/VaultJobErrorInfo" - } + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" }, - "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": { + "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": "Error code.", + "description": "For instance or AG, indicates number of DB's present", "type": "integer" }, - "errorString": { - "description": "Localized error string.", - "type": "string" + "subprotectableitemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" } - } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" }, - "VaultJobExtendedInfo": { - "description": "Vault Job for CMK - has CMK specific info.", + "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE Database.", "type": "object", - "properties": { - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" } - } + ], + "x-ms-discriminator-value": "SAPAseDatabase" }, - "AzureBackupServerContainer": { - "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", + "AzureVmWorkloadSAPAseSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP ASE System.", "type": "object", "allOf": [ { - "$ref": "#/definitions/DpmContainer" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], - "x-ms-discriminator-value": "AzureBackupServerContainer" + "x-ms-discriminator-value": "SAPAseSystem" }, - "AzureBackupServerEngine": { - "description": "Backup engine type when Azure Backup Server is used to manage the backups.", + "AzureVmWorkloadSAPAseSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE System.", "type": "object", "allOf": [ { - "$ref": "#/definitions/BackupEngineBase" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], - "x-ms-discriminator-value": "AzureBackupServerEngine" + "x-ms-discriminator-value": "SAPAseSystem" }, - "AzureFileShareBackupRequest": { - "description": "AzureFileShare workload-specific backup request.", + "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", "type": "object", "allOf": [ { - "$ref": "#/definitions/BackupRequest" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], - "properties": { - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureFileShareBackupRequest" + "x-ms-discriminator-value": "SAPHanaDatabase" }, - "AzureFileShareProtectableItem": { - "description": "Protectable item for Azure Fileshare workloads.", + "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA Database.", "type": "object", "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], - "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" + "x-ms-discriminator-value": "SAPHanaDatabase" }, - "AzureFileShareProvisionILRRequest": { - "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", + "AzureVmWorkloadSAPHanaSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA System.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ILRRequest" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], - "properties": { - "recoveryPointId": { - "description": "Recovery point ID.", - "type": "string" - }, - "sourceResourceId": { - "description": "Source Storage account ARM Id", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" + "x-ms-discriminator-value": "SAPHanaSystem" }, - "AzureIaaSClassicComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", + "AzureVmWorkloadSAPHanaSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA System.", "type": "object", "allOf": [ { - "$ref": "#/definitions/IaaSVMContainer" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + "x-ms-discriminator-value": "SAPHanaSystem" }, - "AzureIaaSClassicComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", "type": "object", "allOf": [ { - "$ref": "#/definitions/IaaSVMProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" }, - "AzureIaaSComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", + "AzureVmWorkloadSQLDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Database.", "type": "object", "allOf": [ { - "$ref": "#/definitions/IaaSVMContainer" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + "x-ms-discriminator-value": "SQLDataBase" }, - "AzureIaaSComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "AzureVmWorkloadSQLDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Database.", "type": "object", "allOf": [ { - "$ref": "#/definitions/IaaSVMProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + "x-ms-discriminator-value": "SQLDataBase" }, - "AzureSQLAGWorkloadContainerProtectionContainer": { - "description": "Container for SQL workloads under SQL Availability Group.", + "AzureVmWorkloadSQLInstanceProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Instance.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadContainer" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], - "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + "x-ms-discriminator-value": "SQLInstance" }, - "AzureSqlContainer": { - "description": "Azure Sql workload-specific container.", + "AzureVmWorkloadSQLInstanceWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Instance.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], - "x-ms-discriminator-value": "AzureSqlContainer" + "properties": { + "dataDirectoryPaths": { + "description": "Data Directory Paths for default directories", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + } + } + }, + "x-ms-discriminator-value": "SQLInstance" }, - "AzureStorageContainer": { - "description": "Azure Storage Account workload-specific container.", + "AzureWorkloadBackupRequest": { + "description": "AzureWorkload workload-specific backup request.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/BackupRequest" } ], "properties": { - "sourceResourceId": { - "description": "Fully qualified ARM url.", - "type": "string" + "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 + } }, - "storageAccountVersion": { - "description": "Storage account version.", - "type": "string" + "enableCompression": { + "description": "Bool for Compression setting", + "type": "boolean" }, - "resourceGroup": { - "description": "Resource group name of Recovery Services Vault.", + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", "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" + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" }, - "AzureVMAppContainerProtectableContainer": { - "description": "Azure workload-specific container", + "AzureBackupGoalFeatureSupportRequest": { + "description": "Azure backup goal feature specific request.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectableContainer" + "$ref": "#/definitions/FeatureSupportRequest" } ], - "x-ms-discriminator-value": "VMAppContainer" + "x-ms-discriminator-value": "AzureBackupGoals" }, - "AzureVMAppContainerProtectionContainer": { - "description": "Container for SQL workloads under Azure Virtual Machines.", + "AzureRecoveryServiceVaultProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadContainer" + "$ref": "#/definitions/ProtectionIntent" } ], - "x-ms-discriminator-value": "VMAppContainer" + "x-ms-discriminator-value": "RecoveryServiceVaultItem" }, - "AzureVmWorkloadItem": { - "description": "Azure VM workload-specific workload item.", + "AzureResourceProtectionIntent": { + "description": "IaaS VM specific backup protection intent item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/WorkloadItem" + "$ref": "#/definitions/ProtectionIntent" } ], "properties": { - "parentName": { - "description": "Name for instance or AG", - "type": "string" - }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", "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" + "x-ms-discriminator-value": "AzureResourceItem" }, - "AzureVmWorkloadProtectableItem": { - "description": "Azure VM workload-specific protectable item.", + "AzureVMResourceFeatureSupportRequest": { + "description": "AzureResource(IaaS VM) Specific feature support request", "type": "object", "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/FeatureSupportRequest" } ], "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.", + "vmSize": { + "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM", "type": "string" }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", + "vmSku": { + "description": "SKUs (Premium/Managed etc) in case of IaasVM", "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" + "x-ms-discriminator-value": "AzureVMResourceBackup" }, - "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP ASE Database.", + "AzureVMResourceFeatureSupportResponse": { + "description": "Response for feature support requests for Azure IaasVm", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" + "properties": { + "supportStatus": { + "description": "Support status of feature", + "enum": [ + "Invalid", + "Supported", + "DefaultOFF", + "DefaultON", + "NotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportStatus", + "modelAsString": true + } } - ], - "x-ms-discriminator-value": "SAPAseDatabase" + } }, - "AzureVmWorkloadSAPAseSystemProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP ASE System.", + "AzureWorkloadAutoProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" } ], - "x-ms-discriminator-value": "SAPAseSystem" + "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" }, - "AzureVmWorkloadSAPAseSystemWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP ASE System.", + "AzureWorkloadSQLAutoProtectionIntent": { + "description": "Azure Workload SQL Auto Protection intent item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadItem" + "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" } ], - "x-ms-discriminator-value": "SAPAseSystem" + "properties": { + "workloadItemType": { + "description": "Workload item type of the item for which intent is to be set", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" }, - "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", + "BackupManagementUsage": { + "description": "Backup management usages of a vault.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "properties": { + "unit": { + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true + } + }, + "quotaPeriod": { + "description": "Quota period of usage.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time of usage.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value of usage.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "Limit of usage.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." } - ], - "x-ms-discriminator-value": "SAPHanaDatabase" + } }, - "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP HANA Database.", + "BackupManagementUsageList": { + "description": "Backup management usage for vault.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" + "properties": { + "value": { + "description": "The list of backup management usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupManagementUsage" + } } - ], - "x-ms-discriminator-value": "SAPHanaDatabase" + } }, - "AzureVmWorkloadSAPHanaSystemProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP HANA System.", + "BackupStatusRequest": { + "description": "BackupStatus request.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "properties": { + "resourceType": { + "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...", + "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 + } + }, + "resourceId": { + "description": "Entire ARM resource id of the resource", + "type": "string" + }, + "poLogicalName": { + "description": "Protectable Item Logical Name", + "type": "string" + } + } + }, + "BackupStatusResponse": { + "description": "BackupStatus response.", + "type": "object", + "properties": { + "protectionStatus": { + "description": "Specifies whether the container is registered or not", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + }, + "vaultId": { + "description": "Specifies the arm resource id of the vault", + "type": "string" + }, + "fabricName": { + "description": "Specifies the fabric name - Azure or AD", + "enum": [ + "Invalid", + "Azure" + ], + "type": "string", + "x-ms-enum": { + "name": "FabricName", + "modelAsString": true + } + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "errorCode": { + "description": "ErrorCode in case of intent failed", + "type": "string" + }, + "errorMessage": { + "description": "ErrorMessage in case of intent failed.", + "type": "string" + }, + "policyName": { + "description": "Specifies the policy name which is used for protection", + "type": "string" + }, + "registrationStatus": { + "description": "Container registration status", + "type": "string" } - ], - "x-ms-discriminator-value": "SAPHanaSystem" + } }, - "AzureVmWorkloadSAPHanaSystemWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP HANA System.", + "BMSBackupSummariesQueryObject": { + "description": "Query parameters to fetch backup summaries.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" + "properties": { + "type": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "BackupProtectedItemCountSummary", + "BackupProtectionContainerCountSummary" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } } - ], - "x-ms-discriminator-value": "SAPHanaSystem" + } }, - "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", + "FeatureSupportRequest": { + "description": "Base class for feature request", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "properties": { + "featureType": { + "description": "backup support feature type.", + "type": "string" } - ], - "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" + }, + "discriminator": "featureType" }, - "AzureVmWorkloadSQLDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Database.", + "NameInfo": { + "description": "The name of usage.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "properties": { + "value": { + "description": "Value of usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" } - ], - "x-ms-discriminator-value": "SQLDataBase" + } }, - "AzureVmWorkloadSQLDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SQL Database.", + "PreValidateEnableBackupRequest": { + "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" + "properties": { + "resourceType": { + "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", + "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 + } + }, + "resourceId": { + "description": "ARM Virtual Machine Id", + "type": "string" + }, + "vaultId": { + "description": "ARM id of the Recovery Services Vault", + "type": "string" + }, + "properties": { + "description": "Configuration of VM if any needs to be validated like OS type etc", + "type": "string" } - ], - "x-ms-discriminator-value": "SQLDataBase" + } }, - "AzureVmWorkloadSQLInstanceProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Instance.", + "PreValidateEnableBackupResponse": { + "description": "Response contract for enable backup validation request", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "properties": { + "status": { + "description": "Validation Status", + "enum": [ + "Invalid", + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } + }, + "errorCode": { + "description": "Response error code", + "type": "string" + }, + "errorMessage": { + "description": "Response error message", + "type": "string" + }, + "recommendation": { + "description": "Recommended action for user", + "type": "string" + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", + "type": "string" } - ], - "x-ms-discriminator-value": "SQLInstance" + } }, - "AzureVmWorkloadSQLInstanceWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SQL Instance.", + "ProtectionIntent": { + "description": "Base class for backup ProtectionIntent.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" - } - ], "properties": { - "dataDirectoryPaths": { - "description": "Data Directory Paths for default directories", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectory" + "protectionIntentItemType": { + "description": "backup protectionIntent 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 + } + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "itemId": { + "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true } } }, - "x-ms-discriminator-value": "SQLInstance" + "discriminator": "protectionIntentItemType" }, - "AzureWorkloadBackupRequest": { - "description": "AzureWorkload workload-specific backup request.", + "ProtectionIntentQueryObject": { + "description": "Filters to list protection intent.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } - ], "properties": { - "backupType": { - "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", + "backupManagementType": { + "description": "Backup management type for the backed up item", "enum": [ "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "backupType", + "name": "BackupManagementType", "modelAsString": true } }, - "enableCompression": { - "description": "Bool for Compression setting", - "type": "boolean" + "itemType": { + "description": "Type of workload this item represents", + "enum": [ + "Invalid", + "SQLInstance", + "SQLAvailabilityGroupContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "IntentItemType", + "modelAsString": true + } }, - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", + "parentName": { + "description": "Parent name of the intent", + "type": "string" + }, + "itemName": { + "description": "Item name of the intent", "type": "string" } - }, - "x-ms-discriminator-value": "AzureWorkloadBackupRequest" + } + }, + "ProtectionIntentResource": { + "description": "Base class for backup ProtectionIntent.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionIntent", + "description": "ProtectionIntentResource properties" + } + } + }, + "ProtectionIntentResourceList": { + "description": "List of ProtectionIntent resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + } }, "AzureWorkloadContainer": { "description": "Container for the workloads running inside Azure Compute or Classic Compute.", @@ -10150,54 +11232,54 @@ } } }, - "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." + "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" } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} + }, + "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/2021-01-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/BackupFeature_Validate.json new file mode 100644 index 000000000000..28be066e4b51 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/BackupFeature_Validate.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2017-07-01", + "parameters": { + "featureType": "AzureVMResourceBackup", + "vmSize": "Basic_A0", + "vmSku": "Premium" + } + }, + "responses": { + "200": { + "body": { + "supportStatus": "DefaultOFF" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json new file mode 100644 index 000000000000..73c7034b8cb8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "api-version": "2017-07-01", + "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", + "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault" + } + } + }, + "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=2017-07-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=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json new file mode 100644 index 000000000000..bd1bb670cd1f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vmName": "iaasvm-1", + "api-version": "2017-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.Compute/virtualMachines/iaasvm-1/providers/Microsoft.RecoveryServices/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", + "policyName": "DailyPolicy", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/GetBackupStatus.json new file mode 100644 index 000000000000..97b68a9d0513 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/GetBackupStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2017-07-01", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "resourceType": "VM" + } + }, + "responses": { + "200": { + "body": { + "protectionStatus": "Protected", + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm", + "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm", + "policyName": "myPolicy", + "errorCode": "Success", + "errorMessage": "ErrorMessage" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json new file mode 100644 index 000000000000..3ef776db4e1e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "api-version": "2017-07-01", + "parameters": { + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel", + "protectionIntentItemType": "AzureResourceItem", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "backupManagementType": "AzureIaasVM", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionState": "Protected" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_Validate.json new file mode 100644 index 000000000000..f02e0c6a04a3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_Validate.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2017-07-01", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1", + "resourceType": "VM", + "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault", + "properties": "" + } + }, + "responses": { + "200": { + "body": { + "status": "Failed", + "errorCode": "VirtualMachineAlreadyProtected", + "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault", + "recommendation": "Please do not enable protection again.", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1", + "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json new file mode 100644 index 000000000000..778e33c2941c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "api-version": "2017-07-01", + "parameters": {} + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Get.json new file mode 100644 index 000000000000..20c39e0c4909 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "api-version": "2017-07-01", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "backupManagementType": "AzureWorkload", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_List.json new file mode 100644 index 000000000000..ca16c991a566 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "api-version": "2017-07-01", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "backupManagementType": "AzureWorkload", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json new file mode 100644 index 000000000000..fa3f011c32d8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2017-07-01", + "$filter": "type eq 'BackupProtectedItemCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 7, + "limit": -1, + "name": { + "value": "AzureIaasVM", + "localizedValue": "Azure Virtual Machine" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureStorage", + "localizedValue": "Azure Storage (Azure Files)" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json new file mode 100644 index 000000000000..b13a75b4ddcc --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2017-07-01", + "$filter": "type eq 'BackupProtectionContainerCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/ListOperations.json new file mode 100644 index 000000000000..f4b077d336d0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/ListOperations.json @@ -0,0 +1,463 @@ +{ + "parameters": { + "api-version": "2016-08-10" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.recoveryservices/vaults/usages/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/tokenInfo/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperations/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/refreshContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupEngines", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupStatus", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection", + "operation": "Pre Validate Enable Protection", + "description": "" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Validate Features", + "operation": "Validate Features", + "description": "Validate Features" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent", + "operation": "Create backup Protection Intent", + "description": "Create a backup Protection Intent" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Workload Items", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 9dedbdf1d4ae..d09eecc0acd4 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -54,8 +54,6 @@ These settings apply only when `--tag=package-2021-01` is specified on the comma input-file: - Microsoft.RecoveryServices/stable/2021-01-01/bms.json - Microsoft.RecoveryServices/stable/2018-12-20/bms.json -- Microsoft.RecoveryServices/stable/2017-07-01/bms.json -- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2020-12 From 9c5c917d03949936083731d5b5e7dc44b7ed3d98 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Wed, 10 Feb 2021 01:09:37 -0800 Subject: [PATCH 2/5] fixing additional correctness issue --- .../stable/2021-01-01/bms.json | 10324 +++++++------- .../stable/2021-02-01/bms.json | 11285 ++++++++++++++++ .../AzureIaasVm/BackupFeature_Validate.json | 0 .../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 + ...onfigureProtectionViaExtensionRouting.json | 0 ...ngBackupProtectedItemsInContainer_Get.json | 0 .../examples/AzureIaasVm/GetBackupStatus.json | 0 .../ProtectedItemOperationResults.json | 46 + .../ProtectedItemOperationStatus.json | 28 + .../ProtectionIntent_CreateOrUpdate.json | 0 .../ProtectionIntent_Validate.json | 0 ...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 + ...RecoveryPointsRecommendedForMove_List.json | 101 + .../AzureIaasVm/RecoveryPoints_Get.json | 47 + .../AzureIaasVm/RecoveryPoints_List.json | 95 + .../examples/AzureIaasVm/Revoke_Ilr.json | 21 + .../examples/AzureIaasVm/StopProtection.json | 51 + .../AzureIaasVm/TriggerRestore_ALR.json | 44 + .../TriggerRestore_RestoreDisks.json | 40 + .../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 + .../BackupProtectionIntent_Delete.json | 0 .../BackupProtectionIntent_Get.json | 0 .../BackupProtectionIntent_List.json | 0 .../BackupWorkloadItems_List.json | 47 + .../ProtectionContainers_Get.json | 57 + .../ProtectionContainers_Unregister.json | 21 + ...ectionPolicies_CreateOrUpdate_Complex.json | 260 + .../BackupDataMoveOperationStatus_Get.json | 20 + .../PrepareDataMoveOperationResult_Get.json | 23 + .../BackupDataMove/PrepareDataMove_Post.json | 23 + .../BackupDataMove/TriggerDataMove_Post.json | 23 + .../BackupResourceEncryptionConfig_Get.json | 25 + .../BackupResourceEncryptionConfig_Put.json | 19 + .../BackupProtectedItem_UsageSummary_Get.json | 0 ...ProtectionContainers_UsageSummary_Get.json | 0 .../BackupResourceVaultConfigs_Get.json | 20 + .../BackupResourceVaultConfigs_Patch.json | 25 + .../BackupResourceVaultConfigs_Put.json | 27 + .../Common/BackupSecurityPin_Get.json | 17 + .../Common/CancelJobOperationResult.json | 20 + .../Common/ExportJobsOperationResult.json | 41 + .../examples/Common/GetJobDetails.json | 46 + .../2021-02-01/examples/Common/ListJobs.json | 49 + .../ListJobsWithAllSupportedFilters.json | 33 + ...istJobsWithStartTimeAndEndTimeFilters.json | 51 + .../examples/Common/ProtectedItem_Delete.json | 22 + .../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 + .../examples/ListOperations.json | 0 .../DeletePrivateEndpointConnection.json | 19 + .../GetPrivateEndpointConnection.json | 28 + ...vateEndpointConnectionOperationStatus.json | 21 + .../PutPrivateEndpointConnection.json | 61 + .../TriggerRecoveryPointMove_Post.json | 26 + .../resource-manager/readme.md | 13 +- 79 files changed, 18676 insertions(+), 5704 deletions(-) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/AzureIaasVm/BackupFeature_Validate.json (100%) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupPolicies_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ConfigureProtection.json rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json (100%) rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json (100%) rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/AzureIaasVm/GetBackupStatus.json (100%) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json (100%) rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/AzureIaasVm/ProtectionIntent_Validate.json (100%) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/Provision_Ilr.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPoints_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/Revoke_Ilr.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/StopProtection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/TriggerRestore_ALR.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectableContainers_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectionContainers_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectionContainers_Register.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupPolicies_List.json rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/AzureWorkload/BackupProtectionIntent_Delete.json (100%) rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/AzureWorkload/BackupProtectionIntent_Get.json (100%) rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/AzureWorkload/BackupProtectionIntent_List.json (100%) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/ProtectionContainers_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/PrepareDataMove_Post.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/TriggerDataMove_Post.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupResourceEncryptionConfig_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupResourceEncryptionConfig_Put.json rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/Common/BackupProtectedItem_UsageSummary_Get.json (100%) rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/Common/BackupProtectionContainers_UsageSummary_Get.json (100%) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Put.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupSecurityPin_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/CancelJobOperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ExportJobsOperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/GetJobDetails.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ListJobs.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ListJobsWithAllSupportedFilters.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ProtectedItem_Delete.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/RefreshContainers.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/RefreshContainers_OperationResults.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/TriggerBackup_Post.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/TriggerCancelJob.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/TriggerExportJobs.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Dpm/BackupEngines_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Dpm/BackupEngines_List.json rename specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/{2021-01-01 => 2021-02-01}/examples/ListOperations.json (100%) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/TriggerRecoveryPointMove_Post.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/bms.json index 2095c56d012a..e577faa65552 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/bms.json @@ -18,14 +18,13 @@ "application/json" ], "paths": { - - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { + "get": { "tags": [ - "ProtectionIntent" + "BackupResourceVaultConfigs" ], - "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", - "operationId": "ProtectionIntent_Validate", + "description": "Fetches resource vault config.", + "operationId": "BackupResourceVaultConfigs_Get", "produces": [ "application/json" ], @@ -34,43 +33,41 @@ "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/AzureRegion" + "$ref": "#/parameters/VaultName" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "#/parameters/ResourceGroupName" }, { - "name": "parameters", - "in": "body", - "description": "Enable backup validation request on Virtual Machine", - "required": true, - "schema": { - "$ref": "#/definitions/PreValidateEnableBackupRequest" - } + "$ref": "#/parameters/SubscriptionId" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PreValidateEnableBackupResponse" + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" } } }, "x-ms-examples": { - "Validate Enable Protection on Azure Vm": { - "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" + "Get Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { - "post": { + }, + "patch": { "tags": [ - "BackupStatus" + "BackupResourceVaultConfigs" ], - "summary": "Get the container backup status", - "operationId": "BackupStatus_Get", + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Update", "produces": [ "application/json" ], @@ -79,7 +76,10 @@ "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/AzureRegion" + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" @@ -87,10 +87,10 @@ { "name": "parameters", "in": "body", - "description": "Container Backup Status Request", + "description": "resource config request", "required": true, "schema": { - "$ref": "#/definitions/BackupStatusRequest" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } } ], @@ -98,24 +98,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupStatusResponse" + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" } } }, "x-ms-examples": { - "Get Azure Virtual Machine Backup Status": { - "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" } } - } - }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { - "post": { + }, + "put": { "tags": [ - "FeatureSupport" + "BackupResourceVaultConfigs" ], - "summary": "It will validate if given feature with resource properties is supported in service", - "operationId": "FeatureSupport_Validate", + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Put", "produces": [ "application/json" ], @@ -124,7 +128,10 @@ "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/AzureRegion" + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" @@ -132,10 +139,10 @@ { "name": "parameters", "in": "body", - "description": "Feature support request object", + "description": "resource config request", "required": true, "schema": { - "$ref": "#/definitions/FeatureSupportRequest" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } } ], @@ -143,24 +150,30 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" } } }, "x-ms-examples": { - "Check Azure Vm Backup Feature Support": { - "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { "get": { "tags": [ - "ProtectionIntent" + "BackupResourceEncryptionConfigs" ], - "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", - "operationId": "ProtectionIntent_Get", + "description": "Fetches Vault Encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Get", "produces": [ "application/json" ], @@ -176,42 +189,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "intentObjectName", - "in": "path", - "description": "Backed up item name whose details are to be fetched.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionIntentResource" + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" } } }, "x-ms-examples": { - "Get ProtectionIntent for an item": { - "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json" + "Get Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Get.json" } } }, "put": { "tags": [ - "ProtectionIntent" + "BackupResourceEncryptionConfigs" ], - "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", - "operationId": "ProtectionIntent_CreateOrUpdate", + "description": "Updates Vault encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Update", "produces": [ "application/json" ], @@ -228,50 +233,41 @@ { "$ref": "#/parameters/SubscriptionId" }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "intentObjectName", - "in": "path", - "description": "Intent object name.", - "required": true, - "type": "string" - }, { "name": "parameters", "in": "body", - "description": "resource backed up item", + "description": "Vault encryption input config request", "required": true, "schema": { - "$ref": "#/definitions/ProtectionIntentResource" + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" } } ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ProtectionIntentResource" + "$ref": "#/definitions/NewErrorResponse" } } }, "x-ms-examples": { - "Create or Update Azure Vm Protection Intent": { - "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" + "Update Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { "tags": [ - "ProtectionIntent" + "PrivateEndpointConnection" ], - "description": "Used to remove intent from an item", - "operationId": "ProtectionIntent_Delete", + "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Get", "produces": [ "application/json" ], @@ -289,39 +285,39 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the intent.", - "required": true, - "type": "string" - }, - { - "name": "intentObjectName", + "name": "privateEndpointConnectionName", "in": "path", - "description": "Intent to be deleted.", + "description": "The name of the private endpoint connection.", "required": true, "type": "string" } ], "responses": { - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } } }, "x-ms-examples": { - "Delete Protection intent from item": { - "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json" + "Get PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": { - "get": { + }, + "put": { "tags": [ - "BackupProtectionIntent" + "PrivateEndpointConnection" ], - "description": "Provides a pageable list of all intents that are present within a vault.", - "operationId": "BackupProtectionIntent_List", + "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Put", "produces": [ "application/json" ], @@ -339,46 +335,55 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionIntentResourceList" + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } }, - "x-ms-odata": "#/definitions/ProtectionIntentQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "List protection intent with backupManagementType filter": { - "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json" + "Update PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { - "get": { + }, + "delete": { "tags": [ - "BackupUsageSummaries" + "PrivateEndpointConnection" ], - "description": "Fetches the backup management usage summaries of the vault.", - "operationId": "BackupUsageSummaries_List", + "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Delete", "produces": [ "application/json" ], @@ -396,82 +401,47 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/BackupManagementUsageList" + "$ref": "#/definitions/CloudError" } } }, - "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", - "x-ms-pageable": { - "nextLinkName": null - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get Protected Items Usages Summary": { - "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" - }, - "Get Protected Containers Usages Summary": { - "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" + "Delete PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" } } } }, - "/providers/Microsoft.RecoveryServices/operations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { "get": { "tags": [ - "Operations" - ], - "description": "Returns the list of available operations.", - "operationId": "Operations_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ClientDiscoveryResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" - }, - "x-ms-examples": { - "ListOperations": { - "$ref": "./examples/ListOperations.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { - "get": { - "tags": [ - "BackupResourceVaultConfigs" - ], - "description": "Fetches resource vault config.", - "operationId": "BackupResourceVaultConfigs_Get", - "produces": [ - "application/json" + "PrivateEndpoint" + ], + "summary": "Gets the operation status for a private endpoint connection.", + "operationId": "PrivateEndpoint_GetOperationStatus", + "produces": [ + "application/json" ], "parameters": [ { @@ -485,13 +455,27 @@ }, { "$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/BackupResourceVaultConfigResource" + "$ref": "#/definitions/OperationStatus" } }, "default": { @@ -502,17 +486,19 @@ } }, "x-ms-examples": { - "Get Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" + "Get OperationStatus": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "get": { "tags": [ - "BackupResourceVaultConfigs" + "DataMove" ], - "description": "Updates vault security config.", - "operationId": "BackupResourceVaultConfigs_Update", + "description": "Fetches operation status for data move operation on vault", + "operationId": "GetOperationStatus", "produces": [ "application/json" ], @@ -530,20 +516,17 @@ "$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/OperationStatus" } }, "default": { @@ -554,17 +537,19 @@ } }, "x-ms-examples": { - "Update Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { + "post": { "tags": [ - "BackupResourceVaultConfigs" + "DataMove" ], - "description": "Updates vault security config.", - "operationId": "BackupResourceVaultConfigs_Put", + "description": "Prepares source vault for Data Move operation", + "operationId": "BMSPrepareDataMove", "produces": [ "application/json" ], @@ -584,19 +569,19 @@ { "name": "parameters", "in": "body", - "description": "resource config request", + "description": "Prepare data move request", "required": true, "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" + "$ref": "#/definitions/PrepareDataMoveRequest" } } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } + "description": "OK" + }, + "202": { + "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", @@ -605,20 +590,21 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Update Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" + "Prepare Data Move": { + "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { "get": { "tags": [ - "BackupResourceEncryptionConfigs" + "BMSPrepareDataMoveOperationResult" ], - "description": "Fetches Vault Encryption config.", - "operationId": "BackupResourceEncryptionConfigs_Get", + "description": "Fetches Operation Result for Prepare Data Move", + "operationId": "BMSPrepareDataMoveOperationResult_Get", "produces": [ "application/json" ], @@ -634,34 +620,45 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" } }, + "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-examples": { - "Get Vault Encryption Configuration": { - "$ref": "./examples/BackupResourceEncryptionConfig_Get.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": [ - "BackupResourceEncryptionConfigs" + "DataMove" ], - "description": "Updates Vault encryption config.", - "operationId": "BackupResourceEncryptionConfigs_Update", + "description": "Triggers Data Move Operation on target vault", + "operationId": "BMSTriggerDataMove", "produces": [ "application/json" ], @@ -681,10 +678,10 @@ { "name": "parameters", "in": "body", - "description": "Vault encryption input config request", + "description": "Trigger data move request", "required": true, "schema": { - "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + "$ref": "#/definitions/TriggerDataMoveRequest" } } ], @@ -692,6 +689,9 @@ "200": { "description": "OK" }, + "202": { + "description": "Accepted" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -699,20 +699,21 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Update Vault Encryption Configuration": { - "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" + "Trigger Data Move": { + "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { "get": { "tags": [ - "PrivateEndpointConnection" + "ProtectedItems" ], - "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Get", + "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" ], @@ -730,39 +731,64 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "privateEndpointConnectionName", + "name": "fabricName", "in": "path", - "description": "The name of the private endpoint connection.", + "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/PrivateEndpointConnectionResource" + "$ref": "#/definitions/ProtectedItemResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/CloudError" } } }, + "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", "x-ms-examples": { - "Get PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.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" } } }, "put": { "tags": [ - "PrivateEndpointConnection" + "ProtectedItems" ], - "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Put", + "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" ], @@ -780,19 +806,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "privateEndpointConnectionName", + "name": "fabricName", "in": "path", - "description": "The name of the private endpoint connection.", + "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": "Request body for operation", + "description": "resource backed up item", "required": true, "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" + "$ref": "#/definitions/ProtectedItemResource" } } ], @@ -800,14 +840,11 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" + "$ref": "#/definitions/ProtectedItemResource" } }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" - } + "202": { + "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", @@ -816,19 +853,21 @@ } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Update PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" + "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": [ - "PrivateEndpointConnection" + "ProtectedItems" ], - "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Delete", + "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" ], @@ -846,21 +885,35 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "privateEndpointConnectionName", + "name": "fabricName", "in": "path", - "description": "The name of the private endpoint connection.", + "description": "Fabric name associated with the backed up item.", "required": true, "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" }, - "202": { - "description": "Accepted" - }, - "204": { + { + "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" + }, + "202": { + "description": "Accepted" + }, + "204": { "description": "NoContent" }, "default": { @@ -870,21 +923,20 @@ } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" + "Delete Protection from Azure Virtual Machine": { + "$ref": "./examples/Common/ProtectedItem_Delete.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { "get": { "tags": [ - "PrivateEndpoint" + "ProtectedItemOperationResults" ], - "summary": "Gets the operation status for a private endpoint connection.", - "operationId": "PrivateEndpoint_GetOperationStatus", + "description": "Fetches the result of any operation on the backup item.", + "operationId": "ProtectedItemOperationResults_Get", "produces": [ "application/json" ], @@ -902,16 +954,30 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "privateEndpointConnectionName", + "name": "fabricName", "in": "path", - "description": "The name of the private endpoint connection.", + "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": "Operation id", + "description": "OperationID which represents the operation whose result needs to be fetched.", "required": true, "type": "string" } @@ -920,30 +986,36 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/ProtectedItemResource" } }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { - "Get OperationStatus": { - "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" + "Get Operation Results of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" } } } }, - "/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}/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" ], @@ -961,40 +1033,66 @@ "$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/OperationStatus" + "$ref": "#/definitions/RecoveryPointResourceList" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/CloudError" } } }, + "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" ], @@ -1012,44 +1110,62 @@ "$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" + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResource" + } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/CloudError" } } }, - "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}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { + "post": { "tags": [ - "BMSPrepareDataMoveOperationResult" + "Restores" ], - "description": "Fetches Operation Result for Prepare Data Move", - "operationId": "BMSPrepareDataMoveOperationResult_Get", + "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" ], @@ -1067,43 +1183,72 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "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": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" - } - }, "202": { "description": "Accepted" }, "default": { - "description": "Error response describing why the operation failed. ", + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/CloudError" } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get operation result for PrepareDataMove": { - "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + "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}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "get": { "tags": [ - "DataMove" + "BackupPolicies" ], - "description": "Triggers Data Move Operation on target vault", - "operationId": "BMSTriggerDataMove", + "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" ], @@ -1121,44 +1266,48 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "parameters", - "in": "body", - "description": "Trigger data move request", - "required": true, - "schema": { - "$ref": "#/definitions/TriggerDataMoveRequest" - } + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResourceList" + } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "#/definitions/CloudError" } } }, - "x-ms-long-running-operation": true, + "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Trigger Data Move": { - "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + "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}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { "get": { "tags": [ - "ProtectedItems" + "ProtectionPolicies" ], - "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", + "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" ], @@ -1176,39 +1325,18 @@ "$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": "policyName", "in": "path", - "description": "Backed up item name whose details are to be fetched.", + "description": "Backup policy information 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" + "$ref": "#/definitions/ProtectionPolicyResource" } }, "default": { @@ -1218,22 +1346,18 @@ } } }, - "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" + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" } } }, "put": { "tags": [ - "ProtectedItems" + "ProtectionPolicies" ], - "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", + "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" ], @@ -1251,33 +1375,19 @@ "$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", + "name": "policyName", "in": "path", - "description": "Item name to be backed up.", + "description": "Backup policy to be created.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", - "description": "resource backed up item", + "description": "resource backup policy", "required": true, "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/ProtectionPolicyResource" } } ], @@ -1285,7 +1395,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/ProtectionPolicyResource" } }, "202": { @@ -1299,20 +1409,23 @@ } }, "x-ms-examples": { - "Enable Protection on Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" + "Create or Update Simple Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" }, - "Stop Protection with retain data on Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/StopProtection.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": [ - "ProtectedItems" + "ProtectionPolicies" ], - "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", + "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" ], @@ -1330,23 +1443,9 @@ "$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": "policyName", "in": "path", - "description": "Backed up item to be deleted.", + "description": "Backup policy to be deleted.", "required": true, "type": "string" } @@ -1355,9 +1454,6 @@ "200": { "description": "OK" }, - "202": { - "description": "Accepted" - }, "204": { "description": "NoContent" }, @@ -1368,20 +1464,21 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Protection from Azure Virtual Machine": { - "$ref": "./examples/Common/ProtectedItem_Delete.json" + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { "get": { "tags": [ - "ProtectedItemOperationResults" + "ProtectionPolicyOperationResults" ], - "description": "Fetches the result of any operation on the backup item.", - "operationId": "ProtectedItemOperationResults_Get", + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", "produces": [ "application/json" ], @@ -1399,30 +1496,16 @@ "$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", + "name": "policyName", "in": "path", - "description": "Backup item name whose details are to be fetched.", + "description": "Backup policy name whose operation's result needs to be fetched.", "required": true, "type": "string" }, { "name": "operationId", "in": "path", - "description": "OperationID which represents the operation whose result needs to be fetched.", + "description": "Operation ID which represents the operation whose result needs to be fetched.", "required": true, "type": "string" } @@ -1431,15 +1514,9 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/ProtectionPolicyResource" } }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -1448,19 +1525,19 @@ } }, "x-ms-examples": { - "Get Operation Results of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.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}/backupJobs": { "get": { "tags": [ - "RecoveryPoints" + "BackupJobs" ], - "description": "Lists the backup copies for the backed up item.", - "operationId": "RecoveryPoints_List", + "description": "Provides a pageable list of jobs.", + "operationId": "BackupJobs_List", "produces": [ "application/json" ], @@ -1478,30 +1555,16 @@ "$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, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "$filter", + "name": "$skipToken", "in": "query", - "description": "OData filter options.", + "description": "skipToken Filter.", "required": false, "type": "string" } @@ -1510,7 +1573,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPointResourceList" + "$ref": "#/definitions/JobResourceList" } }, "default": { @@ -1520,24 +1583,30 @@ } } }, - "x-ms-odata": "#/definitions/BMSRPQueryObject", + "x-ms-odata": "#/definitions/JobQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { - "Get Protected Azure Vm Recovery Points": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" + "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}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { "get": { "tags": [ - "RecoveryPoints" + "JobDetails" ], - "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": "Gets extended information associated with the job.", + "operationId": "JobDetails_Get", "produces": [ "application/json" ], @@ -1555,30 +1624,9 @@ "$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", + "name": "jobName", "in": "path", - "description": "RecoveryPointID represents the backed up data to be fetched.", + "description": "Name of the job whose details are to be fetched.", "required": true, "type": "string" } @@ -1587,7 +1635,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPointResource" + "$ref": "#/definitions/JobResource" } }, "default": { @@ -1598,19 +1646,19 @@ } }, "x-ms-examples": { - "Get Azure Vm Recovery Point Details": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" + "Get Job Details": { + "$ref": "./examples/Common/GetJobDetails.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { "post": { "tags": [ - "Restores" + "JobCancellations" ], - "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", + "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" ], @@ -1628,41 +1676,11 @@ "$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", + "name": "jobName", "in": "path", - "description": "Recovery point ID which represents the backed up data to be restored.", + "description": "Name of the job to cancel.", "required": true, "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource restore request", - "required": true, - "schema": { - "$ref": "#/definitions/RestoreRequestResource" - } } ], "responses": { @@ -1676,24 +1694,20 @@ } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Restore to New Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json" - }, - "Restore Disks": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json" + "Cancel Job": { + "$ref": "./examples/Common/TriggerCancelJob.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { "get": { "tags": [ - "BackupPolicies" + "JobOperationResults" ], - "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", - "operationId": "BackupPolicies_List", + "description": "Fetches the result of any operation.", + "operationId": "JobOperationResults_Get", "produces": [ "application/json" ], @@ -1711,19 +1725,29 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "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", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResourceList" - } + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" }, "default": { "description": "Error response describing why the operation failed.", @@ -1732,27 +1756,20 @@ } } }, - "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" + "Cancel Job Operation Result": { + "$ref": "./examples/Common/CancelJobOperationResult.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { "get": { "tags": [ - "ProtectionPolicies" + "ExportJobsOperationResults" ], - "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", + "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" ], @@ -1770,9 +1787,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "operationId", "in": "path", - "description": "Backup policy information to be fetched.", + "description": "OperationID which represents the export job.", "required": true, "type": "string" } @@ -1781,7 +1798,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" } }, "default": { @@ -1792,17 +1815,19 @@ } }, "x-ms-examples": { - "Get Azure IaasVm Protection Policy Details": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" + "Export Jobs Operation Results": { + "$ref": "./examples/Common/ExportJobsOperationResult.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { + "post": { "tags": [ - "ProtectionPolicies" + "Jobs" ], - "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", + "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", + "operationId": "Jobs_Export", "produces": [ "application/json" ], @@ -1820,29 +1845,14 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", - "in": "path", - "description": "Backup policy to be created.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "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" }, @@ -1853,24 +1863,21 @@ } } }, + "x-ms-odata": "#/definitions/JobQueryObject", "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" + "Export Jobs": { + "$ref": "./examples/Common/TriggerExportJobs.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { + "get": { "tags": [ - "ProtectionPolicies" + "BackupProtectedItems" ], - "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 a pageable list of all items that are backed up within a vault.", + "operationId": "BackupProtectedItems_List", "produces": [ "application/json" ], @@ -1888,19 +1895,26 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", - "in": "path", - "description": "Backup policy to be deleted.", - "required": true, + "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" - }, - "204": { - "description": "NoContent" + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResourceList" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -1909,21 +1923,24 @@ } } }, - "x-ms-long-running-operation": true, + "x-ms-odata": "#/definitions/ProtectedItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Delete Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + "List protected items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { + "post": { "tags": [ - "ProtectionPolicyOperationResults" + "Operation" ], - "description": "Provides the result of an operation.", - "operationId": "ProtectionPolicyOperationResults_Get", + "description": "Validate operation for specified backed up item. This is a synchronous operation.", + "operationId": "Operation_Validate", "produces": [ "application/json" ], @@ -1941,25 +1958,20 @@ "$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.", + "name": "parameters", + "in": "body", + "description": "resource validate operation request", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ValidateOperationRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/ValidateOperationsResponse" } }, "default": { @@ -1970,19 +1982,19 @@ } }, "x-ms-examples": { - "Get Protection Policy Operation Results": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + "Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { "get": { "tags": [ - "BackupJobs" + "BackupEngines" ], - "description": "Provides a pageable list of jobs.", - "operationId": "BackupJobs_List", + "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", + "operationId": "BackupEngines_List", "produces": [ "application/json" ], @@ -2018,7 +2030,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/JobResourceList" + "$ref": "#/definitions/BackupEngineBaseResourceList" } }, "default": { @@ -2028,30 +2040,24 @@ } } }, - "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", "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" + "List Dpm/AzureBackupServer/Lajolla Backup Engines": { + "$ref": "./examples/Dpm/BackupEngines_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { "get": { "tags": [ - "JobDetails" + "BackupEngines" ], - "description": "Gets extended information associated with the job.", - "operationId": "JobDetails_Get", + "description": "Returns backup management server registered to Recovery Services Vault.", + "operationId": "BackupEngines_Get", "produces": [ "application/json" ], @@ -2069,18 +2075,32 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "backupEngineName", "in": "path", - "description": "Name of the job whose details are to be fetched.", + "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/JobResource" + "$ref": "#/definitions/BackupEngineBaseResource" } }, "default": { @@ -2090,20 +2110,21 @@ } } }, + "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", "x-ms-examples": { - "Get Job Details": { - "$ref": "./examples/Common/GetJobDetails.json" + "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { + "$ref": "./examples/Dpm/BackupEngines_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { + "get": { "tags": [ - "JobCancellations" + "ProtectionContainerRefreshOperationResults" ], - "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.", - "operationId": "JobCancellations_Trigger", + "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", + "operationId": "ProtectionContainerRefreshOperationResults_Get", "produces": [ "application/json" ], @@ -2121,9 +2142,16 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "fabricName", "in": "path", - "description": "Name of the job to cancel.", + "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" } @@ -2132,6 +2160,9 @@ "202": { "description": "Accepted" }, + "204": { + "description": "NoContent" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2140,19 +2171,19 @@ } }, "x-ms-examples": { - "Cancel Job": { - "$ref": "./examples/Common/TriggerCancelJob.json" + "Azure Vm Discovery Operation Result": { + "$ref": "./examples/Common/RefreshContainers_OperationResults.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { "get": { "tags": [ - "JobOperationResults" + "ProtectableContainers" ], - "description": "Fetches the result of any operation.", - "operationId": "JobOperationResults_Get", + "description": "Lists the containers that can be registered to Recovery Services Vault.", + "operationId": "ProtectableContainers_List", "produces": [ "application/json" ], @@ -2170,29 +2201,25 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "fabricName", "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, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectableContainerResourceList" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -2201,20 +2228,24 @@ } } }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Cancel Job Operation Result": { - "$ref": "./examples/Common/CancelJobOperationResult.json" + "List protectable items with backupManagementType filter as AzureStorage": { + "$ref": "./examples/AzureStorage/ProtectableContainers_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { "get": { "tags": [ - "ExportJobsOperationResults" + "ProtectionContainers" ], - "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", + "description": "Gets details of the specific container registered to your Recovery Services Vault.", + "operationId": "ProtectionContainers_Get", "produces": [ "application/json" ], @@ -2232,9 +2263,16 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "fabricName", "in": "path", - "description": "OperationID which represents the export job.", + "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" } @@ -2243,13 +2281,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationResultInfoBaseResource" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/OperationResultInfoBaseResource" + "$ref": "#/definitions/ProtectionContainerResource" } }, "default": { @@ -2260,19 +2292,17 @@ } }, "x-ms-examples": { - "Export Jobs Operation Results": { - "$ref": "./examples/Common/ExportJobsOperationResult.json" + "Get Protection Container Details": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { - "post": { + }, + "put": { "tags": [ - "Jobs" + "ProtectionContainers" ], - "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", - "operationId": "Jobs_Export", + "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" ], @@ -2290,14 +2320,36 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "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" }, @@ -2308,21 +2360,18 @@ } } }, - "x-ms-odata": "#/definitions/JobQueryObject", "x-ms-examples": { - "Export Jobs": { - "$ref": "./examples/Common/TriggerExportJobs.json" + "RegisterAzure Storage ProtectionContainers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { - "get": { + }, + "delete": { "tags": [ - "BackupProtectedItems" + "ProtectionContainers" ], - "description": "Provides a pageable list of all items that are backed up within a vault.", - "operationId": "BackupProtectedItems_List", + "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" ], @@ -2340,26 +2389,29 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "fabricName", + "in": "path", + "description": "Name of the fabric where the container belongs.", + "required": true, "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "name": "containerName", + "in": "path", + "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResourceList" - } + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" }, "default": { "description": "Error response describing why the operation failed.", @@ -2368,24 +2420,21 @@ } } }, - "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" + "Unregister Protection Container": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { "post": { "tags": [ - "Operation" + "ProtectionContainers" ], - "description": "Validate operation for specified backed up item. This is a synchronous operation.", - "operationId": "Operation_Validate", + "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" ], @@ -2403,21 +2452,30 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "parameters", - "in": "body", - "description": "resource validate operation request", + "name": "fabricName", + "in": "path", + "description": "Fabric Name associated with the container.", "required": true, - "schema": { - "$ref": "#/definitions/ValidateOperationRequest" - } + "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": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ValidateOperationsResponse" - } + "202": { + "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", @@ -2426,20 +2484,21 @@ } } }, + "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", "x-ms-examples": { - "Validate Operation": { - "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" + "Inquire Azure Storage Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { "get": { "tags": [ - "BackupEngines" + "BackupWorkloadItems" ], - "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", - "operationId": "BackupEngines_List", + "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" ], @@ -2456,6 +2515,20 @@ { "$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", @@ -2475,7 +2548,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupEngineBaseResourceList" + "$ref": "#/definitions/WorkloadItemResourceList" } }, "default": { @@ -2485,24 +2558,24 @@ } } }, - "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", + "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { - "List Dpm/AzureBackupServer/Lajolla Backup Engines": { - "$ref": "./examples/Dpm/BackupEngines_List.json" + "List Workload Items in Container": { + "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { "get": { "tags": [ - "BackupEngines" + "ProtectionContainerOperationResults" ], - "description": "Returns backup management server registered to Recovery Services Vault.", - "operationId": "BackupEngines_Get", + "description": "Fetches the result of any operation on the container.", + "operationId": "ProtectionContainerOperationResults_Get", "produces": [ "application/json" ], @@ -2520,24 +2593,24 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "backupEngineName", + "name": "fabricName", "in": "path", - "description": "Name of the backup management server.", + "description": "Fabric name associated with the container.", "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "containerName", + "in": "path", + "description": "Container name whose information should be fetched.", + "required": true, "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, "type": "string" } ], @@ -2545,9 +2618,15 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupEngineBaseResource" + "$ref": "#/definitions/ProtectionContainerResource" } }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2555,21 +2634,20 @@ } } }, - "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", "x-ms-examples": { - "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { - "$ref": "./examples/Dpm/BackupEngines_Get.json" + "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}/operationResults/{operationId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { "tags": [ - "ProtectionContainerRefreshOperationResults" + "Backups" ], - "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", - "operationId": "ProtectionContainerRefreshOperationResults_Get", + "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" ], @@ -2589,25 +2667,38 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the container.", + "description": "Fabric name associated with the backup item.", "required": true, "type": "string" }, { - "name": "operationId", + "name": "containerName", "in": "path", - "description": "Operation ID associated with 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": "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" }, - "204": { - "description": "NoContent" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2616,19 +2707,19 @@ } }, "x-ms-examples": { - "Azure Vm Discovery Operation Result": { - "$ref": "./examples/Common/RefreshContainers_OperationResults.json" + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { "get": { "tags": [ - "ProtectableContainers" + "ProtectedItemOperationStatuses" ], - "description": "Lists the containers that can be registered to Recovery Services Vault.", - "operationId": "ProtectableContainers_List", + "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" ], @@ -2648,14 +2739,29 @@ { "name": "fabricName", "in": "path", + "description": "Fabric name associated with the backup item.", "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "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" } ], @@ -2663,7 +2769,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectableContainerResourceList" + "$ref": "#/definitions/OperationStatus" } }, "default": { @@ -2673,24 +2779,20 @@ } } }, - "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" + "Get Operation Status of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "post": { "tags": [ - "ProtectionContainers" + "ItemLevelRecoveryConnections" ], - "description": "Gets details of the specific container registered to your Recovery Services Vault.", - "operationId": "ProtectionContainers_Get", + "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" ], @@ -2710,24 +2812,44 @@ { "name": "fabricName", "in": "path", - "description": "Name of the fabric where the container belongs.", + "description": "Fabric name associated with the backed up items.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Name of the container whose details need to be fetched.", + "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": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainerResource" - } + "202": { + "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", @@ -2737,17 +2859,19 @@ } }, "x-ms-examples": { - "Get Protection Container Details": { - "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" + "Provision Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { + "post": { "tags": [ - "ProtectionContainers" + "ItemLevelRecoveryConnections" ], - "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", + "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" ], @@ -2767,34 +2891,33 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the container.", + "description": "Fabric name associated with the backed up items.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Name of the container to be registered.", + "description": "Container name associated with the backed up items.", "required": true, "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "Request body for operation", + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", "required": true, - "schema": { - "$ref": "#/definitions/ProtectionContainerResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainerResource" - } + "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" }, @@ -2806,17 +2929,19 @@ } }, "x-ms-examples": { - "RegisterAzure Storage ProtectionContainers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" + "Revoke Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { + "post": { "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", + "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" ], @@ -2836,28 +2961,22 @@ { "name": "fabricName", "in": "path", - "description": "Name of the fabric where the container belongs.", + "description": "Fabric name associated the container.", "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, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], "responses": { - "200": { - "description": "OK" - }, "202": { "description": "Accepted" }, - "204": { - "description": "NoContent" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2865,21 +2984,21 @@ } } }, + "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", "x-ms-examples": { - "Unregister Protection Container": { - "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" + "Trigger Azure Vm Discovery": { + "$ref": "./examples/Common/RefreshContainers.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { + "get": { "tags": [ - "ProtectionContainers" + "BackupOperationResults" ], - "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", + "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" ], @@ -2897,31 +3016,23 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric Name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "containerName", + "name": "operationId", "in": "path", - "description": "Name of the container in which inquiry needs to be triggered.", + "description": "OperationID which represents the operation.", "required": true, "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" } ], "responses": { + "200": { + "description": "OK" + }, "202": { "description": "Accepted" }, + "204": { + "description": "NoContent" + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2929,21 +3040,20 @@ } } }, - "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", "x-ms-examples": { - "Inquire Azure Storage Protection Containers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" + "Get Result for Protected Item Delete Operation": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { "get": { "tags": [ - "BackupWorkloadItems" + "BackupOperationStatuses" ], - "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", + "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" ], @@ -2961,39 +3071,18 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "containerName", + "name": "operationId", "in": "path", - "description": "Name of the container.", + "description": "OperationID which represents the operation.", "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" + "$ref": "#/definitions/OperationStatus" } }, "default": { @@ -3003,24 +3092,20 @@ } } }, - "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Workload Items in Container": { - "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" + "Get Protected Item Delete Operation Status": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { "get": { "tags": [ - "ProtectionContainerOperationResults" + "ProtectionPolicyOperationStatuses" ], - "description": "Fetches the result of any operation on the container.", - "operationId": "ProtectionContainerOperationResults_Get", + "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" ], @@ -3038,23 +3123,16 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "containerName", + "name": "policyName", "in": "path", - "description": "Container name whose information should be fetched.", + "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 the operation whose result needs to be fetched.", + "description": "Operation ID which represents an operation whose status needs to be fetched.", "required": true, "type": "string" } @@ -3063,15 +3141,9 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerResource" + "$ref": "#/definitions/OperationStatus" } }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -3080,19 +3152,19 @@ } }, "x-ms-examples": { - "Get Azure Storage Protection Container Operation Result": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" + "Get Protection Policy Operation Status": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" } } } }, - "/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}/backupProtectableItems": { + "get": { "tags": [ - "Backups" + "BackupProtectableItems" ], - "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": "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" ], @@ -3110,39 +3182,26 @@ "$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, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "protectedItemName", - "in": "path", - "description": "Backup item for which backup needs to be triggered.", - "required": true, + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backup request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupRequestResource" - } } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadProtectableItemResourceList" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -3151,20 +3210,24 @@ } } }, + "x-ms-odata": "#/definitions/BMSPOQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Trigger Backup": { - "$ref": "./examples/Common/TriggerBackup_Post.json" + "List protectable items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": { "get": { "tags": [ - "ProtectedItemOperationStatuses" + "BackupProtectionContainers" ], - "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", + "description": "Lists the containers registered to Recovery Services Vault.", + "operationId": "BackupProtectionContainers_List", "produces": [ "application/json" ], @@ -3182,40 +3245,19 @@ "$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, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "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" - } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResourceList" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -3224,20 +3266,24 @@ } } }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Get Operation Status of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" + "List Backup Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": { "post": { "tags": [ - "ItemLevelRecoveryConnections" + "SecurityPINs" ], - "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", + "description": "Get the security PIN.", + "operationId": "SecurityPINs_Get", "produces": [ "application/json" ], @@ -3253,48 +3299,14 @@ }, { "$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" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TokenInformation" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -3304,19 +3316,19 @@ } }, "x-ms-examples": { - "Provision Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" + "Get Vault Security Pin": { + "$ref": "./examples/Common/BackupSecurityPin_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": { "post": { "tags": [ - "ItemLevelRecoveryConnections" + "RecoveryPoint" ], - "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", + "summary": "Move recovery point from one datastore to another store.", + "operationId": "MoveRecoveryPoint", "produces": [ "application/json" ], @@ -3336,30 +3348,35 @@ { "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" + }, + { + "name": "parameters", + "in": "body", + "description": "Move Resource Across Tiers Request", + "required": true, + "schema": { + "$ref": "#/definitions/MoveRPAcrossTiersRequest" + } } ], "responses": { @@ -3373,20 +3390,21 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Revoke Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" + "Trigger RP Move Operation": { + "$ref": "./examples/TriggerRecoveryPointMove_Post.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { "post": { "tags": [ - "ProtectionContainers" + "RecoveryPointsRecommendedForMove" ], - "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", + "description": "Lists the recovery points recommended for move to another tier", + "operationId": "RecoveryPointsRecommendedForMove_List", "produces": [ "application/json" ], @@ -3406,128 +3424,36 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated the container.", "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "containerName", + "in": "path", + "required": true, "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "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", + "name": "protectedItemName", "in": "path", - "description": "OperationID which represents the operation.", "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": "#/definitions/CloudError" - } - } - }, - "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.", + "name": "parameters", + "in": "body", + "description": "List Recovery points Recommended for Move Request", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/RecoveryPointResourceList" } }, "default": { @@ -3537,1639 +3463,633 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Get Protected Item Delete Operation Status": { - "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" + "Get Protected Azure Vm Recovery Points Recommended for Move": { + "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.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" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "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" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "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" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "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" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Get Vault Security Pin": { - "$ref": "./examples/Common/BackupSecurityPin_Get.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": { - "post": { - "tags": [ - "RecoveryPoint" - ], - "summary": "Move recovery point from one datastore to another store.", - "operationId": "MoveRecoveryPoint", - "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": "containerName", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "Move Resource Across Tiers Request", - "required": true, - "schema": { - "$ref": "#/definitions/MoveRPAcrossTiersRequest" - } - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Trigger RP Move Operation": { - "$ref": "./examples/TriggerRecoveryPointMove_Post.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { - "post": { - "tags": [ - "RecoveryPointsRecommendedForMove" - ], - "description": "Lists the recovery points recommended for move to another tier", - "operationId": "RecoveryPointsRecommendedForMove_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": "containerName", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "List Recovery points Recommended for Move Request", - "required": true, - "schema": { - "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPointResourceList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Get Protected Azure Vm Recovery Points Recommended for Move": { - "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json" - } - } - } - } - }, - "definitions": { - "BackupResourceEncryptionConfig": { - "type": "object", - "properties": { - "encryptionAtRestType": { - "description": "Encryption At Rest Type", - "enum": [ - "Invalid", - "MicrosoftManaged", - "CustomerManaged" - ], - "type": "string", - "x-ms-enum": { - "name": "EncryptionAtRestType", - "modelAsString": true - } - }, - "keyUri": { - "description": "Key Vault Key URI", - "type": "string" - }, - "subscriptionId": { - "description": "Key Vault Subscription Id", - "type": "string" - }, - "lastUpdateStatus": { - "enum": [ - "Invalid", - "NotEnabled", - "PartiallySucceeded", - "PartiallyFailed", - "Failed", - "Succeeded" - ], - "type": "string", - "x-ms-enum": { - "name": "LastUpdateStatus", - "modelAsString": true - } - }, - "infrastructureEncryptionState": { - "enum": [ - "Invalid", - "Disabled", - "Enabled" - ], - "type": "string", - "x-ms-enum": { - "name": "InfrastructureEncryptionState", - "modelAsString": true - } - } - } - }, - "BackupResourceEncryptionConfigResource": { - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BackupResourceEncryptionConfig", - "description": "BackupResourceEncryptionConfigResource properties" - } - } - }, - "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" - } - } - }, - "CloudError": { - "x-ms-external": true, - "properties": { - "error": { - "type": "object", - "$ref": "#/definitions/CloudErrorBody", - "description": "The error object." - } - }, - "description": "An error response from the Container Instance service." - }, - "CloudErrorBody": { - "x-ms-external": true, - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - }, - "target": { - "readOnly": true, - "type": "string", - "description": "The target of the particular error. For example, the name of the property in error." - }, - "details": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - }, - "description": "A list of additional details about the error." - }, - "additionalInfo": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" - }, - "description": "The error additional info." - } - }, - "description": "An error response from the Container Instance service." - }, - "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" - }, - "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" - }, - "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.", + } + }, + "definitions": { + "BackupResourceEncryptionConfig": { "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" + "encryptionAtRestType": { + "description": "Encryption At Rest Type", + "enum": [ + "Invalid", + "MicrosoftManaged", + "CustomerManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAtRestType", + "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.", - "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.", + "keyUri": { + "description": "Key Vault Key URI", "type": "string" }, - "protectionStatus": { - "description": "Backup status of this backup item.", + "subscriptionId": { + "description": "Key Vault Subscription Id", "type": "string" }, - "protectionState": { - "description": "Backup state of this backup item.", + "lastUpdateStatus": { "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "NotEnabled", + "PartiallySucceeded", + "PartiallyFailed", + "Failed", + "Succeeded" ], "type": "string", "x-ms-enum": { - "name": "ProtectionState", + "name": "LastUpdateStatus", "modelAsString": true } }, - "healthStatus": { - "description": "Health status of protected item.", + "infrastructureEncryptionState": { "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" + "Invalid", + "Disabled", + "Enabled" ], "type": "string", "x-ms-enum": { - "name": "HealthStatus", + "name": "InfrastructureEncryptionState", "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.", + "BackupResourceEncryptionConfigResource": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfig", + "description": "BackupResourceEncryptionConfigResource properties" + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection", "type": "object", "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this backup item.", + "id": { + "description": "Gets or sets id", "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.", + "PrivateEndpointConnection": { + "description": "Private Endpoint Connection Response Properties", "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" + "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 + } }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" + "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" } - }, - "x-ms-discriminator-value": "AzureIaasVM" + } }, - "AzureSqlProtectedItem": { - "description": "Azure SQL workload-specific backup item.", - "type": "object", + "PrivateEndpointConnectionResource": { + "description": "Private Endpoint Connection Response Properties", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/Resource" } ], "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.", + "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": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "Pending", + "Approved", + "Rejected", + "Disconnected" ], "type": "string", "x-ms-enum": { - "name": "ProtectedItemState", + "name": "PrivateEndpointConnectionStatus", "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.", + "description": { + "description": "Gets or sets description", "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.", + "actionRequired": { + "description": "Gets or sets actions required", "type": "string" } } }, - "AzureStorageErrorInfo": { - "description": "Azure storage specific error information", - "type": "object", + "CloudError": { + "x-ms-external": true, "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer" + "error": { + "type": "object", + "$ref": "#/definitions/CloudErrorBody", + "description": "The error object." + } + }, + "description": "An error response from the Container Instance service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." }, - "errorString": { - "description": "Localized error string.", - "type": "string" + "message": { + "readOnly": true, + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." }, - "recommendations": { - "description": "List of localized recommendations for above error code.", + "target": { + "readOnly": true, + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "readOnly": true, "type": "array", "items": { - "type": "string" - } + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." } - } + }, + "description": "An error response from the Container Instance service." }, - "AzureSqlProtectionPolicy": { - "description": "Azure SQL workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], + "NewErrorResponse": { "properties": { - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." + "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." + } + } } }, - "x-ms-discriminator-value": "AzureSql" + "description": "The resource management error response." }, - "AzureStorageJob": { - "description": "Azure storage specific job.", + "AzureFileshareProtectedItem": { + "description": "Azure File Share workload-specific backup item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/ProtectedItem" } ], "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.", + "friendlyName": { + "description": "Friendly name of the fileshare represented by this backup item.", "type": "string" }, - "storageAccountVersion": { - "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", + "protectionStatus": { + "description": "Backup status of this backup item.", "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" + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true } }, - "propertyBag": { - "description": "Job properties.", + "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": { - "type": "string" + "$ref": "#/definitions/KPIResourceHealthDetails" } }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" + "extendedInfo": { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", + "description": "Additional information with this backup item." } - } + }, + "x-ms-discriminator-value": "AzureFileShareProtectedItem" }, - "AzureStorageJobTaskDetails": { - "description": "Azure storage workload specific job task details.", + "AzureFileshareProtectedItemExtendedInfo": { + "description": "Additional information about Azure File Share backup item.", "type": "object", "properties": { - "taskId": { - "description": "The task display name.", + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", "type": "string" }, - "status": { - "description": "The status.", + "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 } } }, - "AzureVmWorkloadProtectedItem": { - "description": "Azure VM workload-specific protected item.", + "AzureFileShareRecoveryPoint": { + "description": "Azure File Share workload specific backup copy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/RecoveryPoint" } ], "properties": { - "friendlyName": { - "description": "Friendly name of the DB represented by this backup item.", + "recoveryPointType": { + "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", "type": "string" }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", "type": "string" }, - "parentName": { - "description": "Parent name of the DB such as Instance or Availability Group.", + "fileShareSnapshotUri": { + "description": "Contains Url to the snapshot of fileshare, if applicable", "type": "string" }, - "parentType": { - "description": "Parent type of protected item, example: for a DB, standalone server or distributed", - "type": "string" + "recoveryPointSizeInGB": { + "format": "int32", + "description": "Contains recovery point size", + "type": "integer" + } + }, + "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 + } }, - "protectionStatus": { - "description": "Backup status of this backup item.", + "sourceResourceId": { + "description": "Source storage account ARM Id", "type": "string" }, - "protectionState": { - "description": "Backup state of this backup item.", + "copyOptions": { + "description": "Options to resolve copy conflicts.", "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "CreateCopy", + "Skip", + "Overwrite", + "FailOnConflict" ], "type": "string", "x-ms-enum": { - "name": "ProtectionState", + "name": "CopyOptions", "modelAsString": true } }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "restoreRequestType": { + "description": "Restore Type (FullShareRestore or ItemLevelRestore)", "enum": [ "Invalid", - "Healthy", - "Unhealthy", - "IRPending" + "FullShareRestore", + "ItemLevelRestore" ], "type": "string", "x-ms-enum": { - "name": "LastBackupStatus", + "name": "RestoreRequestType", "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" + "restoreFileSpecs": { + "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", + "type": "array", + "items": { + "$ref": "#/definitions/RestoreFileSpecs" + } }, - "protectedItemHealthStatus": { - "description": "Health status of the backup item, evaluated based on last heartbeat received", + "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", - "Healthy", - "Unhealthy", - "NotReachable", - "IRPending" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "ProtectedItemHealthStatus", + "name": "WorkloadType", "modelAsString": true } }, - "extendedInfo": { - "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", - "description": "Additional information for this backup item." + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" }, - "kpisHealths": { - "description": "Health details of different KPIs", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/KPIResourceHealthDetails" + "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": "AzureVmWorkloadProtectedItem" + "x-ms-discriminator-value": "AzureWorkload" }, - "AzureVmWorkloadProtectedItemExtendedInfo": { - "description": "Additional information on Azure Workload for SQL specific backup item.", + "AzureFileShareProtectionPolicy": { + "description": "AzureStorage backup policy.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this backup item.", - "type": "string" + "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 + } }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies available for this backup item.", - "type": "integer" + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", + "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" } - } - }, - "AzureVmWorkloadSAPAseDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP ASE Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" + }, + "x-ms-discriminator-value": "AzureStorage" }, - "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP HANA Database.", + "AzureIaaSClassicComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + "$ref": "#/definitions/AzureIaaSVMProtectedItem" } ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, - "AzureVmWorkloadSQLDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SQL Database.", + "AzureIaaSComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + "$ref": "#/definitions/AzureIaaSVMProtectedItem" } ], - "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "AzureWorkloadErrorInfo": { - "description": "Azure storage specific error information", + "AzureIaaSVMErrorInfo": { + "description": "Azure IaaS VM workload-specific error information.", "type": "object", "properties": { "errorCode": { "format": "int32", "description": "Error code.", - "type": "integer" - }, - "errorString": { - "description": "Localized error string.", - "type": "string" + "type": "integer", + "readOnly": true }, "errorTitle": { "description": "Title: Typically, the entity that the error pertains to.", - "type": "string" + "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 }, - "additionalDetails": { - "description": "Additional details for above error code.", - "type": "string" + "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 } } }, - "AzureWorkloadJob": { - "description": "Azure storage specific job.", + "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": [ { @@ -5177,10 +4097,6 @@ } ], "properties": { - "workloadType": { - "description": "Workload type of the job", - "type": "string" - }, "duration": { "format": "duration", "description": "Time elapsed during the execution of this job.", @@ -5206,25 +4122,29 @@ "description": "Error details on execution of this job.", "type": "array", "items": { - "$ref": "#/definitions/AzureWorkloadErrorInfo" + "$ref": "#/definitions/AzureIaaSVMErrorInfo" } }, + "virtualMachineVersion": { + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", + "type": "string" + }, "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", - "description": "Additional information about the job." + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." } }, - "x-ms-discriminator-value": "AzureWorkloadJob" + "x-ms-discriminator-value": "AzureIaaSVMJob" }, - "AzureWorkloadJobExtendedInfo": { - "description": "Azure VM workload-specific additional information for job.", + "AzureIaaSVMJobExtendedInfo": { + "description": "Azure IaaS VM workload-specific additional information for job.", "type": "object", "properties": { "tasksList": { - "description": "List of tasks for this job", + "description": "List of tasks associated with this job.", "type": "array", "items": { - "$ref": "#/definitions/AzureWorkloadJobTaskDetails" + "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" } }, "propertyBag": { @@ -5234,563 +4154,577 @@ "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" } } }, - "AzureWorkloadJobTaskDetails": { - "description": "Azure VM workload specific job task details.", + "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" } } }, - "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", + "AzureIaaSVMProtectedItem": { + "description": "IaaS VM workload-specific backup item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" + "$ref": "#/definitions/ProtectedItem" } ], "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", "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", + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", "type": "string" }, - "type": { - "description": "Type of restore point", + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", "enum": [ "Invalid", - "Full", - "Log", - "Differential", - "Incremental" + "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": "RestorePointType", + "name": "HealthStatus", "modelAsString": true } }, - "recoveryPointTierDetails": { - "description": "Recovery point tier information.", + "healthDetails": { + "description": "Health details on this backup item.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPointTierInformation" + "$ref": "#/definitions/AzureIaaSVMHealthDetails" } }, - "recoveryPointMoveReadinessInfo": { - "description": "Eligibility of RP to be moved to another tier", + "kpisHealths": { + "description": "Health details of different KPIs", "type": "object", "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" - } - } - }, - "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 + "$ref": "#/definitions/KPIResourceHealthDetails" } }, - "sourceResourceId": { - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", + "lastBackupStatus": { + "description": "Last backup operation status.", "type": "string" }, - "propertyBag": { - "description": "Workload specific property bag.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" + "protectedItemDataId": { + "description": "Data ID of the protected item.", + "type": "string" }, - "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 - } + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "extendedProperties": { + "$ref": "#/definitions/ExtendedProperties" } }, - "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" + "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" }, - "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "AzureIaaSVMProtectedItemExtendedInfo": { + "description": "Additional information on Azure IaaS VM specific backup item.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" - } - ], "properties": { - "pointInTime": { + "oldestRecoveryPoint": { "format": "date-time", - "description": "PointInTime value", + "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" } - }, - "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", + "AzureIaaSVMProtectionPolicy": { + "description": "IaaS VM workload-specific backup policy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" + "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } + "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": "AzureWorkloadSQLPointInTimeRecoveryPoint" + "x-ms-discriminator-value": "AzureIaasVM" }, - "AzureWorkloadSQLPointInTimeRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", + "AzureSqlProtectedItem": { + "description": "Azure SQL workload-specific backup item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + "$ref": "#/definitions/ProtectedItem" } ], "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", + "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": "AzureWorkloadSQLPointInTimeRestoreRequest" + "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" }, - "AzureWorkloadSQLRecoveryPoint": { - "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "AzureSqlProtectedItemExtendedInfo": { + "description": "Additional information on Azure Sql specific protected item.", "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" + "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" } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" + } }, - "AzureWorkloadSQLRecoveryPointExtendedInfo": { - "description": "Extended info class details", + "AzureStorageErrorInfo": { + "description": "Azure storage specific error information", "type": "object", "properties": { - "dataDirectoryTimeInUTC": { - "format": "date-time", - "description": "UTC time at which data directory info was captured", + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", "type": "string" }, - "dataDirectoryPaths": { - "description": "List of data directory paths during restore operation.", + "recommendations": { + "description": "List of localized recommendations for above error code.", "type": "array", "items": { - "$ref": "#/definitions/SQLDataDirectory" + "type": "string" } } } }, - "AzureWorkloadSQLRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "AzureSqlProtectionPolicy": { + "description": "Azure SQL workload-specific backup policy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" + "$ref": "#/definitions/ProtectionPolicy" } ], "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" - } + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." } }, - "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + "x-ms-discriminator-value": "AzureSql" }, - "BEKDetails": { - "description": "BEK is bitlocker encryption key.", + "AzureStorageJob": { + "description": "Azure storage specific job.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], "properties": { - "secretUrl": { - "description": "Secret is BEK.", + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", "type": "string" }, - "secretVaultId": { - "description": "ID of the Key Vault where this Secret is stored.", - "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 + } + } }, - "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" + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageErrorInfo" + } }, - "endDate": { - "format": "date-time", - "description": "Backup copies created before this time.", + "storageAccountName": { + "description": "Specifies friendly name of the storage account.", "type": "string" }, - "restorePointQueryType": { - "description": "RestorePoint type", - "enum": [ - "Invalid", - "Full", - "Log", - "Differential", - "FullAndDifferential", - "All", - "Incremental" - ], - "type": "string", - "x-ms-enum": { - "name": "RestorePointQueryType", - "modelAsString": true - } + "storageAccountVersion": { + "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", + "type": "string" }, "extendedInfo": { - "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", - "type": "boolean" - }, - "moveReadyRPOnly": { - "description": "Whether the RP can be moved to another tier", - "type": "boolean" + "$ref": "#/definitions/AzureStorageJobExtendedInfo", + "description": "Additional information about the job." } - } + }, + "x-ms-discriminator-value": "AzureStorageJob" }, - "DiskExclusionProperties": { + "AzureStorageJobExtendedInfo": { + "description": "Azure Storage workload-specific additional information for job.", "type": "object", "properties": { - "diskLunList": { - "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", + "tasksList": { + "description": "List of tasks for this job", "type": "array", "items": { - "format": "int32", - "type": "integer" + "$ref": "#/definitions/AzureStorageJobTaskDetails" } }, - "isInclusionList": { - "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", - "type": "boolean" + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" } } }, - "ClientDiscoveryDisplay": { - "description": "Localized display information of an operation.", + "AzureStorageJobTaskDetails": { + "description": "Azure storage workload specific job task details.", "type": "object", "properties": { - "provider": { - "description": "Name of the provider for display purposes", - "type": "string" - }, - "resource": { - "description": "ResourceType for which this Operation can be performed.", - "type": "string" - }, - "operation": { - "description": "Operations Name itself.", + "taskId": { + "description": "The task display name.", "type": "string" }, - "description": { - "description": "Description of the operation having details of what operation is about.", + "status": { + "description": "The status.", "type": "string" } } }, - "ClientDiscoveryForLogSpecification": { - "description": "Class to represent shoebox log specification in json client discovery.", + "AzureVmWorkloadProtectedItem": { + "description": "Azure VM workload-specific protected item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], "properties": { - "name": { - "description": "Name for shoebox log specification.", + "friendlyName": { + "description": "Friendly name of the DB represented by this backup item.", "type": "string" }, - "displayName": { - "description": "Localized display name", + "serverName": { + "description": "Host/Cluster Name for instance or AG", "type": "string" }, - "blobDuration": { - "description": "blob duration of shoebox log specification", + "parentName": { + "description": "Parent name of the DB such as Instance or Availability Group.", "type": "string" - } - } - }, - "ClientDiscoveryForProperties": { - "description": "Class to represent shoebox properties in json client discovery.", - "type": "object", - "properties": { - "serviceSpecification": { - "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", - "description": "Operation properties." - } - } - }, - "ClientDiscoveryForServiceSpecification": { - "description": "Class to represent shoebox service specification in json client discovery.", - "type": "object", - "properties": { - "logSpecifications": { - "description": "List of log specifications of this operation.", - "type": "array", - "items": { - "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + }, + "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 } - } - } - }, - "ClientDiscoveryResponse": { - "description": "Operations List response which contains list of available APIs.", - "type": "object", - "properties": { - "value": { - "description": "List of available operations.", - "type": "array", - "items": { - "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true } }, - "nextLink": { - "description": "Link to the next chunk of Response.", + "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" }, - "ClientDiscoveryValueForSingleApi": { - "description": "Available operation details.", + "AzureVmWorkloadProtectedItemExtendedInfo": { + "description": "Additional information on Azure Workload for SQL specific backup item.", "type": "object", "properties": { - "name": { - "description": "Name of the Operation.", + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", "type": "string" }, - "display": { - "$ref": "#/definitions/ClientDiscoveryDisplay", - "description": "Contains the localized display information for this particular operation" + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" }, - "origin": { - "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", "type": "string" - }, - "properties": { - "$ref": "#/definitions/ClientDiscoveryForProperties", - "description": "ShoeBox properties for the given operation." } } }, - "DiskInformation": { - "description": "Disk information", + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP ASE Database.", "type": "object", - "properties": { - "lun": { - "format": "int32", - "type": "integer" - }, - "name": { - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } - } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" }, - "DailyRetentionFormat": { - "description": "Daily retention format.", + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP HANA Database.", "type": "object", - "properties": { - "daysOfTheMonth": { - "description": "List of days of the month.", - "type": "array", - "items": { - "$ref": "#/definitions/Day" - } + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } - } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" }, - "DailyRetentionSchedule": { - "description": "Daily retention schedule.", + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SQL Database.", "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." + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } - } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" }, - "Day": { - "description": "Day of the week.", + "AzureWorkloadErrorInfo": { + "description": "Azure storage specific error information", "type": "object", "properties": { - "date": { + "errorCode": { "format": "int32", - "description": "Date of the month", + "description": "Error code.", "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" }, + "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" } } }, - "DpmJob": { - "description": "DPM workload-specific job object.", + "AzureWorkloadJob": { + "description": "Azure storage specific job.", "type": "object", "allOf": [ { @@ -5798,29 +4732,17 @@ } ], "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.", + "workloadType": { + "description": "Workload type of the job", "type": "string" }, - "workloadType": { - "description": "Type of backup item.", + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", "type": "string" }, "actionsInfo": { - "description": "The state/actions applicable on this job like cancel/retry.", + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", "type": "array", "items": { "enum": [ @@ -5836,32 +4758,32 @@ } }, "errorDetails": { - "description": "The errors.", + "description": "Error details on execution of this job.", "type": "array", "items": { - "$ref": "#/definitions/DpmErrorInfo" + "$ref": "#/definitions/AzureWorkloadErrorInfo" } }, "extendedInfo": { - "$ref": "#/definitions/DpmJobExtendedInfo", - "description": "Additional information for this job." + "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", + "description": "Additional information about the job." } }, - "x-ms-discriminator-value": "DpmJob" + "x-ms-discriminator-value": "AzureWorkloadJob" }, - "DpmJobExtendedInfo": { - "description": "Additional information on the DPM workload-specific job.", + "AzureWorkloadJobExtendedInfo": { + "description": "Azure VM workload-specific additional information for job.", "type": "object", "properties": { "tasksList": { - "description": "List of tasks associated with this job.", + "description": "List of tasks for this job", "type": "array", "items": { - "$ref": "#/definitions/DpmJobTaskDetails" + "$ref": "#/definitions/AzureWorkloadJobTaskDetails" } }, "propertyBag": { - "description": "The job properties.", + "description": "Job properties.", "type": "object", "additionalProperties": { "type": "string" @@ -5873,827 +4795,805 @@ } } }, - "DpmJobTaskDetails": { - "description": "DPM workload-specific job task details.", + "AzureWorkloadJobTaskDetails": { + "description": "Azure VM workload specific job task details.", "type": "object", "properties": { "taskId": { "description": "The task display name.", "type": "string" }, - "startTime": { + "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": "The start time.", + "description": "PointInTime value", "type": "string" - }, - "endTime": { + } + }, + "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": "The end time.", + "description": "UTC time at which recovery point was created", "type": "string" }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" + "type": { + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + } }, - "status": { - "description": "The status.", - "type": "string" + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformation" + } + }, + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } } - } + }, + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" }, - "DPMProtectedItem": { - "description": "Additional information on Backup engine specific backup item.", + "AzureWorkloadRestoreRequest": { + "description": "AzureWorkload-specific restore.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/RestoreRequest" } ], "properties": { - "friendlyName": { - "description": "Friendly name of the managed item", - "type": "string" + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } }, - "backupEngineName": { - "description": "Backup Management server protecting this backup item", + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", "type": "string" }, - "protectionState": { - "description": "Protection state of the backup engine", + "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", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "FileRecovery", + "WorkloadRecovery" ], "type": "string", "x-ms-enum": { - "name": "ProtectedItemState", + "name": "RecoveryMode", "modelAsString": true } - }, - "extendedInfo": { - "$ref": "#/definitions/DPMProtectedItemExtendedInfo", - "description": "Extended info of the backup item." } }, - "x-ms-discriminator-value": "DPMProtectedItem" + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" }, - "DPMProtectedItemExtendedInfo": { - "description": "Additional information of DPM Protected item.", + "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": { - "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": { + "pointInTime": { "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.", + "description": "PointInTime value", "type": "string" } - } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" }, - "EncryptionDetails": { - "description": "Details needed if the VM was encrypted at the time of backup.", + "AzureWorkloadSAPHanaRecoveryPoint": { + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", "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" + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" } - } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" }, - "ErrorDetail": { - "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "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": { - "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.", + "timeRanges": { + "description": "List of log ranges", "type": "array", "items": { - "type": "string" - }, - "readOnly": true + "$ref": "#/definitions/PointInTimeRange" + } } - } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" }, - "ExportJobsOperationResultInfo": { - "description": "This class is used to send blob details after exporting jobs.", + "AzureWorkloadSQLPointInTimeRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", "type": "object", "allOf": [ { - "$ref": "#/definitions/OperationResultInfoBase" + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" } ], "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.", + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", "type": "string" } }, - "x-ms-discriminator-value": "ExportJobsOperationResultInfo" + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" }, - "ExtendedProperties": { - "description": "Extended Properties for Azure IaasVM Backup.", + "AzureWorkloadSQLRecoveryPoint": { + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], "properties": { - "diskExclusionProperties": { - "$ref": "#/definitions/DiskExclusionProperties", - "description": "Extended Properties for Disk Exclusion." + "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" + } } } }, - "GenericProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", + "AzureWorkloadSQLRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/AzureWorkloadRestoreRequest" } ], "properties": { - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", + "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/SubProtectionPolicy" + "$ref": "#/definitions/SQLDataDirectoryMapping" } - }, - "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" + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" }, - "InstantRPAdditionalDetails": { + "BEKDetails": { + "description": "BEK is bitlocker encryption key.", "type": "object", "properties": { - "azureBackupRGNamePrefix": { + "secretUrl": { + "description": "Secret is BEK.", "type": "string" }, - "azureBackupRGNameSuffix": { + "secretVaultId": { + "description": "ID of the Key Vault where this Secret is stored.", + "type": "string" + }, + "secretData": { + "description": "BEK data.", "type": "string" } } }, - "GenericProtectedItem": { - "description": "Base class for backup items.", + "BMSRPQueryObject": { + "description": "Filters to list backup copies.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], "properties": { - "friendlyName": { - "description": "Friendly name of the container.", + "startDate": { + "format": "date-time", + "description": "Backup copies created after this time.", "type": "string" }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", + "endDate": { + "format": "date-time", + "description": "Backup copies created before this time.", "type": "string" }, - "protectionState": { - "description": "Backup state of this backup item.", + "restorePointQueryType": { + "description": "RestorePoint type", "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "Full", + "Log", + "Differential", + "FullAndDifferential", + "All", + "Incremental" ], "type": "string", "x-ms-enum": { - "name": "ProtectionState", + "name": "RestorePointQueryType", "modelAsString": true } }, - "protectedItemId": { - "format": "int64", - "description": "Data Plane Service ID of the protected item.", - "type": "integer" + "extendedInfo": { + "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", + "type": "boolean" }, - "sourceAssociations": { - "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", - "type": "object", - "additionalProperties": { - "type": "string" + "moveReadyRPOnly": { + "description": "Whether the RP can be moved to another tier", + "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" } }, - "fabricName": { - "description": "Name of this backup item's fabric.", - "type": "string" + "isInclusionList": { + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", + "type": "boolean" } - }, - "x-ms-discriminator-value": "GenericProtectedItem" + } }, - "GenericRecoveryPoint": { - "description": "Generic backup copy.", + "DiskInformation": { + "description": "Disk information", "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" + "lun": { + "format": "int32", + "type": "integer" }, - "recoveryPointAdditionalInfo": { - "description": "Additional information associated with this backup copy.", + "name": { "type": "string" } - }, - "x-ms-discriminator-value": "GenericRecoveryPoint" + } }, - "GetProtectedItemQueryObject": { - "description": "Filters to list backup items.", + "DailyRetentionFormat": { + "description": "Daily retention format.", "type": "object", "properties": { - "expand": { - "description": "Specifies if the additional information should be provided for this item.", - "type": "string" + "daysOfTheMonth": { + "description": "List of days of the month.", + "type": "array", + "items": { + "$ref": "#/definitions/Day" + } } } }, - "IaasVMRecoveryPoint": { - "description": "IaaS VM workload specific backup copy.", + "DailyRetentionSchedule": { + "description": "Daily retention schedule.", "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.", + "retentionTimes": { + "description": "Retention times of retention policy.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPointTierInformation" + "format": "date-time", + "type": "string" } }, - "isManagedVirtualMachine": { - "description": "Whether VM is with Managed Disks", - "type": "boolean" - }, - "virtualMachineSize": { - "description": "Virtual Machine Size", - "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" }, - "originalStorageAccountOption": { - "description": "Original Storage Account Option", + "isLast": { + "description": "Whether Date is last date of month", "type": "boolean" - }, - "osType": { - "description": "OS type", + } + } + }, + "DpmErrorInfo": { + "description": "DPM workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", "type": "string" }, - "recoveryPointDiskConfiguration": { - "$ref": "#/definitions/RecoveryPointDiskConfiguration", - "description": "Disk configuration" - }, - "zones": { - "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms", + "recommendations": { + "description": "List of localized recommendations for above error code.", "type": "array", "items": { - "type": "string" - } - }, - "recoveryPointMoveReadinessInfo": { - "description": "Eligibility of RP to be moved to another tier", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + "type": "string" } } - }, - "x-ms-discriminator-value": "IaasVMRecoveryPoint" + } }, - "IaasVMRestoreRequest": { - "description": "IaaS VM workload-specific restore.", + "DpmJob": { + "description": "DPM workload-specific job object.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RestoreRequest" + "$ref": "#/definitions/Job" } ], "properties": { - "recoveryPointId": { - "description": "ID of the backup copy to be recovered.", + "duration": { + "format": "duration", + "description": "Time elapsed for job.", "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.", + "dpmServerName": { + "description": "DPM server name managing the backup item or backup job.", "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}", + "containerName": { + "description": "Name of cluster/server protecting current backup item, if any.", "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}", + "containerType": { + "description": "Type of container.", "type": "string" }, - "storageAccountId": { - "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", + "workloadType": { + "description": "Type of backup item.", "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" + "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 + } + } }, - "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" + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmErrorInfo" + } }, - "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" + "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" + } }, - "region": { - "description": "Region in which the virtual machine is restored.", - "type": "string" + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "affinityGroup": { - "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", + "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" }, - "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" - } + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" }, - "restoreWithManagedDisks": { - "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.", - "type": "boolean" + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" }, - "diskEncryptionSetId": { - "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.", + "duration": { + "format": "duration", + "description": "Time elapsed for task.", "type": "string" }, - "zones": { - "description": "Target zone where the VM and its disks should be restored.", - "type": "array", - "items": { - "type": "string" - } + "status": { + "description": "The status.", + "type": "string" } - }, - "x-ms-discriminator-value": "IaasVMRestoreRequest" + } }, - "Job": { - "description": "Defines workload agnostic properties for a job.", - "required": [ - "jobType" - ], + "DPMProtectedItem": { + "description": "Additional information on Backup engine specific backup item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], "properties": { - "entityFriendlyName": { - "description": "Friendly name of the entity on which the current job is executing.", + "friendlyName": { + "description": "Friendly name of the managed item", "type": "string" }, - "backupManagementType": { - "description": "Backup management type to execute the current job.", + "backupEngineName": { + "description": "Backup Management server protecting this backup item", + "type": "string" + }, + "protectionState": { + "description": "Protection state of the backup engine", "enum": [ "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" ], "type": "string", "x-ms-enum": { - "name": "BackupManagementType", + "name": "ProtectedItemState", "modelAsString": true } }, - "operation": { - "description": "The operation name.", + "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" }, - "status": { - "description": "Job status.", + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time on backup item.", "type": "string" }, - "startTime": { + "oldestRecoveryPoint": { "format": "date-time", - "description": "The start 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" }, - "endTime": { - "format": "date-time", - "description": "The end time.", + "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" }, - "activityId": { - "description": "ActivityId of job.", + "diskStorageUsedInBytes": { + "description": "Used Disk storage in bytes.", "type": "string" }, - "jobType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "totalDiskStorageSizeInBytes": { + "description": "total Disk storage in bytes.", "type": "string" } - }, - "discriminator": "jobType" + } }, - "JobQueryObject": { - "description": "Filters to list the jobs.", + "EncryptionDetails": { + "description": "Details needed if the VM was encrypted at the time of backup.", "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 - } + "encryptionEnabled": { + "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", + "type": "boolean" }, - "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 - } + "kekUrl": { + "description": "Key Url.", + "type": "string" }, - "jobId": { - "description": "JobID represents the job uniquely.", + "secretKeyUrl": { + "description": "Secret Url.", "type": "string" }, - "startTime": { - "format": "date-time", - "description": "Job has started at this time. Value is in UTC.", + "kekVaultId": { + "description": "ID of Key Vault where KEK is stored.", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "Job has ended at this time. Value is in UTC.", + "secretKeyVaultId": { + "description": "ID of Key Vault where Secret is stored.", "type": "string" } } }, - "JobResource": { - "description": "Defines workload agnostic properties for a job.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], + "ErrorDetail": { + "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/Job", - "description": "JobResource 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 } } }, - "JobResourceList": { - "description": "List of Job resources", + "ExportJobsOperationResultInfo": { + "description": "This class is used to send blob details after exporting jobs.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ResourceList" + "$ref": "#/definitions/OperationResultInfoBase" } ], "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.", + "blobUrl": { + "description": "URL of the blob into which the serialized string of list of jobs is exported.", "type": "string" }, - "keyVaultId": { - "description": "Key Vault ID where this Key is stored.", + "blobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", "type": "string" }, - "keyBackupData": { - "description": "KEK data.", + "excelFileBlobUrl": { + "description": "URL of the blob into which the ExcelFile is uploaded.", "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", + "excelFileBlobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", "type": "string" } - } + }, + "x-ms-discriminator-value": "ExportJobsOperationResultInfo" }, - "LogSchedulePolicy": { - "description": "Log policy schedule.", + "ExtendedProperties": { + "description": "Extended Properties for Azure IaasVM Backup.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], "properties": { - "scheduleFrequencyInMins": { - "format": "int32", - "description": "Frequency of the log schedule operation of this policy in minutes.", - "type": "integer" + "diskExclusionProperties": { + "$ref": "#/definitions/DiskExclusionProperties", + "description": "Extended Properties for Disk Exclusion." } - }, - "x-ms-discriminator-value": "LogSchedulePolicy" + } }, - "LongTermRetentionPolicy": { - "description": "Long term retention policy.", + "GenericProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RetentionPolicy" + "$ref": "#/definitions/ProtectionPolicy" } ], "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." + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } }, - "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." + "fabricName": { + "description": "Name of this policy's fabric.", + "type": "string" } }, - "x-ms-discriminator-value": "LongTermRetentionPolicy" - }, - "LongTermSchedulePolicy": { - "description": "Long term policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "x-ms-discriminator-value": "LongTermSchedulePolicy" + "x-ms-discriminator-value": "GenericProtectionPolicy" }, - "MabErrorInfo": { - "description": "MAB workload-specific error information.", + "InstantRPAdditionalDetails": { "type": "object", - "properties": { - "errorString": { - "description": "Localized error string.", - "type": "string", - "readOnly": true + "properties": { + "azureBackupRGNamePrefix": { + "type": "string" }, - "recommendations": { - "description": "List of localized recommendations.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true + "azureBackupRGNameSuffix": { + "type": "string" } } }, - "MabFileFolderProtectedItem": { - "description": "MAB workload-specific backup item.", + "GenericProtectedItem": { + "description": "Base class for backup items.", "type": "object", "allOf": [ { @@ -6702,714 +5602,673 @@ ], "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.", + "description": "Friendly name of the container.", "type": "string" }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", "type": "string" }, "protectionState": { - "description": "Protected, ProtectionStopped, IRPending or ProtectionError", - "type": "string" + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } }, - "deferredDeleteSyncTimeInUTC": { + "protectedItemId": { "format": "int64", - "description": "Sync time for deferred deletion in UTC", + "description": "Data Plane Service ID of the protected item.", "type": "integer" }, - "extendedInfo": { - "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", - "description": "Additional information with this backup item." + "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": "MabFileFolderProtectedItem" + "x-ms-discriminator-value": "GenericProtectedItem" }, - "MabFileFolderProtectedItemExtendedInfo": { - "description": "Additional information on the backed up item.", + "GenericRecoveryPoint": { + "description": "Generic backup copy.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], "properties": { - "lastRefreshedAt": { - "format": "date-time", - "description": "Last time when the agent data synced to service.", + "friendlyName": { + "description": "Friendly name of the backup copy.", "type": "string" }, - "oldestRecoveryPoint": { + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string" + }, + "recoveryPointTime": { "format": "date-time", - "description": "The oldest backup copy available.", + "description": "Time at which this backup copy was created.", "type": "string" }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies associated with the backup item.", - "type": "integer" + "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" } } }, - "MabJob": { - "description": "MAB workload-specific job.", + "IaasVMRecoveryPoint": { + "description": "IaaS VM workload specific backup copy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/RecoveryPoint" } ], "properties": { - "duration": { - "format": "duration", - "description": "Time taken by job to run.", + "recoveryPointType": { + "description": "Type of the backup copy.", "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 - } - } + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" }, - "mabServerName": { - "description": "Name of server protecting the DS.", + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", "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 - } + "sourceVMStorageType": { + "description": "Storage type of the VM whose backup copy is created.", + "type": "string" }, - "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 - } + "isSourceVMEncrypted": { + "description": "Identifies whether the VM was encrypted when the backup copy is created.", + "type": "boolean" }, - "errorDetails": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/MabErrorInfo" - } + "keyAndSecret": { + "$ref": "#/definitions/KeyAndSecretDetails", + "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." }, - "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.", + "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/MabJobTaskDetails" + "$ref": "#/definitions/RecoveryPointTierInformation" } }, - "propertyBag": { - "description": "The job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "isManagedVirtualMachine": { + "description": "Whether VM is with Managed Disks", + "type": "boolean" }, - "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.", + "virtualMachineSize": { + "description": "Virtual Machine Size", "type": "string" }, - "startTime": { - "format": "date-time", - "description": "The start time.", + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "osType": { + "description": "OS type", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" + "recoveryPointDiskConfiguration": { + "$ref": "#/definitions/RecoveryPointDiskConfiguration", + "description": "Disk configuration" }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" + "zones": { + "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms", + "type": "array", + "items": { + "type": "string" + } }, - "status": { - "description": "The status.", - "type": "string" + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } } - } + }, + "x-ms-discriminator-value": "IaasVMRecoveryPoint" }, - "MabProtectionPolicy": { - "description": "Mab container-specific backup policy.", + "IaasVMRestoreRequest": { + "description": "IaaS VM workload-specific restore.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/RestoreRequest" } ], "properties": { - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule of backup policy." + "recoveryPointId": { + "description": "ID of the backup copy to be recovered.", + "type": "string" }, - "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.", + "recoveryType": { + "description": "Type of this recovery.", "enum": [ "Invalid", - "Daily", - "Weekly" + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" ], "type": "string", "x-ms-enum": { - "name": "RetentionScheduleFormat", + "name": "RecoveryType", "modelAsString": true } }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for monthly retention policy." + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM which is being recovered.", + "type": "string" }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for monthly retention policy." + "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" }, - "retentionTimes": { - "description": "Retention times of retention policy.", + "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": "date-time", - "type": "string" + "format": "int32", + "type": "integer" } }, - "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.", + "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" + }, + "zones": { + "description": "Target zone where the VM and its disks should be restored.", "type": "array", "items": { "type": "string" } } }, - "x-ms-discriminator-value": "OperationResultInfo" + "x-ms-discriminator-value": "IaasVMRestoreRequest" }, - "OperationResultInfoBase": { - "description": "Base class for operation result info.", + "Job": { + "description": "Defines workload agnostic properties for a job.", "required": [ - "objectType" + "jobType" ], "type": "object", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "entityFriendlyName": { + "description": "Friendly name of the entity on which the current job is executing.", "type": "string" - } - }, - "discriminator": "objectType" - }, - "KPIResourceHealthDetails": { - "description": "KPI Resource Health Details", - "type": "object", - "properties": { - "resourceHealthStatus": { - "description": "Resource Health Status", + }, + "backupManagementType": { + "description": "Backup management type to execute the current job.", "enum": [ - "Healthy", - "TransientDegraded", - "PersistentDegraded", - "TransientUnhealthy", - "PersistentUnhealthy", - "Invalid" + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "ResourceHealthStatus", + "name": "BackupManagementType", "modelAsString": true } }, - "resourceHealthDetails": { - "description": "Resource Health Status", - "type": "array", - "items": { - "$ref": "#/definitions/ResourceHealthDetails" - } + "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" }, - "PrepareDataMoveRequest": { - "description": "Prepare DataMove Request", - "required": [ - "targetResourceId", - "targetRegion", - "dataMoveLevel" - ], + "JobQueryObject": { + "description": "Filters to list the jobs.", "type": "object", "properties": { - "targetResourceId": { - "description": "ARM Id of target vault", - "type": "string" - }, - "targetRegion": { - "description": "Target Region", - "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 + } }, - "dataMoveLevel": { - "description": "DataMove Level", + "backupManagementType": { + "description": "Type of backup management for the job.", "enum": [ "Invalid", - "Vault", - "Container" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "DataMoveLevel", + "name": "BackupManagementType", "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" + "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 } }, - "ignoreMoved": { - "description": "Ignore the artifacts which are already moved.", - "type": "boolean" + "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" } } }, - "PrepareDataMoveResponse": { - "description": "Prepare DataMove Response", - "type": "object", + "JobResource": { + "description": "Defines workload agnostic properties for a job.", "allOf": [ { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + "$ref": "#/definitions/Resource" } ], "properties": { - "correlationId": { - "description": "Co-relationId for move operation", - "type": "string" - }, - "sourceVaultProperties": { - "description": "Source Vault Properties", - "type": "object", - "additionalProperties": { - "type": "string" - } + "properties": { + "$ref": "#/definitions/Job", + "description": "JobResource properties" } - }, - "x-ms-discriminator-value": "PrepareDataMoveResponse" + } }, - "VaultStorageConfigOperationResultResponse": { - "description": "Operation result response for Vault Storage Config", - "required": [ - "objectType" - ], + "JobResourceList": { + "description": "List of Job resources", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } } - }, - "discriminator": "objectType" + } }, - "TriggerDataMoveRequest": { - "description": "Trigger DataMove Request", - "required": [ - "sourceResourceId", - "sourceRegion", - "dataMoveLevel", - "correlationId" - ], + "KEKDetails": { + "description": "KEK is encryption key for BEK.", "type": "object", "properties": { - "sourceResourceId": { - "description": "ARM Id of source vault", + "keyUrl": { + "description": "Key is KEK.", "type": "string" }, - "sourceRegion": { - "description": "Source Region", + "keyVaultId": { + "description": "Key Vault ID where this Key is stored.", "type": "string" }, - "dataMoveLevel": { - "description": "DataMove Level", - "enum": [ - "Invalid", - "Vault", - "Container" - ], - "type": "string", - "x-ms-enum": { - "name": "DataMoveLevel", - "modelAsString": true - } - }, - "correlationId": { - "description": "Correlation Id", + "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." }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds", - "type": "array", - "items": { - "type": "string" - } + "bekDetails": { + "$ref": "#/definitions/BEKDetails", + "description": "BEK is bitlocker encryption key." }, - "pauseGC": { - "description": "Pause GC", - "type": "boolean" + "encryptionMechanism": { + "description": "Encryption mechanism: None/ SinglePass/ DoublePass", + "type": "string" } } }, - "OperationResultInfoBaseResource": { - "description": "Base class for operation result info.", + "LogSchedulePolicy": { + "description": "Log policy schedule.", + "type": "object", "allOf": [ { - "$ref": "#/definitions/OperationWorkerResponse" + "$ref": "#/definitions/SchedulePolicy" } ], "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" - } - } + "scheduleFrequencyInMins": { + "format": "int32", + "description": "Frequency of the log schedule operation of this policy in minutes.", + "type": "integer" } - } + }, + "x-ms-discriminator-value": "LogSchedulePolicy" }, - "PointInTimeRange": { - "description": "Provides details for log ranges", + "LongTermRetentionPolicy": { + "description": "Long term retention policy.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], "properties": { - "startTime": { - "format": "date-time", - "description": "Start time of the time range for log recovery.", - "type": "string" + "dailySchedule": { + "$ref": "#/definitions/DailyRetentionSchedule", + "description": "Daily retention schedule of the protection policy." }, - "endTime": { - "format": "date-time", - "description": "End time of the time range for log recovery.", - "type": "string" + "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" }, - "ProtectedItem": { - "description": "Base class for backup items.", - "required": [ - "protectedItemType" + "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": { - "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" - ], + "errorString": { + "description": "Localized error string.", "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - } + "readOnly": true }, - "containerName": { - "description": "Unique name of container", + "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" }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", + "computerName": { + "description": "Name of the computer associated with this backup item.", "type": "string" }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", + "lastBackupStatus": { + "description": "Status of last backup operation.", "type": "string" }, - "lastRecoveryPoint": { + "lastBackupTime": { "format": "date-time", - "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "description": "Timestamp of the last backup operation on this backup item.", "type": "string" }, - "backupSetName": { - "description": "Name of the backup set the backup item belongs to", + "protectionState": { + "description": "Protected, ProtectionStopped, IRPending or ProtectionError", "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 - } + "deferredDeleteSyncTimeInUTC": { + "format": "int64", + "description": "Sync time for deferred deletion in UTC", + "type": "integer" }, - "deferredDeleteTimeInUTC": { + "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": "Time for deferred deletion in UTC", + "description": "Last time when the agent data synced to service.", "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", + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available.", "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" + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies associated with the backup item.", + "type": "integer" } - }, - "discriminator": "protectedItemType" + } }, - "ProtectedItemQueryObject": { - "description": "Filters to list backup items.", + "MabJob": { + "description": "MAB workload-specific job.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], "properties": { - "healthState": { - "description": "Health State for the backed up item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthState", - "modelAsString": true + "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 + } } }, - "backupManagementType": { - "description": "Backup management type for the backed up item.", + "mabServerName": { + "description": "Name of server protecting the DS.", + "type": "string" + }, + "mabServerType": { + "description": "Server type of MAB container.", "enum": [ "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" ], "type": "string", "x-ms-enum": { - "name": "BackupManagementType", + "name": "MabServerType", "modelAsString": true } }, - "itemType": { - "description": "Type of workload this item represents.", + "workloadType": { + "description": "Workload type of backup item.", "enum": [ "Invalid", "VM", @@ -7429,175 +6288,266 @@ ], "type": "string", "x-ms-enum": { - "name": "DataSourceType", + "name": "WorkloadType", "modelAsString": true } }, - "policyName": { - "description": "Backup policy name associated with the backup item.", - "type": "string" + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/MabErrorInfo" + } }, - "containerName": { - "description": "Name of the container.", + "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" }, - "backupEngineName": { - "description": "Backup Engine name", + "startTime": { + "format": "date-time", + "description": "The start time.", "type": "string" }, - "friendlyName": { - "description": "Friendly name of protected item", + "endTime": { + "format": "date-time", + "description": "The end time.", "type": "string" }, - "fabricName": { - "description": "Name of the fabric.", + "duration": { + "format": "duration", + "description": "Time elapsed for task.", "type": "string" }, - "backupSetName": { - "description": "Name of the backup set.", + "status": { + "description": "The status.", "type": "string" } } }, - "ProtectedItemResource": { - "description": "Base class for backup items.", + "MabProtectionPolicy": { + "description": "Mab container-specific backup policy.", + "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { - "properties": { - "$ref": "#/definitions/ProtectedItem", - "description": "ProtectedItemResource 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." } } }, - "ProtectedItemResourceList": { - "description": "List of ProtectedItem resources", + "OperationResultInfo": { + "description": "Operation result info.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ResourceList" + "$ref": "#/definitions/OperationResultInfoBase" } ], "properties": { - "value": { - "description": "List of resources.", + "jobList": { + "description": "List of jobs created by this operation.", "type": "array", "items": { - "$ref": "#/definitions/ProtectedItemResource" + "type": "string" } } - } + }, + "x-ms-discriminator-value": "OperationResultInfo" }, - "ProtectionPolicy": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "OperationResultInfoBase": { + "description": "Base class for operation result info.", "required": [ - "backupManagementType" + "objectType" ], "type": "object", "properties": { - "protectedItemsCount": { - "format": "int32", - "description": "Number of items associated with this policy.", - "type": "integer" - }, - "backupManagementType": { + "objectType": { "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" } }, - "discriminator": "backupManagementType" + "discriminator": "objectType" }, - "ProtectionPolicyQueryObject": { - "description": "Filters the list backup policies API.", + "KPIResourceHealthDetails": { + "description": "KPI Resource Health Details", "type": "object", "properties": { - "backupManagementType": { - "description": "Backup management type for the backup policy.", + "resourceHealthStatus": { + "description": "Resource Health Status", "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" ], "type": "string", "x-ms-enum": { - "name": "BackupManagementType", + "name": "ResourceHealthStatus", "modelAsString": true } }, - "fabricName": { - "description": "Fabric name for filter", + "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" }, - "workloadType": { - "description": "Workload type for the backup policy.", + "targetRegion": { + "description": "Target Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", "enum": [ "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" + "Vault", + "Container" ], "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" + "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" } } }, - "ProtectionPolicyResourceList": { - "description": "List of ProtectionPolicy 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/ProtectionPolicyResource" + "correlationId": { + "description": "Co-relationId for move operation", + "type": "string" + }, + "sourceVaultProperties": { + "description": "Source Vault Properties", + "type": "object", + "additionalProperties": { + "type": "string" } } - } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" }, - "RecoveryPoint": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "VaultStorageConfigOperationResultResponse": { + "description": "Operation result response for Vault Storage Config", "required": [ "objectType" ], @@ -7610,628 +6560,541 @@ }, "discriminator": "objectType" }, - "RecoveryPointDiskConfiguration": { - "description": "Disk configuration", + "TriggerDataMoveRequest": { + "description": "Trigger DataMove Request", + "required": [ + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" + ], "type": "object", "properties": { - "numberOfDisksIncludedInBackup": { - "format": "int32", - "description": "Number of disks included in backup", - "type": "integer" + "sourceResourceId": { + "description": "ARM Id of source vault", + "type": "string" }, - "numberOfDisksAttachedToVm": { - "format": "int32", - "description": "Number of disks attached to the VM", - "type": "integer" + "sourceRegion": { + "description": "Source Region", + "type": "string" }, - "includedDiskList": { - "description": "Information of disks included in backup", - "type": "array", - "items": { - "$ref": "#/definitions/DiskInformation" + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true } }, - "excludedDiskList": { - "description": "Information of disks excluded from backup", + "correlationId": { + "description": "Correlation Id", + "type": "string" + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds", "type": "array", "items": { - "$ref": "#/definitions/DiskInformation" + "type": "string" } + }, + "pauseGC": { + "description": "Pause GC", + "type": "boolean" } } }, - "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", + "OperationResultInfoBaseResource": { + "description": "Base class for operation result info.", "allOf": [ { - "$ref": "#/definitions/ResourceList" + "$ref": "#/definitions/OperationWorkerResponse" } ], "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPointResource" - } + "operation": { + "$ref": "#/definitions/OperationResultInfoBase", + "description": "OperationResultInfoBaseResource operation" } } }, - "RecoveryPointTierInformation": { - "description": "Recovery point tier information.", + "OperationWorkerResponse": { + "description": "This is the base class for operation result responses.", "type": "object", "properties": { - "type": { - "description": "Recovery point tier type.", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP", - "ArchivedRP" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false - } - }, - "status": { - "description": "Recovery point tier status.", + "statusCode": { + "description": "HTTP Status Code of the operation.", "enum": [ - "Invalid", - "Valid", - "Disabled", - "Deleted", - "Rehydrated" + "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": "RecoveryPointTierStatus", + "name": "HttpStatusCode", "modelAsString": false } }, - "extendedInfo": { - "description": "Recovery point tier status.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "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.", + "headers": { + "description": "HTTP headers associated with this operation.", "type": "object", "additionalProperties": { - "type": "string" + "type": "array", + "items": { + "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.", + "PointInTimeRange": { + "description": "Provides details for log ranges", "type": "object", "properties": { - "path": { - "description": "Source File/Folder path", - "type": "string" - }, - "fileSpecType": { - "description": "Indicates what the Path variable stands for", + "startTime": { + "format": "date-time", + "description": "Start time of the time range for log recovery.", "type": "string" }, - "targetFolderPath": { - "description": "Destination folder path in target FileShare", + "endTime": { + "format": "date-time", + "description": "End time of the time range for log recovery.", "type": "string" } } }, - "RestoreRequest": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "ProtectedItem": { + "description": "Base class for backup items.", "required": [ - "objectType" + "protectedItemType" ], "type": "object", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "protectedItemType": { + "description": "backup item type.", "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.", + "backupManagementType": { + "description": "Type of backup management for the backed up item.", "enum": [ "Invalid", - "Days", - "Weeks", - "Months", - "Years" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "RetentionDurationType", + "name": "BackupManagementType", "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.", + }, + "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" - } - }, - "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.", + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", "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\".", + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", "type": "string" }, - "issqlcompression": { - "description": "SQL compression flag", - "type": "boolean" + "lastRecoveryPoint": { + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "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" - } - } - }, - "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.", + "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", - "Daily", - "Weekly" + "Default", + "Recover" ], "type": "string", "x-ms-enum": { - "name": "ScheduleRunType", + "name": "CreateMode", "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 - } - } + "deferredDeleteTimeInUTC": { + "format": "date-time", + "description": "Time for deferred deletion in UTC", + "type": "string" }, - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } + "isScheduledForDeferredDelete": { + "description": "Flag to identify whether the DS is scheduled for deferred delete", + "type": "boolean" }, - "scheduleWeeklyFrequency": { - "format": "int32", - "description": "At every number weeks this schedule has to be run.", - "type": "integer" + "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": "SimpleSchedulePolicy" + "discriminator": "protectedItemType" }, - "SubProtectionPolicy": { - "description": "Sub-protection policy which includes schedule and retention", + "ProtectedItemQueryObject": { + "description": "Filters to list backup items.", "type": "object", "properties": { - "policyType": { - "description": "Type of backup policy type", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental" + "healthState": { + "description": "Health State for the backed up item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" ], "type": "string", "x-ms-enum": { - "name": "PolicyType", + "name": "HealthState", "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", + "backupManagementType": { + "description": "Backup management type for the backed up item.", "enum": [ "Invalid", - "Data", - "Log" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "SQLDataDirectoryType", + "name": "BackupManagementType", "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", + "itemType": { + "description": "Type of workload this item represents.", "enum": [ "Invalid", - "Data", - "Log" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "SQLDataDirectoryType", + "name": "DataSourceType", "modelAsString": true } }, - "sourceLogicalName": { - "description": "Restore source logical name path", + "policyName": { + "description": "Backup policy name associated with the backup item.", "type": "string" }, - "sourcePath": { - "description": "Restore source path", + "containerName": { + "description": "Name of the container.", "type": "string" }, - "targetPath": { - "description": "Target path", + "backupEngineName": { + "description": "Backup Engine name", "type": "string" - } - } - }, - "TargetAFSRestoreInfo": { - "description": "Target Azure File Share Info.", - "type": "object", - "properties": { - "name": { - "description": "File share name", + }, + "friendlyName": { + "description": "Friendly name of protected item", "type": "string" }, - "targetResourceId": { - "description": "Target file share resource ARM ID", + "fabricName": { + "description": "Name of the fabric.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set.", "type": "string" } } }, - "TargetRestoreInfo": { - "description": "Details about target workload during restore operation.", - "type": "object", + "ProtectedItemResource": { + "description": "Base class for backup items.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "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" + "properties": { + "$ref": "#/definitions/ProtectedItem", + "description": "ProtectedItemResource properties" } } }, - "ValidateIaasVMRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", + "ProtectedItemResourceList": { + "description": "List of ProtectedItem resources", "type": "object", "allOf": [ { - "$ref": "#/definitions/ValidateRestoreOperationRequest" + "$ref": "#/definitions/ResourceList" } ], - "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + } }, - "ValidateOperationRequest": { - "description": "Base class for validate operation request.", + "ProtectionPolicy": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", "required": [ - "objectType" + "backupManagementType" ], "type": "object", "properties": { - "objectType": { + "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": "objectType" + "discriminator": "backupManagementType" }, - "ValidateOperationResponse": { - "description": "Base class for validate operation response.", + "ProtectionPolicyQueryObject": { + "description": "Filters the list backup policies API.", "type": "object", "properties": { - "validationResults": { - "description": "Gets the validation result", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorDetail" + "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 } } } }, - "ValidateOperationsResponse": { - "type": "object", - "properties": { - "validateOperationResponse": { - "$ref": "#/definitions/ValidateOperationResponse" - } - } - }, - "ValidateRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", + "ProtectionPolicyResource": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", "allOf": [ { - "$ref": "#/definitions/ValidateOperationRequest" + "$ref": "#/definitions/Resource" } ], "properties": { - "restoreRequest": { - "$ref": "#/definitions/RestoreRequest", - "description": "Sets restore request to be validated" + "properties": { + "$ref": "#/definitions/ProtectionPolicy", + "description": "ProtectionPolicyResource properties" } - }, - "x-ms-discriminator-value": "ValidateRestoreOperationRequest" + } }, - "WeeklyRetentionFormat": { - "description": "Weekly retention format.", + "ProtectionPolicyResourceList": { + "description": "List of ProtectionPolicy resources", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], "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.", + "value": { + "description": "List of resources.", "type": "array", "items": { - "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "WeekOfMonth", - "modelAsString": false - } + "$ref": "#/definitions/ProtectionPolicyResource" } } } }, - "WeeklyRetentionSchedule": { - "description": "Weekly retention schedule.", + "RecoveryPoint": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "required": [ + "objectType" + ], "type": "object", "properties": { - "daysOfTheWeek": { - "description": "List of days of week for weekly retention policy.", + "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": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } + "$ref": "#/definitions/DiskInformation" } }, - "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." } } }, - "BackupResourceVaultConfigResource": { - "description": "Backup resource vault config details.", + "RecoveryPointResource": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -8239,92 +7102,263 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BackupResourceVaultConfig", - "description": "BackupResourceVaultConfigResource properties" + "$ref": "#/definitions/RecoveryPoint", + "description": "RecoveryPointResource properties" } } }, - "BackupResourceVaultConfig": { - "description": "Backup resource vault config details.", + "RecoveryPointResourceList": { + "description": "List of RecoveryPoint resources", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], "properties": { - "storageModelType": { - "description": "Storage type.", + "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", - "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" + "InstantRP", + "HardenedRP", + "ArchivedRP" ], "type": "string", "x-ms-enum": { - "name": "StorageType", - "modelAsString": true + "name": "RecoveryPointTierType", + "modelAsString": false } }, - "storageType": { - "description": "Storage type.", + "status": { + "description": "Recovery point tier status.", "enum": [ "Invalid", - "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" + "Valid", + "Disabled", + "Deleted", + "Rehydrated" ], "type": "string", "x-ms-enum": { - "name": "StorageType", - "modelAsString": true + "name": "RecoveryPointTierStatus", + "modelAsString": false + } + }, + "extendedInfo": { + "description": "Recovery point tier status.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "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" } }, - "storageTypeState": { - "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "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", - "Locked", - "Unlocked" + "Days", + "Weeks", + "Months", + "Years" ], "type": "string", "x-ms-enum": { - "name": "StorageTypeState", + "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" }, - "enhancedSecurityState": { - "description": "Enabled or Disabled.", - "enum": [ - "Invalid", - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "EnhancedSecurityState", - "modelAsString": true - } + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" }, - "softDeleteFeatureState": { - "description": "Soft Delete feature state", - "enum": [ - "Invalid", - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "SoftDeleteFeatureState", - "modelAsString": true - } + "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" } } }, - "YearlyRetentionSchedule": { - "description": "Yearly retention schedule.", + "SimpleRetentionPolicy": { + "description": "Simple policy retention.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format for yearly retention policy.", + "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", @@ -8332,1126 +7366,1010 @@ ], "type": "string", "x-ms-enum": { - "name": "RetentionScheduleFormat", + "name": "ScheduleRunType", "modelAsString": true } }, - "monthsOfYear": { - "description": "List of months of year of yearly retention policy.", + "scheduleRunDays": { + "description": "List of days of week this schedule has to be run.", "type": "array", "items": { "enum": [ - "Invalid", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" ], "type": "string", "x-ms-enum": { - "name": "MonthOfYear", + "name": "DayOfWeek", "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.", + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", "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." + "scheduleWeeklyFrequency": { + "format": "int32", + "description": "At every number weeks this schedule has to be run.", + "type": "integer" } }, - "x-ms-discriminator-value": "VaultJob" + "x-ms-discriminator-value": "SimpleSchedulePolicy" }, - "VaultJobErrorInfo": { - "description": "Vault Job specific error information", + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", "type": "object", "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer" + "policyType": { + "description": "Type of backup policy type", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true + } }, - "errorString": { - "description": "Localized error string.", - "type": "string" + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." } } }, - "VaultJobExtendedInfo": { - "description": "Vault Job for CMK - has CMK specific info.", + "SQLDataDirectory": { + "description": "SQLDataDirectory info", "type": "object", "properties": { - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" + "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" } } }, - "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.", + "SQLDataDirectoryMapping": { + "description": "Encapsulates information regarding data directory", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } - ], "properties": { - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", + "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" } - }, - "x-ms-discriminator-value": "AzureFileShareBackupRequest" + } }, - "AzureFileShareProtectableItem": { - "description": "Protectable item for Azure Fileshare workloads.", + "TargetAFSRestoreInfo": { + "description": "Target Azure File Share Info.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadProtectableItem" - } - ], "properties": { - "parentContainerFabricId": { - "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", + "name": { + "description": "File share name", "type": "string" }, - "parentContainerFriendlyName": { - "description": "Friendly name of container to which this protectable item belongs.", + "targetResourceId": { + "description": "Target file share resource ARM ID", "type": "string" - }, - "azureFileShareType": { - "description": "File Share type XSync or XSMB.", + } + } + }, + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", + "type": "object", + "properties": { + "overwriteOption": { + "description": "Can Overwrite if Target DataBase already exists", "enum": [ "Invalid", - "XSMB", - "XSync" + "FailOnConflict", + "Overwrite" ], "type": "string", "x-ms-enum": { - "name": "AzureFileShareType", + "name": "OverwriteOptions", "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.", + }, + "containerId": { + "description": "Resource Id name of the container in which Target DataBase resides", "type": "string" }, - "sourceResourceId": { - "description": "Source Storage account ARM Id", + "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" } - }, - "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" + } }, - "AzureIaaSClassicComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", + "ValidateIaasVMRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", "type": "object", "allOf": [ { - "$ref": "#/definitions/IaaSVMContainer" + "$ref": "#/definitions/ValidateRestoreOperationRequest" } ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" }, - "AzureIaaSClassicComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "ValidateOperationRequest": { + "description": "Base class for validate operation request.", + "required": [ + "objectType" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMProtectableItem" + "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": "Microsoft.ClassicCompute/virtualMachines" + }, + "discriminator": "objectType" }, - "AzureIaaSComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", + "ValidateOperationResponse": { + "description": "Base class for validate operation response.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMContainer" + "properties": { + "validationResults": { + "description": "Gets the validation result", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + } }, - "AzureIaaSComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "ValidateOperationsResponse": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMProtectableItem" + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse" } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + } }, - "AzureSQLAGWorkloadContainerProtectionContainer": { - "description": "Container for SQL workloads under SQL Availability Group.", + "ValidateRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadContainer" + "$ref": "#/definitions/ValidateOperationRequest" } ], - "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + "properties": { + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" + } + }, + "x-ms-discriminator-value": "ValidateRestoreOperationRequest" }, - "AzureSqlContainer": { - "description": "Azure Sql workload-specific container.", + "WeeklyRetentionFormat": { + "description": "Weekly retention format.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" + "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 + } + } } - ], - "x-ms-discriminator-value": "AzureSqlContainer" + } }, - "AzureStorageContainer": { - "description": "Azure Storage Account workload-specific container.", + "WeeklyRetentionSchedule": { + "description": "Weekly retention schedule.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], "properties": { - "sourceResourceId": { - "description": "Fully qualified ARM url.", - "type": "string" - }, - "storageAccountVersion": { - "description": "Storage account version.", - "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 + } + } }, - "resourceGroup": { - "description": "Resource group name of Recovery Services Vault.", - "type": "string" + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } }, - "protectedItemCount": { - "format": "int64", - "description": "Number of items backed up in this container.", - "type": "integer" + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." } - }, - "x-ms-discriminator-value": "StorageContainer" + } }, - "AzureStorageProtectableContainer": { - "description": "Azure Storage-specific protectable containers", - "type": "object", + "BackupResourceVaultConfigResource": { + "description": "Backup resource vault config details.", "allOf": [ { - "$ref": "#/definitions/ProtectableContainer" + "$ref": "#/definitions/Resource" } ], - "x-ms-discriminator-value": "StorageContainer" - }, - "AzureVMAppContainerProtectableContainer": { - "description": "Azure workload-specific container", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectableContainer" + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceVaultConfig", + "description": "BackupResourceVaultConfigResource properties" } - ], - "x-ms-discriminator-value": "VMAppContainer" + } }, - "AzureVMAppContainerProtectionContainer": { - "description": "Container for SQL workloads under Azure Virtual Machines.", + "BackupResourceVaultConfig": { + "description": "Backup resource vault config details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadContainer" + "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 + } + }, + "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 + } } - ], - "x-ms-discriminator-value": "VMAppContainer" + } }, - "AzureVmWorkloadItem": { - "description": "Azure VM workload-specific workload item.", + "YearlyRetentionSchedule": { + "description": "Yearly retention schedule.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadItem" - } - ], "properties": { - "parentName": { - "description": "Name for instance or AG", - "type": "string" + "retentionScheduleFormatType": { + "description": "Retention schedule format for yearly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", - "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 + } + } }, - "isAutoProtectable": { - "description": "Indicates if workload item is auto-protectable", - "type": "boolean" + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for yearly retention policy." }, - "subinquireditemcount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's present", - "type": "integer" + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for yearly retention policy." }, - "subWorkloadItemCount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected", - "type": "integer" + "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." } - }, - "x-ms-discriminator-value": "AzureVmWorkloadItem" - }, - "AzureVmWorkloadProtectableItem": { - "description": "Azure VM workload-specific protectable item.", + } + }, + "VaultJob": { + "description": "Vault level Job", "type": "object", "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/Job" } ], "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", + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", "type": "string" }, - "isAutoProtectable": { - "description": "Indicates if protectable item is auto-protectable", - "type": "boolean" + "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 + } + } }, - "isAutoProtected": { - "description": "Indicates if protectable item is auto-protected", - "type": "boolean" + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/VaultJobErrorInfo" + } }, - "subinquireditemcount": { + "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": "For instance or AG, indicates number of DB's present", + "description": "Error code.", "type": "integer" }, - "subprotectableitemcount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected", - "type": "integer" + "errorString": { + "description": "Localized error string.", + "type": "string" }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } } - }, - "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" + } }, - "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP ASE Database.", + "VaultJobExtendedInfo": { + "description": "Vault Job for CMK - has CMK specific info.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" + "properties": { + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } } - ], - "x-ms-discriminator-value": "SAPAseDatabase" + } }, - "AzureVmWorkloadSAPAseSystemProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP ASE System.", + "AzureBackupServerContainer": { + "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/DpmContainer" } ], - "x-ms-discriminator-value": "SAPAseSystem" + "x-ms-discriminator-value": "AzureBackupServerContainer" }, - "AzureVmWorkloadSAPAseSystemWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP ASE System.", + "AzureBackupServerEngine": { + "description": "Backup engine type when Azure Backup Server is used to manage the backups.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadItem" + "$ref": "#/definitions/BackupEngineBase" } ], - "x-ms-discriminator-value": "SAPAseSystem" + "x-ms-discriminator-value": "AzureBackupServerEngine" }, - "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", + "AzureFileShareBackupRequest": { + "description": "AzureFileShare workload-specific backup request.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/BackupRequest" } ], - "x-ms-discriminator-value": "SAPHanaDatabase" + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareBackupRequest" }, - "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP HANA Database.", + "AzureFileShareProtectableItem": { + "description": "Protectable item for Azure Fileshare workloads.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadItem" + "$ref": "#/definitions/WorkloadProtectableItem" } ], - "x-ms-discriminator-value": "SAPHanaDatabase" + "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" }, - "AzureVmWorkloadSAPHanaSystemProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP HANA System.", + "AzureFileShareProvisionILRRequest": { + "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/ILRRequest" } ], - "x-ms-discriminator-value": "SAPHanaSystem" + "properties": { + "recoveryPointId": { + "description": "Recovery point ID.", + "type": "string" + }, + "sourceResourceId": { + "description": "Source Storage account ARM Id", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" }, - "AzureVmWorkloadSAPHanaSystemWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP HANA System.", + "AzureIaaSClassicComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadItem" + "$ref": "#/definitions/IaaSVMContainer" } ], - "x-ms-discriminator-value": "SAPHanaSystem" + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, - "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", + "AzureIaaSClassicComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/IaaSVMProtectableItem" } ], - "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, - "AzureVmWorkloadSQLDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Database.", + "AzureIaaSComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/IaaSVMContainer" } ], - "x-ms-discriminator-value": "SQLDataBase" + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "AzureVmWorkloadSQLDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SQL Database.", + "AzureIaaSComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadItem" + "$ref": "#/definitions/IaaSVMProtectableItem" } ], - "x-ms-discriminator-value": "SQLDataBase" + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "AzureVmWorkloadSQLInstanceProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Instance.", + "AzureSQLAGWorkloadContainerProtectionContainer": { + "description": "Container for SQL workloads under SQL Availability Group.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/AzureWorkloadContainer" } ], - "x-ms-discriminator-value": "SQLInstance" + "x-ms-discriminator-value": "SQLAGWorkLoadContainer" }, - "AzureVmWorkloadSQLInstanceWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SQL Instance.", + "AzureSqlContainer": { + "description": "Azure Sql workload-specific container.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadItem" + "$ref": "#/definitions/ProtectionContainer" } ], - "properties": { - "dataDirectoryPaths": { - "description": "Data Directory Paths for default directories", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectory" - } - } - }, - "x-ms-discriminator-value": "SQLInstance" + "x-ms-discriminator-value": "AzureSqlContainer" }, - "AzureWorkloadBackupRequest": { - "description": "AzureWorkload workload-specific backup request.", + "AzureStorageContainer": { + "description": "Azure Storage Account workload-specific container.", "type": "object", "allOf": [ { - "$ref": "#/definitions/BackupRequest" + "$ref": "#/definitions/ProtectionContainer" } ], "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 - } + "sourceResourceId": { + "description": "Fully qualified ARM url.", + "type": "string" }, - "enableCompression": { - "description": "Bool for Compression setting", - "type": "boolean" + "storageAccountVersion": { + "description": "Storage account version.", + "type": "string" }, - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", + "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": "AzureWorkloadBackupRequest" + "x-ms-discriminator-value": "StorageContainer" }, - "AzureBackupGoalFeatureSupportRequest": { - "description": "Azure backup goal feature specific request.", + "AzureStorageProtectableContainer": { + "description": "Azure Storage-specific protectable containers", "type": "object", "allOf": [ { - "$ref": "#/definitions/FeatureSupportRequest" + "$ref": "#/definitions/ProtectableContainer" } ], - "x-ms-discriminator-value": "AzureBackupGoals" + "x-ms-discriminator-value": "StorageContainer" }, - "AzureRecoveryServiceVaultProtectionIntent": { - "description": "Azure Recovery Services Vault specific protection intent item.", + "AzureVMAppContainerProtectableContainer": { + "description": "Azure workload-specific container", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionIntent" + "$ref": "#/definitions/ProtectableContainer" } ], - "x-ms-discriminator-value": "RecoveryServiceVaultItem" + "x-ms-discriminator-value": "VMAppContainer" }, - "AzureResourceProtectionIntent": { - "description": "IaaS VM specific backup protection intent item.", + "AzureVMAppContainerProtectionContainer": { + "description": "Container for SQL workloads under Azure Virtual Machines.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionIntent" + "$ref": "#/definitions/AzureWorkloadContainer" } ], - "properties": { - "friendlyName": { - "description": "Friendly name of the VM represented by this backup item.", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureResourceItem" + "x-ms-discriminator-value": "VMAppContainer" }, - "AzureVMResourceFeatureSupportRequest": { - "description": "AzureResource(IaaS VM) Specific feature support request", + "AzureVmWorkloadItem": { + "description": "Azure VM workload-specific workload item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FeatureSupportRequest" + "$ref": "#/definitions/WorkloadItem" } ], "properties": { - "vmSize": { - "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM", + "parentName": { + "description": "Name for instance or AG", "type": "string" }, - "vmSku": { - "description": "SKUs (Premium/Managed etc) in case of IaasVM", + "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": "AzureVMResourceBackup" + "x-ms-discriminator-value": "AzureVmWorkloadItem" }, - "AzureVMResourceFeatureSupportResponse": { - "description": "Response for feature support requests for Azure IaasVm", + "AzureVmWorkloadProtectableItem": { + "description": "Azure VM workload-specific protectable item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], "properties": { - "supportStatus": { - "description": "Support status of feature", - "enum": [ - "Invalid", - "Supported", - "DefaultOFF", - "DefaultON", - "NotSupported" - ], - "type": "string", - "x-ms-enum": { - "name": "SupportStatus", - "modelAsString": true - } + "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" }, - "AzureWorkloadAutoProtectionIntent": { - "description": "Azure Recovery Services Vault specific protection intent item.", + "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE Database.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], - "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" + "x-ms-discriminator-value": "SAPAseDatabase" }, - "AzureWorkloadSQLAutoProtectionIntent": { - "description": "Azure Workload SQL Auto Protection intent item.", + "AzureVmWorkloadSAPAseSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP ASE System.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], - "properties": { - "workloadItemType": { - "description": "Workload item type of the item for which intent is to be set", - "enum": [ - "Invalid", - "SQLInstance", - "SQLDataBase", - "SAPHanaSystem", - "SAPHanaDatabase", - "SAPAseSystem", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadItemType", - "modelAsString": true - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" + "x-ms-discriminator-value": "SAPAseSystem" }, - "BackupManagementUsage": { - "description": "Backup management usages of a vault.", + "AzureVmWorkloadSAPAseSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE System.", "type": "object", - "properties": { - "unit": { - "description": "Unit of the usage.", - "enum": [ - "Count", - "Bytes", - "Seconds", - "Percent", - "CountPerSecond", - "BytesPerSecond" - ], - "type": "string", - "x-ms-enum": { - "name": "UsagesUnit", - "modelAsString": true - } - }, - "quotaPeriod": { - "description": "Quota period of usage.", - "type": "string" - }, - "nextResetTime": { - "format": "date-time", - "description": "Next reset time of usage.", - "type": "string" - }, - "currentValue": { - "format": "int64", - "description": "Current value of usage.", - "type": "integer" - }, - "limit": { - "format": "int64", - "description": "Limit of usage.", - "type": "integer" - }, - "name": { - "$ref": "#/definitions/NameInfo", - "description": "Name of usage." + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" } - } + ], + "x-ms-discriminator-value": "SAPAseSystem" }, - "BackupManagementUsageList": { - "description": "Backup management usage for vault.", + "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", "type": "object", - "properties": { - "value": { - "description": "The list of backup management usages for the given vault.", - "type": "array", - "items": { - "$ref": "#/definitions/BackupManagementUsage" - } + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } - } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" }, - "BackupStatusRequest": { - "description": "BackupStatus request.", + "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA Database.", "type": "object", - "properties": { - "resourceType": { - "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...", - "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 - } - }, - "resourceId": { - "description": "Entire ARM resource id of the resource", - "type": "string" - }, - "poLogicalName": { - "description": "Protectable Item Logical Name", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" } - } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" }, - "BackupStatusResponse": { - "description": "BackupStatus response.", + "AzureVmWorkloadSAPHanaSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA System.", "type": "object", - "properties": { - "protectionStatus": { - "description": "Specifies whether the container is registered or not", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true - } - }, - "vaultId": { - "description": "Specifies the arm resource id of the vault", - "type": "string" - }, - "fabricName": { - "description": "Specifies the fabric name - Azure or AD", - "enum": [ - "Invalid", - "Azure" - ], - "type": "string", - "x-ms-enum": { - "name": "FabricName", - "modelAsString": true - } - }, - "containerName": { - "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.", - "type": "string" - }, - "protectedItemName": { - "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.", - "type": "string" - }, - "errorCode": { - "description": "ErrorCode in case of intent failed", - "type": "string" - }, - "errorMessage": { - "description": "ErrorMessage in case of intent failed.", - "type": "string" - }, - "policyName": { - "description": "Specifies the policy name which is used for protection", - "type": "string" - }, - "registrationStatus": { - "description": "Container registration status", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } - } + ], + "x-ms-discriminator-value": "SAPHanaSystem" }, - "BMSBackupSummariesQueryObject": { - "description": "Query parameters to fetch backup summaries.", + "AzureVmWorkloadSAPHanaSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA System.", "type": "object", - "properties": { - "type": { - "description": "Backup management type for this container.", - "enum": [ - "Invalid", - "BackupProtectedItemCountSummary", - "BackupProtectionContainerCountSummary" - ], - "type": "string", - "x-ms-enum": { - "name": "Type", - "modelAsString": true - } + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" } - } + ], + "x-ms-discriminator-value": "SAPHanaSystem" }, - "FeatureSupportRequest": { - "description": "Base class for feature request", + "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", "type": "object", - "properties": { - "featureType": { - "description": "backup support feature type.", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } - }, - "discriminator": "featureType" + ], + "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" }, - "NameInfo": { - "description": "The name of usage.", + "AzureVmWorkloadSQLDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Database.", "type": "object", - "properties": { - "value": { - "description": "Value of usage.", - "type": "string" - }, - "localizedValue": { - "description": "Localized value of usage.", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } - } + ], + "x-ms-discriminator-value": "SQLDataBase" }, - "PreValidateEnableBackupRequest": { - "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "AzureVmWorkloadSQLDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Database.", "type": "object", - "properties": { - "resourceType": { - "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", - "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 - } - }, - "resourceId": { - "description": "ARM Virtual Machine Id", - "type": "string" - }, - "vaultId": { - "description": "ARM id of the Recovery Services Vault", - "type": "string" - }, - "properties": { - "description": "Configuration of VM if any needs to be validated like OS type etc", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" } - } + ], + "x-ms-discriminator-value": "SQLDataBase" }, - "PreValidateEnableBackupResponse": { - "description": "Response contract for enable backup validation request", + "AzureVmWorkloadSQLInstanceProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Instance.", "type": "object", - "properties": { - "status": { - "description": "Validation Status", - "enum": [ - "Invalid", - "Succeeded", - "Failed" - ], - "type": "string", - "x-ms-enum": { - "name": "ValidationStatus", - "modelAsString": true - } - }, - "errorCode": { - "description": "Response error code", - "type": "string" - }, - "errorMessage": { - "description": "Response error message", - "type": "string" - }, - "recommendation": { - "description": "Recommended action for user", - "type": "string" - }, - "containerName": { - "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal", - "type": "string" - }, - "protectedItemName": { - "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } - } + ], + "x-ms-discriminator-value": "SQLInstance" }, - "ProtectionIntent": { - "description": "Base class for backup ProtectionIntent.", + "AzureVmWorkloadSQLInstanceWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Instance.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], "properties": { - "protectionIntentItemType": { - "description": "backup protectionIntent 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 - } - }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", - "type": "string" - }, - "itemId": { - "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", - "type": "string" - }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true + "dataDirectoryPaths": { + "description": "Data Directory Paths for default directories", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" } } }, - "discriminator": "protectionIntentItemType" + "x-ms-discriminator-value": "SQLInstance" }, - "ProtectionIntentQueryObject": { - "description": "Filters to list protection intent.", + "AzureWorkloadBackupRequest": { + "description": "AzureWorkload workload-specific backup request.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], "properties": { - "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", + "backupType": { + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", "enum": [ "Invalid", - "SQLInstance", - "SQLAvailabilityGroupContainer" + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" ], "type": "string", "x-ms-enum": { - "name": "IntentItemType", + "name": "backupType", "modelAsString": true } }, - "parentName": { - "description": "Parent name of the intent", - "type": "string" + "enableCompression": { + "description": "Bool for Compression setting", + "type": "boolean" }, - "itemName": { - "description": "Item name of the intent", + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", "type": "string" } - } - }, - "ProtectionIntentResource": { - "description": "Base class for backup ProtectionIntent.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionIntent", - "description": "ProtectionIntentResource properties" - } - } - }, - "ProtectionIntentResourceList": { - "description": "List of ProtectionIntent resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionIntentResource" - } - } - } + }, + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" }, "AzureWorkloadContainer": { "description": "Container for the workloads running inside Azure Compute or Classic Compute.", @@ -11232,54 +10150,54 @@ } } }, - "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/2021-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json new file mode 100644 index 000000000000..14117645fc00 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json @@ -0,0 +1,11285 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-02-01", + "title": "RecoveryServicesBackupClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { + "post": { + "tags": [ + "ProtectionIntent" + ], + "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "operationId": "ProtectionIntent_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Enable backup validation request on Virtual Machine", + "required": true, + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupResponse" + } + } + }, + "x-ms-examples": { + "Validate Enable Protection on Azure Vm": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { + "post": { + "tags": [ + "BackupStatus" + ], + "summary": "Get the container backup status", + "operationId": "BackupStatus_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Container Backup Status Request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupStatusResponse" + } + } + }, + "x-ms-examples": { + "Get Azure Virtual Machine Backup Status": { + "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { + "post": { + "tags": [ + "FeatureSupport" + ], + "summary": "It will validate if given feature with resource properties is supported in service", + "operationId": "FeatureSupport_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Feature support request object", + "required": true, + "schema": { + "$ref": "#/definitions/FeatureSupportRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" + } + } + }, + "x-ms-examples": { + "Check Azure Vm Backup Feature Support": { + "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { + "get": { + "tags": [ + "ProtectionIntent" + ], + "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectionIntent_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": "intentObjectName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + }, + "x-ms-examples": { + "Get ProtectionIntent for an item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionIntent" + ], + "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", + "operationId": "ProtectionIntent_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": "intentObjectName", + "in": "path", + "description": "Intent object name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + }, + "x-ms-examples": { + "Create or Update Azure Vm Protection Intent": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionIntent" + ], + "description": "Used to remove intent from an item", + "operationId": "ProtectionIntent_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 intent.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete Protection intent from item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": { + "get": { + "tags": [ + "BackupProtectionIntent" + ], + "description": "Provides a pageable list of all intents that are present within a vault.", + "operationId": "BackupProtectionIntent_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/ProtectionIntentResourceList" + } + } + }, + "x-ms-odata": "#/definitions/ProtectionIntentQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection intent with backupManagementType filter": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { + "get": { + "tags": [ + "BackupUsageSummaries" + ], + "description": "Fetches the backup management usage summaries of the vault.", + "operationId": "BackupUsageSummaries_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/BackupManagementUsageList" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Get Protected Items Usages Summary": { + "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" + }, + "Get Protected Containers Usages Summary": { + "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" + } + } + } + }, + "/providers/Microsoft.RecoveryServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Returns the list of available operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { + "get": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Fetches resource vault config.", + "operationId": "BackupResourceVaultConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" + } + } + }, + "patch": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { + "get": { + "tags": [ + "BackupResourceEncryptionConfigs" + ], + "description": "Fetches Vault Encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceEncryptionConfigs" + ], + "description": "Updates Vault encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault encryption input config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" + } + } + } + }, + "/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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": "#/definitions/CloudError" + } + } + }, + "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": [ + "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": "#/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-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" + } + } + } + }, + "/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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete 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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Vault Security Pin": { + "$ref": "./examples/Common/BackupSecurityPin_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": { + "post": { + "tags": [ + "RecoveryPoint" + ], + "summary": "Move recovery point from one datastore to another store.", + "operationId": "MoveRecoveryPoint", + "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": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Move Resource Across Tiers Request", + "required": true, + "schema": { + "$ref": "#/definitions/MoveRPAcrossTiersRequest" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger RP Move Operation": { + "$ref": "./examples/TriggerRecoveryPointMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { + "post": { + "tags": [ + "RecoveryPointsRecommendedForMove" + ], + "description": "Lists the recovery points recommended for move to another tier", + "operationId": "RecoveryPointsRecommendedForMove_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": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "List Recovery points Recommended for Move Request", + "required": true, + "schema": { + "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points Recommended for Move": { + "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json" + } + } + } + } + }, + "definitions": { + "BackupResourceEncryptionConfig": { + "type": "object", + "properties": { + "encryptionAtRestType": { + "description": "Encryption At Rest Type", + "enum": [ + "Invalid", + "MicrosoftManaged", + "CustomerManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAtRestType", + "modelAsString": true + } + }, + "keyUri": { + "description": "Key Vault Key URI", + "type": "string" + }, + "subscriptionId": { + "description": "Key Vault Subscription Id", + "type": "string" + }, + "lastUpdateStatus": { + "enum": [ + "Invalid", + "NotEnabled", + "PartiallySucceeded", + "PartiallyFailed", + "Failed", + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "LastUpdateStatus", + "modelAsString": true + } + }, + "infrastructureEncryptionState": { + "enum": [ + "Invalid", + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "InfrastructureEncryptionState", + "modelAsString": true + } + } + } + }, + "BackupResourceEncryptionConfigResource": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfig", + "description": "BackupResourceEncryptionConfigResource properties" + } + } + }, + "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" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "type": "object", + "$ref": "#/definitions/CloudErrorBody", + "description": "The error object." + } + }, + "description": "An error response from the Container Instance service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + }, + "description": "An error response from the Container Instance service." + }, + "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" + }, + "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" + }, + "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" + }, + "type": { + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + } + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformation" + } + }, + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + } + }, + "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" + }, + "dataDirectoryPaths": { + "description": "List of data directory paths during restore operation.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + } + } + } + }, + "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" + }, + "moveReadyRPOnly": { + "description": "Whether the RP can be moved to another tier", + "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" + } + } + }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + } + } + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "type": "object", + "properties": { + "name": { + "description": "Name for shoebox log specification.", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "blob duration of shoebox log specification", + "type": "string" + } + } + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + } + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + } + } + } + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "type": "object", + "properties": { + "value": { + "description": "List of available operations.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + } + }, + "nextLink": { + "description": "Link to the next chunk of Response.", + "type": "string" + } + } + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." + } + } + }, + "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" + }, + "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" + }, + "zones": { + "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms", + "type": "array", + "items": { + "type": "string" + } + }, + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + } + }, + "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" + }, + "zones": { + "description": "Target zone where the VM and its disks should be restored.", + "type": "array", + "items": { + "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", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": false + } + }, + "extendedInfo": { + "description": "Recovery point tier status.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "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." + } + } + }, + "BackupResourceVaultConfigResource": { + "description": "Backup resource vault config details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceVaultConfig", + "description": "BackupResourceVaultConfigResource properties" + } + } + }, + "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.", + "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 + } + } + } + }, + "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" + }, + "AzureBackupGoalFeatureSupportRequest": { + "description": "Azure backup goal feature specific request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "x-ms-discriminator-value": "AzureBackupGoals" + }, + "AzureRecoveryServiceVaultProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "RecoveryServiceVaultItem" + }, + "AzureResourceProtectionIntent": { + "description": "IaaS VM specific backup protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureResourceItem" + }, + "AzureVMResourceFeatureSupportRequest": { + "description": "AzureResource(IaaS VM) Specific feature support request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "properties": { + "vmSize": { + "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM", + "type": "string" + }, + "vmSku": { + "description": "SKUs (Premium/Managed etc) in case of IaasVM", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureVMResourceBackup" + }, + "AzureVMResourceFeatureSupportResponse": { + "description": "Response for feature support requests for Azure IaasVm", + "type": "object", + "properties": { + "supportStatus": { + "description": "Support status of feature", + "enum": [ + "Invalid", + "Supported", + "DefaultOFF", + "DefaultON", + "NotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportStatus", + "modelAsString": true + } + } + } + }, + "AzureWorkloadAutoProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" + } + ], + "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" + }, + "AzureWorkloadSQLAutoProtectionIntent": { + "description": "Azure Workload SQL Auto Protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" + } + ], + "properties": { + "workloadItemType": { + "description": "Workload item type of the item for which intent is to be set", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" + }, + "BackupManagementUsage": { + "description": "Backup management usages of a vault.", + "type": "object", + "properties": { + "unit": { + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true + } + }, + "quotaPeriod": { + "description": "Quota period of usage.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time of usage.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value of usage.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "Limit of usage.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." + } + } + }, + "BackupManagementUsageList": { + "description": "Backup management usage for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of backup management usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupManagementUsage" + } + } + } + }, + "BackupStatusRequest": { + "description": "BackupStatus request.", + "type": "object", + "properties": { + "resourceType": { + "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...", + "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 + } + }, + "resourceId": { + "description": "Entire ARM resource id of the resource", + "type": "string" + }, + "poLogicalName": { + "description": "Protectable Item Logical Name", + "type": "string" + } + } + }, + "BackupStatusResponse": { + "description": "BackupStatus response.", + "type": "object", + "properties": { + "protectionStatus": { + "description": "Specifies whether the container is registered or not", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + }, + "vaultId": { + "description": "Specifies the arm resource id of the vault", + "type": "string" + }, + "fabricName": { + "description": "Specifies the fabric name - Azure or AD", + "enum": [ + "Invalid", + "Azure" + ], + "type": "string", + "x-ms-enum": { + "name": "FabricName", + "modelAsString": true + } + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "errorCode": { + "description": "ErrorCode in case of intent failed", + "type": "string" + }, + "errorMessage": { + "description": "ErrorMessage in case of intent failed.", + "type": "string" + }, + "policyName": { + "description": "Specifies the policy name which is used for protection", + "type": "string" + }, + "registrationStatus": { + "description": "Container registration status", + "type": "string" + } + } + }, + "BMSBackupSummariesQueryObject": { + "description": "Query parameters to fetch backup summaries.", + "type": "object", + "properties": { + "type": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "BackupProtectedItemCountSummary", + "BackupProtectionContainerCountSummary" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "FeatureSupportRequest": { + "description": "Base class for feature request", + "type": "object", + "properties": { + "featureType": { + "description": "backup support feature type.", + "type": "string" + } + }, + "discriminator": "featureType" + }, + "NameInfo": { + "description": "The name of usage.", + "type": "object", + "properties": { + "value": { + "description": "Value of usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" + } + } + }, + "PreValidateEnableBackupRequest": { + "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", + "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 + } + }, + "resourceId": { + "description": "ARM Virtual Machine Id", + "type": "string" + }, + "vaultId": { + "description": "ARM id of the Recovery Services Vault", + "type": "string" + }, + "properties": { + "description": "Configuration of VM if any needs to be validated like OS type etc", + "type": "string" + } + } + }, + "PreValidateEnableBackupResponse": { + "description": "Response contract for enable backup validation request", + "type": "object", + "properties": { + "status": { + "description": "Validation Status", + "enum": [ + "Invalid", + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } + }, + "errorCode": { + "description": "Response error code", + "type": "string" + }, + "errorMessage": { + "description": "Response error message", + "type": "string" + }, + "recommendation": { + "description": "Recommended action for user", + "type": "string" + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", + "type": "string" + } + } + }, + "ProtectionIntent": { + "description": "Base class for backup ProtectionIntent.", + "type": "object", + "properties": { + "protectionIntentItemType": { + "description": "backup protectionIntent 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 + } + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "itemId": { + "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "protectionIntentItemType" + }, + "ProtectionIntentQueryObject": { + "description": "Filters to list protection intent.", + "type": "object", + "properties": { + "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", + "SQLInstance", + "SQLAvailabilityGroupContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "IntentItemType", + "modelAsString": true + } + }, + "parentName": { + "description": "Parent name of the intent", + "type": "string" + }, + "itemName": { + "description": "Item name of the intent", + "type": "string" + } + } + }, + "ProtectionIntentResource": { + "description": "Base class for backup ProtectionIntent.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionIntent", + "description": "ProtectionIntentResource properties" + } + } + }, + "ProtectionIntentResourceList": { + "description": "List of ProtectionIntent resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + } + }, + "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" + } + ], + "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" + }, + "PreBackupValidation": { + "description": "Pre-backup validation for Azure VM Workload provider.", + "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", + "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.", + "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 + } + }, + "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.", + "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 + } + }, + "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" + } + } + }, + "ProtectionContainerResourceList": { + "description": "List of ProtectionContainer resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "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.", + "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." + } + } + }, + "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.", + "type": "string" + }, + "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" + } + } + }, + "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.", + "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.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadProtectableItemResource" + } + } + } + }, + "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": { + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaPointInTimeRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": { + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": { + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLPointInTimeRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLRestoreWithRehydrateRequest": { + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreWithRehydrateRequest" + }, + "IaasVMRestoreWithRehydrationRequest": { + "description": "IaaS VM workload-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaasVMRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "IaasVMRestoreWithRehydrationRequest" + }, + "MoveRPAcrossTiersRequest": { + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "sourceTierType": { + "description": "Source tier from where RP needs to be moved", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "targetTierType": { + "description": "Target tier where RP needs to be moved", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + } + } + }, + "RecoveryPointMoveReadinessInfo": { + "type": "object", + "properties": { + "isReadyForMove": { + "type": "boolean" + }, + "additionalInfo": { + "type": "string" + } + } + }, + "RecoveryPointRehydrationInfo": { + "description": "RP Rehydration Info", + "type": "object", + "properties": { + "rehydrationRetentionDuration": { + "description": "How long the rehydrated RP should be kept\r\nShould be ISO8601 Duration format e.g. \"P7D\"", + "type": "string" + }, + "rehydrationPriority": { + "description": "Rehydration Priority", + "enum": [ + "Standard", + "High" + ], + "type": "string", + "x-ms-enum": { + "name": "RehydrationPriority", + "modelAsString": true + } + } + } + }, + "ListRecoveryPointsRecommendedForMoveRequest": { + "description": "ListRecoveryPointsRecommendedForMoveRequest Request", + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "excludedRPList": { + "description": "List of Recovery Points excluded from Move", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "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/2021-01-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupFeature_Validate.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/BackupFeature_Validate.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupFeature_Validate.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupPolicies_List.json new file mode 100644 index 000000000000..de8821aa1ae6 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupPolicies_List.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2021-01-01", + "$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/2021-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json new file mode 100644 index 000000000000..4cb1cc937d56 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2021-01-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/2021-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json new file mode 100644 index 000000000000..1d8a1b664602 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2021-01-01", + "$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/2021-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json new file mode 100644 index 000000000000..7b13e736575a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json new file mode 100644 index 000000000000..e6539d937d68 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ConfigureProtection.json new file mode 100644 index 000000000000..8b54de5b02d8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01", + "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/2021-01-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/GetBackupStatus.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/GetBackupStatus.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/GetBackupStatus.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json new file mode 100644 index 000000000000..2739feaa383a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json new file mode 100644 index 000000000000..c29b7e06185f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-01-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureIaasVm/ProtectionIntent_Validate.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..7812485dd2b4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01", + "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/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json new file mode 100644 index 000000000000..20ec2f4af4ea --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01", + "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/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json new file mode 100644 index 000000000000..1bf72ca67b2c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json new file mode 100644 index 000000000000..f51cc74d006b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json new file mode 100644 index 000000000000..070b70ad0bfb --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json new file mode 100644 index 000000000000..32526ebb5016 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/Provision_Ilr.json new file mode 100644 index 000000000000..a377e88c8e49 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json new file mode 100644 index 000000000000..1d5a024131ef --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json @@ -0,0 +1,101 @@ +{ + "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": "2021-01-01", + "parameters": { + "objectType": "ListRecoveryPointsRecommendedForMoveRequest", + "excludedRPList": [ + "348916168024334", + "348916168024335" + ] + } + }, + "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": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "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": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "status": "Rehydrated", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + } + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json new file mode 100644 index 000000000000..9ca3d0bcb17a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json @@ -0,0 +1,47 @@ +{ + "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": "2021-01-01" + }, + "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" + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPoints_List.json new file mode 100644 index 000000000000..979951e5f8d1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/RecoveryPoints_List.json @@ -0,0 +1,95 @@ +{ + "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": "2021-01-01" + }, + "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": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "Archive": { + "isReadyForMove": true + } + }, + "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": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "status": "Rehydrated", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + } + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": false, + "additionalInfo": "Recovery point cannot be moved to archive tier since it has already been moved." + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/Revoke_Ilr.json new file mode 100644 index 000000000000..65d956bd222d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/StopProtection.json new file mode 100644 index 000000000000..06afda60ed89 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01", + "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/2021-02-01/examples/AzureIaasVm/TriggerRestore_ALR.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/TriggerRestore_ALR.json new file mode 100644 index 000000000000..584a205e27ce --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/TriggerRestore_ALR.json @@ -0,0 +1,44 @@ +{ + "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": "2021-01-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreWithRehydrationRequest", + "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 + }, + "recoveryPointRehydrationInfo": { + "rehydrationRetentionDuration": "P7D", + "rehydrationPriority": "High" + } + } + } + }, + "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/2021-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json new file mode 100644 index 000000000000..dfa358b3a264 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.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": "2021-01-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreWithRehydrationRequest", + "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 + }, + "recoveryPointRehydrationInfo": { + "rehydrationRetentionDuration": "P7D", + "rehydrationPriority": "Standard" + } + } + } + }, + "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=2020-09-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=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..79380dcc8318 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01", + "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/2021-02-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectableContainers_List.json new file mode 100644 index 000000000000..60985ca627c3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json new file mode 100644 index 000000000000..678e0fa44d56 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json new file mode 100644 index 000000000000..f8c5e00d1812 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectionContainers_List.json new file mode 100644 index 000000000000..20bc5180d0ec --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectionContainers_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2021-01-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/2021-02-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureStorage/ProtectionContainers_Register.json new file mode 100644 index 000000000000..d75ea06f619d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupPolicies_List.json new file mode 100644 index 000000000000..59114aee239f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupPolicies_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2021-01-01", + "$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/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/AzureWorkload/BackupProtectionIntent_List.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json new file mode 100644 index 000000000000..3985f6c0b5d4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/ProtectionContainers_Get.json new file mode 100644 index 000000000000..18f5dfe8d75a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json new file mode 100644 index 000000000000..8aa1b1bdf40b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2021-01-01", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage" + }, + "responses": { + "200": {}, + "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/2021-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..f3d67859d33c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01", + "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/2021-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json new file mode 100644 index 000000000000..a48a09250cbc --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-01-01" + }, + "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/2021-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json new file mode 100644 index 000000000000..39453fc2f258 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + }, + "200": { + "body": { + "objectType": "" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/PrepareDataMove_Post.json new file mode 100644 index 000000000000..b36eec47325a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/PrepareDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "api-version": "2021-01-01", + "parameters": { + "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv", + "targetRegion": "USGov Virginia", + "dataMoveLevel": "Vault" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/TriggerDataMove_Post.json new file mode 100644 index 000000000000..b09229f99a99 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupDataMove/TriggerDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "targetRG", + "vaultName": "target-rsv", + "api-version": "2021-01-01", + "parameters": { + "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv", + "sourceRegion": "USGov Iowa", + "dataMoveLevel": "Vault", + "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE=" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupResourceEncryptionConfig_Get.json new file mode 100644 index 000000000000..8a77f8edb1bf --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupResourceEncryptionConfig_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rishgrp", + "vaultName": "rishTestVault", + "api-version": "2021-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig", + "name": "backupResourceEncryptionConfig", + "type": "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs", + "properties": { + "encryptionAtRestType": "CustomerManaged", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "lastUpdateStatus": "Succeeded", + "infrastructureEncryptionState": "Disabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupResourceEncryptionConfig_Put.json new file mode 100644 index 000000000000..1a7c0a600e7d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/BackupResourceEncryptionConfig_Put.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "source-rsv", + "api-version": "2021-01-01", + "parameters": { + "properties": { + "encryptionAtRestType": "CustomerManaged", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "infrastructureEncryptionState": "true" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Get.json new file mode 100644 index 000000000000..44d2e61f19e5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2021-01-01" + }, + "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" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json new file mode 100644 index 000000000000..9140317cc328 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2021-01-01", + "parameters": { + "properties": { + "enhancedSecurityState": "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" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Put.json new file mode 100644 index 000000000000..40d992ff4c74 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupResourceVaultConfigs_Put.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2021-01-01", + "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/2021-02-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupSecurityPin_Get.json new file mode 100644 index 000000000000..72d6a94ed429 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/BackupSecurityPin_Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2021-01-01" + }, + "responses": { + "200": { + "body": { + "token": "200432", + "expiryTimeInUtcTicks": 636495150137443121, + "securityPIN": "200432" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/CancelJobOperationResult.json new file mode 100644 index 000000000000..8b338c0fdc3c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/CancelJobOperationResult.json @@ -0,0 +1,20 @@ +{ + "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": "2021-01-01" + }, + "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/2021-02-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ExportJobsOperationResult.json new file mode 100644 index 000000000000..0c536be33418 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/GetJobDetails.json new file mode 100644 index 000000000000..50215a36063e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ListJobs.json new file mode 100644 index 000000000000..5a156e09cca8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ListJobs.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2021-01-01" + }, + "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/2021-02-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ListJobsWithAllSupportedFilters.json new file mode 100644 index 000000000000..590dbcb02c46 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ListJobsWithAllSupportedFilters.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2021-01-01", + "$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/2021-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json new file mode 100644 index 000000000000..165b31f8e4f3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2021-01-01", + "$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/2021-02-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ProtectedItem_Delete.json new file mode 100644 index 000000000000..724572e718e1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ProtectedItem_Delete.json @@ -0,0 +1,22 @@ +{ + "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": "2021-01-01" + }, + "responses": { + "200": {}, + "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/2021-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json new file mode 100644 index 000000000000..301d22b6335c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json new file mode 100644 index 000000000000..63e5d3412e3d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/RefreshContainers.json new file mode 100644 index 000000000000..f82315cb5d9c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/RefreshContainers.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "api-version": "2021-01-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/2021-02-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/RefreshContainers_OperationResults.json new file mode 100644 index 000000000000..0d318febcbb9 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/TriggerBackup_Post.json new file mode 100644 index 000000000000..f78613afb1e8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/TriggerCancelJob.json new file mode 100644 index 000000000000..2a1186dc59e7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/TriggerExportJobs.json new file mode 100644 index 000000000000..487b5f4a0007 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Common/TriggerExportJobs.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2021-01-01" + }, + "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/2021-02-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Dpm/BackupEngines_Get.json new file mode 100644 index 000000000000..04f6343d7c8d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-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/2021-02-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Dpm/BackupEngines_List.json new file mode 100644 index 000000000000..a6554224ec9e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/Dpm/BackupEngines_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2021-01-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/2021-01-01/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/ListOperations.json similarity index 100% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-01-01/examples/ListOperations.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/ListOperations.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..92e72a8dc109 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..22949c300498 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json new file mode 100644 index 000000000000..7150ccf5f49e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01" + }, + "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/2021-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..1b116f0a665a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-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": "2021-01-01", + "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/Microsoft.RecoveryServices/stable/2021-02-01/examples/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/TriggerRecoveryPointMove_Post.json new file mode 100644 index 000000000000..01fffad6f116 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/TriggerRecoveryPointMove_Post.json @@ -0,0 +1,26 @@ +{ + "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": "2021-01-01", + "parameters": { + "objectType": "MoveRPAcrossTiersRequest", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "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=2020-09-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=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index d09eecc0acd4..1d4e6034406d 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-2021-01 +tag: package-2021-02 csharp-sdks-folder: ./Generated/CSharp python-sdks-folder: ./Generated/Python go-sdk-folder: ./Generated/Golang @@ -45,6 +45,15 @@ model-validator: true semantic-validator: true message-format: json ``` +### Tag: package-2021-02 + +These settings apply only when `--tag=package-2021-02` is specified on the command line. + +``` yaml $(tag) == 'package-2021-02' +input-file: +- Microsoft.RecoveryServices/stable/2021-02-01/bms.json +- Microsoft.RecoveryServices/stable/2018-12-20/bms.json +``` ### Tag: package-2021-01 @@ -54,6 +63,8 @@ These settings apply only when `--tag=package-2021-01` is specified on the comma input-file: - Microsoft.RecoveryServices/stable/2021-01-01/bms.json - Microsoft.RecoveryServices/stable/2018-12-20/bms.json +- Microsoft.RecoveryServices/stable/2017-07-01/bms.json +- Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` ### Tag: package-2020-12 From 75eda7c2e9a6925443e1434ceb3405428a49ba67 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Wed, 10 Feb 2021 02:12:54 -0800 Subject: [PATCH 3/5] Fixing prettier --- .../stable/2021-02-01/bms.json | 109 ++++++++++-------- ...onfigureProtectionViaExtensionRouting.json | 25 ---- ...ngBackupProtectedItemsInContainer_Get.json | 39 ------- 3 files changed, 58 insertions(+), 115 deletions(-) delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json delete mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json index 14117645fc00..49c6fff5d3d2 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json @@ -18,7 +18,6 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { "post": { "tags": [ @@ -11232,54 +11231,62 @@ } } }, - "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" + }, + "AzureRegion": { + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "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/2021-02-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json deleted file mode 100644 index 73c7034b8cb8..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ConfigureProtectionViaExtensionRouting.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "api-version": "2017-07-01", - "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", - "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault" - } - } - }, - "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=2017-07-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=2017-07-01", - "Retry-After": 60 - } - } - } -} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json deleted file mode 100644 index bd1bb670cd1f..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/examples/AzureIaasVm/ExtensionRoutingBackupProtectedItemsInContainer_Get.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vmName": "iaasvm-1", - "api-version": "2017-07-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.Compute/virtualMachines/iaasvm-1/providers/Microsoft.RecoveryServices/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", - "policyName": "DailyPolicy", - "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" - } - } - ] - } - } - } -} From 9e27695c7163346b3179896f95a614d9a85a6e10 Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Thu, 11 Feb 2021 09:08:17 -0800 Subject: [PATCH 4/5] Update --- .../Microsoft.RecoveryServices/stable/2021-02-01/bms.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json index 49c6fff5d3d2..b476325037f4 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json @@ -562,7 +562,7 @@ "tags": [ "BackupResourceVaultConfigs" ], - "description": "Updates vault security config.", + "description": "Updates vault security config. ", "operationId": "BackupResourceVaultConfigs_Put", "produces": [ "application/json" From 33ec9f03c312a7159627faedb7b16da86748210e Mon Sep 17 00:00:00 2001 From: Pratima Upadhyay Date: Fri, 12 Feb 2021 03:58:00 -0800 Subject: [PATCH 5/5] Fixing semantic validation --- .../Microsoft.RecoveryServices/stable/2021-02-01/bms.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json index b476325037f4..0083aa3fd82a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-02-01/bms.json @@ -9212,6 +9212,9 @@ }, "FeatureSupportRequest": { "description": "Base class for feature request", + "required": [ + "featureType" + ], "type": "object", "properties": { "featureType": { @@ -9319,6 +9322,9 @@ }, "ProtectionIntent": { "description": "Base class for backup ProtectionIntent.", + "required": [ + "protectionIntentItemType" + ], "type": "object", "properties": { "protectionIntentItemType": {