main.database.tf (31 lines of code) (raw):
resource "azurerm_mssql_managed_database" "this" {
for_each = var.databases
managed_instance_id = azurerm_mssql_managed_instance.this.id
name = each.value.name
short_term_retention_days = each.value.short_term_retention_days
dynamic "long_term_retention_policy" {
for_each = each.value.long_term_retention_policy == null ? [] : [each.value.long_term_retention_policy]
content {
monthly_retention = long_term_retention_policy.value.monthly_retention
week_of_year = long_term_retention_policy.value.week_of_year
weekly_retention = long_term_retention_policy.value.weekly_retention
yearly_retention = long_term_retention_policy.value.yearly_retention
}
}
dynamic "point_in_time_restore" {
for_each = each.value.point_in_time_restore == null ? [] : [each.value.point_in_time_restore]
content {
restore_point_in_time = point_in_time_restore.value.restore_point_in_time
source_database_id = point_in_time_restore.value.source_database_id
}
}
dynamic "timeouts" {
for_each = each.value.timeouts == null ? [] : [each.value.timeouts]
content {
create = timeouts.value.create
delete = timeouts.value.delete
read = timeouts.value.read
update = timeouts.value.update
}
}
}