From 92f69302e0a0e53ffb6a0e5ca45f2fd2f20f0f65 Mon Sep 17 00:00:00 2001 From: Prasanjeets Date: Wed, 22 Jun 2022 11:20:49 +0530 Subject: [PATCH 1/9] updated all changes in one PR --- ...oleAssignments.bicep => nested_rbac.bicep} | 2 +- .../vaults/.parameters/parameters.json | 3 - .../vaults/backupConfig/deploy.bicep | 8 +- .../vaults/backupConfig/readme.md | 3 +- .../vaults/backupPolicies/deploy.bicep | 4 +- .../vaults/backupPolicies/readme.md | 2 +- .../vaults/backupStorageConfig/deploy.bicep | 22 +++++- .../vaults/backupStorageConfig/readme.md | 4 +- .../vaults/deploy.bicep | 3 + .../vaults/protectionContainers/deploy.bicep | 25 +------ .../protectedItems/deploy.bicep | 66 ----------------- .../protectedItems/readme.md | 46 ------------ .../protectedItems/version.json | 4 - .../vaults/protectionContainers/readme.md | 18 +++-- .../vaults/readme.md | 20 ++--- .../vaults/replicationFabrics/deploy.bicep | 6 +- .../vaults/replicationFabrics/readme.md | 2 +- .../deploy.bicep | 4 +- .../deploy.bicep | 2 +- .../vaults/replicationPolicies/deploy.bicep | 2 +- .../vaults/replicationPolicies/readme.md | 2 +- .../resourceUsage-privateEndpoints.md | 74 ------------------- .../resourceUsage-roleAssignments.md | 56 -------------- .../moduleReadMeSource/resourceUsage-tags.md | 38 ---------- .../resourceUsage-userAssignedIdentities.md | 30 -------- 25 files changed, 66 insertions(+), 380 deletions(-) rename arm/Microsoft.RecoveryServices/vaults/.bicep/{nested_roleAssignments.bicep => nested_rbac.bicep} (98%) delete mode 100644 arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep delete mode 100644 arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md delete mode 100644 arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/version.json delete mode 100644 utilities/tools/moduleReadMeSource/resourceUsage-privateEndpoints.md delete mode 100644 utilities/tools/moduleReadMeSource/resourceUsage-roleAssignments.md delete mode 100644 utilities/tools/moduleReadMeSource/resourceUsage-tags.md delete mode 100644 utilities/tools/moduleReadMeSource/resourceUsage-userAssignedIdentities.md diff --git a/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_roleAssignments.bicep b/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep similarity index 98% rename from arm/Microsoft.RecoveryServices/vaults/.bicep/nested_roleAssignments.bicep rename to arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep index a16c2390fa..f3f449bb7c 100644 --- a/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_roleAssignments.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep @@ -54,7 +54,7 @@ resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-10-01-prev description: description roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName principalId: principalId - principalType: !empty(principalType) ? any(principalType) : null + principalType: !empty(principalType) ? principalType : null } scope: rsv }] diff --git a/arm/Microsoft.RecoveryServices/vaults/.parameters/parameters.json b/arm/Microsoft.RecoveryServices/vaults/.parameters/parameters.json index 67f01a8bb6..dead4aa14b 100644 --- a/arm/Microsoft.RecoveryServices/vaults/.parameters/parameters.json +++ b/arm/Microsoft.RecoveryServices/vaults/.parameters/parameters.json @@ -5,9 +5,6 @@ "name": { "value": "<>-az-rsv-x-001" }, - "lock": { - "value": "CanNotDelete" - }, "backupConfig": { "value": { "enhancedSecurityState": "Disabled", diff --git a/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep index 195fab06f3..9c4cee81d0 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep @@ -49,6 +49,9 @@ param storageTypeState string = 'Locked' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true +@description('Optional. Is soft delete feature state editable.') +param isSoftDeleteFeatureStateEditable bool = true + resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' properties: { @@ -61,11 +64,11 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource rsv 'Microsoft.RecoveryServices/vaults@2021-12-01' existing = { +resource rsv 'Microsoft.RecoveryServices/vaults@2022-02-01' existing = { name: recoveryVaultName } -resource backupConfig 'Microsoft.RecoveryServices/vaults/backupconfig@2021-10-01' = { +resource backupConfig 'Microsoft.RecoveryServices/vaults/backupconfig@2022-02-01' = { name: name parent: rsv properties: { @@ -75,6 +78,7 @@ resource backupConfig 'Microsoft.RecoveryServices/vaults/backupconfig@2021-10-01 storageModelType: storageModelType storageType: storageType storageTypeState: storageTypeState + isSoftDeleteFeatureStateEditable: isSoftDeleteFeatureStateEditable } } diff --git a/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md b/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md index 5e4530261b..21b28f6570 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md @@ -12,7 +12,7 @@ This module deploys recovery services vault backup config. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupconfig` | [2021-10-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-10-01/vaults/backupconfig) | +| `Microsoft.RecoveryServices/vaults/backupconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupconfig) | ## Parameters @@ -26,6 +26,7 @@ This module deploys recovery services vault backup config. | :-- | :-- | :-- | :-- | :-- | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `enhancedSecurityState` | string | `'Enabled'` | `[Disabled, Enabled]` | Enable this setting to protect hybrid backups against accidental deletes and add additional layer of authentication for critical operations. | +| `isSoftDeleteFeatureStateEditable` | bool | `True` | | Is soft delete feature state editable. | | `name` | string | `'vaultconfig'` | | Name of the Azure Recovery Service Vault Backup Policy. | | `resourceGuardOperationRequests` | array | `[]` | | ResourceGuard Operation Requests. | | `softDeleteFeatureState` | string | `'Enabled'` | `[Disabled, Enabled]` | Enable this setting to protect backup data for Azure VM, SQL Server in Azure VM and SAP HANA in Azure VM from accidental deletes. | diff --git a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep index 6c6360d4c5..c6b28a9134 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep @@ -22,11 +22,11 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource rsv 'Microsoft.RecoveryServices/vaults@2021-12-01' existing = { +resource rsv 'Microsoft.RecoveryServices/vaults@2022-02-01' existing = { name: recoveryVaultName } -resource backupPolicy 'Microsoft.RecoveryServices/vaults/backupPolicies@2021-08-01' = { +resource backupPolicy 'Microsoft.RecoveryServices/vaults/backupPolicies@2022-02-01' = { name: name parent: rsv properties: backupPolicyProperties diff --git a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md index 23d8bd9f15..ee5bc84c9f 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md @@ -12,7 +12,7 @@ This module deploys a Backup Policy for a Recovery Services Vault | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupPolicies) | +| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupPolicies) | ## Parameters diff --git a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep index b6e4c37347..4c692c390a 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep @@ -16,6 +16,22 @@ param storageModelType string = 'GeoRedundant' @description('Optional. Opt in details of Cross Region Restore feature.') param crossRegionRestoreFlag bool = true +@description('Optional. Change Vault Dedup state.') +@allowed([ + 'Disabled' + 'Enabled' + 'Invalid' +]) +param dedupState string = 'Disabled' + +@description('Optional. Change Vault x-cool state.') +@allowed([ + 'Disabled' + 'Enabled' + 'Invalid' +]) +param xcoolState string = 'Disabled' + @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -31,16 +47,18 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource rsv 'Microsoft.RecoveryServices/vaults@2021-12-01' existing = { +resource rsv 'Microsoft.RecoveryServices/vaults@2022-02-01' existing = { name: recoveryVaultName } -resource backupStorageConfig 'Microsoft.RecoveryServices/vaults/backupstorageconfig@2021-08-01' = { +resource backupStorageConfig 'Microsoft.RecoveryServices/vaults/backupstorageconfig@2022-02-01' = { name: name parent: rsv properties: { storageModelType: storageModelType crossRegionRestoreFlag: crossRegionRestoreFlag + dedupState: dedupState + xcoolState: xcoolState } } diff --git a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md index 47b0868c02..6c743a494d 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md @@ -11,7 +11,7 @@ This module deploys the Backup Storage Configuration for the Recovery Service Va | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupstorageconfig) | +| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupstorageconfig) | ## Parameters @@ -24,9 +24,11 @@ This module deploys the Backup Storage Configuration for the Recovery Service Va | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | | `crossRegionRestoreFlag` | bool | `True` | | Opt in details of Cross Region Restore feature. | +| `dedupState` | string | `'Disabled'` | `[Disabled, Enabled, Invalid]` | Change Vault Dedup state. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `name` | string | `'vaultstorageconfig'` | | The name of the backup storage config. | | `storageModelType` | string | `'GeoRedundant'` | `[GeoRedundant, LocallyRedundant, ReadAccessGeoZoneRedundant, ZoneRedundant]` | Change Vault Storage Type (Works if vault has not registered any backup instance). | +| `xcoolState` | string | `'Disabled'` | `[Disabled, Enabled, Invalid]` | Change Vault x-cool state. | ## Outputs diff --git a/arm/Microsoft.RecoveryServices/vaults/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/deploy.bicep index 2c7c040855..572ef79ede 100644 --- a/arm/Microsoft.RecoveryServices/vaults/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/deploy.bicep @@ -196,6 +196,8 @@ module rsv_backupStorageConfiguration 'backupStorageConfig/deploy.bicep' = if (! storageModelType: backupStorageConfig.storageModelType crossRegionRestoreFlag: backupStorageConfig.crossRegionRestoreFlag enableDefaultTelemetry: enableReferencedModulesTelemetry + dedupState: backupStorageConfig.dedupState + xcoolState: backupStorageConfig.xcoolState } } @@ -235,6 +237,7 @@ module rsv_backupConfig 'backupConfig/deploy.bicep' = if (!empty(backupConfig)) storageModelType: contains(backupConfig, 'storageModelType') ? backupConfig.storageModelType : 'GeoRedundant' storageType: contains(backupConfig, 'storageType') ? backupConfig.storageType : 'GeoRedundant' storageTypeState: contains(backupConfig, 'storageTypeState') ? backupConfig.storageTypeState : 'Locked' + isSoftDeleteFeatureStateEditable: contains(backupConfig, 'isSoftDeleteFeatureStateEditable') ? backupConfig.isSoftDeleteFeatureStateEditable : true enableDefaultTelemetry: enableReferencedModulesTelemetry } } diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep index cb49b30499..b3d38fdf49 100644 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep @@ -4,9 +4,6 @@ param recoveryVaultName string @description('Required. Name of the Azure Recovery Service Vault Protection Container.') param name string -@description('Optional. Location for all resources.') -param location string = resourceGroup().location - @description('Optional. Backup management type to execute the current Protection Container job.') @allowed([ 'AzureBackupServer' @@ -28,9 +25,6 @@ param sourceResourceId string = '' @description('Optional. Friendly name of the Protection Container.') param friendlyName string = '' -@description('Optional. Protected items to register in the container.') -param protectedItems array = [] - @description('Optional. Type of the container.') @allowed([ 'AzureBackupServerContainer' @@ -61,7 +55,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource protectionContainer 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers@2021-08-01' = { +resource protectionContainer 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers@2022-02-01' = { name: '${recoveryVaultName}/Azure/${name}' properties: { sourceResourceId: !empty(sourceResourceId) ? sourceResourceId : null @@ -71,23 +65,6 @@ resource protectionContainer 'Microsoft.RecoveryServices/vaults/backupFabrics/pr } } -module protectionContainer_protectedItems 'protectedItems/deploy.bicep' = [for (protectedItem, index) in protectedItems: { - name: '${uniqueString(deployment().name, location)}-ProtectedItem-${index}' - params: { - policyId: protectedItem.policyId - name: protectedItem.name - protectedItemType: protectedItem.protectedItemType - protectionContainerName: name - recoveryVaultName: recoveryVaultName - sourceResourceId: protectedItem.sourceResourceId - location: location - enableDefaultTelemetry: enableDefaultTelemetry - } - dependsOn: [ - protectionContainer - ] -}] - @description('The name of the Resource Group the Protection Container was created in.') output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep deleted file mode 100644 index bc2b5c610d..0000000000 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep +++ /dev/null @@ -1,66 +0,0 @@ -@description('Required. Name of the resource.') -param name string - -@description('Conditional. Name of the Azure Recovery Service Vault Protection Container. Required if the template is used in a standalone deployment.') -param protectionContainerName string - -@description('Conditional. The name of the parent Azure Recovery Service Vault. Required if the template is used in a standalone deployment.') -param recoveryVaultName string - -@description('Optional. Location for all resources.') -param location string = resourceGroup().location - -@allowed([ - 'AzureFileShareProtectedItem' - 'AzureVmWorkloadSAPAseDatabase' - 'AzureVmWorkloadSAPHanaDatabase' - 'AzureVmWorkloadSQLDatabase' - 'DPMProtectedItem' - 'GenericProtectedItem' - 'MabFileFolderProtectedItem' - 'Microsoft.ClassicCompute/virtualMachines' - 'Microsoft.Compute/virtualMachines' - 'Microsoft.Sql/servers/databases' -]) -@description('Required. The backup item type.') -param protectedItemType string - -@description('Required. ID of the backup policy with which this item is backed up.') -param policyId string - -@description('Required. Resource ID of the resource to back up.') -param sourceResourceId string - -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true - -resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { - name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name, location)}' - properties: { - mode: 'Incremental' - template: { - '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' - contentVersion: '1.0.0.0' - resources: [] - } - } -} - -resource protectedItem 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems@2021-06-01' = { - name: '${recoveryVaultName}/Azure/${protectionContainerName}/${name}' - location: location - properties: { - protectedItemType: any(protectedItemType) - policyId: policyId - sourceResourceId: sourceResourceId - } -} - -@description('The name of the Resource Group the protected item was created in.') -output resourceGroupName string = resourceGroup().name - -@description('The resource ID of the protected item.') -output resourceId string = protectedItem.id - -@description('The Name of the protected item.') -output name string = protectedItem.name diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md deleted file mode 100644 index fb3a8f11bc..0000000000 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md +++ /dev/null @@ -1,46 +0,0 @@ -# Recovery Service Vault Protection Container Protected Item `[Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems]` - -This module deploys a Protection Container Protected Item for a Recovery Services Vault - -## Navigation - -- [Resource types](#Resource-types) -- [Parameters](#Parameters) -- [Outputs](#Outputs) - -## Resource types - -| Resource Type | API Version | -| :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | - -## Parameters - -**Required parameters** -| Parameter Name | Type | Allowed Values | Description | -| :-- | :-- | :-- | :-- | -| `name` | string | | Name of the resource. | -| `policyId` | string | | ID of the backup policy with which this item is backed up. | -| `protectedItemType` | string | `[AzureFileShareProtectedItem, AzureVmWorkloadSAPAseDatabase, AzureVmWorkloadSAPHanaDatabase, AzureVmWorkloadSQLDatabase, DPMProtectedItem, GenericProtectedItem, MabFileFolderProtectedItem, Microsoft.ClassicCompute/virtualMachines, Microsoft.Compute/virtualMachines, Microsoft.Sql/servers/databases]` | The backup item type. | -| `sourceResourceId` | string | | Resource ID of the resource to back up. | - -**Conditional parameters** -| Parameter Name | Type | Description | -| :-- | :-- | :-- | -| `protectionContainerName` | string | Name of the Azure Recovery Service Vault Protection Container. Required if the template is used in a standalone deployment. | -| `recoveryVaultName` | string | The name of the parent Azure Recovery Service Vault. Required if the template is used in a standalone deployment. | - -**Optional parameters** -| Parameter Name | Type | Default Value | Description | -| :-- | :-- | :-- | :-- | -| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). | -| `location` | string | `[resourceGroup().location]` | Location for all resources. | - - -## Outputs - -| Output Name | Type | Description | -| :-- | :-- | :-- | -| `name` | string | The Name of the protected item. | -| `resourceGroupName` | string | The name of the Resource Group the protected item was created in. | -| `resourceId` | string | The resource ID of the protected item. | diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/version.json b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/version.json deleted file mode 100644 index 56f8d9ca40..0000000000 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/version.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "0.4" -} diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md index 5ca0d767ef..ba3997042b 100644 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md @@ -1,19 +1,19 @@ -# RecoveryServicesProtectionContainer `[Microsoft.RecoveryServices/vaults/protectionContainers]` +# RecoveryServices Vaults ProtectionContainers `[Microsoft.RecoveryServices/vaults/protectionContainers]` -This module deploys a Protection Container for a Recovery Services Vault +This module deploys RecoveryServices Vaults ProtectionContainers. +// TODO: Replace Resource and fill in description ## Navigation -- [Resource types](#Resource-types) +- [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) -## Resource types +## Resource Types | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupFabrics/protectionContainers) | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupFabrics/protectionContainers) | ## Parameters @@ -34,11 +34,13 @@ This module deploys a Protection Container for a Recovery Services Vault | `containerType` | string | `''` | `[AzureBackupServerContainer, AzureSqlContainer, GenericContainer, Microsoft.ClassicCompute/virtualMachines, Microsoft.Compute/virtualMachines, SQLAGWorkLoadContainer, StorageContainer, VMAppContainer, Windows, ]` | Type of the container. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `friendlyName` | string | `''` | | Friendly name of the Protection Container. | -| `location` | string | `[resourceGroup().location]` | | Location for all resources. | -| `protectedItems` | _[protectedItems](protectedItems/readme.md)_ array | `[]` | | Protected items to register in the container. | | `sourceResourceId` | string | `''` | | Resource ID of the target resource for the Protection Container. | +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + ## Outputs | Output Name | Type | Description | diff --git a/arm/Microsoft.RecoveryServices/vaults/readme.md b/arm/Microsoft.RecoveryServices/vaults/readme.md index 466b79e000..e3b2d33ff6 100644 --- a/arm/Microsoft.RecoveryServices/vaults/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/readme.md @@ -4,12 +4,12 @@ This module deploys a recovery service vault. ## Navigation -- [Resource types](#Resource-types) +- [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Deployment examples](#Deployment-examples) -## Resource types +## Resource Types | Resource Type | API Version | | :-- | :-- | @@ -17,15 +17,14 @@ This module deploys a recovery service vault. | `Microsoft.Authorization/roleAssignments` | [2020-10-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-10-01-preview/roleAssignments) | | `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | | `Microsoft.RecoveryServices/vaults` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults) | -| `Microsoft.RecoveryServices/vaults/backupconfig` | [2021-10-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-10-01/vaults/backupconfig) | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupFabrics/protectionContainers) | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | -| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupPolicies) | -| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupstorageconfig) | -| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics) | +| `Microsoft.RecoveryServices/vaults/backupconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupconfig) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupFabrics/protectionContainers) | +| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupPolicies) | +| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupstorageconfig) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | -| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationPolicies) | +| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationPolicies) | ## Parameters @@ -958,7 +957,6 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { } ] } -} ``` @@ -995,7 +993,6 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { params: { name: '<>-az-rsv-min-001' } -} ``` @@ -1568,7 +1565,6 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-<>-az-msi-x-001': {} } } -} ``` diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep index 554d390ddb..48eae21c8d 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep @@ -13,7 +13,7 @@ param replicationContainers array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -var enableReferencedModulesTelemetry = false +var enableChildTelemetry = false resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' @@ -27,7 +27,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource replicationFabric 'Microsoft.RecoveryServices/vaults/replicationFabrics@2021-12-01' = { +resource replicationFabric 'Microsoft.RecoveryServices/vaults/replicationFabrics@2022-02-01' = { name: '${recoveryVaultName}/${name}' properties: { customDetails: { @@ -44,7 +44,7 @@ module fabric_replicationContainers 'replicationProtectionContainers/deploy.bice recoveryVaultName: recoveryVaultName replicationFabricName: name replicationContainerMappings: contains(container, 'replicationContainerMappings') ? container.replicationContainerMappings : [] - enableDefaultTelemetry: enableReferencedModulesTelemetry + enableDefaultTelemetry: enableChildTelemetry } dependsOn: [ replicationFabric diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md index 1c2b29110f..e7b106ddc2 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md @@ -14,7 +14,7 @@ This module deploys a Replication Fabric for Azure to Azure disaster recovery sc | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep index 0a6422076a..cd531c8d17 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep @@ -13,7 +13,7 @@ param replicationContainerMappings array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -var enableReferencedModulesTelemetry = false +var enableChildTelemetry = false resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' @@ -50,7 +50,7 @@ module fabric_container_containerMappings 'replicationProtectionContainerMapping targetProtectionContainerId: contains(mapping, 'targetProtectionContainerId') ? mapping.targetProtectionContainerId : '' targetContainerFabricName: contains(mapping, 'targetContainerFabricName') ? mapping.targetContainerFabricName : replicationFabricName targetContainerName: contains(mapping, 'targetContainerName') ? mapping.targetContainerName : '' - enableDefaultTelemetry: enableReferencedModulesTelemetry + enableDefaultTelemetry: enableChildTelemetry } dependsOn: [ replicationContainer diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep index 42cefe55b9..66bdea2423 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep @@ -30,7 +30,7 @@ param enableDefaultTelemetry bool = true var policyResourceId = policyId != '' ? policyId : subscriptionResourceId('Microsoft.RecoveryServices/vaults/replicationPolicies', recoveryVaultName, policyName) var targetProtectionContainerResourceId = targetProtectionContainerId != '' ? targetProtectionContainerId : subscriptionResourceId('Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers', recoveryVaultName, targetContainerFabricName, targetContainerName) -var mappingName = !empty(name) ? name : '${sourceProtectionContainerName}-${split(targetProtectionContainerResourceId, '/')[10]}' +var mappingName = name != '' ? name : concat(sourceProtectionContainerName, '-', split(targetProtectionContainerResourceId, '/')[10]) resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep index 123e2f07ca..2e98ec396a 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep @@ -35,7 +35,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource replicationPolicy 'Microsoft.RecoveryServices/vaults/replicationPolicies@2021-12-01' = { +resource replicationPolicy 'Microsoft.RecoveryServices/vaults/replicationPolicies@2022-02-01' = { name: '${recoveryVaultName}/${name}' properties: { providerSpecificInput: { diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md index f5b3f0662e..8f98e9ac0c 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md @@ -14,7 +14,7 @@ This module deploys a Replication Policy for Disaster Recovery scenario. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationPolicies) | +| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationPolicies) | ## Parameters diff --git a/utilities/tools/moduleReadMeSource/resourceUsage-privateEndpoints.md b/utilities/tools/moduleReadMeSource/resourceUsage-privateEndpoints.md deleted file mode 100644 index d6f5be6316..0000000000 --- a/utilities/tools/moduleReadMeSource/resourceUsage-privateEndpoints.md +++ /dev/null @@ -1,74 +0,0 @@ -To use Private Endpoint the following dependencies must be deployed: - -- Destination subnet must be created with the following configuration option - `"privateEndpointNetworkPolicies": "Disabled"`. Setting this option acknowledges that NSG rules are not applied to Private Endpoints (this capability is coming soon). A full example is available in the Virtual Network Module. -- Although not strictly required, it is highly recommended to first create a private DNS Zone to host Private Endpoint DNS records. See [Azure Private Endpoint DNS configuration](https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns) for more information. - -
- -Parameter JSON format - -```json -"privateEndpoints": { - "value": [ - // Example showing all available fields - { - "name": "sxx-az-pe", // Optional: Name will be automatically generated if one is not provided here - "subnetResourceId": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualNetworks/sxx-az-vnet-x-001/subnets/sxx-az-subnet-x-001", - "service": "<>", // e.g. vault, registry, file, blob, queue, table etc. - "privateDnsZoneResourceIds": [ // Optional: No DNS record will be created if a private DNS zone Resource ID is not specified - "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/privateDnsZones/privatelink.blob.core.windows.net" - ], - "customDnsConfigs": [ // Optional - { - "fqdn": "customname.test.local", - "ipAddresses": [ - "10.10.10.10" - ] - } - ] - }, - // Example showing only mandatory fields - { - "subnetResourceId": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualNetworks/sxx-az-vnet-x-001/subnets/sxx-az-subnet-x-001", - "service": "<>" // e.g. vault, registry, file, blob, queue, table etc. - } - ] -} -``` - -
- -
- -Bicep format - -```bicep -privateEndpoints: [ - // Example showing all available fields - { - name: 'sxx-az-pe' // Optional: Name will be automatically generated if one is not provided here - subnetResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualNetworks/sxx-az-vnet-x-001/subnets/sxx-az-subnet-x-001' - service: '<>' // e.g. vault registry file blob queue table etc. - privateDnsZoneResourceIds: [ // Optional: No DNS record will be created if a private DNS zone Resource ID is not specified - '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/privateDnsZones/privatelink.blob.core.windows.net' - ] - // Optional - customDnsConfigs: [ - { - fqdn: 'customname.test.local' - ipAddresses: [ - '10.10.10.10' - ] - } - ] - } - // Example showing only mandatory fields - { - subnetResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualNetworks/sxx-az-vnet-x-001/subnets/sxx-az-subnet-x-001' - service: '<>' // e.g. vault registry file blob queue table etc. - } -] -``` - -
-

