我创建了一个模块来部署以下
azurerm_automation_schedule
资源:
resource "azurerm_automation_schedule" "example" {
name = var.aaname
resource_group_name = azurerm_resource_group.example.name
automation_account_name = azurerm_automation_account.example.name
frequency = var.frequency
interval = var.interval
timezone = "Australia/Perth"
start_time = "2014-04-15T18:00:15+02:00"
description = "This is an example schedule"
monthly_occurrence {
day = monthly_occurrence.value.day
occurrence = monthly_occurrence.value.occurrence
}
}
monthly_occurrence块参数的存在必须是有条件的,因为它仅当频率为“月”时才需要,否则会抛出错误。
有没有办法有条件地创建这个 monthly_occurrence 块参数?我正在使用 terraform 0.13.5 和 azurerm 2.38.0
我尝试过 for_each 但我找不到解决方案。有什么办法可以做到吗?
您可以使用 动态块 使
monthly_occurrence
有条件。例如:
resource "azurerm_automation_schedule" "example" {
name = var.aaname
resource_group_name = azurerm_resource_group.example.name
automation_account_name = azurerm_automation_account.example.name
frequency = var.frequency
interval = var.interval
timezone = "Australia/Perth"
start_time = "2014-04-15T18:00:15+02:00"
description = "This is an example schedule"
dynamic "monthly_occurrence" {
for_each = var.frequency == "Month" ? [1] : []
content {
day = monthly_occurrence.value.day
occurrence = monthly_occurrence.value.occurrence
}
}
}