[英]Terraform dynamic block with for_each
Need suggestion.需要建议。 I am trying to run the below code.
我正在尝试运行以下代码。 First adf is imported which has the vsts configuration.
首先导入具有 vsts 配置的 adf。 For second adf, i dont need the vsts configuration.
对于第二个 adf,我不需要 vsts 配置。 I have tried using dymanic block, but getting error as below.
我曾尝试使用动态块,但出现如下错误。
on main.tf line 16, in resource "azurerm_data_factory" "adf": 2020-12-24T08:13:44.3101544Z 16: dynamic [4m"action"在 main.tf 第 16 行,在资源“azurerm_data_factory”“adf”中:2020-12-24T08:13:44.3101544Z 16:动态 [4m“action”
[0m { 2020-12-24T08:13:44.3101802Z [0m 2020-12-24T08:13:44.3102076Z Blocks of type "action" are not expected here. [0m { 2020-12-24T08:13:44.3101802Z [0m 2020-12-24T08:13:44.3102076Z 此处不应出现“动作”类型的块。
Main.tf主文件
resource "azurerm_data_factory" "adf"{
for_each = var.purposes
name=lower("${var.component}-${var.project}-${var.regionname}-${var.azureregion}-${var.environment}-${each.value.purpose}")
location = data.azurerm_resource_group.rg.location
resource_group_name = data.azurerm_resource_group.rg.name
identity{
type="SystemAssigned"
}
dynamic "action" {
for_each = var.vsts_config ? [1] : []
content {
vsts_configuration {
account_name = var.accountname
branch_name = var.branchname
project_name = var.projectname
repository_name = var.repository
tenant_id = "__tenantId__"
root_folder = var.rootfolder
}
}
}
}
input.tfvars
purposes = {
a = {
purpose = "load",
}
b = {
purpose = "live",
}
}
action
is not a valid block in azurerm_data_factory . action
不是azurerm_data_factory中的有效块。 If you want to make vsts_configuration
block optional, then you code should be:如果你想让
vsts_configuration
块可选,那么你的代码应该是:
dynamic "vsts_configuration" {
for_each = var.vsts_config ? [1] : []
content {
account_name = var.accountname
branch_name = var.branchname
project_name = var.projectname
repository_name = var.repository
tenant_id = "__tenantId__"
root_folder = var.rootfolder
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.