diff --git a/utilities/tools/moduleReadMeSource/resourceUsage-roleAssignments.md b/utilities/tools/moduleReadMeSource/resourceUsage-roleAssignments.md deleted file mode 100644 index ea2d34c044..0000000000 --- a/utilities/tools/moduleReadMeSource/resourceUsage-roleAssignments.md +++ /dev/null @@ -1,56 +0,0 @@ -Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure. - -

- -Parameter JSON format - -```json -"roleAssignments": { - "value": [ - { - "roleDefinitionIdOrName": "Reader", - "description": "Reader Role Assignment", - "principalIds": [ - "12345678-1234-1234-1234-123456789012", // object 1 - "78945612-1234-1234-1234-123456789012" // object 2 - ] - }, - { - "roleDefinitionIdOrName": "/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11", - "principalIds": [ - "12345678-1234-1234-1234-123456789012" // object 1 - ], - "principalType": "ServicePrincipal" - } - ] -} -``` - -
- -
- -Bicep format - -```bicep -roleAssignments: [ - { - roleDefinitionIdOrName: 'Reader' - description: 'Reader Role Assignment' - principalIds: [ - '12345678-1234-1234-1234-123456789012' // object 1 - '78945612-1234-1234-1234-123456789012' // object 2 - ] - } - { - roleDefinitionIdOrName: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11' - principalIds: [ - '12345678-1234-1234-1234-123456789012' // object 1 - ] - principalType: 'ServicePrincipal' - } -] -``` - -
-

