diff --git a/schemas/2023-04-01/Microsoft.RecoveryServices.Backup.json b/schemas/2023-04-01/Microsoft.RecoveryServices.Backup.json index bbb2c4748b..8373f269ce 100644 --- a/schemas/2023-04-01/Microsoft.RecoveryServices.Backup.json +++ b/schemas/2023-04-01/Microsoft.RecoveryServices.Backup.json @@ -3696,6 +3696,10 @@ "sourceResourceId": { "type": "string", "description": "ARM ID of the resource to be backed up." + }, + "vaultId": { + "type": "string", + "description": "ID of the vault which protects this item" } }, "description": "Base class for backup items." diff --git a/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json b/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json new file mode 100644 index 0000000000..7c29a95bb2 --- /dev/null +++ b/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json @@ -0,0 +1,4779 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults_backupconfig": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/vaultconfig$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupResourceVaultConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup resource vault config details." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupconfig" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupconfig" + }, + "vaults_backupEncryptionConfigs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/backupResourceEncryptionConfig$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupResourceEncryptionConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs" + }, + "vaults_backupFabrics_backupProtectionIntent": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Intent object name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup ProtectionIntent." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupFabrics/backupProtectionIntent" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupFabrics/backupProtectionIntent" + }, + "vaults_backupFabrics_protectionContainers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the container to be registered." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_backupFabrics_protectionContainers_protectedItems_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers" + }, + "vaults_backupFabrics_protectionContainers_protectedItems": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Item name to be backed up." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectedItem" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup items." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + }, + "vaults_backupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Backup policy to be created." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupPolicies" + }, + "vaults_backupResourceGuardProxies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceGuardProxyBase" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies" + }, + "vaults_backupstorageconfig": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/vaultstorageconfig$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupResourceConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource storage details." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/backupstorageconfig" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupstorageconfig" + }, + "vaults_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private Endpoint Connection Response Properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/privateEndpointConnections" + } + }, + "definitions": { + "AzureBackupServerContainer": { + "type": "object", + "properties": { + "containerType": { + "type": "string", + "enum": [ + "AzureBackupServerContainer" + ] + } + }, + "required": [ + "containerType" + ], + "description": "AzureBackupServer (DPMVenus) workload-specific protection container." + }, + "AzureFileshareProtectedItem": { + "type": "object", + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information about Azure File Share backup item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the fileshare represented by this backup item." + }, + "kpisHealths": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details of different KPIs" + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup operation status. Possible values: Healthy, Unhealthy." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "AzureFileShareProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item." + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure File Share workload-specific backup item." + }, + "AzureFileshareProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this item in the service." + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of available backup copies associated with this backup item." + } + }, + "description": "Additional information about Azure File Share backup item." + }, + "AzureFileShareProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureStorage" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + }, + "vaultRetentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/VaultRetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vault retention policy for AzureFileShare" + }, + "workLoadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of workload for the backup management." + } + }, + "required": [ + "backupManagementType" + ], + "description": "AzureStorage backup policy." + }, + "AzureIaaSClassicComputeVMContainer": { + "type": "object", + "properties": { + "containerType": { + "type": "string", + "enum": [ + "Microsoft.ClassicCompute/virtualMachines" + ] + } + }, + "required": [ + "containerType" + ], + "description": "IaaS VM workload-specific backup item representing a classic virtual machine." + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.ClassicCompute/virtualMachines" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM." + }, + "AzureIaaSComputeVMContainer": { + "type": "object", + "properties": { + "containerType": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] + } + }, + "required": [ + "containerType" + ], + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine." + }, + "AzureIaaSComputeVMProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM." + }, + "AzureIaaSVMHealthDetails": { + "type": "object", + "properties": {}, + "description": "Azure IaaS VM workload-specific Health Details." + }, + "AzureIaaSVMProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSClassicComputeVMProtectedItem" + }, + { + "$ref": "#/definitions/AzureIaaSComputeVMProtectedItem" + } + ], + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on Azure IaaS VM specific backup item." + }, + "extendedProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extended Properties for Azure IaasVM Backup." + }, + "healthDetails": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details on this backup item." + }, + "kpisHealths": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details of different KPIs" + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup operation status." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "AzureIaaSVMProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item." + } + }, + "required": [ + "protectedItemType" + ], + "description": "IaaS VM workload-specific backup item." + }, + "AzureIaaSVMProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "newestRecoveryPointInArchive": { + "type": "string", + "format": "date-time", + "description": "The latest backup copy available for this backup item in archive tier" + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item across all tiers." + }, + "oldestRecoveryPointInArchive": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item in archive tier" + }, + "oldestRecoveryPointInVault": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item in vault tier" + }, + "policyInconsistent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if backup policy associated with the backup item is inconsistent." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of backup copies available for this backup item." + } + }, + "description": "Additional information on Azure IaaS VM specific backup item." + }, + "AzureIaaSVMProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureIaasVM" + ] + }, + "instantRPDetails": { + "oneOf": [ + { + "$ref": "#/definitions/InstantRPAdditionalDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "instantRpRetentionRangeInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Instant RP retention policy range in days" + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + }, + "tieringPolicy": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TieringPolicy" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tiering policy to automatically move RPs to another tier\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier." + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + } + }, + "required": [ + "backupManagementType" + ], + "description": "IaaS VM workload-specific backup policy." + }, + "AzureRecoveryServiceVaultProtectionIntent": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" + } + ], + "properties": { + "protectionIntentItemType": { + "type": "string", + "enum": [ + "RecoveryServiceVaultItem" + ] + } + }, + "required": [ + "protectionIntentItemType" + ], + "description": "Azure Recovery Services Vault specific protection intent item." + }, + "AzureResourceProtectionIntent": { + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of the VM represented by this backup item." + }, + "protectionIntentItemType": { + "type": "string", + "enum": [ + "AzureResourceItem" + ] + } + }, + "required": [ + "protectionIntentItemType" + ], + "description": "IaaS VM specific backup protection intent item." + }, + "AzureSQLAGWorkloadContainerProtectionContainer": { + "type": "object", + "properties": { + "containerType": { + "type": "string", + "enum": [ + "SQLAGWorkLoadContainer" + ] + } + }, + "required": [ + "containerType" + ], + "description": "Container for SQL workloads under SQL Availability Group." + }, + "AzureSqlContainer": { + "type": "object", + "properties": { + "containerType": { + "type": "string", + "enum": [ + "AzureSqlContainer" + ] + } + }, + "required": [ + "containerType" + ], + "description": "Azure Sql workload-specific container." + }, + "AzureSqlProtectedItem": { + "type": "object", + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on Azure Sql specific protected item." + }, + "protectedItemDataId": { + "type": "string", + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of the backed up item." + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure SQL workload-specific backup item." + }, + "AzureSqlProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this item in the service." + }, + "policyState": { + "type": "string", + "description": "State of the backup policy associated with this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of available backup copies associated with this backup item." + } + }, + "description": "Additional information on Azure Sql specific protected item." + }, + "AzureSqlProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureSql" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Azure SQL workload-specific backup policy." + }, + "AzureStorageContainer": { + "type": "object", + "properties": { + "acquireStorageAccountLock": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Acquire", + "NotAcquire" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether storage account lock is to be acquired for this container or not." + }, + "containerType": { + "type": "string", + "enum": [ + "StorageContainer" + ] + }, + "protectedItemCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of items backed up in this container." + }, + "resourceGroup": { + "type": "string", + "description": "Resource group name of Recovery Services Vault." + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM url." + }, + "storageAccountVersion": { + "type": "string", + "description": "Storage account version." + } + }, + "required": [ + "containerType" + ], + "description": "Azure Storage Account workload-specific container." + }, + "AzureVMAppContainerProtectionContainer": { + "type": "object", + "properties": { + "containerType": { + "type": "string", + "enum": [ + "VMAppContainer" + ] + } + }, + "required": [ + "containerType" + ], + "description": "Container for SQL workloads under Azure Virtual Machines." + }, + "AzureVmWorkloadProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadSAPAseDatabaseProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadSAPHanaDatabaseProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadSAPHanaDBInstanceProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadSQLDatabaseProtectedItem" + } + ], + "properties": { + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on Azure Workload for SQL specific backup item." + }, + "kpisHealths": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details of different KPIs" + }, + "lastBackupErrorDetail": { + "oneOf": [ + { + "$ref": "#/definitions/ErrorDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "lastBackupStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Last backup operation status. Possible values: Healthy, Unhealthy." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "nodesList": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of the nodes in case of distributed container." + }, + "parentName": { + "type": "string", + "description": "Parent name of the DB such as Instance or Availability Group." + }, + "parentType": { + "type": "string", + "description": "Parent type of protected item, example: for a DB, standalone server or distributed" + }, + "protectedItemDataSourceId": { + "type": "string", + "description": "Data ID of the protected item." + }, + "protectedItemHealthStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health status of the backup item, evaluated based on last heartbeat received." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item." + }, + "AzureVmWorkloadProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "newestRecoveryPointInArchive": { + "type": "string", + "format": "date-time", + "description": "The latest backup copy available for this backup item in archive tier" + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item across all tiers." + }, + "oldestRecoveryPointInArchive": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item in archive tier" + }, + "oldestRecoveryPointInVault": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available for this backup item in vault tier" + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "recoveryModel": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of backup copies available for this backup item." + } + }, + "description": "Additional information on Azure Workload for SQL specific backup item." + }, + "AzureVmWorkloadProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "AzureWorkload" + ] + }, + "makePolicyConsistent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fix the policy inconsistency" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/definitions/Settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Common settings field for backup management" + }, + "subProtectionPolicy": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of sub-protection policies which includes schedule and retention" + }, + "workLoadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of workload for the backup management." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Azure VM (Mercury) workload-specific backup policy." + }, + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSAPAseDatabase" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SAP ASE Database." + }, + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSAPHanaDatabase" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SAP HANA Database." + }, + "AzureVmWorkloadSAPHanaDBInstanceProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSAPHanaDBInstance" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SAP HANA DBInstance." + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "type": "object", + "properties": { + "protectedItemType": { + "type": "string", + "enum": [ + "AzureVmWorkloadSQLDatabase" + ] + } + }, + "required": [ + "protectedItemType" + ], + "description": "Azure VM workload-specific protected item representing SQL Database." + }, + "AzureWorkloadAutoProtectionIntent": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLAutoProtectionIntent" + } + ], + "properties": { + "protectionIntentItemType": { + "type": "string", + "enum": [ + "AzureWorkloadAutoProtectionIntent" + ] + } + }, + "required": [ + "protectionIntentItemType" + ], + "description": "Azure Recovery Services Vault specific protection intent item." + }, + "AzureWorkloadContainer": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureSQLAGWorkloadContainerProtectionContainer" + }, + { + "$ref": "#/definitions/AzureVMAppContainerProtectionContainer" + } + ], + "properties": { + "containerType": { + "type": "string", + "enum": [ + "AzureWorkloadContainer" + ] + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extended information of the container." + }, + "lastUpdatedTime": { + "type": "string", + "format": "date-time", + "description": "Time stamp when this container was updated." + }, + "operationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Register", + "Reregister" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Re-Do Operation." + }, + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the virtual machine represented by this Azure Workload Container" + }, + "workloadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload type for which registration was sent." + } + }, + "required": [ + "containerType" + ], + "description": "Container for the workloads running inside Azure Compute or Classic Compute." + }, + "AzureWorkloadContainerAutoProtectionIntent": { + "type": "object", + "properties": { + "protectionIntentItemType": { + "type": "string", + "enum": [ + "AzureWorkloadContainerAutoProtectionIntent" + ] + } + }, + "required": [ + "protectionIntentItemType" + ], + "description": "Azure workload specific protection intent item." + }, + "AzureWorkloadContainerExtendedInfo": { + "type": "object", + "properties": { + "hostServerName": { + "type": "string", + "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container." + }, + "inquiryInfo": { + "oneOf": [ + { + "$ref": "#/definitions/InquiryInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Details about inquired protectable items under a given container." + }, + "nodesList": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of the nodes in case of distributed container." + } + }, + "description": "Extended information of the container." + }, + "AzureWorkloadSQLAutoProtectionIntent": { + "type": "object", + "properties": { + "protectionIntentItemType": { + "type": "string", + "enum": [ + "AzureWorkloadSQLAutoProtectionIntent" + ] + }, + "workloadItemType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase", + "SAPHanaDBInstance" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload item type of the item for which intent is to be set." + } + }, + "required": [ + "protectionIntentItemType" + ], + "description": "Azure Workload SQL Auto Protection intent item." + }, + "BackupResourceConfig": { + "type": "object", + "properties": { + "crossRegionRestoreFlag": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Opt in details of Cross Region Restore feature." + }, + "dedupState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vault Dedup state." + }, + "storageModelType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageTypeState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked." + }, + "xcoolState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vault x-cool state." + } + }, + "description": "The resource storage details." + }, + "BackupResourceEncryptionConfig": { + "type": "object", + "properties": { + "encryptionAtRestType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "MicrosoftManaged", + "CustomerManaged" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption At Rest Type." + }, + "infrastructureEncryptionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "keyUri": { + "type": "string", + "description": "Key Vault Key URI" + }, + "lastUpdateStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "NotEnabled", + "PartiallySucceeded", + "PartiallyFailed", + "Failed", + "Succeeded", + "Initialized", + "FirstInitialization" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "subscriptionId": { + "type": "string", + "description": "Key Vault Subscription Id" + } + } + }, + "BackupResourceVaultConfig": { + "type": "object", + "properties": { + "enhancedSecurityState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabled or Disabled." + }, + "isSoftDeleteFeatureStateEditable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault" + }, + "resourceGuardOperationRequests": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ResourceGuard Operation Requests" + }, + "softDeleteFeatureState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Enabled", + "Disabled", + "AlwaysON" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Soft Delete feature state." + }, + "softDeleteRetentionPeriodInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Soft delete retention period in days" + }, + "storageModelType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageTypeState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked." + } + }, + "description": "Backup resource vault config details." + }, + "ContainerIdentityInfo": { + "type": "object", + "properties": { + "aadTenantId": { + "type": "string", + "description": "Protection container identity - AAD Tenant" + }, + "audience": { + "type": "string", + "description": "Protection container identity - Audience" + }, + "servicePrincipalClientId": { + "type": "string", + "description": "Protection container identity - AAD Service Principal" + }, + "uniqueName": { + "type": "string", + "description": "Unique name of the container" + } + }, + "description": "Container identity information" + }, + "DailyRetentionFormat": { + "type": "object", + "properties": { + "daysOfTheMonth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Day" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of the month." + } + }, + "description": "Daily retention format." + }, + "DailyRetentionSchedule": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Daily retention schedule." + }, + "DailySchedule": { + "type": "object", + "properties": { + "scheduleRunTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of times of day this schedule has to be run." + } + } + }, + "Day": { + "type": "object", + "properties": { + "date": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Date of the month" + }, + "isLast": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether Date is last date of month" + } + }, + "description": "Day of the week." + }, + "DiskExclusionProperties": { + "type": "object", + "properties": { + "diskLunList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection." + }, + "isInclusionList": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup." + } + } + }, + "DistributedNodesInfo": { + "type": "object", + "properties": { + "errorDetail": { + "oneOf": [ + { + "$ref": "#/definitions/ErrorDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "nodeName": { + "type": "string", + "description": "Name of the node under a distributed container." + }, + "sourceResourceId": { + "type": "string", + "description": "ARM resource id of the node" + }, + "status": { + "type": "string", + "description": "Status of this Node.\r\nFailed | Succeeded" + } + }, + "description": "This is used to represent the various nodes of the distributed container." + }, + "DpmContainer": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureBackupServerContainer" + } + ], + "properties": { + "canReRegister": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the container is re-registrable." + }, + "containerId": { + "type": "string", + "description": "ID of container." + }, + "containerType": { + "type": "string", + "enum": [ + "DPMContainer" + ] + }, + "dpmAgentVersion": { + "type": "string", + "description": "Backup engine Agent version" + }, + "dpmServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of BackupEngines protecting the container" + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DPMContainerExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information of the DPMContainer." + }, + "protectedItemCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of protected items in the BackupEngine" + }, + "protectionStatus": { + "type": "string", + "description": "Protection status of the container." + }, + "upgradeAvailable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if upgrade available" + } + }, + "required": [ + "containerType" + ], + "description": "DPM workload-specific protection container." + }, + "DPMContainerExtendedInfo": { + "type": "object", + "properties": { + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last refresh time of the DPMContainer." + } + }, + "description": "Additional information of the DPMContainer." + }, + "DPMProtectedItem": { + "type": "object", + "properties": { + "backupEngineName": { + "type": "string", + "description": "Backup Management server protecting this backup item" + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DPMProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information of DPM Protected item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the managed item" + }, + "protectedItemType": { + "type": "string", + "enum": [ + "DPMProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protection state of the backup engine." + } + }, + "required": [ + "protectedItemType" + ], + "description": "Additional information on Backup engine specific backup item." + }, + "DPMProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "diskStorageUsedInBytes": { + "type": "string", + "description": "Used Disk storage in bytes." + }, + "isCollocated": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if backup item is collocated." + }, + "isPresentOnCloud": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if backup item is cloud protected." + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup status information on backup item." + }, + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last refresh time on backup item." + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Oldest cloud recovery point time." + }, + "onPremiseLatestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "latest disk recovery point time." + }, + "onPremiseOldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Oldest disk recovery point time." + }, + "onPremiseRecoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "disk recovery point count." + }, + "protectableObjectLoadPath": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Attribute to provide information on various DBs." + }, + "protected": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To check if backup item is disk protected." + }, + "protectionGroupName": { + "type": "string", + "description": "Protection group name of the backup item." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "cloud recovery point count." + }, + "totalDiskStorageSizeInBytes": { + "type": "string", + "description": "total Disk storage in bytes." + } + }, + "description": "Additional information of DPM Protected item." + }, + "ErrorDetail": { + "type": "object", + "properties": {}, + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "ExtendedProperties": { + "type": "object", + "properties": { + "diskExclusionProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskExclusionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "linuxVmApplicationName": { + "type": "string", + "description": "Linux VM name" + } + }, + "description": "Extended Properties for Azure IaasVM Backup." + }, + "GenericContainer": { + "type": "object", + "properties": { + "containerType": { + "type": "string", + "enum": [ + "GenericContainer" + ] + }, + "extendedInformation": { + "oneOf": [ + { + "$ref": "#/definitions/GenericContainerExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container extended information" + }, + "fabricName": { + "type": "string", + "description": "Name of the container's fabric" + } + }, + "required": [ + "containerType" + ], + "description": "Base class for generic container of backup items" + }, + "GenericContainerExtendedInfo": { + "type": "object", + "properties": { + "containerIdentityInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerIdentityInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container identity information" + }, + "rawCertData": { + "type": "string", + "description": "Public key of container cert" + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Backup Service Endpoints for the container" + } + }, + "description": "Container extended information" + }, + "GenericProtectedItem": { + "type": "object", + "properties": { + "fabricName": { + "type": "string", + "description": "Name of this backup item's fabric." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the container." + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "protectedItemId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data Plane Service ID of the protected item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "GenericProtectedItem" + ] + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "sourceAssociations": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)" + } + }, + "required": [ + "protectedItemType" + ], + "description": "Base class for backup items." + }, + "GenericProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "GenericProtectionPolicy" + ] + }, + "fabricName": { + "type": "string", + "description": "Name of this policy's fabric." + }, + "subProtectionPolicy": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of sub-protection policies which includes schedule and retention" + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Azure VM (Mercury) workload-specific backup policy." + }, + "HourlySchedule": { + "type": "object", + "properties": { + "interval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Interval at which backup needs to be triggered. For hourly the value\r\n can be 4/6/8/12" + }, + "scheduleWindowDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To specify duration of the backup window" + }, + "scheduleWindowStartTime": { + "type": "string", + "format": "date-time", + "description": "To specify start time of the backup window" + } + } + }, + "IaaSVMContainer": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureIaaSClassicComputeVMContainer" + }, + { + "$ref": "#/definitions/AzureIaaSComputeVMContainer" + } + ], + "properties": { + "containerType": { + "type": "string", + "enum": [ + "IaasVMContainer" + ] + }, + "resourceGroup": { + "type": "string", + "description": "Resource group name of Recovery Services Vault." + }, + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container." + }, + "virtualMachineVersion": { + "type": "string", + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." + } + }, + "required": [ + "containerType" + ], + "description": "IaaS VM workload-specific container." + }, + "InquiryInfo": { + "type": "object", + "properties": { + "errorDetail": { + "oneOf": [ + { + "$ref": "#/definitions/ErrorDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "inquiryDetails": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadInquiryDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details." + }, + "status": { + "type": "string", + "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded" + } + }, + "description": "Details about inquired protectable items under a given container." + }, + "InquiryValidation": { + "type": "object", + "properties": { + "errorDetail": { + "oneOf": [ + { + "$ref": "#/definitions/ErrorDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Error Detail class which encapsulates Code, Message and Recommendations." + }, + "status": { + "type": "string", + "description": "Status for the Inquiry Validation." + } + }, + "description": "Validation for inquired protectable items under a given container." + }, + "InstantRPAdditionalDetails": { + "type": "object", + "properties": { + "azureBackupRGNamePrefix": { + "type": "string" + }, + "azureBackupRGNameSuffix": { + "type": "string" + } + } + }, + "KPIResourceHealthDetails": { + "type": "object", + "properties": { + "resourceHealthDetails": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceHealthDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource Health Status" + }, + "resourceHealthStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource Health Status." + } + }, + "description": "KPI Resource Health Details" + }, + "LogSchedulePolicy": { + "type": "object", + "properties": { + "scheduleFrequencyInMins": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of the log schedule operation of this policy in minutes." + }, + "schedulePolicyType": { + "type": "string", + "enum": [ + "LogSchedulePolicy" + ] + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Log policy schedule." + }, + "LongTermRetentionPolicy": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention schedule." + }, + "monthlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/MonthlyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly retention schedule." + }, + "retentionPolicyType": { + "type": "string", + "enum": [ + "LongTermRetentionPolicy" + ] + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention schedule." + }, + "yearlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/YearlyRetentionSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Yearly retention schedule." + } + }, + "required": [ + "retentionPolicyType" + ], + "description": "Long term retention policy." + }, + "LongTermSchedulePolicy": { + "type": "object", + "properties": { + "schedulePolicyType": { + "type": "string", + "enum": [ + "LongTermSchedulePolicy" + ] + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Long term policy schedule." + }, + "MabContainer": { + "type": "object", + "properties": { + "agentVersion": { + "type": "string", + "description": "Agent version of this container." + }, + "canReRegister": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Can the container be registered one more time." + }, + "containerHealthState": { + "type": "string", + "description": "Health state of mab container." + }, + "containerId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ContainerID represents the container." + }, + "containerType": { + "type": "string", + "enum": [ + "Windows" + ] + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MabContainerExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information of the container." + }, + "mabContainerHealthDetails": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MABContainerHealthDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health details on this mab container." + }, + "protectedItemCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of items backed up in this container." + } + }, + "required": [ + "containerType" + ], + "description": "Container with items backed up using MAB backup engine." + }, + "MabContainerExtendedInfo": { + "type": "object", + "properties": { + "backupItems": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of backup items associated with this container." + }, + "backupItemType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of backup items associated with this container." + }, + "lastBackupStatus": { + "type": "string", + "description": "Latest backup status of this container." + }, + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Time stamp when this container was refreshed." + }, + "policyName": { + "type": "string", + "description": "Backup policy associated with this container." + } + }, + "description": "Additional information of the container." + }, + "MABContainerHealthDetails": { + "type": "object", + "properties": { + "code": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health Code" + }, + "message": { + "type": "string", + "description": "Health Message" + }, + "recommendations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Health Recommended Actions" + }, + "title": { + "type": "string", + "description": "Health Title" + } + }, + "description": "MAB workload-specific Health Details." + }, + "MabFileFolderProtectedItem": { + "type": "object", + "properties": { + "computerName": { + "type": "string", + "description": "Name of the computer associated with this backup item." + }, + "deferredDeleteSyncTimeInUTC": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sync time for deferred deletion in UTC" + }, + "extendedInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional information on the backed up item." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of this backup item." + }, + "lastBackupStatus": { + "type": "string", + "description": "Status of last backup operation." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "protectedItemType": { + "type": "string", + "enum": [ + "MabFileFolderProtectedItem" + ] + }, + "protectionState": { + "type": "string", + "description": "Protected, ProtectionStopped, IRPending or ProtectionError" + } + }, + "required": [ + "protectedItemType" + ], + "description": "MAB workload-specific backup item." + }, + "MabFileFolderProtectedItemExtendedInfo": { + "type": "object", + "properties": { + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last time when the agent data synced to service." + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available." + }, + "recoveryPointCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of backup copies associated with the backup item." + } + }, + "description": "Additional information on the backed up item." + }, + "MabProtectionPolicy": { + "type": "object", + "properties": { + "backupManagementType": { + "type": "string", + "enum": [ + "MAB" + ] + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + } + }, + "required": [ + "backupManagementType" + ], + "description": "Mab container-specific backup policy." + }, + "MonthlyRetentionSchedule": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionScheduleDaily": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention format." + }, + "retentionScheduleFormatType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention schedule format type for monthly retention policy." + }, + "retentionScheduleWeekly": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention format." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Monthly retention schedule." + }, + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Gets or sets id" + } + }, + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection" + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "groupIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "AzureBackup", + "AzureBackup_secondary", + "AzureSiteRecovery" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Group Ids for the Private Endpoint" + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private Link Service Connection State" + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets provisioning state of the private endpoint connection." + } + }, + "description": "Private Endpoint Connection Response Properties" + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "Gets or sets actions required" + }, + "description": { + "type": "string", + "description": "Gets or sets description" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the status." + } + }, + "description": "Private Link Service Connection State" + }, + "ProtectedItem": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureFileshareProtectedItem" + }, + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + }, + { + "$ref": "#/definitions/AzureSqlProtectedItem" + }, + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + }, + { + "$ref": "#/definitions/DPMProtectedItem" + }, + { + "$ref": "#/definitions/GenericProtectedItem" + }, + { + "$ref": "#/definitions/MabFileFolderProtectedItem" + } + ], + "properties": { + "backupSetName": { + "type": "string", + "description": "Name of the backup set the backup item belongs to" + }, + "containerName": { + "type": "string", + "description": "Unique name of container" + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Default", + "Recover" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source." + }, + "deferredDeleteTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "Time for deferred deletion in UTC" + }, + "deferredDeleteTimeRemaining": { + "type": "string", + "description": "Time remaining before the DS marked for deferred delete is permanently deleted" + }, + "isArchiveEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify whether datasource is protected in archive" + }, + "isDeferredDeleteScheduleUpcoming": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify whether the deferred deleted DS is to be purged soon" + }, + "isRehydrate": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify that deferred deleted DS is to be moved into Pause state" + }, + "isScheduledForDeferredDelete": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to identify whether the DS is scheduled for deferred delete" + }, + "lastRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item." + }, + "policyId": { + "type": "string", + "description": "ID of the backup policy with which this item is backed up." + }, + "policyName": { + "type": "string", + "description": "Name of the policy used for protection" + }, + "resourceGuardOperationRequests": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ResourceGuardOperationRequests on which LAC check will be performed" + }, + "softDeleteRetentionPeriodInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Soft delete retention period in days" + }, + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the resource to be backed up." + } + }, + "description": "Base class for backup items." + }, + "ProtectionContainer": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureSqlContainer" + }, + { + "$ref": "#/definitions/AzureStorageContainer" + }, + { + "$ref": "#/definitions/AzureWorkloadContainer" + }, + { + "$ref": "#/definitions/DpmContainer" + }, + { + "$ref": "#/definitions/GenericContainer" + }, + { + "$ref": "#/definitions/IaaSVMContainer" + }, + { + "$ref": "#/definitions/MabContainer" + } + ], + "properties": { + "backupManagementType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of backup management for the container." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of the container." + }, + "healthStatus": { + "type": "string", + "description": "Status of health of the container." + }, + "protectableObjectType": { + "type": "string", + "description": "Type of the protectable object associated with this container" + }, + "registrationStatus": { + "type": "string", + "description": "Status of registration of the container with the Recovery Services Vault." + } + }, + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class." + }, + "ProtectionIntent": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" + }, + { + "$ref": "#/definitions/AzureResourceProtectionIntent" + }, + { + "$ref": "#/definitions/AzureWorkloadContainerAutoProtectionIntent" + } + ], + "properties": { + "backupManagementType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of backup management for the backed up item." + }, + "itemId": { + "type": "string", + "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId" + }, + "policyId": { + "type": "string", + "description": "ID of the backup policy with which this item is backed up." + }, + "protectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup state of this backup item." + }, + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the resource to be backed up." + } + }, + "description": "Base class for backup ProtectionIntent." + }, + "ProtectionPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureFileShareProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureIaaSVMProtectionPolicy" + }, + { + "$ref": "#/definitions/AzureSqlProtectionPolicy" + }, + { + "$ref": "#/definitions/GenericProtectionPolicy" + }, + { + "$ref": "#/definitions/MabProtectionPolicy" + } + ], + "properties": { + "protectedItemsCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of items associated with this policy." + }, + "resourceGuardOperationRequests": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ResourceGuard Operation Requests" + } + }, + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class." + }, + "ResourceGuardOperationDetail": { + "type": "object", + "properties": { + "defaultResourceRequest": { + "type": "string" + }, + "vaultCriticalOperation": { + "type": "string" + } + } + }, + "ResourceGuardProxyBase": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "lastUpdatedTime": { + "type": "string" + }, + "resourceGuardOperationDetails": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardOperationDetail" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resourceGuardResourceId": { + "type": "string" + } + } + }, + "ResourceHealthDetails": { + "type": "object", + "properties": {}, + "description": "Health Details for backup items." + }, + "RetentionDuration": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "durationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration type of retention policy." + } + }, + "description": "Retention duration." + }, + "RetentionPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/LongTermRetentionPolicy" + }, + { + "$ref": "#/definitions/SimpleRetentionPolicy" + } + ], + "properties": {}, + "description": "Base class for retention policy." + }, + "SchedulePolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/LogSchedulePolicy" + }, + { + "$ref": "#/definitions/LongTermSchedulePolicy" + }, + { + "$ref": "#/definitions/SimpleSchedulePolicy" + }, + { + "$ref": "#/definitions/SimpleSchedulePolicyV2" + } + ], + "properties": {}, + "description": "Base class for backup schedule." + }, + "Settings": { + "type": "object", + "properties": { + "isCompression": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag." + }, + "issqlcompression": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL compression flag" + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + } + }, + "description": "Common settings field for backup management" + }, + "SimpleRetentionPolicy": { + "type": "object", + "properties": { + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionPolicyType": { + "type": "string", + "enum": [ + "SimpleRetentionPolicy" + ] + } + }, + "required": [ + "retentionPolicyType" + ], + "description": "Simple policy retention." + }, + "SimpleSchedulePolicy": { + "type": "object", + "properties": { + "hourlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/HourlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "schedulePolicyType": { + "type": "string", + "enum": [ + "SimpleSchedulePolicy" + ] + }, + "scheduleRunDays": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of week this schedule has to be run." + }, + "scheduleRunFrequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly", + "Hourly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of the schedule operation of this policy." + }, + "scheduleRunTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of times of day this schedule has to be run." + }, + "scheduleWeeklyFrequency": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "At every number weeks this schedule has to be run." + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "Simple policy schedule." + }, + "SimpleSchedulePolicyV2": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hourlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/HourlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "schedulePolicyType": { + "type": "string", + "enum": [ + "SimpleSchedulePolicyV2" + ] + }, + "scheduleRunFrequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly", + "Hourly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of the schedule operation of this policy." + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "schedulePolicyType" + ], + "description": "The V2 policy schedule for IaaS that supports hourly backups." + }, + "SnapshotBackupAdditionalDetails": { + "type": "object", + "properties": { + "instantRPDetails": { + "type": "string" + }, + "instantRpRetentionRangeInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedManagedIdentityDetails": { + "oneOf": [ + { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Snapshot Backup related fields for WorkloadType SaPHanaSystem" + }, + "SubProtectionPolicy": { + "type": "object", + "properties": { + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of backup policy type." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + }, + "schedulePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup schedule." + }, + "snapshotBackupAdditionalDetails": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotBackupAdditionalDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot Backup related fields for WorkloadType SaPHanaSystem" + }, + "tieringPolicy": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TieringPolicy" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tiering policy to automatically move RPs to another tier.\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier." + } + }, + "description": "Sub-protection policy which includes schedule and retention" + }, + "TieringPolicy": { + "type": "object", + "properties": { + "duration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of days/weeks/months/years to retain backups in current tier before tiering.\r\nUsed only if TieringMode is set to TierAfter" + }, + "durationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration type: days/weeks/months/years\r\nUsed only if TieringMode is set to TierAfter." + }, + "tieringMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "TierRecommended", + "TierAfter", + "DoNotTier" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tiering Mode to control automatic tiering of recovery points. Supported values are:\r\n1. TierRecommended: Tier all recovery points recommended to be tiered\r\n2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.\r\n3. DoNotTier: Do not tier any recovery points." + } + }, + "description": "Tiering Policy for a target tier.\r\nIf the policy is not specified for a given target tier, service retains the existing configured tiering policy for that tier" + }, + "UserAssignedIdentityProperties": { + "type": "object", + "properties": { + "clientId": { + "type": "string" + }, + "principalId": { + "type": "string" + } + } + }, + "UserAssignedManagedIdentityDetails": { + "type": "object", + "properties": { + "identityArmId": { + "type": "string" + }, + "identityName": { + "type": "string" + }, + "userAssignedIdentityProperties": { + "oneOf": [ + { + "$ref": "#/definitions/UserAssignedIdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "VaultRetentionPolicy": { + "type": "object", + "properties": { + "snapshotRetentionInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultRetention": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for retention policy." + } + }, + "required": [ + "snapshotRetentionInDays", + "vaultRetention" + ], + "description": "Vault retention policy for AzureFileShare" + }, + "vaults_backupFabrics_protectionContainers_protectedItems_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Item name to be backed up." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectedItem" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for backup items." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "protectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems" + }, + "WeeklyRetentionFormat": { + "type": "object", + "properties": { + "daysOfTheWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of the week." + }, + "weeksOfTheMonth": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of weeks of month." + } + }, + "description": "Weekly retention format." + }, + "WeeklyRetentionSchedule": { + "type": "object", + "properties": { + "daysOfTheWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of days of week for weekly retention policy." + }, + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Weekly retention schedule." + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "scheduleRunDays": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "scheduleRunTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of times of day this schedule has to be run." + } + } + }, + "WorkloadInquiryDetails": { + "type": "object", + "properties": { + "inquiryValidation": { + "oneOf": [ + { + "$ref": "#/definitions/InquiryValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Validation for inquired protectable items under a given container." + }, + "itemCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains the protectable item Count inside this Container." + }, + "type": { + "type": "string", + "description": "Type of the Workload such as SQL, Oracle etc." + } + }, + "description": "Details of an inquired protectable item." + }, + "YearlyRetentionSchedule": { + "type": "object", + "properties": { + "monthsOfYear": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of months of year of yearly retention policy." + }, + "retentionDuration": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionDuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention duration." + }, + "retentionScheduleDaily": { + "oneOf": [ + { + "$ref": "#/definitions/DailyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily retention format." + }, + "retentionScheduleFormatType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention schedule format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklyRetentionFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly retention format." + }, + "retentionTimes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention times of retention policy." + } + }, + "description": "Yearly retention schedule." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 7cdbeb3ee6..44977a1322 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -28996,6 +28996,33 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupconfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupEncryptionConfigs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupFabrics_backupProtectionIntent" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupFabrics_protectionContainers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupFabrics_protectionContainers_protectedItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupResourceGuardProxies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupstorageconfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-06-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults" },