Terraform 基于变量的可选块
我正在为Terraform 基于变量的可选块,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,我正在为azurerm\u存储\u帐户编写某种包装器模块 azurerm\u存储\u帐户具有可选块 static_website { index_document = string error_404_document = string } 我想根据变量设置它,但我不确定如何才能做到这一点?条件运算符实际上不适用于块(例如,static\u website=var.disable?null:{..}) 或者,如果我将index\u document和error\u 404\u docu
azurerm\u存储\u帐户
编写某种包装器模块
azurerm\u存储\u帐户
具有可选块
static_website {
index_document = string
error_404_document = string
}
我想根据变量设置它,但我不确定如何才能做到这一点?条件运算符实际上不适用于块(例如,static\u website=var.disable?null:{..}
)
或者,如果我将index\u document
和error\u 404\u document
设置为null
,块的工作方式是否与不设置静态网站
块相同
azurerm@2.x
TF@0.12.x
我想你可以用它。基本上,当禁用
为真
时,不会创建静态网站
。否则,将构建一个static_网站
块
例如,修改后的代码可以是:
dynamic "static_website" {
for_each = var.disable == true ? toset([]) : toset([1])
content {
index_document = string
error_404_document = string
}
}
您还可以尝试使用检查disable
是否有值或为空:
dynamic "static_website" {
for_each = var.disable[*]
content {
index_document = string
error_404_document = string
}
}
在上述示例中,您可能需要根据var.disable
实际可以具有的值来调整条件