diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/bms.json
new file mode 100644
index 000000000000..eaaf37f8b9b1
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/bms.json
@@ -0,0 +1,4508 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15",
+ "title": "RecoveryServicesBackupClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": {
+ "get": {
+ "tags": [
+ "BackupUsageSummaries_CRR"
+ ],
+ "description": "Fetches the backup management usage summaries of the vault.",
+ "operationId": "BackupUsageSummariesCRR_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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupAadProperties": {
+ "get": {
+ "tags": [
+ "AadProperties"
+ ],
+ "summary": "Fetches the AAD properties from target region BCM stamp.",
+ "operationId": "AadProperties_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AADPropertiesResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSAADPropertiesQueryObject",
+ "x-ms-examples": {
+ "Get AAD Properties for authentication in the third region": {
+ "$ref": "./examples/AzureIaasVm/BackupAadProperties_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore": {
+ "post": {
+ "tags": [
+ "CrossRegionRestore"
+ ],
+ "summary": "Restores the specified backed up data in a different region as compared to where the data is backed up.",
+ "operationId": "CrossRegionRestore_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource cross region restore request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CrossRegionRestoreRequest"
+ }
+ }
+ ],
+ "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-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Trigger Cross Region Restore": {
+ "$ref": "./examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json"
+ },
+ "Trigger Cross Region Restore with identityBasedRestoreDetails": {
+ "$ref": "./examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob": {
+ "post": {
+ "tags": [
+ "CrrJobDetails"
+ ],
+ "summary": "Get CRR job details from target region.",
+ "operationId": "BackupCrrJobDetails_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "CRR Job request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CrrJobRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Cross Region Restore Job Details in the secondary region": {
+ "$ref": "./examples/AzureIaasVm/GetCrrJob_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJobs": {
+ "post": {
+ "tags": [
+ "BackupCrrJobs"
+ ],
+ "summary": "Gets the list of CRR jobs from the target region.",
+ "operationId": "BackupCrrJobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Backup CRR Job request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CrrJobRequest"
+ }
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/JobQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Cross Region Restore Jobs in the secondary region": {
+ "$ref": "./examples/AzureIaasVm/ListCrrJobs_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "CrrOperationResults"
+ ],
+ "operationId": "CrrOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Results for Cross Region Restore": {
+ "$ref": "./examples/AzureIaasVm/GetCrrOperationResults_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationsStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "CrrOperationStatus"
+ ],
+ "operationId": "CrrOperationStatus_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$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 Operation Status for Cross Region Restore": {
+ "$ref": "./examples/AzureIaasVm/GetCrrOperationStatus_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken": {
+ "post": {
+ "tags": [
+ "RecoveryPoints_GetAccessToken"
+ ],
+ "summary": "Returns the Access token for communication between BMS and Protection service",
+ "operationId": "RecoveryPoints_GetAccessToken",
+ "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": "protectedItemName",
+ "in": "path",
+ "description": "Name of the Protected Item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery Point Id",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Get Access Token request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AADPropertiesResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CrrAccessTokenResource"
+ }
+ },
+ "400": {
+ "description": "BadRequest",
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Access Token for Crr": {
+ "$ref": "./examples/AzureIaasVm/GetAccessToken_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": {
+ "get": {
+ "tags": [
+ "BackupResourceStorageConfigs"
+ ],
+ "description": "Fetches resource storage config.",
+ "operationId": "BackupResourceStorageConfigs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupResourceStorageConfigs"
+ ],
+ "description": "Updates vault storage model type.",
+ "operationId": "BackupResourceStorageConfigs_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Vault storage config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Put.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupResourceStorageConfigs"
+ ],
+ "description": "Updates vault storage model type.",
+ "operationId": "BackupResourceStorageConfigs_patch",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Vault storage config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Patch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/": {
+ "get": {
+ "tags": [
+ "RecoveryPoints_Crr"
+ ],
+ "description": "Lists the backup copies for the backed up item.",
+ "operationId": "RecoveryPointsCrr_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/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"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems/": {
+ "get": {
+ "tags": [
+ "BackupProtectedItems_Crr"
+ ],
+ "description": "Provides a pageable list of all items that are backed up within a vault.",
+ "operationId": "BackupProtectedItemsCrr_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/NewErrorResponse"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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."
+ }
+ }
+ },
+ "NameInfo": {
+ "description": "The name of usage.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value of usage.",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of usage.",
+ "type": "string"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ }
+ }
+ }
+ },
+ "NewErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "The error object.",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error target."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NewErrorResponse"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ }
+ },
+ "description": "The resource management error response."
+ },
+ "AADProperties": {
+ "type": "object",
+ "properties": {
+ "servicePrincipalClientId": {
+ "type": "string"
+ },
+ "tenantId": {
+ "type": "string"
+ },
+ "authority": {
+ "type": "string"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "servicePrincipalObjectId": {
+ "type": "string"
+ }
+ }
+ },
+ "AADPropertiesResource": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AADProperties",
+ "description": "AADPropertiesResource properties"
+ }
+ }
+ },
+ "AzureFileshareProtectedItem": {
+ "description": "Azure File Share workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the fileshare represented by this backup item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "healthStatus": {
+ "description": "backups running status for this backup item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthStatus",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "kpisHealths": {
+ "description": "Health details of different KPIs",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KPIResourceHealthDetails"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareProtectedItem"
+ },
+ "AzureFileshareProtectedItemExtendedInfo": {
+ "description": "Additional information about Azure File Share backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "resourceState": {
+ "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceStateSyncTime": {
+ "format": "date-time",
+ "description": "The resource state sync time for this backup item.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AzureFileShareRecoveryPoint": {
+ "description": "Azure File Share workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fileShareSnapshotUri": {
+ "description": "Contains Url to the snapshot of fileshare, if applicable",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointSizeInGB": {
+ "format": "int32",
+ "description": "Contains recovery point size",
+ "type": "integer",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRecoveryPoint"
+ },
+ "AzureFileShareRestoreRequest": {
+ "description": "AzureFileShare Restore Request",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Source storage account ARM Id",
+ "type": "string"
+ },
+ "copyOptions": {
+ "description": "Options to resolve copy conflicts.",
+ "enum": [
+ "Invalid",
+ "CreateCopy",
+ "Skip",
+ "Overwrite",
+ "FailOnConflict"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CopyOptions",
+ "modelAsString": true
+ }
+ },
+ "restoreRequestType": {
+ "description": "Restore Type (FullShareRestore or ItemLevelRestore)",
+ "enum": [
+ "Invalid",
+ "FullShareRestore",
+ "ItemLevelRestore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreRequestType",
+ "modelAsString": true
+ }
+ },
+ "restoreFileSpecs": {
+ "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestoreFileSpecs"
+ }
+ },
+ "targetDetails": {
+ "$ref": "#/definitions/TargetAFSRestoreInfo",
+ "description": "Target File Share Details"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRestoreRequest"
+ },
+ "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
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "KPIResourceHealthDetails": {
+ "description": "KPI Resource Health Details",
+ "type": "object",
+ "properties": {
+ "resourceHealthStatus": {
+ "description": "Resource Health Status",
+ "enum": [
+ "Healthy",
+ "TransientDegraded",
+ "PersistentDegraded",
+ "TransientUnhealthy",
+ "PersistentUnhealthy",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "resourceHealthDetails": {
+ "description": "Resource Health Status",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceHealthDetails"
+ }
+ }
+ }
+ },
+ "ResourceHealthDetails": {
+ "description": "Health Details for backup items.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer",
+ "readOnly": true
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Health Message",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "Health Recommended Actions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AzureIaaSVMJobTaskDetails": {
+ "description": "Azure IaaS VM workload-specific job task details.",
+ "type": "object",
+ "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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "AzureStorageJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageErrorInfo"
+ }
+ },
+ "storageAccountName": {
+ "description": "Specifies friendly name of the storage account.",
+ "type": "string"
+ },
+ "storageAccountVersion": {
+ "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureStorageJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureStorageJob"
+ },
+ "AzureStorageJobExtendedInfo": {
+ "description": "Azure Storage workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureStorageJobTaskDetails": {
+ "description": "Azure storage workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVmWorkloadProtectedItem": {
+ "description": "Azure VM workload-specific protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the DB represented by this backup item.",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "parentName": {
+ "description": "Parent name of the DB such as Instance or Availability Group.",
+ "type": "string"
+ },
+ "parentType": {
+ "description": "Parent type of protected item, example: for a DB, standalone server or distributed",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LastBackupStatus",
+ "modelAsString": true
+ }
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "lastBackupErrorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error details in last backup"
+ },
+ "protectedItemDataSourceId": {
+ "description": "Data ID of the protected item.",
+ "type": "string"
+ },
+ "protectedItemHealthStatus": {
+ "description": "Health status of the backup item, evaluated based on last heartbeat received",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "NotReachable",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ },
+ "kpisHealths": {
+ "description": "Health details of different KPIs",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KPIResourceHealthDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem"
+ },
+ "AzureVmWorkloadProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Workload for SQL specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVmWorkloadSAPAseDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SAP ASE Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase"
+ },
+ "AzureVmWorkloadSAPHanaDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SAP HANA Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase"
+ },
+ "AzureVmWorkloadSQLDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase"
+ },
+ "AzureWorkloadErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "errorTitle": {
+ "description": "Title: Typically, the entity that the error pertains to.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalDetails": {
+ "description": "Additional details for above error code.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "workloadType": {
+ "description": "Workload type of the job",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadJob"
+ },
+ "AzureWorkloadJobExtendedInfo": {
+ "description": "Azure VM workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJobTaskDetails": {
+ "description": "Azure VM workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "timeRanges": {
+ "description": "List of log ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PointInTimeRange"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadRecoveryPoint": {
+ "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which recovery point was created",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of restore point",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential",
+ "Incremental"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "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
+ }
+ },
+ "targetVirtualMachineId": {
+ "description": "This is the complete ARM Id of the target VM\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadRestoreRequest"
+ },
+ "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime in SAPHana",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadSAPHanaPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadSAPHanaRecoveryPoint": {
+ "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint"
+ },
+ "AzureWorkloadSAPHanaRestoreRequest": {
+ "description": "AzureWorkload SAP Hana-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest"
+ },
+ "AzureWorkloadSQLPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "timeRanges": {
+ "description": "List of log ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PointInTimeRange"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadSQLPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadSQLRecoveryPoint": {
+ "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo",
+ "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint"
+ },
+ "AzureWorkloadSQLRecoveryPointExtendedInfo": {
+ "description": "Extended info class details",
+ "type": "object",
+ "properties": {
+ "dataDirectoryTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which data directory info was captured",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataDirectoryPaths": {
+ "description": "List of data directory paths during restore operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectory"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AzureWorkloadSQLRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "shouldUseAlternateTargetLocation": {
+ "description": "Default option set to true. If this is set to false, alternate data directory must be provided",
+ "type": "boolean"
+ },
+ "isNonRecoverable": {
+ "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried",
+ "type": "boolean"
+ },
+ "alternateDirectoryPaths": {
+ "description": "Data directory details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectoryMapping"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest"
+ },
+ "BEKDetails": {
+ "description": "BEK is bitlocker encryption key.",
+ "type": "object",
+ "properties": {
+ "secretUrl": {
+ "description": "Secret is BEK.",
+ "type": "string"
+ },
+ "secretVaultId": {
+ "description": "ID of the Key Vault where this Secret is stored.",
+ "type": "string"
+ },
+ "secretData": {
+ "description": "BEK data.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSRPQueryObject": {
+ "description": "Filters to list backup copies.",
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "format": "date-time",
+ "description": "Backup copies created after this time.",
+ "type": "string"
+ },
+ "endDate": {
+ "format": "date-time",
+ "description": "Backup copies created before this time.",
+ "type": "string"
+ },
+ "restorePointQueryType": {
+ "description": "RestorePoint type",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential",
+ "FullAndDifferential",
+ "All",
+ "Incremental"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointQueryType",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.",
+ "type": "boolean"
+ },
+ "moveReadyRPOnly": {
+ "description": "Whether the RP can be moved to another tier",
+ "type": "boolean"
+ }
+ }
+ },
+ "BackupResourceConfig": {
+ "description": "The resource storage details.",
+ "type": "object",
+ "properties": {
+ "storageModelType": {
+ "description": "Storage type",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageTypeState": {
+ "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
+ "enum": [
+ "Invalid",
+ "Locked",
+ "Unlocked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageTypeState",
+ "modelAsString": true
+ }
+ },
+ "crossRegionRestoreFlag": {
+ "description": "Opt in details of Cross Region Restore feature.",
+ "type": "boolean"
+ }
+ }
+ },
+ "CrrJobRequest": {
+ "description": "Request object for fetching CRR jobs.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "Entire ARM resource id of the resource",
+ "type": "string"
+ },
+ "jobName": {
+ "description": "Job Name of the job to be fetched",
+ "type": "string"
+ }
+ }
+ },
+ "CrrJobRequestResource": {
+ "description": "Request object for fetching CRR jobs.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CrrJobRequest",
+ "description": "CrrJobRequestResource properties"
+ }
+ }
+ },
+ "BackupResourceConfigResource": {
+ "type": "object",
+ "description": "The resource storage details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceConfig",
+ "description": "BackupResourceConfigResource properties"
+ }
+ }
+ },
+ "ClientScriptForConnect": {
+ "description": "Client script details for file / folder restore.",
+ "type": "object",
+ "properties": {
+ "scriptContent": {
+ "description": "File content of the client script for file / folder restore.",
+ "type": "string"
+ },
+ "scriptExtension": {
+ "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used",
+ "type": "string"
+ },
+ "scriptNameSuffix": {
+ "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.",
+ "type": "string"
+ }
+ }
+ },
+ "CrossRegionRestoreRequest": {
+ "type": "object",
+ "properties": {
+ "crossRegionRestoreAccessDetails": {
+ "$ref": "#/definitions/CrrAccessToken",
+ "description": "Access details for cross region restore"
+ },
+ "restoreRequest": {
+ "$ref": "#/definitions/RestoreRequest",
+ "description": "Request object for triggering restore"
+ }
+ }
+ },
+ "CrossRegionRestoreRequestResource": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CrossRegionRestoreRequest",
+ "description": "CrossRegionRestoreRequestResource properties"
+ }
+ }
+ },
+ "CrrAccessToken": {
+ "type": "object",
+ "required": [
+ "objectType"
+ ],
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ },
+ "accessTokenString": {
+ "description": "Access token used for authentication",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription Id of the source vault",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "Resource Group name of the source vault",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Resource Name of the source vault",
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "Resource Id of the source vault",
+ "type": "string"
+ },
+ "protectionContainerId": {
+ "format": "int64",
+ "description": "Protected item container id",
+ "type": "integer"
+ },
+ "recoveryPointId": {
+ "description": "Recovery Point Id",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "description": "Recovery Point Time",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Container Unique name",
+ "type": "string"
+ },
+ "containerType": {
+ "description": "Container Type",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Backup Management Type",
+ "type": "string"
+ },
+ "datasourceType": {
+ "description": "Datasource Type",
+ "type": "string"
+ },
+ "datasourceName": {
+ "description": "Datasource Friendly Name",
+ "type": "string"
+ },
+ "datasourceId": {
+ "description": "Datasource Id",
+ "type": "string"
+ },
+ "datasourceContainerName": {
+ "description": "Datasource Container Unique Name",
+ "type": "string"
+ },
+ "coordinatorServiceStampId": {
+ "description": "CoordinatorServiceStampId to be used by BCM in restore call",
+ "type": "string"
+ },
+ "coordinatorServiceStampUri": {
+ "description": "CoordinatorServiceStampUri to be used by BCM in restore call",
+ "type": "string"
+ },
+ "protectionServiceStampId": {
+ "description": "ProtectionServiceStampId to be used by BCM in restore call",
+ "type": "string"
+ },
+ "protectionServiceStampUri": {
+ "description": "ProtectionServiceStampUri to be used by BCM in restore call",
+ "type": "string"
+ },
+ "tokenExtendedInformation": {
+ "description": "Extended Information about the token like FileSpec etc.",
+ "type": "string"
+ },
+ "rpTierInformation": {
+ "description": "Recovery point Tier Information",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "rpOriginalSAOption": {
+ "description": "Recovery point information: Original SA option",
+ "type": "boolean"
+ },
+ "rpIsManagedVirtualMachine": {
+ "description": "Recovery point information: Managed virtual machine",
+ "type": "boolean"
+ },
+ "rpVMSizeDescription": {
+ "description": "Recovery point information: VM size description",
+ "type": "string"
+ },
+ "bMSActiveRegion": {
+ "description": "Active region name of BMS Stamp",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "CrrAccessTokenResource": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CrrAccessToken",
+ "description": "CrrAccessTokenResource properties"
+ }
+ }
+ },
+ "DiskExclusionProperties": {
+ "type": "object",
+ "properties": {
+ "diskLunList": {
+ "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "isInclusionList": {
+ "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DiskInformation": {
+ "description": "Disk information",
+ "type": "object",
+ "properties": {
+ "lun": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "ExtendedProperties": {
+ "description": "Extended Properties for Azure IaasVM Backup.",
+ "type": "object",
+ "properties": {
+ "diskExclusionProperties": {
+ "$ref": "#/definitions/DiskExclusionProperties",
+ "description": "Extended Properties for Disk Exclusion."
+ }
+ }
+ },
+ "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"
+ },
+ "IaasVMRecoveryPoint": {
+ "description": "IaaS VM workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointAdditionalInfo": {
+ "description": "Additional information associated with this backup copy.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceVMStorageType": {
+ "description": "Storage type of the VM whose backup copy is created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isSourceVMEncrypted": {
+ "description": "Identifies whether the VM was encrypted when the backup copy is created.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "keyAndSecret": {
+ "$ref": "#/definitions/KeyAndSecretDetails",
+ "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true."
+ },
+ "isInstantIlrSessionActive": {
+ "description": "Is the session to recover items from this backup copy still active.",
+ "type": "boolean"
+ },
+ "recoveryPointTierDetails": {
+ "description": "Recovery point tier information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointTierInformation"
+ }
+ },
+ "isManagedVirtualMachine": {
+ "description": "Whether VM is with Managed Disks",
+ "type": "boolean"
+ },
+ "virtualMachineSize": {
+ "description": "Virtual Machine Size",
+ "type": "string"
+ },
+ "originalStorageAccountOption": {
+ "description": "Original Storage Account Option",
+ "type": "boolean"
+ },
+ "osType": {
+ "description": "OS type",
+ "type": "string"
+ },
+ "recoveryPointDiskConfiguration": {
+ "$ref": "#/definitions/RecoveryPointDiskConfiguration",
+ "description": "Disk configuration"
+ },
+ "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"
+ }
+ },
+ "identityInfo": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Managed Identity information required to access customer storage account."
+ },
+ "identityBasedRestoreDetails": {
+ "$ref": "#/definitions/IdentityBasedRestoreDetails",
+ "description": "IaaS VM workload specific restore details for restores using managed identity."
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRestoreRequest"
+ },
+ "IdentityBasedRestoreDetails": {
+ "description": "IaaS VM workload specific restore details for restores using managed identity",
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ },
+ "targetStorageAccountId": {
+ "description": "Fully qualified ARM ID of the target storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "IdentityInfo": {
+ "description": "Encapsulates Managed Identity related information",
+ "type": "object",
+ "properties": {
+ "isSystemAssignedIdentity": {
+ "description": "To differentiate if the managed identity is system assigned or user assigned",
+ "type": "boolean"
+ },
+ "managedIdentityResourceId": {
+ "description": "Managed Identity Resource Id\r\nOptional: Might not be required in the case of system assigned managed identity",
+ "type": "string"
+ }
+ }
+ },
+ "InstantItemRecoveryTarget": {
+ "description": "Target details for file / folder restore.",
+ "type": "object",
+ "properties": {
+ "clientScripts": {
+ "description": "List of client scripts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientScriptForConnect"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "BMSAADPropertiesQueryObject": {
+ "description": "Filters to list backup items.",
+ "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
+ }
+ }
+ }
+ },
+ "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": {
+ "type": "object",
+ "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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ },
+ "OperationStatusRecoveryPointExtendedInfo": {
+ "description": "Operation status extended info for Updated Recovery Point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "updatedRecoveryPoint": {
+ "$ref": "#/definitions/RecoveryPoint",
+ "description": "Recovery Point info with updated source snapshot URI"
+ },
+ "deletedBackupItemVersion": {
+ "description": "In case the share is in soft-deleted state, populate this field with deleted backup item",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusRecoveryPointExtendedInfo"
+ },
+ "PointInTimeRange": {
+ "description": "Provides details for log ranges",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of the time range for log recovery.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of the time range for log recovery.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItem": {
+ "description": "Base class for backup items.",
+ "type": "object",
+ "required": [
+ "protectedItemType"
+ ],
+ "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"
+ },
+ "resourceGuardOperationRequests": {
+ "description": "ResourceGuardOperationRequests on which LAC check will be performed",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "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": {
+ "type": "object",
+ "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"
+ }
+ }
+ }
+ },
+ "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": {
+ "type": "object",
+ "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"
+ },
+ "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"
+ }
+ }
+ },
+ "WorkloadCrrAccessToken": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CrrAccessToken"
+ }
+ ],
+ "properties": {
+ "protectableObjectUniqueName": {
+ "type": "string"
+ },
+ "protectableObjectFriendlyName": {
+ "type": "string"
+ },
+ "protectableObjectWorkloadType": {
+ "type": "string"
+ },
+ "protectableObjectProtectionState": {
+ "type": "string"
+ },
+ "protectableObjectContainerHostOsName": {
+ "type": "string"
+ },
+ "protectableObjectParentLogicalContainerName": {
+ "type": "string"
+ },
+ "containerId": {
+ "description": "Container Id",
+ "type": "string"
+ },
+ "policyName": {
+ "description": "Policy Name",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "Policy Id",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "WorkloadCrrAccessToken"
+ },
+ "RecoveryPointMoveReadinessInfo": {
+ "type": "object",
+ "properties": {
+ "isReadyForMove": {
+ "type": "boolean"
+ },
+ "additionalInfo": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "AzureRegion": {
+ "name": "azureRegion",
+ "in": "path",
+ "description": "Azure region to hit Api",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VaultName": {
+ "description": "The name of the recovery services vault.",
+ "in": "path",
+ "name": "vaultName",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/BackupAadProperties_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/BackupAadProperties_Get.json
new file mode 100644
index 000000000000..6d70ae04c9ee
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/BackupAadProperties_Get.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2021-11-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d",
+ "audience": "https://RecoveryServices/IaasCoord/aadmgmt/ecy",
+ "servicePrincipalObjectId": "07e0a67b-cba3-4fcf-a58c-b670d5ced06d"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/BackupProtectedItems_List.json
new file mode 100644
index 000000000000..8ceb418d7c90
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/BackupProtectedItems_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-05-13",
+ "$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": {
+ "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-11-15/examples/AzureIaasVm/GetAccessToken_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetAccessToken_Get.json
new file mode 100644
index 000000000000..9f36566d7acc
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetAccessToken_Get.json
@@ -0,0 +1,50 @@
+{
+ "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-11-15",
+ "parameters": {
+ "properties": {
+ "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d",
+ "audience": "https://RecoveryServices/IaasCoord/aadmgmt/ase",
+ "servicePrincipalObjectId": "5ecd8123-cf74-4037-83e9-9246b227b351"
+ }
+ }
+ },
+ "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": "WorkloadCrrAccessToken",
+ "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjVocE9ZWkdhZnk2VG50bUhKeGZZaEZKWHpQcyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiI3MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDciLCJBYWRTUE9iamVjdElkIjoiODlkMmY3NzQtODBkNy00YzU0LTgwMjQtMjY2YzIzZGI0ZWNiIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMzYzOTI0OTUyNDMwMjg4Mjk3MS9wcm90ZWN0aW9uQ29udGFpbmVycy8xMDA2NjAwL3Byb3RlY3RlZEl0ZW1zLzIyNTIzNDUxNzI0OTY4MjgyMTEvcmVjb3ZlcnlQb2ludHMvMjI1Mjg4NDA2MDEwNDg4OTkwNyIsImlzcyI6Imh0dHBzOi8vUmVjb3ZlcnlTZXJ2aWNlIiwiYXVkIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2VzL1Byb3RlY3Rpb25TZXJ2aWNlIiwiZXhwIjoxNTcwMjAwOTEzLCJuYmYiOjE1NzAxMTQyMTN9.gOGEmAhrAio3M6gcQHZ7EpEAbz4o-JaLE6dIFa4bF_-6VaP4LiBU_Qemjev_s-2fKZTAk3AVEXevbxbKIX6DENALXyOy3cMZsSPIr7L0_VrC6nlNnrwMBpiwQWGLuPckh4LHhsQE2cgOKmsIifqb4XrSJlwNq18aT_XyV6ZlkKqog3w7n4f-_eANJXDjxzOvAzsDIjnw_R-rVBNUI8w5OyO01mK1s2xStYgCBLpkTNEw5dxTTNOv5wPzmgjgRa2p-GmecE0ZTUfsL3VUvzpzfO8tRHBTbUYIIAG2Cn9utmXLK-PmAAanJVCOQ0YuoNSTN40D1NhpklJOtyD_TKdmvA",
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaReportingV2",
+ "resourceName": "garbvtd2",
+ "resourceId": "3639249524302882971",
+ "recoveryPointId": "2252884060104889907",
+ "recoveryPointTime": "10/3/2019 1:35:19 AM",
+ "containerName": "iaasvmcontainerv2;anubhtest;anubh-ext-2",
+ "containerType": "IaasVMContainer",
+ "backupManagementType": "AzureIaasVM",
+ "datasourceType": "VM",
+ "datasourceName": "anubh-ext-2",
+ "datasourceId": "2252345172496828211",
+ "datasourceContainerName": "iaasvmcontainerv2;anubhtest;anubh-ext-2",
+ "coordinatorServiceStampUri": "https://sea-bvtd2-coord1-t56tl.ext.trafficmanager.net",
+ "protectionServiceStampId": "253c2223-fefd-483d-912f-55fb46ce0eab",
+ "protectionServiceStampUri": "https://sea-bvtd2-prot1-t56tl.ext.trafficmanager.net",
+ "tokenExtendedInformation": "V2015_091a2311d9-66f5-47d3-a9fb-7a37da63934b;BackUpOperationJobId;e1ebcf24-81a5-434e-b64b-cc81be65ae16falsefalsetrueWindowsCrashConsistentNormalStorageStandard_D2s_v3"
+ }
+ }
+ },
+ "400": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetCrrJob_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetCrrJob_Post.json
new file mode 100644
index 000000000000..bf4e373ba9d4
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetCrrJob_Post.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2021-11-15",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm",
+ "jobName": "02585cc9-d7f4-4b46-860c-14c048cce178"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupJobs/02585cc9-d7f4-4b46-860c-14c048cce178",
+ "name": "02585cc9-d7f4-4b46-860c-14c048cce178",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "virtualMachineVersion": "Compute",
+ "extendedInfo": {
+ "tasksList": [],
+ "propertyBag": {}
+ },
+ "entityFriendlyName": "sriniccylinux",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "CrossRegionRestore",
+ "status": "InProgress",
+ "startTime": "2019-10-12T10:22:43.9139656Z",
+ "activityId": "6e503ee3-1093-4a83-a62a-3b666cc8c028-2019-10-12T10:22:43Z-Ibz"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetCrrOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetCrrOperationResults_Get.json
new file mode 100644
index 000000000000..53ceecf00513
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetCrrOperationResults_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-11-15",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "location: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationResults/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2021-11-15-preview",
+ "Azure-AsyncOperation": "azure-asyncoperation: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationsStatus/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2021-11-15-preview",
+ "Retry-After": 60
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetCrrOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetCrrOperationStatus_Get.json
new file mode 100644
index 000000000000..3256df76c9d7
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/GetCrrOperationStatus_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-11-15",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationsStatus/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=",
+ "name": "MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=",
+ "status": "Succeeded",
+ "startTime": "2019-10-14T06:46:44.3225024Z",
+ "endTime": "2019-10-14T06:46:44Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/ListCrrJobs_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/ListCrrJobs_Post.json
new file mode 100644
index 000000000000..e00796096ef3
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/ListCrrJobs_Post.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2021-11-15",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm",
+ "jobName": "02585cc9-d7f4-4b46-860c-14c048cce178"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupJobs/02585cc9-d7f4-4b46-860c-14c048cce178",
+ "name": "02585cc9-d7f4-4b46-860c-14c048cce178",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "sriniccylinux",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "CrossRegionRestore",
+ "status": "InProgress",
+ "startTime": "2019-10-12T10:22:43.9139656Z",
+ "activityId": "6e503ee3-1093-4a83-a62a-3b666cc8c028-2019-10-12T10:22:43Z-Ibz"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/RecoveryPoints_List.json
new file mode 100644
index 000000000000..207d7279b695
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/RecoveryPoints_List.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382",
+ "name": "22244821112382",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-21T22:48:25.4353958Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Valid"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250",
+ "name": "24977149827250",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-20T22:49:44.3317945Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Valid"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false,
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json
new file mode 100644
index 000000000000..5e4e2b1718c8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/TriggerCrossRegionRestore_IdentityBasedRestoreDetails_Post.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2021-11-15",
+ "parameters": {
+ "crossRegionRestoreAccessDetails": {
+ "objectType": "WorkloadCrrAccessToken",
+ "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhqaUJHdVExa2lWV2hyc2lzLUhEckhyWVZNbyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiIzM2UwMTkyMS00ZDY0LTRmOGMtYTA1NS01YmRhZmZkNWUzM2QiLCJBYWRTUE9iamVjdElkIjoiOTMzMjc2ZmMtMWJiNy00ZWNiLTk0ZTYtYWY3ODMyNWY3MjZhIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMTMzMDgzNzkwNjQxODEzODE2MC9wcm90ZWN0aW9uQ29udGFpbmVycy8xMTE0Ni9wcm90ZWN0ZWRJdGVtcy8xMTQyOTM3MDMxL3JlY292ZXJ5UG9pbnRzLzg3MTc4MzU1MzkyNzE2IiwiaXNzIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2UiLCJhdWQiOiJodHRwczovL1JlY292ZXJ5U2VydmljZXMvUHJvdGVjdGlvblNlcnZpY2UiLCJleHAiOjE1NzExMjE5ODYsIm5iZiI6MTU3MTAzNTI4Nn0.oNbeX8ueE6JRGU0IagFjkOlU-o48ez9gCeCrn1-8XEsaVtYJIFKq9FeHfPAoCMxiLQvwL7S0JTjDTjiEsZEvr_VM7tDVwW3sESo2oW-SZlxT_1dJiUBn0jVlQyfDcHEMzbkaTuZswgNWfowgOrnJ67y-ztSUcegf3eVKPEhN1enBBS7pIuL9bZ3SVwMuqznUen6dH54y9lN2w6H14X0UK2CwSN94Uh-spB27j9SbksxLY_tyZm6xsamZFTHpwbgZwR24-GDtElPSxpFL6n_tWLSCHQtN9s84o0X7PfFaMkVmGWbOf4AZmP9M6agagG0JLnlOwObr07YrzZRkg3s2eQ",
+ "backupManagementType": "AzureIaasVM",
+ "containerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux",
+ "containerType": "IaasVMContainer",
+ "coordinatorServiceStampUri": "https://pod01-coord1.ccy.backup.windowsazure.com",
+ "datasourceContainerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux",
+ "datasourceId": "1142937031",
+ "datasourceName": "sriniccylinux",
+ "datasourceType": "VM",
+ "protectionServiceStampId": "90d98224-2ac6-4bda-9f35-33fb22841f2a",
+ "protectionServiceStampUri": "https://pod01-prot1-int.ccy.backup.windowsazure.com",
+ "recoveryPointId": "87178355392716",
+ "recoveryPointTime": "10/9/2019 6:05:54 PM",
+ "resourceGroupName": "srinivasccyrg",
+ "resourceId": "1330837906418138160",
+ "resourceName": "sriniccyvault",
+ "subscriptionId": "f2edfd5d-5496-4683-b94f-b3588c579009",
+ "tokenExtendedInformation": "V2015_09f2edfd5d-5496-4683-b94f-b3588c579009;AzureBackup_sriniccylinux_1142937031;AzureBackup_20191009_060554;AzureBackupRG_centraluseuap_1truetruefalseLinuxFileSystemConsistentPremiumVMOnPremiumStorageStandard_D2s_v3"
+ },
+ "restoreRequest": {
+ "affinityGroup": "",
+ "createNewCloudService": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ },
+ "identityBasedRestoreDetails": {
+ "targetStorageAccountId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00prjaiTestRg1/providers/Microsoft.Storage/storageAccounts/00prjaitestrg1disks993"
+ },
+ "objectType": "IaasVMRestoreRequest",
+ "originalStorageAccountOption": false,
+ "recoveryPointId": "87178355392716",
+ "recoveryType": "AlternateLocation",
+ "region": "eastus2euap",
+ "sourceResourceId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/srinivasccyrg/providers/Microsoft.Compute/virtualMachines/sriniccylinux",
+ "subnetId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet/subnets/default",
+ "targetDomainNameId": null,
+ "targetResourceGroupId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl",
+ "targetVirtualMachineId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl/providers/Microsoft.Compute/virtualMachines/gaallaVM",
+ "virtualNetworkId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet",
+ "zones": [
+ "2"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "location: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationResults/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2021-11-15-preview",
+ "Azure-AsyncOperation": "azure-asyncoperation: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationsStatus/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2021-11-15-preview",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json
new file mode 100644
index 000000000000..a4873f36bf91
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/AzureIaasVm/TriggerCrossRegionRestore_Post.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2021-11-15",
+ "parameters": {
+ "crossRegionRestoreAccessDetails": {
+ "objectType": "WorkloadCrrAccessToken",
+ "accessTokenString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhqaUJHdVExa2lWV2hyc2lzLUhEckhyWVZNbyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiIzM2UwMTkyMS00ZDY0LTRmOGMtYTA1NS01YmRhZmZkNWUzM2QiLCJBYWRTUE9iamVjdElkIjoiOTMzMjc2ZmMtMWJiNy00ZWNiLTk0ZTYtYWY3ODMyNWY3MjZhIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMTMzMDgzNzkwNjQxODEzODE2MC9wcm90ZWN0aW9uQ29udGFpbmVycy8xMTE0Ni9wcm90ZWN0ZWRJdGVtcy8xMTQyOTM3MDMxL3JlY292ZXJ5UG9pbnRzLzg3MTc4MzU1MzkyNzE2IiwiaXNzIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2UiLCJhdWQiOiJodHRwczovL1JlY292ZXJ5U2VydmljZXMvUHJvdGVjdGlvblNlcnZpY2UiLCJleHAiOjE1NzExMjE5ODYsIm5iZiI6MTU3MTAzNTI4Nn0.oNbeX8ueE6JRGU0IagFjkOlU-o48ez9gCeCrn1-8XEsaVtYJIFKq9FeHfPAoCMxiLQvwL7S0JTjDTjiEsZEvr_VM7tDVwW3sESo2oW-SZlxT_1dJiUBn0jVlQyfDcHEMzbkaTuZswgNWfowgOrnJ67y-ztSUcegf3eVKPEhN1enBBS7pIuL9bZ3SVwMuqznUen6dH54y9lN2w6H14X0UK2CwSN94Uh-spB27j9SbksxLY_tyZm6xsamZFTHpwbgZwR24-GDtElPSxpFL6n_tWLSCHQtN9s84o0X7PfFaMkVmGWbOf4AZmP9M6agagG0JLnlOwObr07YrzZRkg3s2eQ",
+ "backupManagementType": "AzureIaasVM",
+ "containerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux",
+ "containerType": "IaasVMContainer",
+ "coordinatorServiceStampUri": "https://pod01-coord1.ccy.backup.windowsazure.com",
+ "datasourceContainerName": "iaasvmcontainerv2;srinivasccyrg;sriniccylinux",
+ "datasourceId": "1142937031",
+ "datasourceName": "sriniccylinux",
+ "datasourceType": "VM",
+ "protectionServiceStampId": "90d98224-2ac6-4bda-9f35-33fb22841f2a",
+ "protectionServiceStampUri": "https://pod01-prot1-int.ccy.backup.windowsazure.com",
+ "recoveryPointId": "87178355392716",
+ "recoveryPointTime": "10/9/2019 6:05:54 PM",
+ "resourceGroupName": "srinivasccyrg",
+ "resourceId": "1330837906418138160",
+ "resourceName": "sriniccyvault",
+ "subscriptionId": "f2edfd5d-5496-4683-b94f-b3588c579009",
+ "tokenExtendedInformation": "V2015_09f2edfd5d-5496-4683-b94f-b3588c579009;AzureBackup_sriniccylinux_1142937031;AzureBackup_20191009_060554;AzureBackupRG_centraluseuap_1truetruefalseLinuxFileSystemConsistentPremiumVMOnPremiumStorageStandard_D2s_v3"
+ },
+ "restoreRequest": {
+ "affinityGroup": "",
+ "createNewCloudService": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ },
+ "objectType": "IaasVMRestoreRequest",
+ "originalStorageAccountOption": false,
+ "recoveryPointId": "87178355392716",
+ "recoveryType": "AlternateLocation",
+ "region": "eastus2euap",
+ "sourceResourceId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/srinivasccyrg/providers/Microsoft.Compute/virtualMachines/sriniccylinux",
+ "storageAccountId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00prjaiTestRg1/providers/Microsoft.Storage/storageAccounts/00prjaitestrg1disks993",
+ "subnetId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet/subnets/default",
+ "targetDomainNameId": null,
+ "targetResourceGroupId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl",
+ "targetVirtualMachineId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl/providers/Microsoft.Compute/virtualMachines/gaallaVM",
+ "virtualNetworkId": "/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet",
+ "zones": [
+ "2"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "location: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationResults/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2021-11-15-preview",
+ "Azure-AsyncOperation": "azure-asyncoperation: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationsStatus/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2021-11-15-preview",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupProtectedItem_UsageSummary_Get.json
new file mode 100644
index 000000000000..fa3f011c32d8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/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-11-15/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupProtectionContainers_UsageSummary_Get.json
new file mode 100644
index 000000000000..b13a75b4ddcc
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/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-11-15/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupStorageConfig_Get.json
new file mode 100644
index 000000000000..a22ef9d6df43
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupStorageConfig_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig",
+ "name": "vaultstorageconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig",
+ "properties": {
+ "storageModelType": "GeoRedundant",
+ "storageType": "GeoRedundant",
+ "storageTypeState": "Locked"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupStorageConfig_Patch.json
new file mode 100644
index 000000000000..34f7e0fea52d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupStorageConfig_Patch.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "properties": {
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupStorageConfig_Put.json
new file mode 100644
index 000000000000..67f6df781093
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-11-15/examples/Common/BackupStorageConfig_Put.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "properties": {
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig",
+ "name": "vaultstorageconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig",
+ "properties": {
+ "storageModelType": "LocallyRedundant",
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md
index a1278fb957e0..7127183f4267 100644
--- a/specification/recoveryservicesbackup/resource-manager/readme.md
+++ b/specification/recoveryservicesbackup/resource-manager/readme.md
@@ -35,8 +35,8 @@ go-sdk-folder: ./Generated/Golang
license-header: MICROSOFT_MIT
```
-```yaml $(package-passivestamp)
-tag: package-passivestamp-2018-12-20
+``` yaml $(package-passivestamp)
+tag: package-passivestamp-2021-11-15
```
```yaml $(package-activestamp)
@@ -54,7 +54,17 @@ semantic-validator: true
message-format: json
```
+
+### Tag: package-passivestamp-2021-11-15
+
+These settings apply only when `--tag=package-passivestamp-2021-11-15` is specified on the command line.
+
+``` yaml $(tag) == 'package-passivestamp-2021-11-15'
+input-file:
+- Microsoft.RecoveryServices/stable/2021-11-15/bms.json
+```
### Tag: package-passivestamp-2018-12-20
+
These settings apply only when `--tag=package-passivestamp-2018-12-20` is specified on the command line.
``` yaml $(tag) == 'package-passivestamp-2018-12-20'
@@ -66,7 +76,7 @@ input-file:
These settings apply only when `--tag=package-2021-10` is specified on the command line.
-```yaml $(tag) == 'package-2021-10'
+``` yaml $(tag) == 'package-2021-10'
input-file:
- Microsoft.RecoveryServices/stable/2021-10-01/bms.json
```
@@ -75,10 +85,11 @@ input-file:
These settings apply only when `--tag=package-2021-08` is specified on the command line.
-```yaml $(tag) == 'package-2021-08'
+``` yaml $(tag) == 'package-2021-08'
input-file:
- Microsoft.RecoveryServices/stable/2021-08-01/bms.json
```
+
### Tag: package-2021-07
These settings apply only when `--tag=package-2021-07` is specified on the command line.