diff --git a/custom-words.txt b/custom-words.txt index 62a7b2b4949d..fdf8fe507f22 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -158,6 +158,7 @@ backends backfilling Backoff backupconfig +backupengine backupstorageconfig bacpac badpassword @@ -777,6 +778,7 @@ LQUP LRO's Lucene Lumia +LUNs machinelearning machinelearningcompute machinelearningexperimentation @@ -1105,6 +1107,8 @@ reconfiguring recordset recordsetnamesuffix recordsets +recoverypoint +recoverypoints recoveryservices recoveryservicesbackup recoveryservicessiterecovery @@ -1122,6 +1126,7 @@ regionalized regionproposals registeredidentities registryname +rehydrated Reimage reimageall reimaged diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json index ca56fae3e833..33e0ff6d3d67 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json @@ -17,92 +17,7 @@ "produces": [ "application/json" ], - "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { - "get": { - "tags": [ - "BackupResourceVaultConfigs" - ], - "description": "Fetches resource vault config.", - "operationId": "BackupResourceVaultConfigs_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } - } - }, - "x-ms-examples": { - "Get Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" - } - } - }, - "patch": { - "tags": [ - "BackupResourceVaultConfigs" - ], - "description": "Updates vault security config.", - "operationId": "BackupResourceVaultConfigs_Update", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "parameters", - "in": "body", - "description": "resource config request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } - } - }, - "x-ms-examples": { - "Update Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" - } - } - } - }, + "paths": { "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { "get": { "tags": [ @@ -692,14 +607,14 @@ } } } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { - "get": { + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { "tags": [ - "ProtectedItems" + "Backups" ], - "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", - "operationId": "ProtectedItems_Get", + "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", + "operationId": "Backups_Trigger", "produces": [ "application/json" ], @@ -719,56 +634,53 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up item.", + "description": "Fabric name associated with the backup item.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up item.", + "description": "Container name associated with the backup item.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item name whose details are to be fetched.", + "description": "Backup item for which backup needs to be triggered.", "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" + "name": "parameters", + "in": "body", + "description": "resource backup request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequestResource" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } + "202": { + "description": "Accepted" } }, - "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", "x-ms-examples": { - "Get Protected Classic Virtual Machine Details": { - "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" - }, - "Get Protected Virtual Machine Details": { - "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json" + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "get": { "tags": [ - "ProtectedItems" + "ProtectedItemOperationStatuses" ], - "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", - "operationId": "ProtectedItems_CreateOrUpdate", + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.", + "operationId": "ProtectedItemOperationStatuses_Get", "produces": [ "application/json" ], @@ -802,46 +714,40 @@ { "name": "protectedItemName", "in": "path", - "description": "Item name to be backed up.", + "description": "Backup item name whose details are to be fetched.", "required": true, "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "resource backed up item", + "name": "operationId", + "in": "path", + "description": "OperationID represents the operation whose status needs to be fetched.", "required": true, - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/OperationStatus" } - }, - "202": { - "description": "Accepted" } }, "x-ms-examples": { - "Enable Protection on Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" - }, - "Stop Protection with retain data on Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/StopProtection.json" + "Get Operation Status of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "post": { "tags": [ - "ProtectedItems" + "ItemLevelRecoveryConnections" ], - "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.", - "operationId": "ProtectedItems_Delete", + "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.", + "operationId": "ItemLevelRecoveryConnections_Provision", "produces": [ "application/json" ], @@ -861,47 +767,60 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up item.", + "description": "Fabric name associated with the backed up items.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up item.", + "description": "Container name associated with the backed up items.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item to be deleted.", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.", "required": true, "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource ILR request", + "required": true, + "schema": { + "$ref": "#/definitions/ILRRequestResource" + } } ], "responses": { "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-examples": { - "Delete Protection from Azure Virtual Machine": { - "$ref": "./examples/Common/ProtectedItem_Delete.json" + "Provision Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { "post": { "tags": [ - "Backups" + "ItemLevelRecoveryConnections" ], - "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", - "operationId": "Backups_Trigger", + "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.", + "operationId": "ItemLevelRecoveryConnections_Revoke", "produces": [ "application/json" ], @@ -921,32 +840,30 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backup item.", + "description": "Fabric name associated with the backed up items.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backup item.", + "description": "Container name associated with the backed up items.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backup item for which backup needs to be triggered.", + "description": "Backed up item name whose files/folders are to be restored.", "required": true, "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "resource backup request", + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.", "required": true, - "schema": { - "$ref": "#/definitions/BackupRequestResource" - } + "type": "string" } ], "responses": { @@ -955,19 +872,19 @@ } }, "x-ms-examples": { - "Trigger Backup": { - "$ref": "./examples/Common/TriggerBackup_Post.json" + "Revoke Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { + "post": { "tags": [ - "ProtectedItemOperationResults" + "ProtectionContainers" ], - "description": "Fetches the result of any operation on the backup item.", - "operationId": "ProtectedItemOperationResults_Get", + "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", + "operationId": "ProtectionContainers_Refresh", "produces": [ "application/json" ], @@ -987,60 +904,38 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backup item name whose details are to be fetched.", + "description": "Fabric name associated the container.", "required": true, "type": "string" }, { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation whose result needs to be fetched.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, + "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", "x-ms-examples": { - "Get Operation Results of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" + "Trigger Azure Vm Discovery": { + "$ref": "./examples/Common/RefreshContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { "get": { "tags": [ - "ProtectedItemOperationStatuses" + "BackupOperationResults" ], - "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.", - "operationId": "ProtectedItemOperationStatuses_Get", + "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.", + "operationId": "BackupOperationResults_Get", "produces": [ "application/json" ], @@ -1058,587 +953,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "operationId", "in": "path", - "description": "Fabric name associated with the backup item.", + "description": "OperationID which represents the operation.", "required": true, "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backup item name whose details are to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID represents the operation whose status needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - } - }, - "x-ms-examples": { - "Get Operation Status of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { - "get": { - "tags": [ - "RecoveryPoints" - ], - "description": "Lists the backup copies for the backed up item.", - "operationId": "RecoveryPoints_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item whose backup copies are to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPointResourceList" - } - } - }, - "x-ms-odata": "#/definitions/BMSRPQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Get Protected Azure Vm Recovery Points": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { - "get": { - "tags": [ - "RecoveryPoints" - ], - "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", - "operationId": "RecoveryPoints_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with backed up item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose backup data needs to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "RecoveryPointID represents the backed up data to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPointResource" - } - } - }, - "x-ms-examples": { - "Get Azure Vm Recovery Point Details": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { - "post": { - "tags": [ - "ItemLevelRecoveryConnections" - ], - "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.", - "operationId": "ItemLevelRecoveryConnections_Provision", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose files/folders are to be restored.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource ILR request", - "required": true, - "schema": { - "$ref": "#/definitions/ILRRequestResource" - } - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Provision Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { - "post": { - "tags": [ - "Restores" - ], - "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.", - "operationId": "Restores_Trigger", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item to be restored.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents the backed up data to be restored.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource restore request", - "required": true, - "schema": { - "$ref": "#/definitions/RestoreRequestResource" - } - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Restore to New Azure IaasVm": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json" - }, - "Restore Disks": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { - "post": { - "tags": [ - "ItemLevelRecoveryConnections" - ], - "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.", - "operationId": "ItemLevelRecoveryConnections_Revoke", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose files/folders are to be restored.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Revoke Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { - "post": { - "tags": [ - "ProtectionContainers" - ], - "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", - "operationId": "ProtectionContainers_Refresh", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated the container.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", - "x-ms-examples": { - "Trigger Azure Vm Discovery": { - "$ref": "./examples/Common/RefreshContainers.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { - "post": { - "tags": [ - "JobCancellations" - ], - "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.", - "operationId": "JobCancellations_Trigger", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "jobName", - "in": "path", - "description": "Name of the job to cancel.", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Cancel Job": { - "$ref": "./examples/Common/TriggerCancelJob.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { - "get": { - "tags": [ - "JobOperationResults" - ], - "description": "Fetches the result of any operation.\r\nthe operation.", - "operationId": "JobOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "jobName", - "in": "path", - "description": "Job name whose operation result has to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation whose result has to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Cancel Job Operation Result": { - "$ref": "./examples/Common/CancelJobOperationResult.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { - "get": { - "tags": [ - "BackupOperationResults" - ], - "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.", - "operationId": "BackupOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "202": { + "description": "Accepted" }, "204": { "description": "NoContent" @@ -1698,112 +1025,6 @@ } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { - "get": { - "tags": [ - "ProtectionPolicies" - ], - "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy information to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - }, - "x-ms-examples": { - "Get Azure IaasVm Protection Policy Details": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" - } - } - }, - "put": { - "tags": [ - "ProtectionPolicies" - ], - "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_CreateOrUpdate", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy to be created.", - "required": true, - "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backup policy", - "required": true, - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-examples": { - "Create or Update Simple Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" - }, - "Create or Update Full Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" - }, - "Create or Update Full Azure Workload Protection Policy": { - "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" - } - } - }, "delete": { "tags": [ "ProtectionPolicies" @@ -1849,59 +1070,6 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { - "get": { - "tags": [ - "ProtectionPolicyOperationResults" - ], - "description": "Provides the result of an operation.", - "operationId": "ProtectionPolicyOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "policyName", - "in": "path", - "description": "Backup policy name whose operation's result needs to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - }, - "x-ms-examples": { - "Get Protection Policy Operation Results": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" - } - } - } - }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { "get": { "tags": [ @@ -2254,580 +1422,129 @@ "allOf": [ { "$ref": "#/definitions/BackupRequest" - } - ], - "properties": { - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureFileShareBackupRequest" - }, - "AzureFileShareProtectableItem": { - "description": "Protectable item for Azure Fileshare workloads.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadProtectableItem" - } - ], - "properties": { - "parentContainerFabricId": { - "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", - "type": "string" - }, - "parentContainerFriendlyName": { - "description": "Friendly name of container to which this protectable item belongs.", - "type": "string" - }, - "azureFileShareType": { - "description": "File Share type XSync or XSMB.", - "enum": [ - "Invalid", - "XSMB", - "XSync" - ], - "type": "string", - "x-ms-enum": { - "name": "AzureFileShareType", - "modelAsString": true - } - } - }, - "x-ms-discriminator-value": "AzureFileShare" - }, - "AzureFileshareProtectedItem": { - "description": "Azure File Share workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the fileshare represented by this backup item.", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "healthStatus": { - "description": "backups running status for this backup item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthStatus", - "modelAsString": true - } - }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", - "description": "Additional information with this backup item." - } - }, - "x-ms-discriminator-value": "AzureFileShareProtectedItem" - }, - "AzureFileshareProtectedItemExtendedInfo": { - "description": "Additional information about Azure File Share backup item.", - "type": "object", - "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" - } - } - }, - "AzureFileShareProtectionPolicy": { - "description": "AzureStorage backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureStorage" - }, - "AzureFileShareRecoveryPoint": { - "description": "Azure File Share workload specific backup copy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "recoveryPointType": { - "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", - "type": "string" - }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string" - }, - "fileShareSnapshotUri": { - "description": "Contains Url to the snapshot of fileshare, if applicable", - "type": "string" - } - }, - "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" - ], - "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" - }, - "AzureIaaSClassicComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMContainer" - } - ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" - }, - "AzureIaaSClassicComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMProtectableItem" - } - ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" - }, - "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" - }, - "AzureIaaSComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMContainer" - } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "AzureIaaSComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMProtectableItem" - } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "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" - }, - "AzureIaaSVMHealthDetails": { - "description": "Azure IaaS VM workload-specific Health Details.", - "type": "object", - "properties": { - "code": { - "format": "int32", - "description": "Health Code", - "type": "integer" - }, - "title": { - "description": "Health Title", - "type": "string" - }, - "message": { - "description": "Health Message", + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", "type": "string" - }, - "recommendations": { - "description": "Health Recommended Actions", - "type": "array", - "items": { - "type": "string" - } } - } + }, + "x-ms-discriminator-value": "AzureFileShareBackupRequest" }, - "AzureIaaSVMProtectedItem": { - "description": "IaaS VM workload-specific backup item.", + "AzureFileShareProtectableItem": { + "description": "Protectable item for Azure Fileshare workloads.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/WorkloadProtectableItem" } ], "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.", + "parentContainerFabricId": { + "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", "type": "string" }, - "protectionStatus": { - "description": "Backup status of this backup item.", + "parentContainerFriendlyName": { + "description": "Friendly name of container to which this protectable item belongs.", "type": "string" }, - "protectionState": { - "description": "Backup state of this backup item.", + "azureFileShareType": { + "description": "File Share type XSync or XSMB.", "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" + "XSMB", + "XSync" ], "type": "string", "x-ms-enum": { - "name": "HealthStatus", + "name": "AzureFileShareType", "modelAsString": true } - }, - "healthDetails": { - "description": "Health details on this backup item.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMHealthDetails" - } - }, - "lastBackupStatus": { - "description": "Last backup operation status.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "protectedItemDataId": { - "description": "Data ID of the protected item.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", - "description": "Additional information for this backup item." } }, - "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" - } - } + "x-ms-discriminator-value": "AzureFileShare" }, - "AzureIaaSVMProtectionPolicy": { - "description": "IaaS VM workload-specific backup policy.", + "AzureFileShareProvisionILRRequest": { + "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/ILRRequest" } ], "properties": { - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - }, - "instantRpRetentionRangeInDays": { - "format": "int32", - "description": "Instant RP retention policy range in days", - "type": "integer" + "recoveryPointId": { + "description": "Recovery point ID.", + "type": "string" }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "sourceResourceId": { + "description": "Source Storage account ARM Id", "type": "string" } }, - "x-ms-discriminator-value": "AzureIaasVM" + "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" }, - "AzureSQLAGWorkloadContainerProtectionContainer": { - "description": "Container for SQL workloads under SQL Availability Group.", + "AzureIaaSClassicComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadContainer" + "$ref": "#/definitions/IaaSVMContainer" } ], - "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, - "AzureSqlContainer": { - "description": "Azure Sql workload-specific container.", + "AzureIaaSClassicComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/IaaSVMProtectableItem" } ], - "x-ms-discriminator-value": "AzureSqlContainer" + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, - "AzureSqlProtectedItem": { - "description": "Azure SQL workload-specific backup item.", + "AzureIaaSComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/IaaSVMContainer" } ], - "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" + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "AzureSqlProtectedItemExtendedInfo": { - "description": "Additional information on Azure Sql specific protected item.", + "AzureIaaSComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", "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" + "allOf": [ + { + "$ref": "#/definitions/IaaSVMProtectableItem" } - } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "AzureSqlProtectionPolicy": { - "description": "Azure SQL workload-specific backup policy.", + "AzureSQLAGWorkloadContainerProtectionContainer": { + "description": "Container for SQL workloads under SQL Availability Group.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/AzureWorkloadContainer" } ], - "properties": { - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." + "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + }, + "AzureSqlContainer": { + "description": "Azure Sql workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" } - }, - "x-ms-discriminator-value": "AzureSql" + ], + "x-ms-discriminator-value": "AzureSqlContainer" }, "AzureStorageContainer": { "description": "Azure Storage Account workload-specific container.", @@ -2911,12 +1628,12 @@ }, "subinquireditemcount": { "format": "int32", - "description": "For instance or AG, indicates number of DBs present", + "description": "For instance or AG, indicates number of DB's present", "type": "integer" }, "subWorkloadItemCount": { "format": "int32", - "description": "For instance or AG, indicates number of DBs to be protected", + "description": "For instance or AG, indicates number of DB's to be protected", "type": "integer" } }, @@ -2953,202 +1670,20 @@ }, "subinquireditemcount": { "format": "int32", - "description": "For instance or AG, indicates number of DBs present", + "description": "For instance or AG, indicates number of DB's present", "type": "integer" }, "subprotectableitemcount": { "format": "int32", - "description": "For instance or AG, indicates number of DBs to be protected", - "type": "integer" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - } - }, - "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" - }, - "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." - } - }, - "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" - } - } - }, - "AzureVmWorkloadProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "settings": { - "$ref": "#/definitions/Settings", - "description": "Common settings for the backup management" + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" }, - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", - "type": "array", - "items": { - "$ref": "#/definitions/SubProtectionPolicy" - } + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" } }, - "x-ms-discriminator-value": "AzureWorkload" - }, - "AzureVmWorkloadSAPAseDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP ASE Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" - } - ], - "x-ms-discriminator-value": "SAPAseDatabase" - }, - "AzureVmWorkloadSAPAseDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP ASE Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" + "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" }, "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { "description": "Azure VM workload-specific workload item representing SAP ASE Database.", @@ -3190,16 +1725,6 @@ ], "x-ms-discriminator-value": "SAPHanaDatabase" }, - "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP HANA Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" - }, "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { "description": "Azure VM workload-specific workload item representing SAP HANA Database.", "type": "object", @@ -3250,16 +1775,6 @@ ], "x-ms-discriminator-value": "SQLDataBase" }, - "AzureVmWorkloadSQLDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SQL Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" - } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" - }, "AzureVmWorkloadSQLDatabaseWorkloadItem": { "description": "Azure VM workload-specific workload item representing SQL Database.", "type": "object", @@ -3419,258 +1934,6 @@ } } }, - "AzureWorkloadPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" - }, - "AzureWorkloadPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" - }, - "AzureWorkloadRecoveryPoint": { - "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "recoveryPointTimeInUTC": { - "format": "date-time", - "description": "UTC time at which recovery point was created", - "type": "string" - }, - "type": { - "description": "Type of restore point", - "enum": [ - "Invalid", - "Full", - "Log", - "Differential" - ], - "type": "string", - "x-ms-enum": { - "name": "RestorePointType", - "modelAsString": true - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" - }, - "AzureWorkloadRestoreRequest": { - "description": "AzureWorkload-specific restore.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "properties": { - "recoveryType": { - "description": "OLR/ALR, RestoreDisks is invalid option", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks" - ], - "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" - } - }, - "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 recovery point, specifically encapsulates full/diff recovery points", - "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 recovery point, specifically encapsulates full/diff recovery point along with extended info", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" - } - ], - "properties": { - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", - "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" - }, - "AzureWorkloadSQLRecoveryPointExtendedInfo": { - "description": "Extended info class details", - "type": "object", - "properties": { - "dataDirectoryTimeInUTC": { - "format": "date-time", - "description": "UTC time at which data directory info was captured", - "type": "string" - }, - "dataDirectoryPaths": { - "description": "List of data directory paths during restore operation.", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectory" - } - } - } - }, - "AzureWorkloadSQLRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "properties": { - "shouldUseAlternateTargetLocation": { - "description": "Default option set to true. If this is set to false, alternate data directory must be provided", - "type": "boolean" - }, - "isNonRecoverable": { - "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", - "type": "boolean" - }, - "alternateDirectoryPaths": { - "description": "Data directory details", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectoryMapping" - } - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" - }, "BackupEngineBase": { "description": "The base backup engine class. All workload specific backup engines derive from this class.", "type": "object", @@ -3749,7 +2012,7 @@ }, "extendedInfo": { "$ref": "#/definitions/BackupEngineExtendedInfo", - "description": "Extended info of the backup engine" + "description": "Extended info of the backupengine" } }, "discriminator": "backupEngineType" @@ -3845,67 +2108,8 @@ }, "discriminator": "objectType" }, - "BackupRequestResource": { - "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BackupRequest", - "description": "BackupRequestResource properties" - } - } - }, - "BackupResourceConfig": { - "description": "The resource storage details.", - "type": "object", - "properties": { - "storageModelType": { - "description": "Storage type", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "storageType": { - "description": "Storage type.", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "storageTypeState": { - "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", - "enum": [ - "Invalid", - "Locked", - "Unlocked" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageTypeState", - "modelAsString": true - } - } - } - }, - "BackupResourceConfigResource": { - "description": "The resource storage details.", + "BackupRequestResource": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -3913,17 +2117,17 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BackupResourceConfig", - "description": "BackupResourceConfigResource properties" + "$ref": "#/definitions/BackupRequest", + "description": "BackupRequestResource properties" } } }, - "BackupResourceVaultConfig": { - "description": "Backup resource vault config details.", + "BackupResourceConfig": { + "description": "The resource storage details.", "type": "object", "properties": { "storageModelType": { - "description": "Storage type.", + "description": "Storage type", "enum": [ "Invalid", "GeoRedundant", @@ -3960,24 +2164,11 @@ "name": "StorageTypeState", "modelAsString": true } - }, - "enhancedSecurityState": { - "description": "Enabled or Disabled.", - "enum": [ - "Invalid", - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "EnhancedSecurityState", - "modelAsString": true - } } } }, - "BackupResourceVaultConfigResource": { - "description": "Backup resource vault config details.", + "BackupResourceConfigResource": { + "description": "The resource storage details.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -3985,29 +2176,11 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BackupResourceVaultConfig", - "description": "BackupResourceVaultConfigResource properties" - } - } - }, - "BEKDetails": { - "description": "BEK is bitlocker encryption key.", - "type": "object", - "properties": { - "secretUrl": { - "description": "Secret is BEK.", - "type": "string" - }, - "secretVaultId": { - "description": "ID of the Key Vault where this Secret is stored.", - "type": "string" - }, - "secretData": { - "description": "BEK data.", - "type": "string" + "$ref": "#/definitions/BackupResourceConfig", + "description": "BackupResourceConfigResource properties" } } - }, + }, "BMSBackupEngineQueryObject": { "description": "Query parameters to fetch list of backup engines.", "type": "object", @@ -4257,42 +2430,6 @@ } } }, - "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" - ], - "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" - } - } - }, "BMSWorkloadItemQueryObject": { "description": "Filters to list items that can be backed up.", "type": "object", @@ -4423,52 +2560,6 @@ } } }, - "DailyRetentionFormat": { - "description": "Daily retention format.", - "type": "object", - "properties": { - "daysOfTheMonth": { - "description": "List of days of the month.", - "type": "array", - "items": { - "$ref": "#/definitions/Day" - } - } - } - }, - "DailyRetentionSchedule": { - "description": "Daily retention schedule.", - "type": "object", - "properties": { - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "Day": { - "description": "Day of the week.", - "type": "object", - "properties": { - "date": { - "format": "int32", - "description": "Date of the month", - "type": "integer" - }, - "isLast": { - "description": "Whether Date is last date of month", - "type": "boolean" - } - } - }, "DistributedNodesInfo": { "description": "This is used to represent the various nodes of the distributed container.", "type": "object", @@ -4556,165 +2647,27 @@ } } }, - "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 - } - }, - "isScheduledForDeferredDelete": { - "description": "To check if backup item is scheduled for deferred delete", - "type": "boolean" - }, - "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" + "type": "string", + "readOnly": true }, "message": { "description": "Error Message related to the Code.", - "type": "string" + "type": "string", + "readOnly": true }, "recommendations": { "description": "List of recommendation strings.", "type": "array", "items": { "type": "string" - } + }, + "readOnly": true } } }, @@ -4755,125 +2708,7 @@ "type": "object", "additionalProperties": { "type": "string" - } - } - } - }, - "GenericProtectedItem": { - "description": "Base class for backup items.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the container.", - "type": "string" - }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "protectedItemId": { - "format": "int64", - "description": "Data Plane Service ID of the protected item.", - "type": "integer" - }, - "sourceAssociations": { - "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "fabricName": { - "description": "Name of this backup item's fabric.", - "type": "string" - } - }, - "x-ms-discriminator-value": "GenericProtectedItem" - }, - "GenericProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", - "type": "array", - "items": { - "$ref": "#/definitions/SubProtectionPolicy" - } - }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - }, - "fabricName": { - "description": "Name of this policy's fabric.", - "type": "string" - } - }, - "x-ms-discriminator-value": "GenericProtectionPolicy" - }, - "GenericRecoveryPoint": { - "description": "Generic backup copy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the backup copy.", - "type": "string" - }, - "recoveryPointType": { - "description": "Type of the backup copy.", - "type": "string" - }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string" - }, - "recoveryPointAdditionalInfo": { - "description": "Additional information associated with this backup copy.", - "type": "string" - } - }, - "x-ms-discriminator-value": "GenericRecoveryPoint" - }, - "GetProtectedItemQueryObject": { - "description": "Filters to list backup items.", - "type": "object", - "properties": { - "expand": { - "description": "Specifies if the additional information should be provided for this item.", - "type": "string" + } } } }, @@ -4962,150 +2797,8 @@ }, "x-ms-discriminator-value": "IaaSVMProtectableItem" }, - "IaasVMRecoveryPoint": { - "description": "IaaS VM workload specific backup copy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "properties": { - "recoveryPointType": { - "description": "Type of the backup copy.", - "type": "string" - }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string" - }, - "recoveryPointAdditionalInfo": { - "description": "Additional information associated with this backup copy.", - "type": "string" - }, - "sourceVMStorageType": { - "description": "Storage type of the VM whose backup copy is created.", - "type": "string" - }, - "isSourceVMEncrypted": { - "description": "Identifies whether the VM was encrypted when the backup copy is created.", - "type": "boolean" - }, - "keyAndSecret": { - "$ref": "#/definitions/KeyAndSecretDetails", - "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." - }, - "isInstantIlrSessionActive": { - "description": "Is the session to recover items from this backup copy still active.", - "type": "boolean" - }, - "recoveryPointTierDetails": { - "description": "Recovery point tier information.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformation" - } - }, - "isManagedVirtualMachine": { - "description": "Whether VM is with Managed Disks", - "type": "boolean" - }, - "virtualMachineSize": { - "description": "Virtual Machine Size", - "type": "string" - }, - "originalStorageAccountOption": { - "description": "Original Storage Account Option", - "type": "boolean" - }, - "osType": { - "description": "OS type", - "type": "string" - } - }, - "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" - ], - "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." - } - }, - "x-ms-discriminator-value": "IaasVMRestoreRequest" - }, "ILRRequest": { - "description": "Parameters to restore file/folders API.", + "description": "Parameters to Provision ILR API.", "required": [ "objectType" ], @@ -5119,7 +2812,7 @@ "discriminator": "objectType" }, "ILRRequestResource": { - "description": "Parameters to restore file/folders API.", + "description": "Parameters to Provision ILR API.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -5164,6 +2857,11 @@ "errorDetail": { "$ref": "#/definitions/ErrorDetail", "description": "Error Detail in case the status is non-success." + }, + "additionalDetail": { + "description": "Error Additional Detail in case the status is non-success.", + "type": "string", + "readOnly": true } } }, @@ -5180,97 +2878,6 @@ } } }, - "KEKDetails": { - "description": "KEK is encryption key for BEK.", - "type": "object", - "properties": { - "keyUrl": { - "description": "Key is KEK.", - "type": "string" - }, - "keyVaultId": { - "description": "Key Vault ID where this Key is stored.", - "type": "string" - }, - "keyBackupData": { - "description": "KEK data.", - "type": "string" - } - } - }, - "KeyAndSecretDetails": { - "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.", - "type": "object", - "properties": { - "kekDetails": { - "$ref": "#/definitions/KEKDetails", - "description": "KEK is encryption key for BEK." - }, - "bekDetails": { - "$ref": "#/definitions/BEKDetails", - "description": "BEK is bitlocker encryption key." - }, - "encryptionMechanism": { - "description": "Encryption mechanism: None/ SinglePass/ DoublePass", - "type": "string" - } - } - }, - "LogSchedulePolicy": { - "description": "Log policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "properties": { - "scheduleFrequencyInMins": { - "format": "int32", - "description": "Frequency of the log schedule operation of this policy in minutes.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "LogSchedulePolicy" - }, - "LongTermRetentionPolicy": { - "description": "Long term retention policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - } - ], - "properties": { - "dailySchedule": { - "$ref": "#/definitions/DailyRetentionSchedule", - "description": "Daily retention schedule of the protection policy." - }, - "weeklySchedule": { - "$ref": "#/definitions/WeeklyRetentionSchedule", - "description": "Weekly retention schedule of the protection policy." - }, - "monthlySchedule": { - "$ref": "#/definitions/MonthlyRetentionSchedule", - "description": "Monthly retention schedule of the protection policy." - }, - "yearlySchedule": { - "$ref": "#/definitions/YearlyRetentionSchedule", - "description": "Yearly retention schedule of the protection policy." - } - }, - "x-ms-discriminator-value": "LongTermRetentionPolicy" - }, - "LongTermSchedulePolicy": { - "description": "Long term policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "x-ms-discriminator-value": "LongTermSchedulePolicy" - }, "MabContainer": { "description": "Container with items backed up using MAB backup engine.", "type": "object", @@ -5311,202 +2918,85 @@ }, "containerHealthState": { "description": "Health state of mab container.", - "type": "string" - } - }, - "x-ms-discriminator-value": "Windows" - }, - "MabContainerExtendedInfo": { - "description": "Additional information of the container.", - "type": "object", - "properties": { - "lastRefreshedAt": { - "format": "date-time", - "description": "Time stamp when this container was refreshed.", - "type": "string" - }, - "backupItemType": { - "description": "Type of backup items associated with this container.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupItemType", - "modelAsString": true - } - }, - "backupItems": { - "description": "List of backup items associated with this container.", - "type": "array", - "items": { - "type": "string" - } - }, - "policyName": { - "description": "Backup policy associated with this container.", - "type": "string" - }, - "lastBackupStatus": { - "description": "Latest backup status of this container.", - "type": "string" - } - } - }, - "MABContainerHealthDetails": { - "description": "MAB workload-specific Health Details.", - "type": "object", - "properties": { - "code": { - "format": "int32", - "description": "Health Code", - "type": "integer" - }, - "title": { - "description": "Health Title", - "type": "string" - }, - "message": { - "description": "Health Message", - "type": "string" - }, - "recommendations": { - "description": "Health Recommended Actions", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "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" - }, - "protectionState": { - "description": "Protected, ProtectionStopped, IRPending or ProtectionError", - "type": "string" - }, - "deferredDeleteSyncTimeInUTC": { - "format": "int64", - "description": "Sync time for deferred deletion.", - "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" - } - } - }, - "MabProtectionPolicy": { - "description": "Mab container-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." + "type": "string" } }, - "x-ms-discriminator-value": "MAB" + "x-ms-discriminator-value": "Windows" }, - "MonthlyRetentionSchedule": { - "description": "Monthly retention schedule.", + "MabContainerExtendedInfo": { + "description": "Additional information of the container.", "type": "object", "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format type for monthly retention policy.", + "lastRefreshedAt": { + "format": "date-time", + "description": "Time stamp when this container was refreshed.", + "type": "string" + }, + "backupItemType": { + "description": "Type of backup items associated with this container.", "enum": [ "Invalid", - "Daily", - "Weekly" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "RetentionScheduleFormat", + "name": "BackupItemType", "modelAsString": true } }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for monthly retention policy." + "backupItems": { + "description": "List of backup items associated with this container.", + "type": "array", + "items": { + "type": "string" + } + }, + "policyName": { + "description": "Backup policy associated with this container.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Latest backup status of this container.", + "type": "string" + } + } + }, + "MABContainerHealthDetails": { + "description": "MAB workload-specific Health Details.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer" + }, + "title": { + "description": "Health Title", + "type": "string" }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for monthly retention policy." + "message": { + "description": "Health Message", + "type": "string" }, - "retentionTimes": { - "description": "Retention times of retention policy.", + "recommendations": { + "description": "Health Recommended Actions", "type": "array", "items": { - "format": "date-time", "type": "string" } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." } } }, @@ -5643,22 +3133,6 @@ }, "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" }, - "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" - } - } - }, "PreBackupValidation": { "description": "Pre-backup validation for Azure VM Workload provider.", "type": "object", @@ -5782,130 +3256,6 @@ } } }, - "ProtectedItem": { - "description": "Base class for backup items.", - "type": "object", - "properties": { - "protectedItemType": { - "description": "backup item type.", - "type": "string" - }, - "backupManagementType": { - "description": "Type of backup management for the backed up item.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Type of workload this item represents.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - } - }, - "containerName": { - "description": "Unique name of container", - "type": "string" - }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", - "type": "string" - }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", - "type": "string" - }, - "lastRecoveryPoint": { - "format": "date-time", - "description": "Timestamp when the last (latest) backup copy was created for this backup item.", - "type": "string" - }, - "backupSetName": { - "description": "Name of the backup set the backup item belongs to", - "type": "string" - }, - "createMode": { - "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", - "enum": [ - "Invalid", - "Default", - "Recover" - ], - "type": "string", - "x-ms-enum": { - "name": "CreateMode", - "modelAsString": true - } - }, - "deferredDeleteTimeInUTC": { - "format": "date-time", - "description": "Time for deferred deletion in UTC", - "type": "string" - }, - "isScheduledForDeferredDelete": { - "description": "Flag to identify whether the DS is scheduled for deferred delete", - "type": "boolean" - }, - "deferredDeleteTimeRemaining": { - "description": "Time remaining before the DS marked for deferred delete is permanently deleted", - "type": "string" - }, - "isDeferredDeleteScheduleUpcoming": { - "description": "Flag to identify whether the deferred deleted DS is to be purged soon", - "type": "boolean" - }, - "isRehydrate": { - "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", - "type": "boolean" - } - }, - "discriminator": "protectedItemType" - }, - "ProtectedItemResource": { - "description": "Base class for backup items.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectedItem", - "description": "ProtectedItemResource properties" - } - } - }, "ProtectionContainer": { "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", "type": "object", @@ -5990,129 +3340,31 @@ { "$ref": "#/definitions/ResourceList" } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionContainerResource" - } - } - } - }, - "ProtectionPolicy": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "required": [ - "backupManagementType" - ], - "type": "object", - "properties": { - "protectedItemsCount": { - "format": "int32", - "description": "Number of items associated with this policy.", - "type": "integer" - }, - "backupManagementType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "backupManagementType" - }, - "ProtectionPolicyResource": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionPolicy", - "description": "ProtectionPolicyResource properties" - } - } - }, - "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" - }, - "RecoveryPointResource": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPoint", - "description": "RecoveryPointResource properties" - } - } - }, - "RecoveryPointResourceList": { - "description": "List of RecoveryPoint resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPointResource" - } - } - } - }, - "RecoveryPointTierInformation": { - "description": "Recovery point tier information.", - "type": "object", - "properties": { - "type": { - "description": "Recovery point tier type.", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false - } - }, - "status": { - "description": "Recovery point tier status.", - "enum": [ - "Invalid", - "Valid", - "Disabled", - "Deleted" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierStatus", - "modelAsString": false + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainerResource" } } } }, + "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" + }, "Resource": { "description": "ARM Resource.", "type": "object", @@ -6160,198 +3412,6 @@ } } }, - "RestoreFileSpecs": { - "description": "Restore file specs like file path, type and target folder path info.", - "type": "object", - "properties": { - "path": { - "description": "Source File/Folder path", - "type": "string" - }, - "fileSpecType": { - "description": "Indicates what the Path variable stands for", - "type": "string" - }, - "targetFolderPath": { - "description": "Destination folder path in target FileShare", - "type": "string" - } - } - }, - "RestoreRequest": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "RestoreRequestResource": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RestoreRequest", - "description": "RestoreRequestResource properties" - } - } - }, - "RetentionDuration": { - "description": "Retention duration.", - "type": "object", - "properties": { - "count": { - "format": "int32", - "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", - "type": "integer" - }, - "durationType": { - "description": "Retention duration type of retention policy.", - "enum": [ - "Invalid", - "Days", - "Weeks", - "Months", - "Years" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionDurationType", - "modelAsString": true - } - } - } - }, - "RetentionPolicy": { - "description": "Base class for retention policy.", - "required": [ - "retentionPolicyType" - ], - "type": "object", - "properties": { - "retentionPolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "retentionPolicyType" - }, - "SchedulePolicy": { - "description": "Base class for backup schedule.", - "required": [ - "schedulePolicyType" - ], - "type": "object", - "properties": { - "schedulePolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "schedulePolicyType" - }, - "Settings": { - "description": "Common settings field for backup management", - "type": "object", - "properties": { - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - }, - "issqlcompression": { - "description": "SQL compression flag", - "type": "boolean" - }, - "isCompression": { - "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", - "type": "boolean" - } - } - }, - "SimpleRetentionPolicy": { - "description": "Simple policy retention.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - } - ], - "properties": { - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of the protection policy." - } - }, - "x-ms-discriminator-value": "SimpleRetentionPolicy" - }, - "SimpleSchedulePolicy": { - "description": "Simple policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "properties": { - "scheduleRunFrequency": { - "description": "Frequency of the schedule operation of this policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "ScheduleRunType", - "modelAsString": true - } - }, - "scheduleRunDays": { - "description": "List of days of week this schedule has to be run.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "scheduleWeeklyFrequency": { - "format": "int32", - "description": "At every number weeks this schedule has to be run.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "SimpleSchedulePolicy" - }, "SQLDataDirectory": { "description": "SQLDataDirectory info", "type": "object", @@ -6379,107 +3439,6 @@ } } }, - "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" - } - } - }, - "SubProtectionPolicy": { - "description": "Sub-protection policy which includes schedule and retention", - "type": "object", - "properties": { - "policyType": { - "description": "Type of backup policy type", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull" - ], - "type": "string", - "x-ms-enum": { - "name": "PolicyType", - "modelAsString": true - } - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - } - } - }, - "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" - } - } - }, "TokenInformation": { "description": "The token information details.", "type": "object", @@ -6499,89 +3458,6 @@ } } }, - "WeeklyRetentionFormat": { - "description": "Weekly retention format.", - "type": "object", - "properties": { - "daysOfTheWeek": { - "description": "List of days of the week.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "weeksOfTheMonth": { - "description": "List of weeks of month.", - "type": "array", - "items": { - "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "WeekOfMonth", - "modelAsString": false - } - } - } - } - }, - "WeeklyRetentionSchedule": { - "description": "Weekly retention schedule.", - "type": "object", - "properties": { - "daysOfTheWeek": { - "description": "List of days of week for weekly retention policy.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, "WorkloadInquiryDetails": { "description": "Details of an inquired protectable item.", "type": "object", @@ -6740,71 +3616,6 @@ } } } - }, - "YearlyRetentionSchedule": { - "description": "Yearly retention schedule.", - "type": "object", - "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format for yearly retention policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionScheduleFormat", - "modelAsString": true - } - }, - "monthsOfYear": { - "description": "List of months of year of yearly retention policy.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ], - "type": "string", - "x-ms-enum": { - "name": "MonthOfYear", - "modelAsString": false - } - } - }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for yearly retention policy." - }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for yearly retention policy." - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } } }, "parameters": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json index 400fb2d61c0a..e59312e7b420 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json @@ -314,321 +314,6 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { - "get": { - "tags": [ - "BackupJobs" - ], - "description": "Provides a pageable list of jobs.", - "operationId": "BackupJobs_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JobResourceList" - } - } - }, - "x-ms-odata": "#/definitions/JobQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List All Jobs": { - "$ref": "./examples/Common/ListJobs.json" - }, - "List Jobs With Filters": { - "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json" - }, - "List Jobs With Time Filter": { - "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { - "get": { - "tags": [ - "JobDetails" - ], - "description": "Gets extended information associated with the job.", - "operationId": "JobDetails_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "jobName", - "in": "path", - "description": "Name of the job whose details are to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JobResource" - } - } - }, - "x-ms-examples": { - "Get Job Details": { - "$ref": "./examples/Common/GetJobDetails.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { - "get": { - "tags": [ - "ExportJobsOperationResults" - ], - "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", - "operationId": "ExportJobsOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the export job.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationResultInfoBaseResource" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/OperationResultInfoBaseResource" - } - } - }, - "x-ms-examples": { - "Export Jobs Operation Results": { - "$ref": "./examples/Common/ExportJobsOperationResult.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { - "post": { - "tags": [ - "Jobs" - ], - "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", - "operationId": "Jobs_Export", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "x-ms-odata": "#/definitions/JobQueryObject", - "x-ms-examples": { - "Export Jobs": { - "$ref": "./examples/Common/TriggerExportJobs.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { - "get": { - "tags": [ - "BackupPolicies" - ], - "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", - "operationId": "BackupPolicies_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResourceList" - } - } - }, - "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List protection policies with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" - }, - "List protection policies with backupManagementType filter as AzureWorkload": { - "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { - "get": { - "tags": [ - "BackupProtectedItems" - ], - "description": "Provides a pageable list of all items that are backed up within a vault.", - "operationId": "BackupProtectedItems_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResourceList" - } - } - }, - "x-ms-odata": "#/definitions/ProtectedItemQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List protected items with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" - } - } - } - }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": { "get": { "tags": [ @@ -745,54 +430,6 @@ } } } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { - "post": { - "tags": [ - "Operation" - ], - "description": "Validate operation for specified backed up item. This is a synchronous operation.", - "operationId": "Operation_Validate", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "parameters", - "in": "body", - "description": "resource validate operation request", - "required": true, - "schema": { - "$ref": "#/definitions/ValidateOperationRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ValidateOperationsResponse" - } - } - }, - "x-ms-examples": { - "Validate Operation": { - "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" - } - } - } } }, "definitions": { @@ -806,227 +443,6 @@ ], "x-ms-discriminator-value": "AzureBackupGoals" }, - "AzureFileshareProtectedItem": { - "description": "Azure File Share workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the fileshare represented by this backup item.", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } - }, - "healthStatus": { - "description": "backups running status for this backup item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthStatus", - "modelAsString": true - } - }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", - "description": "Additional information with this backup item." - } - }, - "x-ms-discriminator-value": "AzureFileShareProtectedItem" - }, - "AzureFileshareProtectedItemExtendedInfo": { - "description": "Additional information about Azure File Share backup item.", - "type": "object", - "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" - } - } - }, - "AzureFileShareProtectionPolicy": { - "description": "AzureStorage backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureStorage" - }, - "AzureFileShareRestoreRequest": { - "description": "AzureFileShare Restore Request", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "properties": { - "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks" - ], - "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", @@ -1034,48 +450,26 @@ "errorCode": { "format": "int32", "description": "Error code.", - "type": "integer" + "type": "integer", + "readOnly": true }, "errorTitle": { "description": "Title: Typically, the entity that the error pertains to.", - "type": "string" + "type": "string", + "readOnly": true }, "errorString": { "description": "Localized error string.", - "type": "string" + "type": "string", + "readOnly": true }, "recommendations": { "description": "List of localized recommendations for above error code.", "type": "array", "items": { "type": "string" - } - } - } - }, - "AzureIaaSVMHealthDetails": { - "description": "Azure IaaS VM workload-specific Health Details.", - "type": "object", - "properties": { - "code": { - "format": "int32", - "description": "Health Code", - "type": "integer" - }, - "title": { - "description": "Health Title", - "type": "string" - }, - "message": { - "description": "Health Message", - "type": "string" - }, - "recommendations": { - "description": "Health Recommended Actions", - "type": "array", - "items": { - "type": "string" - } + }, + "readOnly": true } } }, @@ -1209,249 +603,50 @@ } } }, - "AzureIaaSVMProtectedItem": { - "description": "IaaS VM workload-specific backup item.", + "AzureRecoveryServiceVaultProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "RecoveryServiceVaultItem" + }, + "AzureResourceProtectionIntent": { + "description": "IaaS VM specific backup protection intent item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/ProtectionIntent" } ], "properties": { "friendlyName": { "description": "Friendly name of the VM represented by this backup item.", "type": "string" + } + }, + "x-ms-discriminator-value": "AzureResourceItem" + }, + "AzureStorageErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" }, - "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine represented by this item.", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", + "errorString": { + "description": "Localized error string.", "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.", + "recommendations": { + "description": "List of localized recommendations for above error code.", "type": "array", "items": { - "$ref": "#/definitions/AzureIaaSVMHealthDetails" - } - }, - "lastBackupStatus": { - "description": "Last backup operation status.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "protectedItemDataId": { - "description": "Data ID of the protected item.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", - "description": "Additional information for this backup item." - } - }, - "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" - }, - "AzureIaaSVMProtectedItemExtendedInfo": { - "description": "Additional information on Azure IaaS VM specific backup item.", - "type": "object", - "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this backup item.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies available for this backup item.", - "type": "integer" - }, - "policyInconsistent": { - "description": "Specifies if backup policy associated with the backup item is inconsistent.", - "type": "boolean" - } - } - }, - "AzureIaaSVMProtectionPolicy": { - "description": "IaaS VM workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - }, - "instantRpRetentionRangeInDays": { - "format": "int32", - "description": "Instant RP retention policy range in days", - "type": "integer" - }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureIaasVM" - }, - "AzureRecoveryServiceVaultProtectionIntent": { - "description": "Azure Recovery Services Vault specific protection intent item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionIntent" - } - ], - "x-ms-discriminator-value": "RecoveryServiceVaultItem" - }, - "AzureResourceProtectionIntent": { - "description": "IaaS VM specific backup protection intent item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionIntent" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the VM represented by this backup item.", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureResourceItem" - }, - "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" - } - } - }, - "AzureSqlProtectionPolicy": { - "description": "Azure SQL workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." - } - }, - "x-ms-discriminator-value": "AzureSql" - }, - "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" + "type": "string" } } } @@ -1587,198 +782,6 @@ } } }, - "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." - } - }, - "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" - } - } - }, - "AzureVmWorkloadProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "settings": { - "$ref": "#/definitions/Settings", - "description": "Common settings for the backup management" - }, - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", - "type": "array", - "items": { - "$ref": "#/definitions/SubProtectionPolicy" - } - } - }, - "x-ms-discriminator-value": "AzureWorkload" - }, - "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" - }, "AzureWorkloadAutoProtectionIntent": { "description": "Azure Recovery Services Vault specific protection intent item.", "type": "object", @@ -1905,97 +908,12 @@ } } }, - "AzureWorkloadPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "AzureWorkloadSQLAutoProtectionIntent": { + "description": "Azure Workload SQL Auto Protection intent item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" - }, - "AzureWorkloadRestoreRequest": { - "description": "AzureWorkload-specific restore.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "properties": { - "recoveryType": { - "description": "OLR/ALR, RestoreDisks is invalid option", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks" - ], - "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" - } - }, - "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" - }, - "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" - }, - "AzureWorkloadSAPHanaRestoreRequest": { - "description": "AzureWorkload SAP Hana-specific restore.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" - }, - "AzureWorkloadSQLAutoProtectionIntent": { - "description": "Azure Workload SQL Auto Protection intent item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" + "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" } ], "properties": { @@ -2019,50 +937,6 @@ }, "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" }, - "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" - }, - "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" - }, "BackupManagementUsage": { "description": "Backup management usages of a vault.", "type": "object", @@ -2240,52 +1114,6 @@ } } }, - "DailyRetentionFormat": { - "description": "Daily retention format.", - "type": "object", - "properties": { - "daysOfTheMonth": { - "description": "List of days of the month.", - "type": "array", - "items": { - "$ref": "#/definitions/Day" - } - } - } - }, - "DailyRetentionSchedule": { - "description": "Daily retention schedule.", - "type": "object", - "properties": { - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "Day": { - "description": "Day of the week.", - "type": "object", - "properties": { - "date": { - "format": "int32", - "description": "Date of the month", - "type": "integer" - }, - "isLast": { - "description": "Whether Date is last date of month", - "type": "boolean" - } - } - }, "DpmErrorInfo": { "description": "DPM workload-specific error information.", "type": "object", @@ -2415,370 +1243,378 @@ "type": "string" } } - }, - "DPMProtectedItem": { - "description": "Additional information on Backup engine specific backup item.", + }, + "FeatureSupportRequest": { + "description": "Base class for feature request", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" + "properties": { + "featureType": { + "description": "backup support feature type.", + "type": "string" } - ], + }, + "discriminator": "featureType" + }, + "InstantRPAdditionalDetails": { + "type": "object", "properties": { - "friendlyName": { - "description": "Friendly name of the managed item", + "azureBackupRGNamePrefix": { "type": "string" }, - "backupEngineName": { - "description": "Backup Management server protecting this backup item", + "azureBackupRGNameSuffix": { + "type": "string" + } + } + }, + "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" }, - "protectionState": { - "description": "Protection state of the backup engine", + "backupManagementType": { + "description": "Backup management type to execute the current job.", "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "ProtectedItemState", + "name": "BackupManagementType", "modelAsString": true } }, - "isScheduledForDeferredDelete": { - "description": "To check if backup item is scheduled for deferred delete", - "type": "boolean" - }, - "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.", + "operation": { + "description": "The operation name.", "type": "string" }, - "oldestRecoveryPoint": { - "format": "date-time", - "description": "Oldest cloud recovery point time.", + "status": { + "description": "Job status.", "type": "string" }, - "recoveryPointCount": { - "format": "int32", - "description": "cloud recovery point count.", - "type": "integer" - }, - "onPremiseOldestRecoveryPoint": { + "startTime": { "format": "date-time", - "description": "Oldest disk recovery point time.", + "description": "The start time.", "type": "string" }, - "onPremiseLatestRecoveryPoint": { + "endTime": { "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.", + "description": "The end time.", "type": "string" }, - "diskStorageUsedInBytes": { - "description": "Used Disk storage in bytes.", + "activityId": { + "description": "ActivityId of job.", "type": "string" }, - "totalDiskStorageSizeInBytes": { - "description": "total Disk storage in bytes.", + "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" }, - "EncryptionDetails": { - "description": "Details needed if the VM was encrypted at the time of backup.", - "type": "object", + "JobResource": { + "description": "Defines workload agnostic properties for a job.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "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" + "properties": { + "$ref": "#/definitions/Job", + "description": "JobResource properties" } } }, - "ErrorDetail": { - "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "MabErrorInfo": { + "description": "MAB workload-specific error information.", "type": "object", "properties": { - "code": { - "description": "Error code.", - "type": "string" - }, - "message": { - "description": "Error Message related to the Code.", - "type": "string" + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true }, "recommendations": { - "description": "List of recommendation strings.", + "description": "List of localized recommendations.", "type": "array", "items": { "type": "string" - } + }, + "readOnly": true } } }, - "ExportJobsOperationResultInfo": { - "description": "This class is used to send blob details after exporting jobs.", + "MabJob": { + "description": "MAB workload-specific job.", "type": "object", "allOf": [ { - "$ref": "#/definitions/OperationResultInfoBase" + "$ref": "#/definitions/Job" } ], "properties": { - "blobUrl": { - "description": "URL of the blob into which the serialized string of list of jobs is exported.", + "duration": { + "format": "duration", + "description": "Time taken by job to run.", "type": "string" }, - "blobSasKey": { - "description": "SAS key to access the blob. It expires in 15 mins.", - "type": "string" - } - }, - "x-ms-discriminator-value": "ExportJobsOperationResultInfo" - }, - "FeatureSupportRequest": { - "description": "Base class for feature request", - "type": "object", - "properties": { - "featureType": { - "description": "backup support feature type.", - "type": "string" - } - }, - "discriminator": "featureType" - }, - "GenericProtectedItem": { - "description": "Base class for backup items.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of the container.", + "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" }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "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 + } }, - "protectionState": { - "description": "Backup state of this backup item.", + "workloadType": { + "description": "Workload type of backup item.", "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "ProtectionState", + "name": "WorkloadType", "modelAsString": true } }, - "protectedItemId": { - "format": "int64", - "description": "Data Plane Service ID of the protected item.", - "type": "integer" + "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" + } }, - "sourceAssociations": { - "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "propertyBag": { + "description": "The job properties.", "type": "object", "additionalProperties": { "type": "string" } }, - "fabricName": { - "description": "Name of this backup item's fabric.", + "dynamicErrorMessage": { + "description": "Non localized error message specific to this job.", "type": "string" } - }, - "x-ms-discriminator-value": "GenericProtectedItem" + } }, - "GenericProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", + "MabJobTaskDetails": { + "description": "MAB workload-specific job task details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], "properties": { - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", - "type": "array", - "items": { - "$ref": "#/definitions/SubProtectionPolicy" - } + "taskId": { + "description": "The task display name.", + "type": "string" }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "startTime": { + "format": "date-time", + "description": "The start time.", "type": "string" }, - "fabricName": { - "description": "Name of this policy's fabric.", + "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" } - }, - "x-ms-discriminator-value": "GenericProtectionPolicy" + } }, - "IaasVMRestoreRequest": { - "description": "IaaS VM workload-specific restore.", + "NameInfo": { + "description": "The name of usage.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], "properties": { - "recoveryPointId": { - "description": "ID of the backup copy to be recovered.", + "value": { + "description": "Value of usage.", "type": "string" }, - "recoveryType": { - "description": "Type of this recovery.", + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" + } + } + }, + "PreValidateEnableBackupRequest": { + "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", "enum": [ "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks" + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" ], "type": "string", "x-ms-enum": { - "name": "RecoveryType", + "name": "DataSourceType", "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}", + "resourceId": { + "description": "ARM Virtual Machine Id", "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}", + "vaultId": { + "description": "ARM id of the Recovery Services Vault", "type": "string" }, - "storageAccountId": { - "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", + "properties": { + "description": "Configuration of VM if any needs to be validated like OS type etc", "type": "string" + } + } + }, + "PreValidateEnableBackupResponse": { + "description": "Response contract for enable backup validation request", + "type": "object", + "properties": { + "status": { + "description": "Validation Status", + "enum": [ + "Invalid", + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } }, - "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.", + "errorCode": { + "description": "Response error code", "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.", + "errorMessage": { + "description": "Response error message", "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.", + "recommendation": { + "description": "Recommended action for user", "type": "string" }, - "region": { - "description": "Region in which the virtual machine is restored.", + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal", "type": "string" }, - "affinityGroup": { - "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", "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." } - }, - "x-ms-discriminator-value": "IaasVMRestoreRequest" + } }, - "Job": { - "description": "Defines workload agnostic properties for a job.", - "required": [ - "jobType" - ], + "ProtectionIntent": { + "description": "Base class for backup ProtectionIntent.", "type": "object", "properties": { - "entityFriendlyName": { - "description": "Friendly name of the entity on which the current job is executing.", + "protectionIntentItemType": { + "description": "backup protectionIntent type.", "type": "string" }, "backupManagementType": { - "description": "Backup management type to execute the current job.", + "description": "Type of backup management for the backed up item.", "enum": [ "Invalid", "AzureIaasVM", @@ -2796,58 +1632,42 @@ "modelAsString": true } }, - "operation": { - "description": "The operation name.", - "type": "string" - }, - "status": { - "description": "Job status.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "The end time.", + "itemId": { + "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", "type": "string" }, - "activityId": { - "description": "ActivityId of job.", + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", "type": "string" }, - "jobType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "jobType" - }, - "JobQueryObject": { - "description": "Filters to list the jobs.", - "type": "object", - "properties": { - "status": { - "description": "Status of the job.", + "protectionState": { + "description": "Backup state of this backup item.", "enum": [ "Invalid", - "InProgress", - "Completed", - "Failed", - "CompletedWithWarnings", - "Cancelled", - "Cancelling" + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" ], "type": "string", "x-ms-enum": { - "name": "JobStatus", + "name": "ProtectionStatus", "modelAsString": true } - }, + } + }, + "discriminator": "protectionIntentItemType" + }, + "ProtectionIntentQueryObject": { + "description": "Filters to list protection intent.", + "type": "object", + "properties": { "backupManagementType": { - "description": "Type of backup management for the job.", + "description": "Backup management type for the backed up item", "enum": [ "Invalid", "AzureIaasVM", @@ -2865,42 +1685,31 @@ "modelAsString": true } }, - "operation": { - "description": "Type of operation.", - "enum": [ + "itemType": { + "description": "Type of workload this item represents", + "enum": [ "Invalid", - "Register", - "UnRegister", - "ConfigureBackup", - "Backup", - "Restore", - "DisableBackup", - "DeleteBackupData" + "SQLInstance", + "SQLAvailabilityGroupContainer" ], "type": "string", "x-ms-enum": { - "name": "JobOperationType", + "name": "IntentItemType", "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.", + "parentName": { + "description": "Parent name of the intent", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "Job has ended at this time. Value is in UTC.", + "itemName": { + "description": "Item name of the intent", "type": "string" } } }, - "JobResource": { - "description": "Defines workload agnostic properties for a job.", + "ProtectionIntentResource": { + "description": "Base class for backup ProtectionIntent.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -2908,13 +1717,13 @@ ], "properties": { "properties": { - "$ref": "#/definitions/Job", - "description": "JobResource properties" + "$ref": "#/definitions/ProtectionIntent", + "description": "ProtectionIntentResource properties" } } }, - "JobResourceList": { - "description": "List of Job resources", + "ProtectionIntentResourceList": { + "description": "List of ProtectionIntent resources", "type": "object", "allOf": [ { @@ -2926,1569 +1735,55 @@ "description": "List of resources.", "type": "array", "items": { - "$ref": "#/definitions/JobResource" - } - } - } - }, - "LogSchedulePolicy": { - "description": "Log policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "properties": { - "scheduleFrequencyInMins": { - "format": "int32", - "description": "Frequency of the log schedule operation of this policy in minutes.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "LogSchedulePolicy" - }, - "LongTermRetentionPolicy": { - "description": "Long term retention policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - } - ], - "properties": { - "dailySchedule": { - "$ref": "#/definitions/DailyRetentionSchedule", - "description": "Daily retention schedule of the protection policy." - }, - "weeklySchedule": { - "$ref": "#/definitions/WeeklyRetentionSchedule", - "description": "Weekly retention schedule of the protection policy." - }, - "monthlySchedule": { - "$ref": "#/definitions/MonthlyRetentionSchedule", - "description": "Monthly retention schedule of the protection policy." - }, - "yearlySchedule": { - "$ref": "#/definitions/YearlyRetentionSchedule", - "description": "Yearly retention schedule of the protection policy." - } - }, - "x-ms-discriminator-value": "LongTermRetentionPolicy" - }, - "LongTermSchedulePolicy": { - "description": "Long term policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "x-ms-discriminator-value": "LongTermSchedulePolicy" - }, - "MabErrorInfo": { - "description": "MAB workload-specific error information.", - "type": "object", - "properties": { - "errorString": { - "description": "Localized error string.", - "type": "string" - }, - "recommendations": { - "description": "List of localized recommendations.", - "type": "array", - "items": { - "type": "string" + "$ref": "#/definitions/ProtectionIntentResource" } } } }, - "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" - }, - "protectionState": { - "description": "Protected, ProtectionStopped, IRPending or ProtectionError", - "type": "string" - }, - "deferredDeleteSyncTimeInUTC": { - "format": "int64", - "description": "Sync time for deferred deletion.", - "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.", + "Resource": { + "description": "ARM Resource.", "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" - ], + "id": { + "description": "Resource Id represents the complete path to the resource.", "type": "string", - "x-ms-enum": { - "name": "MabServerType", - "modelAsString": true - } + "readOnly": true }, - "workloadType": { - "description": "Workload type of backup item.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], + "name": { + "description": "Resource name associated with the resource.", "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } + "readOnly": true }, - "errorDetails": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/MabErrorInfo" - } + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true }, - "extendedInfo": { - "$ref": "#/definitions/MabJobExtendedInfo", - "description": "Additional information on the job." - } - }, - "x-ms-discriminator-value": "MabJob" - }, - "MabJobExtendedInfo": { - "description": "Additional information for the MAB workload-specific job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks for this job.", - "type": "array", - "items": { - "$ref": "#/definitions/MabJobTaskDetails" - } + "location": { + "description": "Resource location.", + "type": "string" }, - "propertyBag": { - "description": "The job properties.", + "tags": { + "description": "Resource tags.", "type": "object", "additionalProperties": { "type": "string" } }, - "dynamicErrorMessage": { - "description": "Non localized error message specific to this job.", + "eTag": { + "description": "Optional ETag.", "type": "string" } - } + }, + "x-ms-azure-resource": true }, - "MabJobTaskDetails": { - "description": "MAB workload-specific job task details.", + "ResourceList": { + "description": "Base for all lists of resources.", "type": "object", "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - } - } - }, - "MabProtectionPolicy": { - "description": "Mab container-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." - } - }, - "x-ms-discriminator-value": "MAB" - }, - "MonthlyRetentionSchedule": { - "description": "Monthly retention schedule.", - "type": "object", - "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format type for monthly retention policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionScheduleFormat", - "modelAsString": true - } - }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for monthly retention policy." - }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for monthly retention policy." - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "NameInfo": { - "description": "The name of usage.", - "type": "object", - "properties": { - "value": { - "description": "Value of usage.", - "type": "string" - }, - "localizedValue": { - "description": "Localized value of usage.", - "type": "string" - } - } - }, - "OperationResultInfo": { - "description": "Operation result info.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationResultInfoBase" - } - ], - "properties": { - "jobList": { - "description": "List of jobs created by this operation.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-discriminator-value": "OperationResultInfo" - }, - "OperationResultInfoBase": { - "description": "Base class for operation result info.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "OperationResultInfoBaseResource": { - "description": "Base class for operation result info.", - "allOf": [ - { - "$ref": "#/definitions/OperationWorkerResponse" - } - ], - "properties": { - "operation": { - "$ref": "#/definitions/OperationResultInfoBase", - "description": "OperationResultInfoBaseResource operation" - } - } - }, - "OperationWorkerResponse": { - "description": "This is the base class for operation result responses.", - "type": "object", - "properties": { - "statusCode": { - "description": "HTTP Status Code of the operation.", - "enum": [ - "Continue", - "SwitchingProtocols", - "OK", - "Created", - "Accepted", - "NonAuthoritativeInformation", - "NoContent", - "ResetContent", - "PartialContent", - "MultipleChoices", - "Ambiguous", - "MovedPermanently", - "Moved", - "Found", - "Redirect", - "SeeOther", - "RedirectMethod", - "NotModified", - "UseProxy", - "Unused", - "TemporaryRedirect", - "RedirectKeepVerb", - "BadRequest", - "Unauthorized", - "PaymentRequired", - "Forbidden", - "NotFound", - "MethodNotAllowed", - "NotAcceptable", - "ProxyAuthenticationRequired", - "RequestTimeout", - "Conflict", - "Gone", - "LengthRequired", - "PreconditionFailed", - "RequestEntityTooLarge", - "RequestUriTooLong", - "UnsupportedMediaType", - "RequestedRangeNotSatisfiable", - "ExpectationFailed", - "UpgradeRequired", - "InternalServerError", - "NotImplemented", - "BadGateway", - "ServiceUnavailable", - "GatewayTimeout", - "HttpVersionNotSupported" - ], - "type": "string", - "x-ms-enum": { - "name": "HttpStatusCode", - "modelAsString": false - } - }, - "headers": { - "description": "HTTP headers associated with this operation.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "PreValidateEnableBackupRequest": { - "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", - "type": "object", - "properties": { - "resourceType": { - "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - } - }, - "resourceId": { - "description": "ARM Virtual Machine Id", - "type": "string" - }, - "vaultId": { - "description": "Specifies the arm resource id of the vault", - "type": "string" - }, - "properties": { - "description": "Configuration of VM if any needs to be validated like OS type etc", - "type": "string" - } - } - }, - "PreValidateEnableBackupResponse": { - "description": "Response contract for enable backup validation request", - "type": "object", - "properties": { - "status": { - "description": "Validation Status", - "enum": [ - "Invalid", - "Succeeded", - "Failed" - ], - "type": "string", - "x-ms-enum": { - "name": "ValidationStatus", - "modelAsString": true - } - }, - "errorCode": { - "description": "Response error code", - "type": "string" - }, - "errorMessage": { - "description": "Response error message", - "type": "string" - }, - "recommendation": { - "description": "Recommended action for user", - "type": "string" - }, - "containerName": { - "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal", - "type": "string" - }, - "protectedItemName": { - "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", - "type": "string" - } - } - }, - "ProtectedItem": { - "description": "Base class for backup items.", - "type": "object", - "properties": { - "protectedItemType": { - "description": "backup item type.", - "type": "string" - }, - "backupManagementType": { - "description": "Type of backup management for the backed up item.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Type of workload this item represents.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - } - }, - "containerName": { - "description": "Unique name of container", - "type": "string" - }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", - "type": "string" - }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", - "type": "string" - }, - "lastRecoveryPoint": { - "format": "date-time", - "description": "Timestamp when the last (latest) backup copy was created for this backup item.", - "type": "string" - }, - "backupSetName": { - "description": "Name of the backup set the backup item belongs to", - "type": "string" - }, - "createMode": { - "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", - "enum": [ - "Invalid", - "Default", - "Recover" - ], - "type": "string", - "x-ms-enum": { - "name": "CreateMode", - "modelAsString": true - } - }, - "deferredDeleteTimeInUTC": { - "format": "date-time", - "description": "Time for deferred deletion in UTC", - "type": "string" - }, - "isScheduledForDeferredDelete": { - "description": "Flag to identify whether the DS is scheduled for deferred delete", - "type": "boolean" - }, - "deferredDeleteTimeRemaining": { - "description": "Time remaining before the DS marked for deferred delete is permanently deleted", - "type": "string" - }, - "isDeferredDeleteScheduleUpcoming": { - "description": "Flag to identify whether the deferred deleted DS is to be purged soon", - "type": "boolean" - }, - "isRehydrate": { - "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", - "type": "boolean" - } - }, - "discriminator": "protectedItemType" - }, - "ProtectedItemQueryObject": { - "description": "Filters to list backup items.", - "type": "object", - "properties": { - "healthState": { - "description": "Health State for the backed up item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthState", - "modelAsString": true - } - }, - "backupManagementType": { - "description": "Backup management type for the backed up item.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "itemType": { - "description": "Type of workload this item represents.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - } - }, - "policyName": { - "description": "Backup policy name associated with the backup item.", - "type": "string" - }, - "containerName": { - "description": "Name of the container.", - "type": "string" - }, - "backupEngineName": { - "description": "Backup Engine name", - "type": "string" - }, - "friendlyName": { - "description": "Friendly name of protected item", - "type": "string" - }, - "fabricName": { - "description": "Name of the fabric.", - "type": "string" - }, - "backupSetName": { - "description": "Name of the backup set.", - "type": "string" - } - } - }, - "ProtectedItemResource": { - "description": "Base class for backup items.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectedItem", - "description": "ProtectedItemResource properties" - } - } - }, - "ProtectedItemResourceList": { - "description": "List of ProtectedItem resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectedItemResource" - } - } - } - }, - "ProtectionIntent": { - "description": "Base class for backup ProtectionIntent.", - "type": "object", - "properties": { - "protectionIntentItemType": { - "description": "backup protectionIntent type.", - "type": "string" - }, - "backupManagementType": { - "description": "Type of backup management for the backed up item.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", - "type": "string" - }, - "itemId": { - "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", - "type": "string" - }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true - } - } - }, - "discriminator": "protectionIntentItemType" - }, - "ProtectionIntentQueryObject": { - "description": "Filters to list protection intent.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for the backed up item", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "itemType": { - "description": "Type of workload this item represents", - "enum": [ - "Invalid", - "SQLInstance", - "SQLAvailabilityGroupContainer" - ], - "type": "string", - "x-ms-enum": { - "name": "IntentItemType", - "modelAsString": true - } - }, - "parentName": { - "description": "Parent name of the intent", - "type": "string" - }, - "itemName": { - "description": "Item name of the intent", - "type": "string" - } - } - }, - "ProtectionIntentResource": { - "description": "Base class for backup ProtectionIntent.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionIntent", - "description": "ProtectionIntentResource properties" - } - } - }, - "ProtectionIntentResourceList": { - "description": "List of ProtectionIntent resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionIntentResource" - } - } - } - }, - "ProtectionPolicy": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "required": [ - "backupManagementType" - ], - "type": "object", - "properties": { - "protectedItemsCount": { - "format": "int32", - "description": "Number of items associated with this policy.", - "type": "integer" - }, - "backupManagementType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "backupManagementType" - }, - "ProtectionPolicyQueryObject": { - "description": "Filters the list backup policies API.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for the backup policy.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "fabricName": { - "description": "Fabric name for filter", - "type": "string" - }, - "workloadType": { - "description": "Workload type for the backup policy.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - } - } - }, - "ProtectionPolicyResource": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionPolicy", - "description": "ProtectionPolicyResource properties" - } - } - }, - "ProtectionPolicyResourceList": { - "description": "List of ProtectionPolicy resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - } - }, - "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" - }, - "RetentionDuration": { - "description": "Retention duration.", - "type": "object", - "properties": { - "count": { - "format": "int32", - "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", - "type": "integer" - }, - "durationType": { - "description": "Retention duration type of retention policy.", - "enum": [ - "Invalid", - "Days", - "Weeks", - "Months", - "Years" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionDurationType", - "modelAsString": true - } - } - } - }, - "RetentionPolicy": { - "description": "Base class for retention policy.", - "required": [ - "retentionPolicyType" - ], - "type": "object", - "properties": { - "retentionPolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "retentionPolicyType" - }, - "SchedulePolicy": { - "description": "Base class for backup schedule.", - "required": [ - "schedulePolicyType" - ], - "type": "object", - "properties": { - "schedulePolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "schedulePolicyType" - }, - "Settings": { - "description": "Common settings field for backup management", - "type": "object", - "properties": { - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - }, - "issqlcompression": { - "description": "SQL compression flag", - "type": "boolean" - }, - "isCompression": { - "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", - "type": "boolean" - } - } - }, - "SimpleRetentionPolicy": { - "description": "Simple policy retention.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - } - ], - "properties": { - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of the protection policy." - } - }, - "x-ms-discriminator-value": "SimpleRetentionPolicy" - }, - "SimpleSchedulePolicy": { - "description": "Simple policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "properties": { - "scheduleRunFrequency": { - "description": "Frequency of the schedule operation of this policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "ScheduleRunType", - "modelAsString": true - } - }, - "scheduleRunDays": { - "description": "List of days of week this schedule has to be run.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "scheduleWeeklyFrequency": { - "format": "int32", - "description": "At every number weeks this schedule has to be run.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "SimpleSchedulePolicy" - }, - "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" - } - } - }, - "SubProtectionPolicy": { - "description": "Sub-protection policy which includes schedule and retention", - "type": "object", - "properties": { - "policyType": { - "description": "Type of backup policy type", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull" - ], - "type": "string", - "x-ms-enum": { - "name": "PolicyType", - "modelAsString": true - } - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - } - } - }, - "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" - } - } - }, - "ValidateIaasVMRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ValidateRestoreOperationRequest" - } - ], - "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" - }, - "ValidateOperationRequest": { - "description": "Base class for validate operation request.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "ValidateOperationResponse": { - "description": "Base class for validate operation response.", - "type": "object", - "properties": { - "validationResults": { - "description": "Gets the validation result", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorDetail" - } - } - } - }, - "ValidateOperationsResponse": { - "type": "object", - "properties": { - "validateOperationResponse": { - "$ref": "#/definitions/ValidateOperationResponse" - } - } - }, - "ValidateRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ValidateOperationRequest" - } - ], - "properties": { - "restoreRequest": { - "$ref": "#/definitions/RestoreRequest", - "description": "Sets restore request to be validated" - } - }, - "x-ms-discriminator-value": "ValidateRestoreOperationRequest" - }, - "WeeklyRetentionFormat": { - "description": "Weekly retention format.", - "type": "object", - "properties": { - "daysOfTheWeek": { - "description": "List of days of the week.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "weeksOfTheMonth": { - "description": "List of weeks of month.", - "type": "array", - "items": { - "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "WeekOfMonth", - "modelAsString": false - } - } - } - } - }, - "WeeklyRetentionSchedule": { - "description": "Weekly retention schedule.", - "type": "object", - "properties": { - "daysOfTheWeek": { - "description": "List of days of week for weekly retention policy.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "YearlyRetentionSchedule": { - "description": "Yearly retention schedule.", - "type": "object", - "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format for yearly retention policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionScheduleFormat", - "modelAsString": true - } - }, - "monthsOfYear": { - "description": "List of months of year of yearly retention policy.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ], - "type": "string", - "x-ms-enum": { - "name": "MonthOfYear", - "modelAsString": false - } - } - }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for yearly retention policy." - }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for yearly retention policy." - }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." } } } @@ -4551,4 +1846,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json new file mode 100644 index 000000000000..59198273c036 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/bms.json @@ -0,0 +1,5152 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-05-13", + "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}/backupconfig/vaultconfig": { + "get": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Fetches resource vault config.", + "operationId": "BackupResourceVaultConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + } + }, + "x-ms-examples": { + "Get Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" + } + } + }, + "patch": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + } + }, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { + "get": { + "tags": [ + "ProtectedItems" + ], + "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectedItems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + }, + "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", + "x-ms-examples": { + "Get Protected Classic Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" + }, + "Get Protected Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectedItems" + ], + "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Item name to be backed up.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Enable Protection on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" + }, + "Stop Protection with retain data on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/StopProtection.json" + } + } + }, + "delete": { + "tags": [ + "ProtectedItems" + ], + "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete Protection from Azure Virtual Machine": { + "$ref": "./examples/Common/ProtectedItem_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectedItemOperationResults" + ], + "description": "Fetches the result of any operation on the backup item.", + "operationId": "ProtectedItemOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Get Operation Results of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "description": "Lists the backup copies for the backed up item.", + "operationId": "RecoveryPoints_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item whose backup copies are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } + } + }, + "x-ms-odata": "#/definitions/BMSRPQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", + "operationId": "RecoveryPoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose backup data needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResource" + } + } + }, + "x-ms-examples": { + "Get Azure Vm Recovery Point Details": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { + "post": { + "tags": [ + "Restores" + ], + "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.", + "operationId": "Restores_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents the backed up data to be restored.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource restore request", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Restore to New Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json" + }, + "Restore Disks": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "get": { + "tags": [ + "BackupPolicies" + ], + "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", + "operationId": "BackupPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResourceList" + } + } + }, + "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection policies with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" + }, + "List protection policies with backupManagementType filter as AzureWorkload": { + "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { + "get": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy information to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + }, + "x-ms-examples": { + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be created.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup policy", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Create or Update Simple Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" + }, + "Create or Update Full Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Full Azure Workload Protection Policy": { + "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationResults" + ], + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's result needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { + "get": { + "tags": [ + "BackupJobs" + ], + "description": "Provides a pageable list of jobs.", + "operationId": "BackupJobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + } + }, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List All Jobs": { + "$ref": "./examples/Common/ListJobs.json" + }, + "List Jobs With Filters": { + "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json" + }, + "List Jobs With Time Filter": { + "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { + "get": { + "tags": [ + "JobDetails" + ], + "description": "Gets extended information associated with the job.", + "operationId": "JobDetails_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Name of the job whose details are to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResource" + } + } + }, + "x-ms-examples": { + "Get Job Details": { + "$ref": "./examples/Common/GetJobDetails.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { + "post": { + "tags": [ + "JobCancellations" + ], + "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.", + "operationId": "JobCancellations_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Name of the job to cancel.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Cancel Job": { + "$ref": "./examples/Common/TriggerCancelJob.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { + "get": { + "tags": [ + "JobOperationResults" + ], + "description": "Fetches the result of any operation.", + "operationId": "JobOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job name whose operation result has to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result has to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Cancel Job Operation Result": { + "$ref": "./examples/Common/CancelJobOperationResult.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { + "get": { + "tags": [ + "ExportJobsOperationResults" + ], + "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", + "operationId": "ExportJobsOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the export job.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + } + }, + "x-ms-examples": { + "Export Jobs Operation Results": { + "$ref": "./examples/Common/ExportJobsOperationResult.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", + "operationId": "Jobs_Export", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-examples": { + "Export Jobs": { + "$ref": "./examples/Common/TriggerExportJobs.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { + "get": { + "tags": [ + "BackupProtectedItems" + ], + "description": "Provides a pageable list of all items that are backed up within a vault.", + "operationId": "BackupProtectedItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResourceList" + } + } + }, + "x-ms-odata": "#/definitions/ProtectedItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protected items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { + "post": { + "tags": [ + "Operation" + ], + "description": "Validate operation for specified backed up item. This is a synchronous operation.", + "operationId": "Operation_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource validate operation request", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateOperationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateOperationsResponse" + } + } + }, + "x-ms-examples": { + "Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" + } + } + } + } + }, + "definitions": { + "AzureFileshareProtectedItem": { + "description": "Azure File Share workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the fileshare represented by this backup item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "backups running status for this backup item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "AzureFileShareProtectedItem" + }, + "AzureFileshareProtectedItemExtendedInfo": { + "description": "Additional information about Azure File Share backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "resourceState": { + "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}", + "type": "string", + "readOnly": true + }, + "resourceStateSyncTime": { + "format": "date-time", + "description": "The resource state sync time for this backup item.", + "type": "string", + "readOnly": true + } + } + }, + "AzureFileShareRecoveryPoint": { + "description": "Azure File Share workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", + "type": "string", + "readOnly": true + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string", + "readOnly": true + }, + "fileShareSnapshotUri": { + "description": "Contains Url to the snapshot of fileshare, if applicable", + "type": "string", + "readOnly": true + }, + "recoveryPointSizeInGB": { + "format": "int32", + "description": "Contains recovery point size", + "type": "integer", + "readOnly": true + } + }, + "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" + }, + "AzureFileShareRestoreRequest": { + "description": "AzureFileShare Restore Request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Source storage account ARM Id", + "type": "string" + }, + "copyOptions": { + "description": "Options to resolve copy conflicts.", + "enum": [ + "Invalid", + "CreateCopy", + "Skip", + "Overwrite", + "FailOnConflict" + ], + "type": "string", + "x-ms-enum": { + "name": "CopyOptions", + "modelAsString": true + } + }, + "restoreRequestType": { + "description": "Restore Type (FullShareRestore or ItemLevelRestore)", + "enum": [ + "Invalid", + "FullShareRestore", + "ItemLevelRestore" + ], + "type": "string", + "x-ms-enum": { + "name": "RestoreRequestType", + "modelAsString": true + } + }, + "restoreFileSpecs": { + "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", + "type": "array", + "items": { + "$ref": "#/definitions/RestoreFileSpecs" + } + }, + "targetDetails": { + "$ref": "#/definitions/TargetAFSRestoreInfo", + "description": "Target File Share Details" + } + }, + "x-ms-discriminator-value": "AzureFileShareRestoreRequest" + }, + "AzureVmWorkloadProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" + }, + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + "makePolicyConsistent": { + "description": "Fix the policy inconsistency", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureWorkload" + }, + "AzureFileShareProtectionPolicy": { + "description": "AzureStorage backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSVMErrorInfo": { + "description": "Azure IaaS VM workload-specific error information.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer", + "readOnly": true + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string", + "readOnly": true + }, + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "AzureIaaSVMHealthDetails": { + "description": "Azure IaaS VM workload-specific Health Details.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer", + "readOnly": true + }, + "title": { + "description": "Health Title", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Health Message", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "AzureIaaSVMJob": { + "description": "Azure IaaS VM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMErrorInfo" + } + }, + "virtualMachineVersion": { + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "AzureIaaSVMJob" + }, + "AzureIaaSVMJobExtendedInfo": { + "description": "Azure IaaS VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "internalPropertyBag": { + "description": "Job internal properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "progressPercentage": { + "format": "double", + "description": "Indicates progress of the job. Null if it has not started or completed.", + "type": "number" + }, + "estimatedRemainingDuration": { + "description": "Time remaining for execution of this job.", + "type": "string" + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureIaaSVMJobTaskDetails": { + "description": "Azure IaaS VM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "instanceId": { + "description": "The instanceId.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + }, + "progressPercentage": { + "format": "double", + "description": "Progress of the task.", + "type": "number" + }, + "taskExecutionDetails": { + "description": "Details about execution of the task.\r\neg: number of bytes transferred etc", + "type": "string" + } + } + }, + "AzureIaaSVMProtectedItem": { + "description": "IaaS VM workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "Health status of protected item", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "healthDetails": { + "description": "Health details on this backup item.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + } + }, + "lastBackupStatus": { + "description": "Last backup operation status.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectedItemDataId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "extendedProperties": { + "$ref": "#/definitions/ExtendedProperties" + } + }, + "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" + }, + "AzureIaaSVMProtectedItemExtendedInfo": { + "description": "Additional information on Azure IaaS VM specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyInconsistent": { + "description": "Specifies if backup policy associated with the backup item is inconsistent.", + "type": "boolean" + } + } + }, + "AzureIaaSVMProtectionPolicy": { + "description": "IaaS VM workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "instantRpRetentionRangeInDays": { + "format": "int32", + "description": "Instant RP retention policy range in days", + "type": "integer" + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureIaasVM" + }, + "AzureSqlProtectedItem": { + "description": "Azure SQL workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "protectedItemDataId": { + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of the backed up item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + }, + "AzureSqlProtectedItemExtendedInfo": { + "description": "Additional information on Azure Sql specific protected item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "State of the backup policy associated with this backup item.", + "type": "string" + } + } + }, + "AzureStorageErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureSqlProtectionPolicy": { + "description": "Azure SQL workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "AzureSql" + }, + "AzureStorageJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageErrorInfo" + } + }, + "storageAccountName": { + "description": "Specifies friendly name of the storage account.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureStorageJobExtendedInfo", + "description": "Additional information about the job." + } + }, + "x-ms-discriminator-value": "AzureStorageJob" + }, + "AzureStorageJobExtendedInfo": { + "description": "Azure Storage workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureStorageJobTaskDetails": { + "description": "Azure storage workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "AzureVmWorkloadProtectedItem": { + "description": "Azure VM workload-specific protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the DB represented by this backup item.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "parentName": { + "description": "Parent name of the DB such as Instance or Availability Group.", + "type": "string" + }, + "parentType": { + "description": "Parent type of protected item, example: for a DB, standalone server or distributed", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true + } + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "lastBackupErrorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error details in last backup" + }, + "protectedItemDataSourceId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "protectedItemHealthStatus": { + "description": "Health status of the backup item, evaluated based on last heartbeat received", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemHealthStatus", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "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" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + }, + "AzureWorkloadRestoreRequest": { + "description": "AzureWorkload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", + "type": "string" + }, + "propertyBag": { + "description": "Workload specific property bag.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" + }, + "recoveryMode": { + "description": "Defines whether the current recovery mode is file restore or database restore", + "enum": [ + "Invalid", + "FileRecovery", + "WorkloadRecovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryMode", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" + }, + "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime in SAPHana", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + }, + "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" + }, + "AzureWorkloadSAPHanaRecoveryPoint": { + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + }, + "AzureWorkloadSAPHanaRestoreRequest": { + "description": "AzureWorkload SAP Hana-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" + }, + "AzureWorkloadSQLPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" + }, + "AzureWorkloadSQLPointInTimeRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" + }, + "AzureWorkloadSQLRecoveryPoint": { + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" + }, + "AzureWorkloadSQLRecoveryPointExtendedInfo": { + "description": "Extended info class details", + "type": "object", + "properties": { + "dataDirectoryTimeInUTC": { + "format": "date-time", + "description": "UTC time at which data directory info was captured", + "type": "string", + "readOnly": true + }, + "dataDirectoryPaths": { + "description": "List of data directory paths during restore operation.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + }, + "readOnly": true + } + } + }, + "AzureWorkloadSQLRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "shouldUseAlternateTargetLocation": { + "description": "Default option set to true. If this is set to false, alternate data directory must be provided", + "type": "boolean" + }, + "isNonRecoverable": { + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", + "type": "boolean" + }, + "alternateDirectoryPaths": { + "description": "Data directory details", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + }, + "BackupResourceVaultConfig": { + "description": "Backup resource vault config details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageTypeState": { + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageTypeState", + "modelAsString": true + } + }, + "enhancedSecurityState": { + "description": "Enabled or Disabled.", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnhancedSecurityState", + "modelAsString": true + } + }, + "softDeleteFeatureState": { + "description": "Soft Delete feature state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SoftDeleteFeatureState", + "modelAsString": true + } + } + } + }, + "BackupResourceVaultConfigResource": { + "description": "Backup resource vault config details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceVaultConfig", + "description": "BackupResourceVaultConfigResource properties" + } + } + }, + "BEKDetails": { + "description": "BEK is bitlocker encryption key.", + "type": "object", + "properties": { + "secretUrl": { + "description": "Secret is BEK.", + "type": "string" + }, + "secretVaultId": { + "description": "ID of the Key Vault where this Secret is stored.", + "type": "string" + }, + "secretData": { + "description": "BEK data.", + "type": "string" + } + } + }, + "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" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointQueryType", + "modelAsString": true + } + }, + "extendedInfo": { + "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", + "type": "boolean" + } + } + }, + "DiskExclusionProperties": { + "type": "object", + "properties": { + "diskLunList": { + "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "isInclusionList": { + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", + "type": "boolean" + } + } + }, + "DiskInformation": { + "description": "Disk information", + "type": "object", + "properties": { + "lun": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + } + } + }, + "DailyRetentionFormat": { + "description": "Daily retention format.", + "type": "object", + "properties": { + "daysOfTheMonth": { + "description": "List of days of the month.", + "type": "array", + "items": { + "$ref": "#/definitions/Day" + } + } + } + }, + "DailyRetentionSchedule": { + "description": "Daily retention schedule.", + "type": "object", + "properties": { + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "Day": { + "description": "Day of the week.", + "type": "object", + "properties": { + "date": { + "format": "int32", + "description": "Date of the month", + "type": "integer" + }, + "isLast": { + "description": "Whether Date is last date of month", + "type": "boolean" + } + } + }, + "DpmErrorInfo": { + "description": "DPM workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DpmJob": { + "description": "DPM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed for job.", + "type": "string" + }, + "dpmServerName": { + "description": "DPM server name managing the backup item or backup job.", + "type": "string" + }, + "containerName": { + "description": "Name of cluster/server protecting current backup item, if any.", + "type": "string" + }, + "containerType": { + "description": "Type of container.", + "type": "string" + }, + "workloadType": { + "description": "Type of backup item.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/DpmJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "DpmJob" + }, + "DpmJobExtendedInfo": { + "description": "Additional information on the DPM workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmJobTaskDetails" + } + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "DpmJobTaskDetails": { + "description": "DPM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "DPMProtectedItem": { + "description": "Additional information on Backup engine specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the managed item", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Management server protecting this backup item", + "type": "string" + }, + "protectionState": { + "description": "Protection state of the backup engine", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/DPMProtectedItemExtendedInfo", + "description": "Extended info of the backup item." + } + }, + "x-ms-discriminator-value": "DPMProtectedItem" + }, + "DPMProtectedItemExtendedInfo": { + "description": "Additional information of DPM Protected item.", + "type": "object", + "properties": { + "protectableObjectLoadPath": { + "description": "Attribute to provide information on various DBs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "protected": { + "description": "To check if backup item is disk protected.", + "type": "boolean" + }, + "isPresentOnCloud": { + "description": "To check if backup item is cloud protected.", + "type": "boolean" + }, + "lastBackupStatus": { + "description": "Last backup status information on backup item.", + "type": "string" + }, + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time on backup item.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest cloud recovery point time.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "cloud recovery point count.", + "type": "integer" + }, + "onPremiseOldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest disk recovery point time.", + "type": "string" + }, + "onPremiseLatestRecoveryPoint": { + "format": "date-time", + "description": "latest disk recovery point time.", + "type": "string" + }, + "onPremiseRecoveryPointCount": { + "format": "int32", + "description": "disk recovery point count.", + "type": "integer" + }, + "isCollocated": { + "description": "To check if backup item is collocated.", + "type": "boolean" + }, + "protectionGroupName": { + "description": "Protection group name of the backup item.", + "type": "string" + }, + "diskStorageUsedInBytes": { + "description": "Used Disk storage in bytes.", + "type": "string" + }, + "totalDiskStorageSizeInBytes": { + "description": "total Disk storage in bytes.", + "type": "string" + } + } + }, + "EncryptionDetails": { + "description": "Details needed if the VM was encrypted at the time of backup.", + "type": "object", + "properties": { + "encryptionEnabled": { + "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", + "type": "boolean" + }, + "kekUrl": { + "description": "Key Url.", + "type": "string" + }, + "secretKeyUrl": { + "description": "Secret Url.", + "type": "string" + }, + "kekVaultId": { + "description": "ID of Key Vault where KEK is stored.", + "type": "string" + }, + "secretKeyVaultId": { + "description": "ID of Key Vault where Secret is stored.", + "type": "string" + } + } + }, + "ErrorDetail": { + "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error Message related to the Code.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of recommendation strings.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ExportJobsOperationResultInfo": { + "description": "This class is used to send blob details after exporting jobs.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "blobUrl": { + "description": "URL of the blob into which the serialized string of list of jobs is exported.", + "type": "string" + }, + "blobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" + }, + "excelFileBlobUrl": { + "description": "URL of the blob into which the ExcelFile is uploaded.", + "type": "string" + }, + "excelFileBlobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExportJobsOperationResultInfo" + }, + "ExtendedProperties": { + "description": "Extended Properties for Azure IaasVM Backup.", + "type": "object", + "properties": { + "diskExclusionProperties": { + "$ref": "#/definitions/DiskExclusionProperties", + "description": "Extended Properties for Disk Exclusion." + } + } + }, + "GenericProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "fabricName": { + "description": "Name of this policy's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectionPolicy" + }, + "GenericProtectedItem": { + "description": "Base class for backup items.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "protectedItemId": { + "format": "int64", + "description": "Data Plane Service ID of the protected item.", + "type": "integer" + }, + "sourceAssociations": { + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "fabricName": { + "description": "Name of this backup item's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectedItem" + }, + "GenericRecoveryPoint": { + "description": "Generic backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the backup copy.", + "type": "string" + }, + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericRecoveryPoint" + }, + "GetProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "expand": { + "description": "Specifies if the additional information should be provided for this item.", + "type": "string" + } + } + }, + "IaasVMRecoveryPoint": { + "description": "IaaS VM workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string", + "readOnly": true + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string", + "readOnly": true + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string", + "readOnly": true + }, + "sourceVMStorageType": { + "description": "Storage type of the VM whose backup copy is created.", + "type": "string", + "readOnly": true + }, + "isSourceVMEncrypted": { + "description": "Identifies whether the VM was encrypted when the backup copy is created.", + "type": "boolean", + "readOnly": true + }, + "keyAndSecret": { + "$ref": "#/definitions/KeyAndSecretDetails", + "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." + }, + "isInstantIlrSessionActive": { + "description": "Is the session to recover items from this backup copy still active.", + "type": "boolean" + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformation" + } + }, + "isManagedVirtualMachine": { + "description": "Whether VM is with Managed Disks", + "type": "boolean" + }, + "virtualMachineSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "osType": { + "description": "OS type", + "type": "string" + }, + "recoveryPointDiskConfiguration": { + "$ref": "#/definitions/RecoveryPointDiskConfiguration", + "description": "Disk configuration" + } + }, + "x-ms-discriminator-value": "IaasVMRecoveryPoint" + }, + "IaasVMRestoreRequest": { + "description": "IaaS VM workload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "ID of the backup copy to be recovered.", + "type": "string" + }, + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM which is being recovered.", + "type": "string" + }, + "targetVirtualMachineId": { + "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", + "type": "string" + }, + "targetResourceGroupId": { + "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}", + "type": "string" + }, + "storageAccountId": { + "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", + "type": "string" + }, + "virtualNetworkId": { + "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.", + "type": "string" + }, + "subnetId": { + "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.", + "type": "string" + }, + "targetDomainNameId": { + "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.", + "type": "string" + }, + "region": { + "description": "Region in which the virtual machine is restored.", + "type": "string" + }, + "affinityGroup": { + "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", + "type": "string" + }, + "createNewCloudService": { + "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.", + "type": "boolean" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Details needed if the VM was encrypted at the time of backup." + }, + "restoreDiskLunList": { + "description": "List of Disk LUNs for partial restore", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + } + }, + "x-ms-discriminator-value": "IaasVMRestoreRequest" + }, + "Job": { + "description": "Defines workload agnostic properties for a job.", + "required": [ + "jobType" + ], + "type": "object", + "properties": { + "entityFriendlyName": { + "description": "Friendly name of the entity on which the current job is executing.", + "type": "string" + }, + "backupManagementType": { + "description": "Backup management type to execute the current job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "The operation name.", + "type": "string" + }, + "status": { + "description": "Job status.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "activityId": { + "description": "ActivityId of job.", + "type": "string" + }, + "jobType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "jobType" + }, + "JobQueryObject": { + "description": "Filters to list the jobs.", + "type": "object", + "properties": { + "status": { + "description": "Status of the job.", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed", + "CompletedWithWarnings", + "Cancelled", + "Cancelling" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup management for the job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "Type of operation.", + "enum": [ + "Invalid", + "Register", + "UnRegister", + "ConfigureBackup", + "Backup", + "Restore", + "DisableBackup", + "DeleteBackupData", + "CrossRegionRestore", + "Undelete" + ], + "type": "string", + "x-ms-enum": { + "name": "JobOperationType", + "modelAsString": true + } + }, + "jobId": { + "description": "JobID represents the job uniquely.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Job has started at this time. Value is in UTC.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Job has ended at this time. Value is in UTC.", + "type": "string" + } + } + }, + "JobResource": { + "description": "Defines workload agnostic properties for a job.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/Job", + "description": "JobResource properties" + } + } + }, + "JobResourceList": { + "description": "List of Job resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } + } + } + }, + "KEKDetails": { + "description": "KEK is encryption key for BEK.", + "type": "object", + "properties": { + "keyUrl": { + "description": "Key is KEK.", + "type": "string" + }, + "keyVaultId": { + "description": "Key Vault ID where this Key is stored.", + "type": "string" + }, + "keyBackupData": { + "description": "KEK data.", + "type": "string" + } + } + }, + "KeyAndSecretDetails": { + "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.", + "type": "object", + "properties": { + "kekDetails": { + "$ref": "#/definitions/KEKDetails", + "description": "KEK is encryption key for BEK." + }, + "bekDetails": { + "$ref": "#/definitions/BEKDetails", + "description": "BEK is bitlocker encryption key." + }, + "encryptionMechanism": { + "description": "Encryption mechanism: None/ SinglePass/ DoublePass", + "type": "string" + } + } + }, + "LogSchedulePolicy": { + "description": "Log policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleFrequencyInMins": { + "format": "int32", + "description": "Frequency of the log schedule operation of this policy in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "LogSchedulePolicy" + }, + "LongTermRetentionPolicy": { + "description": "Long term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "dailySchedule": { + "$ref": "#/definitions/DailyRetentionSchedule", + "description": "Daily retention schedule of the protection policy." + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklyRetentionSchedule", + "description": "Weekly retention schedule of the protection policy." + }, + "monthlySchedule": { + "$ref": "#/definitions/MonthlyRetentionSchedule", + "description": "Monthly retention schedule of the protection policy." + }, + "yearlySchedule": { + "$ref": "#/definitions/YearlyRetentionSchedule", + "description": "Yearly retention schedule of the protection policy." + } + }, + "x-ms-discriminator-value": "LongTermRetentionPolicy" + }, + "LongTermSchedulePolicy": { + "description": "Long term policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "x-ms-discriminator-value": "LongTermSchedulePolicy" + }, + "MabErrorInfo": { + "description": "MAB workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of localized recommendations.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "MabFileFolderProtectedItem": { + "description": "MAB workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of this backup item.", + "type": "string" + }, + "computerName": { + "description": "Name of the computer associated with this backup item.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Status of last backup operation.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Protected, ProtectionStopped, IRPending or ProtectionError", + "type": "string" + }, + "deferredDeleteSyncTimeInUTC": { + "format": "int64", + "description": "Sync time for deferred deletion in UTC", + "type": "integer" + }, + "extendedInfo": { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "MabFileFolderProtectedItem" + }, + "MabFileFolderProtectedItemExtendedInfo": { + "description": "Additional information on the backed up item.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Last time when the agent data synced to service.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies associated with the backup item.", + "type": "integer" + } + } + }, + "MabJob": { + "description": "MAB workload-specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time taken by job to run.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on jobs like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "mabServerName": { + "description": "Name of server protecting the DS.", + "type": "string" + }, + "mabServerType": { + "description": "Server type of MAB container.", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "MabServerType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type of backup item.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/MabErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/MabJobExtendedInfo", + "description": "Additional information on the job." + } + }, + "x-ms-discriminator-value": "MabJob" + }, + "MabJobExtendedInfo": { + "description": "Additional information for the MAB workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job.", + "type": "array", + "items": { + "$ref": "#/definitions/MabJobTaskDetails" + } + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message specific to this job.", + "type": "string" + } + } + }, + "MabJobTaskDetails": { + "description": "MAB workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "MabProtectionPolicy": { + "description": "Mab container-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "MAB" + }, + "MonthlyRetentionSchedule": { + "description": "Monthly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format type for monthly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for monthly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for monthly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "OperationResultInfo": { + "description": "Operation result info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "jobList": { + "description": "List of jobs created by this operation.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationResultInfo" + }, + "OperationResultInfoBase": { + "description": "Base class for operation result info.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "OperationResultInfoBaseResource": { + "description": "Base class for operation result info.", + "allOf": [ + { + "$ref": "#/definitions/OperationWorkerResponse" + } + ], + "properties": { + "operation": { + "$ref": "#/definitions/OperationResultInfoBase", + "description": "OperationResultInfoBaseResource operation" + } + } + }, + "OperationWorkerResponse": { + "description": "This is the base class for operation result responses.", + "type": "object", + "properties": { + "statusCode": { + "description": "HTTP Status Code of the operation.", + "enum": [ + "Continue", + "SwitchingProtocols", + "OK", + "Created", + "Accepted", + "NonAuthoritativeInformation", + "NoContent", + "ResetContent", + "PartialContent", + "MultipleChoices", + "Ambiguous", + "MovedPermanently", + "Moved", + "Found", + "Redirect", + "SeeOther", + "RedirectMethod", + "NotModified", + "UseProxy", + "Unused", + "TemporaryRedirect", + "RedirectKeepVerb", + "BadRequest", + "Unauthorized", + "PaymentRequired", + "Forbidden", + "NotFound", + "MethodNotAllowed", + "NotAcceptable", + "ProxyAuthenticationRequired", + "RequestTimeout", + "Conflict", + "Gone", + "LengthRequired", + "PreconditionFailed", + "RequestEntityTooLarge", + "RequestUriTooLong", + "UnsupportedMediaType", + "RequestedRangeNotSatisfiable", + "ExpectationFailed", + "UpgradeRequired", + "InternalServerError", + "NotImplemented", + "BadGateway", + "ServiceUnavailable", + "GatewayTimeout", + "HttpVersionNotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": false + } + }, + "headers": { + "description": "HTTP headers associated with this operation.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "PointInTimeRange": { + "description": "Provides details for log ranges", + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Start time of the time range for log recovery.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the time range for log recovery.", + "type": "string" + } + } + }, + "ProtectedItem": { + "description": "Base class for backup items.", + "type": "object", + "properties": { + "protectedItemType": { + "description": "backup item type.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "containerName": { + "description": "Unique name of container", + "type": "string" + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "lastRecoveryPoint": { + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set the backup item belongs to", + "type": "string" + }, + "createMode": { + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", + "enum": [ + "Invalid", + "Default", + "Recover" + ], + "type": "string", + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "deferredDeleteTimeInUTC": { + "format": "date-time", + "description": "Time for deferred deletion in UTC", + "type": "string" + }, + "isScheduledForDeferredDelete": { + "description": "Flag to identify whether the DS is scheduled for deferred delete", + "type": "boolean" + }, + "deferredDeleteTimeRemaining": { + "description": "Time remaining before the DS marked for deferred delete is permanently deleted", + "type": "string" + }, + "isDeferredDeleteScheduleUpcoming": { + "description": "Flag to identify whether the deferred deleted DS is to be purged soon", + "type": "boolean" + }, + "isRehydrate": { + "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", + "type": "boolean" + } + }, + "discriminator": "protectedItemType" + }, + "ProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "healthState": { + "description": "Health State for the backed up item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Backup management type for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "itemType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "policyName": { + "description": "Backup policy name associated with the backup item.", + "type": "string" + }, + "containerName": { + "description": "Name of the container.", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Engine name", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of protected item", + "type": "string" + }, + "fabricName": { + "description": "Name of the fabric.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set.", + "type": "string" + } + } + }, + "ProtectedItemResource": { + "description": "Base class for backup items.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectedItem", + "description": "ProtectedItemResource properties" + } + } + }, + "ProtectedItemResourceList": { + "description": "List of ProtectedItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + } + }, + "ProtectionPolicy": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "required": [ + "backupManagementType" + ], + "type": "object", + "properties": { + "protectedItemsCount": { + "format": "int32", + "description": "Number of items associated with this policy.", + "type": "integer" + }, + "backupManagementType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "backupManagementType" + }, + "ProtectionPolicyQueryObject": { + "description": "Filters the list backup policies API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup policy.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, + "workloadType": { + "description": "Workload type for the backup policy.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + } + } + }, + "ProtectionPolicyResource": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionPolicy", + "description": "ProtectionPolicyResource properties" + } + } + }, + "ProtectionPolicyResourceList": { + "description": "List of ProtectionPolicy resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + } + }, + "RecoveryPoint": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "RecoveryPointDiskConfiguration": { + "description": "Disk configuration", + "type": "object", + "properties": { + "numberOfDisksIncludedInBackup": { + "format": "int32", + "description": "Number of disks included in backup", + "type": "integer" + }, + "numberOfDisksAttachedToVm": { + "format": "int32", + "description": "Number of disks attached to the VM", + "type": "integer" + }, + "includedDiskList": { + "description": "Information of disks included in backup", + "type": "array", + "items": { + "$ref": "#/definitions/DiskInformation" + } + }, + "excludedDiskList": { + "description": "Information of disks excluded from backup", + "type": "array", + "items": { + "$ref": "#/definitions/DiskInformation" + } + } + } + }, + "RecoveryPointResource": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPoint", + "description": "RecoveryPointResource properties" + } + } + }, + "RecoveryPointResourceList": { + "description": "List of RecoveryPoint resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointResource" + } + } + } + }, + "RecoveryPointTierInformation": { + "description": "Recovery point tier information.", + "type": "object", + "properties": { + "type": { + "description": "Recovery point tier type.", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": false + } + } + } + }, + "Resource": { + "description": "ARM Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "description": "Optional ETag.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "ResourceList": { + "description": "Base for all lists of resources.", + "type": "object", + "properties": { + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + } + }, + "RestoreFileSpecs": { + "description": "Restore file specs like file path, type and target folder path info.", + "type": "object", + "properties": { + "path": { + "description": "Source File/Folder path", + "type": "string" + }, + "fileSpecType": { + "description": "Indicates what the Path variable stands for", + "type": "string" + }, + "targetFolderPath": { + "description": "Destination folder path in target FileShare", + "type": "string" + } + } + }, + "RestoreRequest": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "RestoreRequestResource": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RestoreRequest", + "description": "RestoreRequestResource properties" + } + } + }, + "RetentionDuration": { + "description": "Retention duration.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", + "type": "integer" + }, + "durationType": { + "description": "Retention duration type of retention policy.", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true + } + } + } + }, + "RetentionPolicy": { + "description": "Base class for retention policy.", + "required": [ + "retentionPolicyType" + ], + "type": "object", + "properties": { + "retentionPolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "retentionPolicyType" + }, + "SchedulePolicy": { + "description": "Base class for backup schedule.", + "required": [ + "schedulePolicyType" + ], + "type": "object", + "properties": { + "schedulePolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "schedulePolicyType" + }, + "Settings": { + "description": "Common settings field for backup management", + "type": "object", + "properties": { + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" + }, + "isCompression": { + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", + "type": "boolean" + } + } + }, + "SimpleRetentionPolicy": { + "description": "Simple policy retention.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of the protection policy." + } + }, + "x-ms-discriminator-value": "SimpleRetentionPolicy" + }, + "SimpleSchedulePolicy": { + "description": "Simple policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } + }, + "scheduleRunDays": { + "description": "List of days of week this schedule has to be run.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "scheduleWeeklyFrequency": { + "format": "int32", + "description": "At every number weeks this schedule has to be run.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "SimpleSchedulePolicy" + }, + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", + "type": "object", + "properties": { + "policyType": { + "description": "Type of backup policy type", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + } + } + }, + "SQLDataDirectory": { + "description": "SQLDataDirectory info", + "type": "object", + "properties": { + "type": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "path": { + "description": "File path", + "type": "string" + }, + "logicalName": { + "description": "Logical name of the file", + "type": "string" + } + } + }, + "SQLDataDirectoryMapping": { + "description": "Encapsulates information regarding data directory", + "type": "object", + "properties": { + "mappingType": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "sourceLogicalName": { + "description": "Restore source logical name path", + "type": "string" + }, + "sourcePath": { + "description": "Restore source path", + "type": "string" + }, + "targetPath": { + "description": "Target path", + "type": "string" + } + } + }, + "TargetAFSRestoreInfo": { + "description": "Target Azure File Share Info.", + "type": "object", + "properties": { + "name": { + "description": "File share name", + "type": "string" + }, + "targetResourceId": { + "description": "Target file share resource ARM ID", + "type": "string" + } + } + }, + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", + "type": "object", + "properties": { + "overwriteOption": { + "description": "Can Overwrite if Target DataBase already exists", + "enum": [ + "Invalid", + "FailOnConflict", + "Overwrite" + ], + "type": "string", + "x-ms-enum": { + "name": "OverwriteOptions", + "modelAsString": true + } + }, + "containerId": { + "description": "Resource Id name of the container in which Target DataBase resides", + "type": "string" + }, + "databaseName": { + "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", + "type": "string" + } + } + }, + "ValidateIaasVMRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateRestoreOperationRequest" + } + ], + "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" + }, + "ValidateOperationRequest": { + "description": "Base class for validate operation request.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "ValidateOperationResponse": { + "description": "Base class for validate operation response.", + "type": "object", + "properties": { + "validationResults": { + "description": "Gets the validation result", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + } + } + }, + "ValidateOperationsResponse": { + "type": "object", + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse" + } + } + }, + "ValidateRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateOperationRequest" + } + ], + "properties": { + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" + } + }, + "x-ms-discriminator-value": "ValidateRestoreOperationRequest" + }, + "WeeklyRetentionFormat": { + "description": "Weekly retention format.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of the week.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "weeksOfTheMonth": { + "description": "List of weeks of month.", + "type": "array", + "items": { + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "WeekOfMonth", + "modelAsString": false + } + } + } + } + }, + "WeeklyRetentionSchedule": { + "description": "Weekly retention schedule.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of week for weekly retention policy.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "YearlyRetentionSchedule": { + "description": "Yearly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format for yearly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "monthsOfYear": { + "description": "List of months of year of yearly retention policy.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "type": "string", + "x-ms-enum": { + "name": "MonthOfYear", + "modelAsString": false + } + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for yearly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupPolicies_List.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupPolicies_List.json index 34c612508a99..4a75aee73193 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupPolicies_List.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", - "api-version": "2017-07-01", + "api-version": "2019-05-13", "$filter": "backupManagementType eq 'AzureIaasVM'" }, "responses": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupProtectedItems_List.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupProtectedItems_List.json index fc6f16f2f740..85d863d25ac1 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", - "api-version": "2017-07-01", + "api-version": "2019-05-13", "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'" }, "responses": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json index c1dfd15bc518..05d4554fbc30 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -6,7 +6,7 @@ "fabricName": "Azure", "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "api-version": "2016-12-01" + "api-version": "2019-05-13" }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/Compute_ProtectedItem_Get.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/Compute_ProtectedItem_Get.json index 208c7be624ee..0ca6274f151f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -6,7 +6,7 @@ "fabricName": "Azure", "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", - "api-version": "2016-12-01" + "api-version": "2019-05-13" }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ConfigureProtection.json similarity index 99% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ConfigureProtection.json index 1bf08b3f954a..769b668cdf2e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ConfigureProtection.json @@ -6,7 +6,7 @@ "fabricName": "Azure", "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "api-version": "2016-12-01", + "api-version": "2019-05-13", "parameters": { "properties": { "protectedItemType": "Microsoft.Compute/virtualMachines", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectedItemOperationResults.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectedItemOperationResults.json index 0c762abfe85c..cd6891cc3bdd 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectedItemOperationResults.json @@ -7,7 +7,7 @@ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-12-01" + "api-version": "2019-05-13" }, "responses": { "202": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json similarity index 99% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json index 72ce3b95a189..89eadde28b86 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -4,7 +4,7 @@ "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", "policyName": "testPolicy1", - "api-version": "2016-06-01", + "api-version": "2019-05-13", "parameters": { "properties": { "backupManagementType": "AzureIaasVM", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json index d8dba41bcaed..dfaff12a253e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json @@ -4,7 +4,7 @@ "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", "policyName": "testPolicy1", - "api-version": "2016-06-01", + "api-version": "2019-05-13", "parameters": { "properties": { "backupManagementType": "AzureIaasVM", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_Get.json similarity index 97% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_Get.json index 6a698287fb6a..1b23850ebc11 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_Get.json @@ -4,7 +4,7 @@ "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", "policyName": "testPolicy1", - "api-version": "2016-06-01" + "api-version": "2019-05-13" }, "responses": { "200": { @@ -40,4 +40,4 @@ } } } -} +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json similarity index 97% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json index a3dbfc71880a..6fe8240dee89 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -5,7 +5,7 @@ "vaultName": "NetSDKTestRsVault", "policyName": "testPolicy1", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2016-06-01" + "api-version": "2019-05-13" }, "responses": { "200": { @@ -41,4 +41,4 @@ } } } -} +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_Get.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_Get.json index ed014826ff8e..02afdf9cab49 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_Get.json @@ -7,7 +7,7 @@ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "recoveryPointId": "26083826328862", - "api-version": "2016-12-01" + "api-version": "2019-05-13" }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_List.json similarity index 99% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_List.json index 497d446ccfa0..6504b3546ee9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_List.json @@ -6,7 +6,7 @@ "fabricName": "Azure", "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", - "api-version": "2016-12-01" + "api-version": "2019-05-13" }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/StopProtection.json similarity index 99% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/StopProtection.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/StopProtection.json index 0b7b463098e9..d56e6aa4bb0c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/StopProtection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/StopProtection.json @@ -6,7 +6,7 @@ "fabricName": "Azure", "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "api-version": "2016-12-01", + "api-version": "2019-05-13", "parameters": { "properties": { "protectedItemType": "Microsoft.Compute/virtualMachines", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_ALR.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_ALR.json index 59e09648760c..fb8a85232a4c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_ALR.json @@ -7,7 +7,7 @@ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "recoveryPointId": "348916168024334", - "api-version": "2016-12-01", + "api-version": "2019-05-13", "parameters": { "properties": { "objectType": "IaasVMRestoreRequest", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json index 9bdc518fb293..c0156c200bf7 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json @@ -7,7 +7,7 @@ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "recoveryPointId": "348916168024334", - "api-version": "2016-12-01", + "api-version": "2019-05-13", "parameters": { "properties": { "objectType": "IaasVMRestoreRequest", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json similarity index 97% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json index 4e4623565cb9..b180346e6f16 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json @@ -7,7 +7,7 @@ "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", "recoveryPointId": "348916168024334", - "api-version": "2017-07-01", + "api-version": "2019-05-13", "parameters": { "objectType": "ValidateIaasVMRestoreOperationRequest", "restoreRequest": { @@ -43,4 +43,4 @@ } } } -} +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/BackupPolicies_List.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/BackupPolicies_List.json index 08fbccd94854..e8545932fafe 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/BackupPolicies_List.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", - "api-version": "2017-07-01", + "api-version": "2019-05-13", "$filter": "backupManagementType eq 'AzureWorkload'" }, "responses": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json similarity index 99% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json index cc0786ecf9e1..23d785b1cb06 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -4,7 +4,7 @@ "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", "policyName": "testPolicy1", - "api-version": "2016-06-01", + "api-version": "2019-05-13", "parameters": { "properties": { "backupManagementType": "AzureWorkload", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Get.json similarity index 81% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Get.json index fcb899e0736e..2b7272148657 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Get.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "SwaggerTest", - "api-version": "2016-12-01" + "api-version": "2019-05-13" }, "responses": { "200": { @@ -12,7 +12,8 @@ "name": "vaultconfig", "type": "Microsoft.RecoveryServices/vaults/backupconfig", "properties": { - "enhancedSecurityState": "Enabled" + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" } } } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Patch.json similarity index 73% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Patch.json index 3b3c17c9d583..aa044378b4df 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Patch.json @@ -3,10 +3,11 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "SwaggerTest", - "api-version": "2016-12-01", + "api-version": "2019-05-13", "parameters": { "properties": { - "enhancedSecurityState": "Enabled" + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Disabled" } } }, @@ -17,7 +18,8 @@ "name": "vaultconfig", "type": "Microsoft.RecoveryServices/vaults/backupconfig", "properties": { - "enhancedSecurityState": "Enabled" + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Disabled" } } } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/CancelJobOperationResult.json similarity index 95% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/CancelJobOperationResult.json index 2420e329a3b1..c9c4de9a3239 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/CancelJobOperationResult.json @@ -5,7 +5,7 @@ "vaultName": "NetSDKTestRsVault", "jobName": "00000000-0000-0000-0000-000000000000", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2017-07-01" + "api-version": "2019-05-13" }, "responses": { "204": {}, diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ExportJobsOperationResult.json similarity index 97% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ExportJobsOperationResult.json index 658857ed4bfe..dfd2371f40e1 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ExportJobsOperationResult.json @@ -4,7 +4,7 @@ "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2017-07-01" + "api-version": "2019-05-13" }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/GetJobDetails.json similarity index 97% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/GetJobDetails.json index b6ce62c4e69d..f2ca44612c86 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/GetJobDetails.json @@ -4,7 +4,7 @@ "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", "jobName": "00000000-0000-0000-0000-000000000000", - "api-version": "2017-07-01" + "api-version": "2019-05-13" }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobs.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobs.json index 78d9a70b88f3..2fd11a66f8ce 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobs.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", - "api-version": "2017-07-01" + "api-version": "2019-05-13" }, "responses": { "200": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithAllSupportedFilters.json similarity index 97% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithAllSupportedFilters.json index bd6bdf4a9147..e796396846fb 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithAllSupportedFilters.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", - "api-version": "2017-07-01", + "api-version": "2019-05-13", "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'" }, "responses": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json similarity index 98% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json index dd7bdd1125d6..064e8ce9b8ef 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", - "api-version": "2017-07-01", + "api-version": "2019-05-13", "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'" }, "responses": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ProtectedItem_Delete.json similarity index 97% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ProtectedItem_Delete.json index caf0847f389c..10015f9ec309 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ProtectedItem_Delete.json @@ -6,7 +6,7 @@ "fabricName": "Azure", "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "api-version": "2016-12-01" + "api-version": "2019-05-13" }, "responses": { "202": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerCancelJob.json similarity index 95% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerCancelJob.json index 4107a8be21ef..097ac0743640 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerCancelJob.json @@ -4,7 +4,7 @@ "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", "jobName": "00000000-0000-0000-0000-000000000000", - "api-version": "2017-07-01" + "api-version": "2019-05-13" }, "responses": { "202": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerExportJobs.json similarity index 94% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExportJobs.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerExportJobs.json index 8b01e80dc2f3..d70c8bd6e771 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExportJobs.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerExportJobs.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "SwaggerTestRg", "vaultName": "NetSDKTestRsVault", - "api-version": "2017-07-01" + "api-version": "2019-05-13" }, "responses": { "202": { diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 9315eb24ef73..ab34c7e9f21f 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -52,6 +52,7 @@ These settings apply only when `--tag=package-2017-07` is specified on the comma ``` yaml $(tag) == 'package-2017-07' input-file: +- Microsoft.RecoveryServices/stable/2019-05-13/bms.json - Microsoft.RecoveryServices/stable/2017-07-01/bms.json - Microsoft.RecoveryServices/stable/2016-12-01/bms.json - Microsoft.RecoveryServices/stable/2016-08-10/operations.json