diff --git a/docs/usage.md b/docs/usage.md index c0fa3aa..67eee3e 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -128,8 +128,8 @@ module "my_backup" { | Name | Description | Required | Default | |------|-------------|-----------|---------| -| `resource_group_name` | The name of the resource group that is created to contain the vault - this cannot be an existing resource group. | Yes | n/a | -| `resource_group_location` | The location of the resource group that is created to contain the vault. | No | `uksouth` | +| `resource_group_name` | The name of the resource group that is created to contain the vault - the resource group will be created if `create_resource_group` = true, and must be an existing resource group if `create_resource_group` = false. | Yes | n/a | +| `resource_group_location` | The location of the resource group. | No | `uksouth` | | `create_resource_group` | States whether a resource group should be created. Setting this to `false` means the vault will be deployed into an externally managed resource group, the name of which is defined in `resource_group_name`. | No | `true` | | `backup_vault_name` | The name of the backup vault. The value supplied will be automatically prefixed with `rg-nhsbackup-`. If more than one az-backup module is created, this value must be unique across them. | Yes | n/a | | `backup_vault_redundancy` | The redundancy of the vault, e.g. `GeoRedundant`. [See the following link for the possible values.](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/data_protection_backup_vault#redundancy) | No | `LocallyRedundant` | diff --git a/infrastructure/.terraform.lock.hcl b/infrastructure/.terraform.lock.hcl index 4e8d838..3f35bbc 100644 --- a/infrastructure/.terraform.lock.hcl +++ b/infrastructure/.terraform.lock.hcl @@ -2,21 +2,21 @@ # Manual edits may be lost in future updates. provider "registry.terraform.io/hashicorp/azurerm" { - version = "4.18.0" - constraints = "4.18.0" + version = "4.35.0" + constraints = ">= 4.18.0, < 5.0.0" hashes = [ - "h1:b4Y4/wIFx9NjMhFFYDhqotvUzJ/kLUErL330gl3s1Xk=", - "zh:0e36f194b9c558a7ab25d300d126ddaab74cdeb077ebc143656ec6c8d8bafa11", - "zh:68f04ef1a13105766f92096168e1a3d8157625e2c4e11f32257a3818a790946f", - "zh:695a6400cfa851827ba3ba2d083391059bbf6cddae4723291ac085dc8a87d668", - "zh:88638f2600a33baf70bae435260d4dcb8e239fd80be44b7c7cfcb6e2bb51fda4", - "zh:983bfffcee94dc7b720132599fa7da39c1049d7fd2ef8bbdabb6cd60dbbb95e6", - "zh:ac296ca105da80fb17faed36ec38027a5d5a01545b60b31cd9f1f0ec8ea9e619", - "zh:c4efeac23ac3596b75ca3eddc82e167e1c6e26ad2c169d3d6fa57b46ea1d44bb", - "zh:d4bc05093d6a32e36e838c00a3baa2500bd025c8a52fb7b4d84a1f31690ed8e6", - "zh:da225d297000ff64452a765ebe4952741dc72bd4f742284f6a5470e4c6703235", - "zh:eba013ccf5d7efd687c7a4105d71499e0af42e4c64306c7364ddbab52499fcbd", - "zh:ebe939362204ebbcaadb6a88287f309060828de4c952cb5f9cfe58459078d0ee", + "h1:3zJsyLWItriZDhtx6kBkoy9UPcA9l5G4PKi4ZYxhsnA=", + "zh:05a7fac1291517527d272dd2e22a8b3223775d399dc608c8250435e63d437386", + "zh:3519dae43473cb5a82c026d664572859e2fc886fe2a54ecc59007186ef4aa166", + "zh:57cd9d04334d296a9af3aa54d776bc3b4709ecf5d511fee94dc7420a547364ab", + "zh:7d57cbd44ebf959fc496743b4e3587a51dd7546a687bab404dc3f5899d3ef764", + "zh:8c1e722c84aa8d769cdef0be933d6f096ff0ec8224eaf1ae2c7bdb93b0365c6f", + "zh:9519f72c937003ecc97a0a5a60c0ad1063dafa3d431cf04067bdc4b40ebfd023", + "zh:9bf108a2840ecfb3d2e76b1ac59d0d9bed418b1b28df8c2c5dd09e34cb1e3699", + "zh:b870884accad83c437a12a577933f378a21bb6663a6034a3fb219b4c1f4b9188", + "zh:cf3292dd535133afe16614ac84241065485d581ab67b4abf857db5bfbba7109e", + "zh:d48aa50227ca3701a16d2818b5d059c5f236344e3a90162fb930ecc6f136c9b0", + "zh:e63733db32189c1e849b5dbf7c10dd852f48ed4186c8af81240ee643d2df3425", "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", ] } diff --git a/infrastructure/backup_vault.tf b/infrastructure/backup_vault.tf index a81ca7f..d599c25 100644 --- a/infrastructure/backup_vault.tf +++ b/infrastructure/backup_vault.tf @@ -39,10 +39,10 @@ resource "azurerm_monitor_diagnostic_setting" "backup_vault" { } } - dynamic "metric" { + dynamic "enabled_metric" { for_each = toset(local.backup_vault_diagnostics_metric_categories) content { - category = metric.key + category = enabled_metric.key } } } diff --git a/infrastructure/main.tf b/infrastructure/main.tf index 8970087..6676917 100644 --- a/infrastructure/main.tf +++ b/infrastructure/main.tf @@ -7,6 +7,4 @@ terraform { version = ">= 4.18.0, < 5.0" } } - - backend "azurerm" {} } diff --git a/tests/integration-tests/.terraform.lock.hcl b/tests/integration-tests/.terraform.lock.hcl index 11beebd..fccc261 100644 --- a/tests/integration-tests/.terraform.lock.hcl +++ b/tests/integration-tests/.terraform.lock.hcl @@ -2,21 +2,21 @@ # Manual edits may be lost in future updates. provider "registry.terraform.io/hashicorp/azurerm" { - version = "4.18.0" - constraints = "4.18.0" + version = "4.35.0" + constraints = ">= 4.18.0, < 5.0.0" hashes = [ - "h1:b4Y4/wIFx9NjMhFFYDhqotvUzJ/kLUErL330gl3s1Xk=", - "zh:0e36f194b9c558a7ab25d300d126ddaab74cdeb077ebc143656ec6c8d8bafa11", - "zh:68f04ef1a13105766f92096168e1a3d8157625e2c4e11f32257a3818a790946f", - "zh:695a6400cfa851827ba3ba2d083391059bbf6cddae4723291ac085dc8a87d668", - "zh:88638f2600a33baf70bae435260d4dcb8e239fd80be44b7c7cfcb6e2bb51fda4", - "zh:983bfffcee94dc7b720132599fa7da39c1049d7fd2ef8bbdabb6cd60dbbb95e6", - "zh:ac296ca105da80fb17faed36ec38027a5d5a01545b60b31cd9f1f0ec8ea9e619", - "zh:c4efeac23ac3596b75ca3eddc82e167e1c6e26ad2c169d3d6fa57b46ea1d44bb", - "zh:d4bc05093d6a32e36e838c00a3baa2500bd025c8a52fb7b4d84a1f31690ed8e6", - "zh:da225d297000ff64452a765ebe4952741dc72bd4f742284f6a5470e4c6703235", - "zh:eba013ccf5d7efd687c7a4105d71499e0af42e4c64306c7364ddbab52499fcbd", - "zh:ebe939362204ebbcaadb6a88287f309060828de4c952cb5f9cfe58459078d0ee", + "h1:3zJsyLWItriZDhtx6kBkoy9UPcA9l5G4PKi4ZYxhsnA=", + "zh:05a7fac1291517527d272dd2e22a8b3223775d399dc608c8250435e63d437386", + "zh:3519dae43473cb5a82c026d664572859e2fc886fe2a54ecc59007186ef4aa166", + "zh:57cd9d04334d296a9af3aa54d776bc3b4709ecf5d511fee94dc7420a547364ab", + "zh:7d57cbd44ebf959fc496743b4e3587a51dd7546a687bab404dc3f5899d3ef764", + "zh:8c1e722c84aa8d769cdef0be933d6f096ff0ec8224eaf1ae2c7bdb93b0365c6f", + "zh:9519f72c937003ecc97a0a5a60c0ad1063dafa3d431cf04067bdc4b40ebfd023", + "zh:9bf108a2840ecfb3d2e76b1ac59d0d9bed418b1b28df8c2c5dd09e34cb1e3699", + "zh:b870884accad83c437a12a577933f378a21bb6663a6034a3fb219b4c1f4b9188", + "zh:cf3292dd535133afe16614ac84241065485d581ab67b4abf857db5bfbba7109e", + "zh:d48aa50227ca3701a16d2818b5d059c5f236344e3a90162fb930ecc6f136c9b0", + "zh:e63733db32189c1e849b5dbf7c10dd852f48ed4186c8af81240ee643d2df3425", "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", ] } diff --git a/tests/integration-tests/backup_vault.tftest.hcl b/tests/integration-tests/backup_vault.tftest.hcl index f92fa73..aaf4baa 100644 --- a/tests/integration-tests/backup_vault.tftest.hcl +++ b/tests/integration-tests/backup_vault.tftest.hcl @@ -71,7 +71,7 @@ run "create_backup_vault" { ]) error_message = "Tags not as expected." } - + assert { condition = azurerm_data_protection_backup_vault.backup_vault.immutability == var.backup_vault_immutability error_message = "Backup vault immutability not as expected." @@ -119,12 +119,12 @@ run "configure_vault_diagnostics_when_enabled" { } assert { - condition = length(azurerm_monitor_diagnostic_setting.backup_vault[0].metric) == length(local.backup_vault_diagnostics_metric_categories) + condition = length(azurerm_monitor_diagnostic_setting.backup_vault[0].enabled_metric) == length(local.backup_vault_diagnostics_metric_categories) error_message = "Backup vault diagnostic setting metrics not as expected." } assert { - condition = alltrue([for metric in azurerm_monitor_diagnostic_setting.backup_vault[0].metric : contains(local.backup_vault_diagnostics_metric_categories, metric.category)]) + condition = alltrue([for metric in azurerm_monitor_diagnostic_setting.backup_vault[0].enabled_metric : contains(local.backup_vault_diagnostics_metric_categories, metric.category)]) error_message = "Backup vault diagnostic setting metrics not as expected." } } diff --git a/tests/integration-tests/main.tf b/tests/integration-tests/main.tf index f4c8a30..ac64fdf 100644 --- a/tests/integration-tests/main.tf +++ b/tests/integration-tests/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { azurerm = { source = "hashicorp/azurerm" - version = "4.18.0" + version = ">= 4.18.0, < 5.0" } } }