Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: #3625 - Added CMK encryption properties and updated RSV module version to latest stable release #3821

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
ffdc5d6
Update main.bicep
alexanderojala Nov 20, 2024
514e758
removed readme and main,json for new generation of the files
alexanderojala Nov 20, 2024
17bc2f0
rerun of set-avmmodule
alexanderojala Nov 20, 2024
c08f3eb
fixes and rerun of set-avmmodule
alexanderojala Nov 20, 2024
9fd08fa
fixes to monitoringSettings for max testing
alexanderojala Nov 20, 2024
a27b74b
rerun of set-avmmodule
alexanderojala Nov 20, 2024
a57e6e3
fixes to max testing removal of backupstorageconfig values
alexanderojala Nov 20, 2024
83cda55
updates on monitoringSettings
alexanderojala Nov 20, 2024
038c60b
changes to backupStorageConfig and rerun of set-avmmodule script
alexanderojala Nov 20, 2024
898da22
removed BackupStorageConfig, causes api errors
alexanderojala Nov 20, 2024
8672711
Merge branch 'Azure:main' into aojalarsv
alexanderojala Nov 20, 2024
6f23e2f
changed parameter type to user defined types
alexanderojala Nov 22, 2024
1024302
Merge branch 'main' into aojalarsv
alexanderojala Nov 22, 2024
f9a6831
Merge branch 'main' into aojalarsv
alexanderojala Nov 26, 2024
2f6e5c5
Update avm/res/recovery-services/vault/main.bicep
alexanderojala Nov 26, 2024
fd210d5
Update avm/res/recovery-services/vault/main.bicep
alexanderojala Nov 26, 2024
e2a7339
made changes to CMK
alexanderojala Nov 26, 2024
6e01675
fixed incorrect parameter description
alexanderojala Nov 26, 2024
eba8651
fixed parameter description
alexanderojala Nov 26, 2024
a74121e
parameter description changes
alexanderojala Nov 26, 2024
060e0fd
parameter description fixes
alexanderojala Nov 26, 2024
d220c49
Update avm/res/recovery-services/vault/main.bicep
alexanderojala Dec 11, 2024
274b925
Update avm/res/recovery-services/vault/main.bicep
alexanderojala Dec 11, 2024
bbc28d9
fixes to CML
alexanderojala Dec 11, 2024
efda28d
updates to restoreSettings
alexanderojala Dec 11, 2024
b2205ae
fixes to definitions
alexanderojala Dec 11, 2024
9b99d69
fixes to parameters
alexanderojala Dec 11, 2024
2f89063
fixes to parameters
alexanderojala Dec 11, 2024
1c3a9fc
param updates
alexanderojala Dec 12, 2024
b5f3e43
fixes to parameters
alexanderojala Dec 12, 2024
26730ca
param updates
alexanderojala Dec 12, 2024
2716dfc
fixes to params
alexanderojala Dec 12, 2024
4790f3b
new run of set-avmmodule
alexanderojala Dec 12, 2024
efc57ae
Merge branch 'main' into aojalarsv
alexanderojala Dec 12, 2024
29ad057
Merge branch 'main' into aojalarsv
alexanderojala Dec 13, 2024
b90b57f
Merge branch 'main' into aojalarsv
alexanderojala Dec 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
190 changes: 157 additions & 33 deletions avm/res/recovery-services/vault/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This module deploys a Recovery Services Vault.
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
| `Microsoft.Network/privateEndpoints` | [2023-11-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-11-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-11-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-11-01/privateEndpoints/privateDnsZoneGroups) |
| `Microsoft.RecoveryServices/vaults` | [2023-01-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2023-01-01/vaults) |
| `Microsoft.RecoveryServices/vaults` | [2024-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2024-04-01/vaults) |
| `Microsoft.RecoveryServices/vaults/backupconfig` | [2023-01-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2023-01-01/vaults/backupconfig) |
| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers` | [2023-01-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2023-01-01/vaults/backupFabrics/protectionContainers) |
| `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2023-01-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2023-01-01/vaults/backupFabrics/protectionContainers/protectedItems) |
Expand Down Expand Up @@ -649,10 +649,6 @@ module vault 'br/public:avm/res/recovery-services/vault:<version>' = {
}
}
]
backupStorageConfig: {
crossRegionRestoreFlag: true
storageModelType: 'GeoRedundant'
}
diagnosticSettings: [
{
eventHubAuthorizationRuleResourceId: '<eventHubAuthorizationRuleResourceId>'
Expand Down Expand Up @@ -680,10 +676,13 @@ module vault 'br/public:avm/res/recovery-services/vault:<version>' = {
}
monitoringSettings: {
azureMonitorAlertSettings: {
alertsForAllFailoverIssues: 'Enabled'
alertsForAllJobFailures: 'Enabled'
alertsForAllReplicationIssues: 'Enabled'
}
classicAlertSettings: {
alertsForCriticalOperations: 'Enabled'
emailNotificationsForSiteRecovery: 'Enabled'
}
}
privateEndpoints: [
Expand Down Expand Up @@ -1040,12 +1039,6 @@ module vault 'br/public:avm/res/recovery-services/vault:<version>' = {
}
]
},
"backupStorageConfig": {
"value": {
"crossRegionRestoreFlag": true,
"storageModelType": "GeoRedundant"
}
},
"diagnosticSettings": {
"value": [
{
Expand Down Expand Up @@ -1082,10 +1075,13 @@ module vault 'br/public:avm/res/recovery-services/vault:<version>' = {
"monitoringSettings": {
"value": {
"azureMonitorAlertSettings": {
"alertsForAllJobFailures": "Enabled"
"alertsForAllFailoverIssues": "Enabled",
"alertsForAllJobFailures": "Enabled",
"alertsForAllReplicationIssues": "Enabled"
},
"classicAlertSettings": {
"alertsForCriticalOperations": "Enabled"
"alertsForCriticalOperations": "Enabled",
"emailNotificationsForSiteRecovery": "Enabled"
}
}
},
Expand Down Expand Up @@ -1445,10 +1441,6 @@ param backupPolicies = [
}
}
]
param backupStorageConfig = {
crossRegionRestoreFlag: true
storageModelType: 'GeoRedundant'
}
param diagnosticSettings = [
{
eventHubAuthorizationRuleResourceId: '<eventHubAuthorizationRuleResourceId>'
Expand Down Expand Up @@ -1476,10 +1468,13 @@ param managedIdentities = {
}
param monitoringSettings = {
azureMonitorAlertSettings: {
alertsForAllFailoverIssues: 'Enabled'
alertsForAllJobFailures: 'Enabled'
alertsForAllReplicationIssues: 'Enabled'
}
classicAlertSettings: {
alertsForCriticalOperations: 'Enabled'
emailNotificationsForSiteRecovery: 'Enabled'
}
}
param privateEndpoints = [
Expand Down Expand Up @@ -1832,10 +1827,6 @@ module vault 'br/public:avm/res/recovery-services/vault:<version>' = {
}
}
]
backupStorageConfig: {
crossRegionRestoreFlag: true
storageModelType: 'GeoRedundant'
}
diagnosticSettings: [
{
eventHubAuthorizationRuleResourceId: '<eventHubAuthorizationRuleResourceId>'
Expand Down Expand Up @@ -1863,10 +1854,13 @@ module vault 'br/public:avm/res/recovery-services/vault:<version>' = {
}
monitoringSettings: {
azureMonitorAlertSettings: {
alertsForAllFailoverIssues: 'Enabled'
alertsForAllJobFailures: 'Enabled'
alertsForAllReplicationIssues: 'Enabled'
}
classicAlertSettings: {
alertsForCriticalOperations: 'Enabled'
emailNotificationsForSiteRecovery: 'Enabled'
}
}
privateEndpoints: [
Expand Down Expand Up @@ -2204,12 +2198,6 @@ module vault 'br/public:avm/res/recovery-services/vault:<version>' = {
}
]
},
"backupStorageConfig": {
"value": {
"crossRegionRestoreFlag": true,
"storageModelType": "GeoRedundant"
}
},
"diagnosticSettings": {
"value": [
{
Expand Down Expand Up @@ -2246,10 +2234,13 @@ module vault 'br/public:avm/res/recovery-services/vault:<version>' = {
"monitoringSettings": {
"value": {
"azureMonitorAlertSettings": {
"alertsForAllJobFailures": "Enabled"
"alertsForAllFailoverIssues": "Enabled",
"alertsForAllJobFailures": "Enabled",
"alertsForAllReplicationIssues": "Enabled"
},
"classicAlertSettings": {
"alertsForCriticalOperations": "Enabled"
"alertsForCriticalOperations": "Enabled",
"emailNotificationsForSiteRecovery": "Enabled"
}
}
},
Expand Down Expand Up @@ -2588,10 +2579,6 @@ param backupPolicies = [
}
}
]
param backupStorageConfig = {
crossRegionRestoreFlag: true
storageModelType: 'GeoRedundant'
}
param diagnosticSettings = [
{
eventHubAuthorizationRuleResourceId: '<eventHubAuthorizationRuleResourceId>'
Expand Down Expand Up @@ -2619,10 +2606,13 @@ param managedIdentities = {
}
param monitoringSettings = {
azureMonitorAlertSettings: {
alertsForAllFailoverIssues: 'Enabled'
alertsForAllJobFailures: 'Enabled'
alertsForAllReplicationIssues: 'Enabled'
}
classicAlertSettings: {
alertsForCriticalOperations: 'Enabled'
emailNotificationsForSiteRecovery: 'Enabled'
}
}
param privateEndpoints = [
Expand Down Expand Up @@ -2721,6 +2711,7 @@ param tags = {
| [`backupConfig`](#parameter-backupconfig) | object | The backup configuration. |
| [`backupPolicies`](#parameter-backuppolicies) | array | List of all backup policies. |
| [`backupStorageConfig`](#parameter-backupstorageconfig) | object | The storage configuration for the Azure Recovery Service Vault. |
| [`customerManagedKey`](#parameter-customermanagedkey) | object | The customer managed key definition. |
| [`diagnosticSettings`](#parameter-diagnosticsettings) | array | The diagnostic settings of the service. |
| [`enableTelemetry`](#parameter-enabletelemetry) | bool | Enable/Disable usage telemetry for module. |
| [`location`](#parameter-location) | string | Location for all resources. |
Expand All @@ -2730,9 +2721,11 @@ param tags = {
| [`privateEndpoints`](#parameter-privateendpoints) | array | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
| [`protectionContainers`](#parameter-protectioncontainers) | array | List of all protection containers. |
| [`publicNetworkAccess`](#parameter-publicnetworkaccess) | string | Whether or not public network access is allowed for this resource. For security reasons it should be disabled. |
| [`redundancySettings`](#parameter-redundancysettings) | object | The redundancy settings of the vault. |
| [`replicationAlertSettings`](#parameter-replicationalertsettings) | object | Replication alert settings. |
| [`replicationFabrics`](#parameter-replicationfabrics) | array | List of all replication fabrics. |
| [`replicationPolicies`](#parameter-replicationpolicies) | array | List of all replication policies. |
| [`restoreSettings`](#parameter-restoresettings) | object | The restore settings of the vault. |
| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignments to create. |
| [`securitySettings`](#parameter-securitysettings) | object | Security Settings of the vault. |
| [`tags`](#parameter-tags) | object | Tags of the Recovery Service Vault resource. |
Expand Down Expand Up @@ -2768,6 +2761,76 @@ The storage configuration for the Azure Recovery Service Vault.
- Type: object
- Default: `{}`

### Parameter: `customerManagedKey`

The customer managed key definition.

- Required: No
- Type: object

**Required parameters**

| Parameter | Type | Description |
| :-- | :-- | :-- |
| [`infrastructureEncryption`](#parameter-customermanagedkeyinfrastructureencryption) | string | The resource ID of the key vault. |
| [`kekIdentity`](#parameter-customermanagedkeykekidentity) | object | The details of the identity used for CMK . |
| [`keyVaultProperties`](#parameter-customermanagedkeykeyvaultproperties) | object | The properties of the Key Vault which hosts CMK. |

### Parameter: `customerManagedKey.infrastructureEncryption`

The resource ID of the key vault.

- Required: Yes
- Type: string

### Parameter: `customerManagedKey.kekIdentity`

The details of the identity used for CMK .

- Required: Yes
- Type: object

**Required parameters**

| Parameter | Type | Description |
| :-- | :-- | :-- |
| [`userAssignedIdentity`](#parameter-customermanagedkeykekidentityuserassignedidentity) | string | The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned. |
| [`useSystemAssignedIdentity`](#parameter-customermanagedkeykekidentityusesystemassignedidentity) | bool | Indicate that system assigned identity should be used. Mutually exclusive with userAssignedIdentity field. |

### Parameter: `customerManagedKey.kekIdentity.userAssignedIdentity`

The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned.

- Required: Yes
- Type: string

### Parameter: `customerManagedKey.kekIdentity.useSystemAssignedIdentity`

Indicate that system assigned identity should be used. Mutually exclusive with userAssignedIdentity field.

- Required: Yes
- Type: bool

### Parameter: `customerManagedKey.keyVaultProperties`

The properties of the Key Vault which hosts CMK.

- Required: Yes
- Type: object

**Required parameters**

| Parameter | Type | Description |
| :-- | :-- | :-- |
| [`keyUri`](#parameter-customermanagedkeykeyvaultpropertieskeyuri) | string | The key uri of the Customer Managed Key. |

### Parameter: `customerManagedKey.keyVaultProperties.keyUri`

The key uri of the Customer Managed Key.

- Required: Yes
- Type: string

### Parameter: `diagnosticSettings`

The diagnostic settings of the service.
Expand Down Expand Up @@ -3436,6 +3499,34 @@ Whether or not public network access is allowed for this resource. For security
]
```

### Parameter: `redundancySettings`

The redundancy settings of the vault.

- Required: No
- Type: object

**Optional parameters**

| Parameter | Type | Description |
| :-- | :-- | :-- |
| [`crossRegionRestore`](#parameter-redundancysettingscrossregionrestore) | string | Flag to show if Cross Region Restore is enabled on the Vault or not. |
| [`standardTierStorageRedundancy`](#parameter-redundancysettingsstandardtierstorageredundancy) | string | The storage redundancy setting of a vault. |

### Parameter: `redundancySettings.crossRegionRestore`

Flag to show if Cross Region Restore is enabled on the Vault or not.

- Required: No
- Type: string

### Parameter: `redundancySettings.standardTierStorageRedundancy`

The storage redundancy setting of a vault.

- Required: No
- Type: string

### Parameter: `replicationAlertSettings`

Replication alert settings.
Expand All @@ -3460,6 +3551,39 @@ List of all replication policies.
- Type: array
- Default: `[]`

### Parameter: `restoreSettings`

The restore settings of the vault.

- Required: No
- Type: object

**Required parameters**

| Parameter | Type | Description |
| :-- | :-- | :-- |
| [`crossSubscriptionRestoreSettings`](#parameter-restoresettingscrosssubscriptionrestoresettings) | object | The restore settings of the vault. |

### Parameter: `restoreSettings.crossSubscriptionRestoreSettings`

The restore settings of the vault.

- Required: Yes
- Type: object

**Required parameters**

| Parameter | Type | Description |
| :-- | :-- | :-- |
| [`crossSubscriptionRestoreState`](#parameter-restoresettingscrosssubscriptionrestoresettingscrosssubscriptionrestorestate) | string | The restore settings of the vault. |

### Parameter: `restoreSettings.crossSubscriptionRestoreSettings.crossSubscriptionRestoreState`

The restore settings of the vault.

- Required: Yes
- Type: string

### Parameter: `roleAssignments`

Array of role assignments to create.
Expand Down
4 changes: 2 additions & 2 deletions avm/res/recovery-services/vault/backup-config/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.30.23.60470",
"templateHash": "11104609825546301514"
"version": "0.32.4.45862",
"templateHash": "985903164551110149"
},
"name": "Recovery Services Vault Backup Config",
"description": "This module deploys a Recovery Services Vault Backup Config.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.30.23.60470",
"templateHash": "3738002202831366506"
"version": "0.32.4.45862",
"templateHash": "6107144281664309791"
},
"name": "Recovery Services Vault Protection Container",
"description": "This module deploys a Recovery Services Vault Protection Container.",
Expand Down Expand Up @@ -144,8 +144,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.30.23.60470",
"templateHash": "12193073774274736616"
"version": "0.32.4.45862",
"templateHash": "8409556960090427141"
},
"name": "Recovery Service Vaults Protection Container Protected Item",
"description": "This module deploys a Recovery Services Vault Protection Container Protected Item.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.30.23.60470",
"templateHash": "12193073774274736616"
"version": "0.32.4.45862",
"templateHash": "8409556960090427141"
},
"name": "Recovery Service Vaults Protection Container Protected Item",
"description": "This module deploys a Recovery Services Vault Protection Container Protected Item.",
Expand Down
4 changes: 2 additions & 2 deletions avm/res/recovery-services/vault/backup-policy/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.30.23.60470",
"templateHash": "2997233827023702889"
"version": "0.32.4.45862",
"templateHash": "7139861727518132001"
},
"name": "Recovery Services Vault Backup Policies",
"description": "This module deploys a Recovery Services Vault Backup Policy.",
Expand Down
Loading
Loading