diff --git a/utilities/tools/moduleReadMeSource/resourceUsage-tags.md b/utilities/tools/moduleReadMeSource/resourceUsage-tags.md deleted file mode 100644 index f39b518472..0000000000 --- a/utilities/tools/moduleReadMeSource/resourceUsage-tags.md +++ /dev/null @@ -1,38 +0,0 @@ -Tag names and tag values can be provided as needed. A tag can be left without a value. - -

- -Parameter JSON format - -```json -"tags": { - "value": { - "Environment": "Non-Prod", - "Contact": "test.user@testcompany.com", - "PurchaseOrder": "1234", - "CostCenter": "7890", - "ServiceName": "DeploymentValidation", - "Role": "DeploymentValidation" - } -} -``` - -
- -
- -Bicep format - -```bicep -tags: { - Environment: 'Non-Prod' - Contact: 'test.user@testcompany.com' - PurchaseOrder: '1234' - CostCenter: '7890' - ServiceName: 'DeploymentValidation' - Role: 'DeploymentValidation' -} -``` - -
-

diff --git a/utilities/tools/moduleReadMeSource/resourceUsage-userAssignedIdentities.md b/utilities/tools/moduleReadMeSource/resourceUsage-userAssignedIdentities.md deleted file mode 100644 index 66b91f2730..0000000000 --- a/utilities/tools/moduleReadMeSource/resourceUsage-userAssignedIdentities.md +++ /dev/null @@ -1,30 +0,0 @@ -You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format: - -

- -Parameter JSON format - -```json -"userAssignedIdentities": { - "value": { - "/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {}, - "/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002": {} - } -} -``` - -
- -
- -Bicep format - -```bicep -userAssignedIdentities: { - '/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {} - '/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {} -} -``` - -
-

From 5b54d2d69862679c28fb074901cb687a83ae93d1 Mon Sep 17 00:00:00 2001 From: Prasanjeets Date: Wed, 22 Jun 2022 11:28:46 +0530 Subject: [PATCH 2/9] principalType: !empty(principalType) ? any(principalType) : null --- arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep b/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep index f3f449bb7c..a16c2390fa 100644 --- a/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep @@ -54,7 +54,7 @@ resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-10-01-prev description: description roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName principalId: principalId - principalType: !empty(principalType) ? principalType : null + principalType: !empty(principalType) ? any(principalType) : null } scope: rsv }] From 1679f422d75b46786f11171e9d7071e030b25b30 Mon Sep 17 00:00:00 2001 From: Prasanjeets Date: Wed, 22 Jun 2022 12:12:36 +0530 Subject: [PATCH 3/9] added lock in param --- .../vaults/.parameters/parameters.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arm/Microsoft.RecoveryServices/vaults/.parameters/parameters.json b/arm/Microsoft.RecoveryServices/vaults/.parameters/parameters.json index dead4aa14b..67f01a8bb6 100644 --- a/arm/Microsoft.RecoveryServices/vaults/.parameters/parameters.json +++ b/arm/Microsoft.RecoveryServices/vaults/.parameters/parameters.json @@ -5,6 +5,9 @@ "name": { "value": "<>-az-rsv-x-001" }, + "lock": { + "value": "CanNotDelete" + }, "backupConfig": { "value": { "enhancedSecurityState": "Disabled", From ec13189f88a12d55922a80b7fbec8f6e2681814a Mon Sep 17 00:00:00 2001 From: Prasanjeets Date: Wed, 22 Jun 2022 13:11:07 +0530 Subject: [PATCH 4/9] commit --- ...bac.bicep => nested_roleAssignments.bicep} | 0 .../vaults/backupConfig/deploy.bicep | 8 +-- .../vaults/backupConfig/readme.md | 3 +- .../vaults/backupPolicies/deploy.bicep | 4 +- .../vaults/backupPolicies/readme.md | 2 +- .../vaults/backupStorageConfig/deploy.bicep | 22 +------ .../vaults/backupStorageConfig/readme.md | 4 +- .../vaults/deploy.bicep | 3 - .../vaults/protectionContainers/deploy.bicep | 25 ++++++- .../protectedItems/deploy.bicep | 66 +++++++++++++++++++ .../protectedItems/readme.md | 46 +++++++++++++ .../protectedItems/version.json | 4 ++ .../vaults/protectionContainers/readme.md | 18 +++-- .../vaults/readme.md | 20 +++--- .../vaults/replicationFabrics/deploy.bicep | 6 +- .../vaults/replicationFabrics/readme.md | 2 +- .../deploy.bicep | 4 +- .../deploy.bicep | 2 +- .../vaults/replicationPolicies/deploy.bicep | 2 +- .../vaults/replicationPolicies/readme.md | 2 +- 20 files changed, 178 insertions(+), 65 deletions(-) rename arm/Microsoft.RecoveryServices/vaults/.bicep/{nested_rbac.bicep => nested_roleAssignments.bicep} (100%) create mode 100644 arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep create mode 100644 arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md create mode 100644 arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/version.json diff --git a/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep b/arm/Microsoft.RecoveryServices/vaults/.bicep/nested_roleAssignments.bicep similarity index 100% rename from arm/Microsoft.RecoveryServices/vaults/.bicep/nested_rbac.bicep rename to arm/Microsoft.RecoveryServices/vaults/.bicep/nested_roleAssignments.bicep diff --git a/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep index 9c4cee81d0..195fab06f3 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep @@ -49,9 +49,6 @@ param storageTypeState string = 'Locked' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. Is soft delete feature state editable.') -param isSoftDeleteFeatureStateEditable bool = true - resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' properties: { @@ -64,11 +61,11 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource rsv 'Microsoft.RecoveryServices/vaults@2022-02-01' existing = { +resource rsv 'Microsoft.RecoveryServices/vaults@2021-12-01' existing = { name: recoveryVaultName } -resource backupConfig 'Microsoft.RecoveryServices/vaults/backupconfig@2022-02-01' = { +resource backupConfig 'Microsoft.RecoveryServices/vaults/backupconfig@2021-10-01' = { name: name parent: rsv properties: { @@ -78,7 +75,6 @@ resource backupConfig 'Microsoft.RecoveryServices/vaults/backupconfig@2022-02-01 storageModelType: storageModelType storageType: storageType storageTypeState: storageTypeState - isSoftDeleteFeatureStateEditable: isSoftDeleteFeatureStateEditable } } diff --git a/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md b/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md index 21b28f6570..5e4530261b 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md @@ -12,7 +12,7 @@ This module deploys recovery services vault backup config. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupconfig) | +| `Microsoft.RecoveryServices/vaults/backupconfig` | [2021-10-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-10-01/vaults/backupconfig) | ## Parameters @@ -26,7 +26,6 @@ This module deploys recovery services vault backup config. | :-- | :-- | :-- | :-- | :-- | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `enhancedSecurityState` | string | `'Enabled'` | `[Disabled, Enabled]` | Enable this setting to protect hybrid backups against accidental deletes and add additional layer of authentication for critical operations. | -| `isSoftDeleteFeatureStateEditable` | bool | `True` | | Is soft delete feature state editable. | | `name` | string | `'vaultconfig'` | | Name of the Azure Recovery Service Vault Backup Policy. | | `resourceGuardOperationRequests` | array | `[]` | | ResourceGuard Operation Requests. | | `softDeleteFeatureState` | string | `'Enabled'` | `[Disabled, Enabled]` | Enable this setting to protect backup data for Azure VM, SQL Server in Azure VM and SAP HANA in Azure VM from accidental deletes. | diff --git a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep index c6b28a9134..6c6360d4c5 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep @@ -22,11 +22,11 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource rsv 'Microsoft.RecoveryServices/vaults@2022-02-01' existing = { +resource rsv 'Microsoft.RecoveryServices/vaults@2021-12-01' existing = { name: recoveryVaultName } -resource backupPolicy 'Microsoft.RecoveryServices/vaults/backupPolicies@2022-02-01' = { +resource backupPolicy 'Microsoft.RecoveryServices/vaults/backupPolicies@2021-08-01' = { name: name parent: rsv properties: backupPolicyProperties diff --git a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md index ee5bc84c9f..23d8bd9f15 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md @@ -12,7 +12,7 @@ This module deploys a Backup Policy for a Recovery Services Vault | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupPolicies) | +| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupPolicies) | ## Parameters diff --git a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep index 4c692c390a..b6e4c37347 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep @@ -16,22 +16,6 @@ param storageModelType string = 'GeoRedundant' @description('Optional. Opt in details of Cross Region Restore feature.') param crossRegionRestoreFlag bool = true -@description('Optional. Change Vault Dedup state.') -@allowed([ - 'Disabled' - 'Enabled' - 'Invalid' -]) -param dedupState string = 'Disabled' - -@description('Optional. Change Vault x-cool state.') -@allowed([ - 'Disabled' - 'Enabled' - 'Invalid' -]) -param xcoolState string = 'Disabled' - @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -47,18 +31,16 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource rsv 'Microsoft.RecoveryServices/vaults@2022-02-01' existing = { +resource rsv 'Microsoft.RecoveryServices/vaults@2021-12-01' existing = { name: recoveryVaultName } -resource backupStorageConfig 'Microsoft.RecoveryServices/vaults/backupstorageconfig@2022-02-01' = { +resource backupStorageConfig 'Microsoft.RecoveryServices/vaults/backupstorageconfig@2021-08-01' = { name: name parent: rsv properties: { storageModelType: storageModelType crossRegionRestoreFlag: crossRegionRestoreFlag - dedupState: dedupState - xcoolState: xcoolState } } diff --git a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md index 6c743a494d..47b0868c02 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md @@ -11,7 +11,7 @@ This module deploys the Backup Storage Configuration for the Recovery Service Va | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupstorageconfig) | +| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupstorageconfig) | ## Parameters @@ -24,11 +24,9 @@ This module deploys the Backup Storage Configuration for the Recovery Service Va | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | | `crossRegionRestoreFlag` | bool | `True` | | Opt in details of Cross Region Restore feature. | -| `dedupState` | string | `'Disabled'` | `[Disabled, Enabled, Invalid]` | Change Vault Dedup state. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `name` | string | `'vaultstorageconfig'` | | The name of the backup storage config. | | `storageModelType` | string | `'GeoRedundant'` | `[GeoRedundant, LocallyRedundant, ReadAccessGeoZoneRedundant, ZoneRedundant]` | Change Vault Storage Type (Works if vault has not registered any backup instance). | -| `xcoolState` | string | `'Disabled'` | `[Disabled, Enabled, Invalid]` | Change Vault x-cool state. | ## Outputs diff --git a/arm/Microsoft.RecoveryServices/vaults/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/deploy.bicep index 572ef79ede..2c7c040855 100644 --- a/arm/Microsoft.RecoveryServices/vaults/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/deploy.bicep @@ -196,8 +196,6 @@ module rsv_backupStorageConfiguration 'backupStorageConfig/deploy.bicep' = if (! storageModelType: backupStorageConfig.storageModelType crossRegionRestoreFlag: backupStorageConfig.crossRegionRestoreFlag enableDefaultTelemetry: enableReferencedModulesTelemetry - dedupState: backupStorageConfig.dedupState - xcoolState: backupStorageConfig.xcoolState } } @@ -237,7 +235,6 @@ module rsv_backupConfig 'backupConfig/deploy.bicep' = if (!empty(backupConfig)) storageModelType: contains(backupConfig, 'storageModelType') ? backupConfig.storageModelType : 'GeoRedundant' storageType: contains(backupConfig, 'storageType') ? backupConfig.storageType : 'GeoRedundant' storageTypeState: contains(backupConfig, 'storageTypeState') ? backupConfig.storageTypeState : 'Locked' - isSoftDeleteFeatureStateEditable: contains(backupConfig, 'isSoftDeleteFeatureStateEditable') ? backupConfig.isSoftDeleteFeatureStateEditable : true enableDefaultTelemetry: enableReferencedModulesTelemetry } } diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep index b3d38fdf49..cb49b30499 100644 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep @@ -4,6 +4,9 @@ param recoveryVaultName string @description('Required. Name of the Azure Recovery Service Vault Protection Container.') param name string +@description('Optional. Location for all resources.') +param location string = resourceGroup().location + @description('Optional. Backup management type to execute the current Protection Container job.') @allowed([ 'AzureBackupServer' @@ -25,6 +28,9 @@ param sourceResourceId string = '' @description('Optional. Friendly name of the Protection Container.') param friendlyName string = '' +@description('Optional. Protected items to register in the container.') +param protectedItems array = [] + @description('Optional. Type of the container.') @allowed([ 'AzureBackupServerContainer' @@ -55,7 +61,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource protectionContainer 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers@2022-02-01' = { +resource protectionContainer 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers@2021-08-01' = { name: '${recoveryVaultName}/Azure/${name}' properties: { sourceResourceId: !empty(sourceResourceId) ? sourceResourceId : null @@ -65,6 +71,23 @@ resource protectionContainer 'Microsoft.RecoveryServices/vaults/backupFabrics/pr } } +module protectionContainer_protectedItems 'protectedItems/deploy.bicep' = [for (protectedItem, index) in protectedItems: { + name: '${uniqueString(deployment().name, location)}-ProtectedItem-${index}' + params: { + policyId: protectedItem.policyId + name: protectedItem.name + protectedItemType: protectedItem.protectedItemType + protectionContainerName: name + recoveryVaultName: recoveryVaultName + sourceResourceId: protectedItem.sourceResourceId + location: location + enableDefaultTelemetry: enableDefaultTelemetry + } + dependsOn: [ + protectionContainer + ] +}] + @description('The name of the Resource Group the Protection Container was created in.') output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep new file mode 100644 index 0000000000..bc2b5c610d --- /dev/null +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep @@ -0,0 +1,66 @@ +@description('Required. Name of the resource.') +param name string + +@description('Conditional. Name of the Azure Recovery Service Vault Protection Container. Required if the template is used in a standalone deployment.') +param protectionContainerName string + +@description('Conditional. The name of the parent Azure Recovery Service Vault. Required if the template is used in a standalone deployment.') +param recoveryVaultName string + +@description('Optional. Location for all resources.') +param location string = resourceGroup().location + +@allowed([ + 'AzureFileShareProtectedItem' + 'AzureVmWorkloadSAPAseDatabase' + 'AzureVmWorkloadSAPHanaDatabase' + 'AzureVmWorkloadSQLDatabase' + 'DPMProtectedItem' + 'GenericProtectedItem' + 'MabFileFolderProtectedItem' + 'Microsoft.ClassicCompute/virtualMachines' + 'Microsoft.Compute/virtualMachines' + 'Microsoft.Sql/servers/databases' +]) +@description('Required. The backup item type.') +param protectedItemType string + +@description('Required. ID of the backup policy with which this item is backed up.') +param policyId string + +@description('Required. Resource ID of the resource to back up.') +param sourceResourceId string + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name, location)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource protectedItem 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems@2021-06-01' = { + name: '${recoveryVaultName}/Azure/${protectionContainerName}/${name}' + location: location + properties: { + protectedItemType: any(protectedItemType) + policyId: policyId + sourceResourceId: sourceResourceId + } +} + +@description('The name of the Resource Group the protected item was created in.') +output resourceGroupName string = resourceGroup().name + +@description('The resource ID of the protected item.') +output resourceId string = protectedItem.id + +@description('The Name of the protected item.') +output name string = protectedItem.name diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md new file mode 100644 index 0000000000..fb3a8f11bc --- /dev/null +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md @@ -0,0 +1,46 @@ +# Recovery Service Vault Protection Container Protected Item `[Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems]` + +This module deploys a Protection Container Protected Item for a Recovery Services Vault + +## Navigation + +- [Resource types](#Resource-types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) + +## Resource types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | + +## Parameters + +**Required parameters** +| Parameter Name | Type | Allowed Values | Description | +| :-- | :-- | :-- | :-- | +| `name` | string | | Name of the resource. | +| `policyId` | string | | ID of the backup policy with which this item is backed up. | +| `protectedItemType` | string | `[AzureFileShareProtectedItem, AzureVmWorkloadSAPAseDatabase, AzureVmWorkloadSAPHanaDatabase, AzureVmWorkloadSQLDatabase, DPMProtectedItem, GenericProtectedItem, MabFileFolderProtectedItem, Microsoft.ClassicCompute/virtualMachines, Microsoft.Compute/virtualMachines, Microsoft.Sql/servers/databases]` | The backup item type. | +| `sourceResourceId` | string | | Resource ID of the resource to back up. | + +**Conditional parameters** +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `protectionContainerName` | string | Name of the Azure Recovery Service Vault Protection Container. Required if the template is used in a standalone deployment. | +| `recoveryVaultName` | string | The name of the parent Azure Recovery Service Vault. Required if the template is used in a standalone deployment. | + +**Optional parameters** +| Parameter Name | Type | Default Value | Description | +| :-- | :-- | :-- | :-- | +| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `location` | string | `[resourceGroup().location]` | Location for all resources. | + + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The Name of the protected item. | +| `resourceGroupName` | string | The name of the Resource Group the protected item was created in. | +| `resourceId` | string | The resource ID of the protected item. | diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/version.json b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/version.json new file mode 100644 index 0000000000..56f8d9ca40 --- /dev/null +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.4" +} diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md index ba3997042b..5ca0d767ef 100644 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md @@ -1,19 +1,19 @@ -# RecoveryServices Vaults ProtectionContainers `[Microsoft.RecoveryServices/vaults/protectionContainers]` +# RecoveryServicesProtectionContainer `[Microsoft.RecoveryServices/vaults/protectionContainers]` -This module deploys RecoveryServices Vaults ProtectionContainers. -// TODO: Replace Resource and fill in description +This module deploys a Protection Container for a Recovery Services Vault ## Navigation -- [Resource Types](#Resource-Types) +- [Resource types](#Resource-types) - [Parameters](#Parameters) - [Outputs](#Outputs) -## Resource Types +## Resource types | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupFabrics/protectionContainers) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupFabrics/protectionContainers) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | ## Parameters @@ -34,13 +34,11 @@ This module deploys RecoveryServices Vaults ProtectionContainers. | `containerType` | string | `''` | `[AzureBackupServerContainer, AzureSqlContainer, GenericContainer, Microsoft.ClassicCompute/virtualMachines, Microsoft.Compute/virtualMachines, SQLAGWorkLoadContainer, StorageContainer, VMAppContainer, Windows, ]` | Type of the container. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `friendlyName` | string | `''` | | Friendly name of the Protection Container. | +| `location` | string | `[resourceGroup().location]` | | Location for all resources. | +| `protectedItems` | _[protectedItems](protectedItems/readme.md)_ array | `[]` | | Protected items to register in the container. | | `sourceResourceId` | string | `''` | | Resource ID of the target resource for the Protection Container. | -### Parameter Usage: `` - -// TODO: Fill in Parameter usage - ## Outputs | Output Name | Type | Description | diff --git a/arm/Microsoft.RecoveryServices/vaults/readme.md b/arm/Microsoft.RecoveryServices/vaults/readme.md index e3b2d33ff6..466b79e000 100644 --- a/arm/Microsoft.RecoveryServices/vaults/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/readme.md @@ -4,12 +4,12 @@ This module deploys a recovery service vault. ## Navigation -- [Resource Types](#Resource-Types) +- [Resource types](#Resource-types) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Deployment examples](#Deployment-examples) -## Resource Types +## Resource types | Resource Type | API Version | | :-- | :-- | @@ -17,14 +17,15 @@ This module deploys a recovery service vault. | `Microsoft.Authorization/roleAssignments` | [2020-10-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-10-01-preview/roleAssignments) | | `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | | `Microsoft.RecoveryServices/vaults` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults) | -| `Microsoft.RecoveryServices/vaults/backupconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupconfig) | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupFabrics/protectionContainers) | -| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupPolicies) | -| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupstorageconfig) | -| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics) | +| `Microsoft.RecoveryServices/vaults/backupconfig` | [2021-10-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-10-01/vaults/backupconfig) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupFabrics/protectionContainers) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | +| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupPolicies) | +| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupstorageconfig) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | -| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationPolicies) | +| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationPolicies) | ## Parameters @@ -957,6 +958,7 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { } ] } +} ``` @@ -993,6 +995,7 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { params: { name: '<>-az-rsv-min-001' } +} ``` @@ -1565,6 +1568,7 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-<>-az-msi-x-001': {} } } +} ``` diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep index 48eae21c8d..554d390ddb 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep @@ -13,7 +13,7 @@ param replicationContainers array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -var enableChildTelemetry = false +var enableReferencedModulesTelemetry = false resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' @@ -27,7 +27,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource replicationFabric 'Microsoft.RecoveryServices/vaults/replicationFabrics@2022-02-01' = { +resource replicationFabric 'Microsoft.RecoveryServices/vaults/replicationFabrics@2021-12-01' = { name: '${recoveryVaultName}/${name}' properties: { customDetails: { @@ -44,7 +44,7 @@ module fabric_replicationContainers 'replicationProtectionContainers/deploy.bice recoveryVaultName: recoveryVaultName replicationFabricName: name replicationContainerMappings: contains(container, 'replicationContainerMappings') ? container.replicationContainerMappings : [] - enableDefaultTelemetry: enableChildTelemetry + enableDefaultTelemetry: enableReferencedModulesTelemetry } dependsOn: [ replicationFabric diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md index e7b106ddc2..1c2b29110f 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md @@ -14,7 +14,7 @@ This module deploys a Replication Fabric for Azure to Azure disaster recovery sc | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep index cd531c8d17..0a6422076a 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep @@ -13,7 +13,7 @@ param replicationContainerMappings array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -var enableChildTelemetry = false +var enableReferencedModulesTelemetry = false resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' @@ -50,7 +50,7 @@ module fabric_container_containerMappings 'replicationProtectionContainerMapping targetProtectionContainerId: contains(mapping, 'targetProtectionContainerId') ? mapping.targetProtectionContainerId : '' targetContainerFabricName: contains(mapping, 'targetContainerFabricName') ? mapping.targetContainerFabricName : replicationFabricName targetContainerName: contains(mapping, 'targetContainerName') ? mapping.targetContainerName : '' - enableDefaultTelemetry: enableChildTelemetry + enableDefaultTelemetry: enableReferencedModulesTelemetry } dependsOn: [ replicationContainer diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep index 66bdea2423..42cefe55b9 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep @@ -30,7 +30,7 @@ param enableDefaultTelemetry bool = true var policyResourceId = policyId != '' ? policyId : subscriptionResourceId('Microsoft.RecoveryServices/vaults/replicationPolicies', recoveryVaultName, policyName) var targetProtectionContainerResourceId = targetProtectionContainerId != '' ? targetProtectionContainerId : subscriptionResourceId('Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers', recoveryVaultName, targetContainerFabricName, targetContainerName) -var mappingName = name != '' ? name : concat(sourceProtectionContainerName, '-', split(targetProtectionContainerResourceId, '/')[10]) +var mappingName = !empty(name) ? name : '${sourceProtectionContainerName}-${split(targetProtectionContainerResourceId, '/')[10]}' resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep index 2e98ec396a..123e2f07ca 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep @@ -35,7 +35,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource replicationPolicy 'Microsoft.RecoveryServices/vaults/replicationPolicies@2022-02-01' = { +resource replicationPolicy 'Microsoft.RecoveryServices/vaults/replicationPolicies@2021-12-01' = { name: '${recoveryVaultName}/${name}' properties: { providerSpecificInput: { diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md index 8f98e9ac0c..f5b3f0662e 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md @@ -14,7 +14,7 @@ This module deploys a Replication Policy for Disaster Recovery scenario. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationPolicies) | +| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationPolicies) | ## Parameters From 564fd8a599f2ebb6ee09b2b0b84f38116a23e265 Mon Sep 17 00:00:00 2001 From: Prasanjeets Date: Wed, 22 Jun 2022 13:29:47 +0530 Subject: [PATCH 5/9] moduleReadMeSource --- .../resourceUsage-privateEndpoints.md | 74 +++++++++++++++++++ .../resourceUsage-roleAssignments.md | 56 ++++++++++++++ .../moduleReadMeSource/resourceUsage-tags.md | 38 ++++++++++ .../resourceUsage-userAssignedIdentities.md | 30 ++++++++ 4 files changed, 198 insertions(+) create mode 100644 utilities/tools/moduleReadMeSource/resourceUsage-privateEndpoints.md create mode 100644 utilities/tools/moduleReadMeSource/resourceUsage-roleAssignments.md create mode 100644 utilities/tools/moduleReadMeSource/resourceUsage-tags.md create mode 100644 utilities/tools/moduleReadMeSource/resourceUsage-userAssignedIdentities.md diff --git a/utilities/tools/moduleReadMeSource/resourceUsage-privateEndpoints.md b/utilities/tools/moduleReadMeSource/resourceUsage-privateEndpoints.md new file mode 100644 index 0000000000..d6f5be6316 --- /dev/null +++ b/utilities/tools/moduleReadMeSource/resourceUsage-privateEndpoints.md @@ -0,0 +1,74 @@ +To use Private Endpoint the following dependencies must be deployed: + +- Destination subnet must be created with the following configuration option - `"privateEndpointNetworkPolicies": "Disabled"`. Setting this option acknowledges that NSG rules are not applied to Private Endpoints (this capability is coming soon). A full example is available in the Virtual Network Module. +- Although not strictly required, it is highly recommended to first create a private DNS Zone to host Private Endpoint DNS records. See [Azure Private Endpoint DNS configuration](https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns) for more information. + +

+ +Parameter JSON format + +```json +"privateEndpoints": { + "value": [ + // Example showing all available fields + { + "name": "sxx-az-pe", // Optional: Name will be automatically generated if one is not provided here + "subnetResourceId": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualNetworks/sxx-az-vnet-x-001/subnets/sxx-az-subnet-x-001", + "service": "<>", // e.g. vault, registry, file, blob, queue, table etc. + "privateDnsZoneResourceIds": [ // Optional: No DNS record will be created if a private DNS zone Resource ID is not specified + "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/privateDnsZones/privatelink.blob.core.windows.net" + ], + "customDnsConfigs": [ // Optional + { + "fqdn": "customname.test.local", + "ipAddresses": [ + "10.10.10.10" + ] + } + ] + }, + // Example showing only mandatory fields + { + "subnetResourceId": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualNetworks/sxx-az-vnet-x-001/subnets/sxx-az-subnet-x-001", + "service": "<>" // e.g. vault, registry, file, blob, queue, table etc. + } + ] +} +``` + +
+ +
+ +Bicep format + +```bicep +privateEndpoints: [ + // Example showing all available fields + { + name: 'sxx-az-pe' // Optional: Name will be automatically generated if one is not provided here + subnetResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualNetworks/sxx-az-vnet-x-001/subnets/sxx-az-subnet-x-001' + service: '<>' // e.g. vault registry file blob queue table etc. + privateDnsZoneResourceIds: [ // Optional: No DNS record will be created if a private DNS zone Resource ID is not specified + '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/privateDnsZones/privatelink.blob.core.windows.net' + ] + // Optional + customDnsConfigs: [ + { + fqdn: 'customname.test.local' + ipAddresses: [ + '10.10.10.10' + ] + } + ] + } + // Example showing only mandatory fields + { + subnetResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualNetworks/sxx-az-vnet-x-001/subnets/sxx-az-subnet-x-001' + service: '<>' // e.g. vault registry file blob queue table etc. + } +] +``` + +
+

diff --git a/utilities/tools/moduleReadMeSource/resourceUsage-roleAssignments.md b/utilities/tools/moduleReadMeSource/resourceUsage-roleAssignments.md new file mode 100644 index 0000000000..ea2d34c044 --- /dev/null +++ b/utilities/tools/moduleReadMeSource/resourceUsage-roleAssignments.md @@ -0,0 +1,56 @@ +Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure. + +

+ +Parameter JSON format + +```json +"roleAssignments": { + "value": [ + { + "roleDefinitionIdOrName": "Reader", + "description": "Reader Role Assignment", + "principalIds": [ + "12345678-1234-1234-1234-123456789012", // object 1 + "78945612-1234-1234-1234-123456789012" // object 2 + ] + }, + { + "roleDefinitionIdOrName": "/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11", + "principalIds": [ + "12345678-1234-1234-1234-123456789012" // object 1 + ], + "principalType": "ServicePrincipal" + } + ] +} +``` + +
+ +
+ +Bicep format + +```bicep +roleAssignments: [ + { + roleDefinitionIdOrName: 'Reader' + description: 'Reader Role Assignment' + principalIds: [ + '12345678-1234-1234-1234-123456789012' // object 1 + '78945612-1234-1234-1234-123456789012' // object 2 + ] + } + { + roleDefinitionIdOrName: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11' + principalIds: [ + '12345678-1234-1234-1234-123456789012' // object 1 + ] + principalType: 'ServicePrincipal' + } +] +``` + +
+

diff --git a/utilities/tools/moduleReadMeSource/resourceUsage-tags.md b/utilities/tools/moduleReadMeSource/resourceUsage-tags.md new file mode 100644 index 0000000000..f39b518472 --- /dev/null +++ b/utilities/tools/moduleReadMeSource/resourceUsage-tags.md @@ -0,0 +1,38 @@ +Tag names and tag values can be provided as needed. A tag can be left without a value. + +

+ +Parameter JSON format + +```json +"tags": { + "value": { + "Environment": "Non-Prod", + "Contact": "test.user@testcompany.com", + "PurchaseOrder": "1234", + "CostCenter": "7890", + "ServiceName": "DeploymentValidation", + "Role": "DeploymentValidation" + } +} +``` + +
+ +
+ +Bicep format + +```bicep +tags: { + Environment: 'Non-Prod' + Contact: 'test.user@testcompany.com' + PurchaseOrder: '1234' + CostCenter: '7890' + ServiceName: 'DeploymentValidation' + Role: 'DeploymentValidation' +} +``` + +
+

diff --git a/utilities/tools/moduleReadMeSource/resourceUsage-userAssignedIdentities.md b/utilities/tools/moduleReadMeSource/resourceUsage-userAssignedIdentities.md new file mode 100644 index 0000000000..66b91f2730 --- /dev/null +++ b/utilities/tools/moduleReadMeSource/resourceUsage-userAssignedIdentities.md @@ -0,0 +1,30 @@ +You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format: + +

+ +Parameter JSON format + +```json +"userAssignedIdentities": { + "value": { + "/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {}, + "/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002": {} + } +} +``` + +
+ +
+ +Bicep format + +```bicep +userAssignedIdentities: { + '/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {} + '/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {} +} +``` + +
+

From dca5ce3940268d79c23e2b0fbca6bd439568c575 Mon Sep 17 00:00:00 2001 From: Prasanjeets Date: Wed, 22 Jun 2022 13:54:35 +0530 Subject: [PATCH 6/9] Updated BackupConfig --- .../vaults/backupConfig/deploy.bicep | 8 ++++++-- .../vaults/backupConfig/readme.md | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep index 195fab06f3..9c4cee81d0 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/backupConfig/deploy.bicep @@ -49,6 +49,9 @@ param storageTypeState string = 'Locked' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true +@description('Optional. Is soft delete feature state editable.') +param isSoftDeleteFeatureStateEditable bool = true + resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' properties: { @@ -61,11 +64,11 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource rsv 'Microsoft.RecoveryServices/vaults@2021-12-01' existing = { +resource rsv 'Microsoft.RecoveryServices/vaults@2022-02-01' existing = { name: recoveryVaultName } -resource backupConfig 'Microsoft.RecoveryServices/vaults/backupconfig@2021-10-01' = { +resource backupConfig 'Microsoft.RecoveryServices/vaults/backupconfig@2022-02-01' = { name: name parent: rsv properties: { @@ -75,6 +78,7 @@ resource backupConfig 'Microsoft.RecoveryServices/vaults/backupconfig@2021-10-01 storageModelType: storageModelType storageType: storageType storageTypeState: storageTypeState + isSoftDeleteFeatureStateEditable: isSoftDeleteFeatureStateEditable } } diff --git a/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md b/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md index 5e4530261b..21b28f6570 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/backupConfig/readme.md @@ -12,7 +12,7 @@ This module deploys recovery services vault backup config. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupconfig` | [2021-10-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-10-01/vaults/backupconfig) | +| `Microsoft.RecoveryServices/vaults/backupconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupconfig) | ## Parameters @@ -26,6 +26,7 @@ This module deploys recovery services vault backup config. | :-- | :-- | :-- | :-- | :-- | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `enhancedSecurityState` | string | `'Enabled'` | `[Disabled, Enabled]` | Enable this setting to protect hybrid backups against accidental deletes and add additional layer of authentication for critical operations. | +| `isSoftDeleteFeatureStateEditable` | bool | `True` | | Is soft delete feature state editable. | | `name` | string | `'vaultconfig'` | | Name of the Azure Recovery Service Vault Backup Policy. | | `resourceGuardOperationRequests` | array | `[]` | | ResourceGuard Operation Requests. | | `softDeleteFeatureState` | string | `'Enabled'` | `[Disabled, Enabled]` | Enable this setting to protect backup data for Azure VM, SQL Server in Azure VM and SAP HANA in Azure VM from accidental deletes. | From 18b18d59412dcd2c438cb912e787c12a566cefdf Mon Sep 17 00:00:00 2001 From: Prasanjeets Date: Wed, 22 Jun 2022 14:26:21 +0530 Subject: [PATCH 7/9] Updated --- .../vaults/backupPolicies/deploy.bicep | 4 +-- .../vaults/backupPolicies/readme.md | 2 +- .../vaults/backupStorageConfig/deploy.bicep | 22 ++++++++++++++-- .../vaults/backupStorageConfig/readme.md | 4 ++- .../vaults/deploy.bicep | 3 +++ .../vaults/protectionContainers/deploy.bicep | 2 +- .../protectedItems/deploy.bicep | 2 +- .../protectedItems/readme.md | 2 +- .../vaults/protectionContainers/readme.md | 4 +-- .../vaults/readme.md | 25 ++++++++----------- .../vaults/replicationFabrics/deploy.bicep | 6 ++--- .../vaults/replicationFabrics/readme.md | 2 +- .../deploy.bicep | 6 ++--- .../replicationProtectionContainers/readme.md | 4 +-- .../deploy.bicep | 2 +- .../readme.md | 2 +- .../vaults/replicationPolicies/deploy.bicep | 2 +- .../vaults/replicationPolicies/readme.md | 2 +- 18 files changed, 58 insertions(+), 38 deletions(-) diff --git a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep index 6c6360d4c5..c6b28a9134 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/deploy.bicep @@ -22,11 +22,11 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource rsv 'Microsoft.RecoveryServices/vaults@2021-12-01' existing = { +resource rsv 'Microsoft.RecoveryServices/vaults@2022-02-01' existing = { name: recoveryVaultName } -resource backupPolicy 'Microsoft.RecoveryServices/vaults/backupPolicies@2021-08-01' = { +resource backupPolicy 'Microsoft.RecoveryServices/vaults/backupPolicies@2022-02-01' = { name: name parent: rsv properties: backupPolicyProperties diff --git a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md index 23d8bd9f15..ee5bc84c9f 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/backupPolicies/readme.md @@ -12,7 +12,7 @@ This module deploys a Backup Policy for a Recovery Services Vault | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupPolicies) | +| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupPolicies) | ## Parameters diff --git a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep index b6e4c37347..4c692c390a 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep @@ -16,6 +16,22 @@ param storageModelType string = 'GeoRedundant' @description('Optional. Opt in details of Cross Region Restore feature.') param crossRegionRestoreFlag bool = true +@description('Optional. Change Vault Dedup state.') +@allowed([ + 'Disabled' + 'Enabled' + 'Invalid' +]) +param dedupState string = 'Disabled' + +@description('Optional. Change Vault x-cool state.') +@allowed([ + 'Disabled' + 'Enabled' + 'Invalid' +]) +param xcoolState string = 'Disabled' + @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -31,16 +47,18 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource rsv 'Microsoft.RecoveryServices/vaults@2021-12-01' existing = { +resource rsv 'Microsoft.RecoveryServices/vaults@2022-02-01' existing = { name: recoveryVaultName } -resource backupStorageConfig 'Microsoft.RecoveryServices/vaults/backupstorageconfig@2021-08-01' = { +resource backupStorageConfig 'Microsoft.RecoveryServices/vaults/backupstorageconfig@2022-02-01' = { name: name parent: rsv properties: { storageModelType: storageModelType crossRegionRestoreFlag: crossRegionRestoreFlag + dedupState: dedupState + xcoolState: xcoolState } } diff --git a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md index 47b0868c02..6c743a494d 100644 --- a/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md @@ -11,7 +11,7 @@ This module deploys the Backup Storage Configuration for the Recovery Service Va | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupstorageconfig) | +| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupstorageconfig) | ## Parameters @@ -24,9 +24,11 @@ This module deploys the Backup Storage Configuration for the Recovery Service Va | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | | `crossRegionRestoreFlag` | bool | `True` | | Opt in details of Cross Region Restore feature. | +| `dedupState` | string | `'Disabled'` | `[Disabled, Enabled, Invalid]` | Change Vault Dedup state. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `name` | string | `'vaultstorageconfig'` | | The name of the backup storage config. | | `storageModelType` | string | `'GeoRedundant'` | `[GeoRedundant, LocallyRedundant, ReadAccessGeoZoneRedundant, ZoneRedundant]` | Change Vault Storage Type (Works if vault has not registered any backup instance). | +| `xcoolState` | string | `'Disabled'` | `[Disabled, Enabled, Invalid]` | Change Vault x-cool state. | ## Outputs diff --git a/arm/Microsoft.RecoveryServices/vaults/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/deploy.bicep index 2c7c040855..572ef79ede 100644 --- a/arm/Microsoft.RecoveryServices/vaults/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/deploy.bicep @@ -196,6 +196,8 @@ module rsv_backupStorageConfiguration 'backupStorageConfig/deploy.bicep' = if (! storageModelType: backupStorageConfig.storageModelType crossRegionRestoreFlag: backupStorageConfig.crossRegionRestoreFlag enableDefaultTelemetry: enableReferencedModulesTelemetry + dedupState: backupStorageConfig.dedupState + xcoolState: backupStorageConfig.xcoolState } } @@ -235,6 +237,7 @@ module rsv_backupConfig 'backupConfig/deploy.bicep' = if (!empty(backupConfig)) storageModelType: contains(backupConfig, 'storageModelType') ? backupConfig.storageModelType : 'GeoRedundant' storageType: contains(backupConfig, 'storageType') ? backupConfig.storageType : 'GeoRedundant' storageTypeState: contains(backupConfig, 'storageTypeState') ? backupConfig.storageTypeState : 'Locked' + isSoftDeleteFeatureStateEditable: contains(backupConfig, 'isSoftDeleteFeatureStateEditable') ? backupConfig.isSoftDeleteFeatureStateEditable : true enableDefaultTelemetry: enableReferencedModulesTelemetry } } diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep index cb49b30499..68d3038faa 100644 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/deploy.bicep @@ -61,7 +61,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource protectionContainer 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers@2021-08-01' = { +resource protectionContainer 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers@2022-02-01' = { name: '${recoveryVaultName}/Azure/${name}' properties: { sourceResourceId: !empty(sourceResourceId) ? sourceResourceId : null diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep index bc2b5c610d..b48824b843 100644 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/deploy.bicep @@ -46,7 +46,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource protectedItem 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems@2021-06-01' = { +resource protectedItem 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems@2022-02-01' = { name: '${recoveryVaultName}/Azure/${protectionContainerName}/${name}' location: location properties: { diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md index fb3a8f11bc..f08429eed5 100644 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md @@ -12,7 +12,7 @@ This module deploys a Protection Container Protected Item for a Recovery Service | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | ## Parameters diff --git a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md index 5ca0d767ef..44effaba56 100644 --- a/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md @@ -12,8 +12,8 @@ This module deploys a Protection Container for a Recovery Services Vault | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupFabrics/protectionContainers) | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupFabrics/protectionContainers) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | ## Parameters diff --git a/arm/Microsoft.RecoveryServices/vaults/readme.md b/arm/Microsoft.RecoveryServices/vaults/readme.md index 466b79e000..41889d51f3 100644 --- a/arm/Microsoft.RecoveryServices/vaults/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/readme.md @@ -4,12 +4,12 @@ This module deploys a recovery service vault. ## Navigation -- [Resource types](#Resource-types) +- [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Deployment examples](#Deployment-examples) -## Resource types +## Resource Types | Resource Type | API Version | | :-- | :-- | @@ -17,15 +17,15 @@ This module deploys a recovery service vault. | `Microsoft.Authorization/roleAssignments` | [2020-10-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-10-01-preview/roleAssignments) | | `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | | `Microsoft.RecoveryServices/vaults` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults) | -| `Microsoft.RecoveryServices/vaults/backupconfig` | [2021-10-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-10-01/vaults/backupconfig) | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupFabrics/protectionContainers) | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2021-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | -| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupPolicies) | -| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2021-08-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupstorageconfig) | -| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics) | -| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers) | -| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | -| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationPolicies) | +| `Microsoft.RecoveryServices/vaults/backupconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupconfig) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupFabrics/protectionContainers) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupFabrics/protectionContainers/protectedItems) | +| `Microsoft.RecoveryServices/vaults/backupPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupPolicies) | +| `Microsoft.RecoveryServices/vaults/backupstorageconfig` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupstorageconfig) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics/replicationProtectionContainers) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | +| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationPolicies) | ## Parameters @@ -958,7 +958,6 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { } ] } -} ``` @@ -995,7 +994,6 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { params: { name: '<>-az-rsv-min-001' } -} ``` @@ -1568,7 +1566,6 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-<>-az-msi-x-001': {} } } -} ``` diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep index 554d390ddb..48eae21c8d 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep @@ -13,7 +13,7 @@ param replicationContainers array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -var enableReferencedModulesTelemetry = false +var enableChildTelemetry = false resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' @@ -27,7 +27,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource replicationFabric 'Microsoft.RecoveryServices/vaults/replicationFabrics@2021-12-01' = { +resource replicationFabric 'Microsoft.RecoveryServices/vaults/replicationFabrics@2022-02-01' = { name: '${recoveryVaultName}/${name}' properties: { customDetails: { @@ -44,7 +44,7 @@ module fabric_replicationContainers 'replicationProtectionContainers/deploy.bice recoveryVaultName: recoveryVaultName replicationFabricName: name replicationContainerMappings: contains(container, 'replicationContainerMappings') ? container.replicationContainerMappings : [] - enableDefaultTelemetry: enableReferencedModulesTelemetry + enableDefaultTelemetry: enableChildTelemetry } dependsOn: [ replicationFabric diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md index 1c2b29110f..e7b106ddc2 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md @@ -14,7 +14,7 @@ This module deploys a Replication Fabric for Azure to Azure disaster recovery sc | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers) | | `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep index 0a6422076a..f783d7ff0c 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep @@ -13,7 +13,7 @@ param replicationContainerMappings array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -var enableReferencedModulesTelemetry = false +var enableChildTelemetry = false resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' @@ -27,7 +27,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource replicationContainer 'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers@2021-12-01' = { +resource replicationContainer 'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers@2022-02-01' = { name: '${recoveryVaultName}/${replicationFabricName}/${name}' properties: { providerSpecificInput: [ @@ -50,7 +50,7 @@ module fabric_container_containerMappings 'replicationProtectionContainerMapping targetProtectionContainerId: contains(mapping, 'targetProtectionContainerId') ? mapping.targetProtectionContainerId : '' targetContainerFabricName: contains(mapping, 'targetContainerFabricName') ? mapping.targetContainerFabricName : replicationFabricName targetContainerName: contains(mapping, 'targetContainerName') ? mapping.targetContainerName : '' - enableDefaultTelemetry: enableReferencedModulesTelemetry + enableDefaultTelemetry: enableChildTelemetry } dependsOn: [ replicationContainer diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/readme.md b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/readme.md index 5df2ee6958..1cac511857 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/readme.md @@ -14,8 +14,8 @@ This module deploys a Replication Protection Container. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers) | -| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics/replicationProtectionContainers) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | ## Parameters diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep index 42cefe55b9..19c32580f0 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/deploy.bicep @@ -44,7 +44,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource replicationContainer 'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings@2021-12-01' = { +resource replicationContainer 'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings@2022-02-01' = { name: '${recoveryVaultName}/${replicationFabricName}/${sourceProtectionContainerName}/${mappingName}' properties: { targetProtectionContainerId: targetProtectionContainerResourceId diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/readme.md b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/readme.md index d344cc56f0..1e89ffd396 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/readme.md @@ -14,7 +14,7 @@ This module deploys a Replication Protection Container Mapping. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | ## Parameters diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep index 123e2f07ca..2e98ec396a 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep +++ b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/deploy.bicep @@ -35,7 +35,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource replicationPolicy 'Microsoft.RecoveryServices/vaults/replicationPolicies@2021-12-01' = { +resource replicationPolicy 'Microsoft.RecoveryServices/vaults/replicationPolicies@2022-02-01' = { name: '${recoveryVaultName}/${name}' properties: { providerSpecificInput: { diff --git a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md index f5b3f0662e..8f98e9ac0c 100644 --- a/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md +++ b/arm/Microsoft.RecoveryServices/vaults/replicationPolicies/readme.md @@ -14,7 +14,7 @@ This module deploys a Replication Policy for Disaster Recovery scenario. | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationPolicies) | +| `Microsoft.RecoveryServices/vaults/replicationPolicies` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationPolicies) | ## Parameters From e5ee7c2146a8fbc60599cc72c4f9084f0af4538b Mon Sep 17 00:00:00 2001 From: Prasanjeets Date: Mon, 11 Jul 2022 15:02:47 +0530 Subject: [PATCH 8/9] Updated_Readme --- .../vaults/protectionContainers/protectedItems/readme.md | 2 +- .../vaults/protectionContainers/readme.md | 4 ++-- .../vaults/replicationFabrics/deploy.bicep | 4 ++-- .../vaults/replicationFabrics/readme.md | 4 ++-- .../replicationProtectionContainers/deploy.bicep | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md b/modules/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md index f08429eed5..efd37a1111 100644 --- a/modules/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md +++ b/modules/Microsoft.RecoveryServices/vaults/protectionContainers/protectedItems/readme.md @@ -12,7 +12,7 @@ This module deploys a Protection Container Protected Item for a Recovery Service | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupFabrics/protectionContainers/protectedItems) | ## Parameters diff --git a/modules/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md b/modules/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md index 44effaba56..a6d70b769b 100644 --- a/modules/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md +++ b/modules/Microsoft.RecoveryServices/vaults/protectionContainers/readme.md @@ -12,8 +12,8 @@ This module deploys a Protection Container for a Recovery Services Vault | Resource Type | API Version | | :-- | :-- | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-08-01/vaults/backupFabrics/protectionContainers) | -| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-06-01/vaults/backupFabrics/protectionContainers/protectedItems) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupFabrics/protectionContainers) | +| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/backupFabrics/protectionContainers/protectedItems) | ## Parameters diff --git a/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep b/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep index 48eae21c8d..f2b7589366 100644 --- a/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep +++ b/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/deploy.bicep @@ -13,7 +13,7 @@ param replicationContainers array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -var enableChildTelemetry = false +var enableReferencedModulesTelemetry = false resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' @@ -44,7 +44,7 @@ module fabric_replicationContainers 'replicationProtectionContainers/deploy.bice recoveryVaultName: recoveryVaultName replicationFabricName: name replicationContainerMappings: contains(container, 'replicationContainerMappings') ? container.replicationContainerMappings : [] - enableDefaultTelemetry: enableChildTelemetry + enableDefaultTelemetry: enableReferencedModulesTelemetry } dependsOn: [ replicationFabric diff --git a/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md b/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md index e7b106ddc2..f4cc4510df 100644 --- a/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md +++ b/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/readme.md @@ -15,8 +15,8 @@ This module deploys a Replication Fabric for Azure to Azure disaster recovery sc | Resource Type | API Version | | :-- | :-- | | `Microsoft.RecoveryServices/vaults/replicationFabrics` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics) | -| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers) | -| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2021-12-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics/replicationProtectionContainers) | +| `Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings` | [2022-02-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2022-02-01/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings) | ## Parameters diff --git a/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep b/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep index f783d7ff0c..c6a4e84da3 100644 --- a/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep +++ b/modules/Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/deploy.bicep @@ -13,7 +13,7 @@ param replicationContainerMappings array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -var enableChildTelemetry = false +var enableReferencedModulesTelemetry = false resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}-rsvPolicy' @@ -50,7 +50,7 @@ module fabric_container_containerMappings 'replicationProtectionContainerMapping targetProtectionContainerId: contains(mapping, 'targetProtectionContainerId') ? mapping.targetProtectionContainerId : '' targetContainerFabricName: contains(mapping, 'targetContainerFabricName') ? mapping.targetContainerFabricName : replicationFabricName targetContainerName: contains(mapping, 'targetContainerName') ? mapping.targetContainerName : '' - enableDefaultTelemetry: enableChildTelemetry + enableDefaultTelemetry: enableReferencedModulesTelemetry } dependsOn: [ replicationContainer From f319c706361bc4d4f97c5fcc61a417048438dbe7 Mon Sep 17 00:00:00 2001 From: Prasanjeets Date: Mon, 11 Jul 2022 19:38:56 +0530 Subject: [PATCH 9/9] commit --- .../vaults/backupStorageConfig/deploy.bicep | 18 ------------------ .../vaults/backupStorageConfig/readme.md | 2 -- .../vaults/deploy.bicep | 2 -- .../vaults/readme.md | 3 +++ 4 files changed, 3 insertions(+), 22 deletions(-) diff --git a/modules/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep b/modules/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep index 4c692c390a..b99c0e6541 100644 --- a/modules/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep +++ b/modules/Microsoft.RecoveryServices/vaults/backupStorageConfig/deploy.bicep @@ -16,22 +16,6 @@ param storageModelType string = 'GeoRedundant' @description('Optional. Opt in details of Cross Region Restore feature.') param crossRegionRestoreFlag bool = true -@description('Optional. Change Vault Dedup state.') -@allowed([ - 'Disabled' - 'Enabled' - 'Invalid' -]) -param dedupState string = 'Disabled' - -@description('Optional. Change Vault x-cool state.') -@allowed([ - 'Disabled' - 'Enabled' - 'Invalid' -]) -param xcoolState string = 'Disabled' - @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -57,8 +41,6 @@ resource backupStorageConfig 'Microsoft.RecoveryServices/vaults/backupstoragecon properties: { storageModelType: storageModelType crossRegionRestoreFlag: crossRegionRestoreFlag - dedupState: dedupState - xcoolState: xcoolState } } diff --git a/modules/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md b/modules/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md index 6c743a494d..0cd6d25c6d 100644 --- a/modules/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md +++ b/modules/Microsoft.RecoveryServices/vaults/backupStorageConfig/readme.md @@ -24,11 +24,9 @@ This module deploys the Backup Storage Configuration for the Recovery Service Va | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | | `crossRegionRestoreFlag` | bool | `True` | | Opt in details of Cross Region Restore feature. | -| `dedupState` | string | `'Disabled'` | `[Disabled, Enabled, Invalid]` | Change Vault Dedup state. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `name` | string | `'vaultstorageconfig'` | | The name of the backup storage config. | | `storageModelType` | string | `'GeoRedundant'` | `[GeoRedundant, LocallyRedundant, ReadAccessGeoZoneRedundant, ZoneRedundant]` | Change Vault Storage Type (Works if vault has not registered any backup instance). | -| `xcoolState` | string | `'Disabled'` | `[Disabled, Enabled, Invalid]` | Change Vault x-cool state. | ## Outputs diff --git a/modules/Microsoft.RecoveryServices/vaults/deploy.bicep b/modules/Microsoft.RecoveryServices/vaults/deploy.bicep index 128ea64a44..82fe98e298 100644 --- a/modules/Microsoft.RecoveryServices/vaults/deploy.bicep +++ b/modules/Microsoft.RecoveryServices/vaults/deploy.bicep @@ -199,8 +199,6 @@ module rsv_backupStorageConfiguration 'backupStorageConfig/deploy.bicep' = if (! storageModelType: backupStorageConfig.storageModelType crossRegionRestoreFlag: backupStorageConfig.crossRegionRestoreFlag enableDefaultTelemetry: enableReferencedModulesTelemetry - dedupState: backupStorageConfig.dedupState - xcoolState: backupStorageConfig.xcoolState } } diff --git a/modules/Microsoft.RecoveryServices/vaults/readme.md b/modules/Microsoft.RecoveryServices/vaults/readme.md index c2d7138a39..3cb742fb2b 100644 --- a/modules/Microsoft.RecoveryServices/vaults/readme.md +++ b/modules/Microsoft.RecoveryServices/vaults/readme.md @@ -1037,6 +1037,7 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { } ] } +} ``` @@ -1072,6 +1073,7 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { params: { name: '<>-az-rsv-min-001' } +} ``` @@ -1603,6 +1605,7 @@ module vaults './Microsoft.RecoveryServices/vaults/deploy.bicep' = { '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-<>-az-msi-x-001': {} } } +} ```