Terraform:如果字符串的属性列表为空,如何忽略可选块
我只是从地形开始,下面是我的地形代码。下面是一个可选块,其中它具有允许的来源属性,即字符串列表(URL或*) Varilabe.tf:Terraform:如果字符串的属性列表为空,如何忽略可选块,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,我只是从地形开始,下面是我的地形代码。下面是一个可选块,其中它具有允许的来源属性,即字符串列表(URL或*) Varilabe.tf: variable "allowed_origins" { type = "list" description = "A list of origins which should be able to make cross-origin calls. * can be used to allow all c
variable "allowed_origins" {
type = "list"
description = "A list of origins which should be able to make cross-origin calls. * can be used to allow all calls"
default = []
}
用户可以/不可以提供允许的源代码
,如果他们提供没有问题,但是如果他们不提供
allowed_u u origns
会失败,并指出不是有效的URLnull
:如果我作为null传递,allowed_origin
单独获取null,cors作为空块传递,即,cors{}
,由于属性丢失错误,它也会失败允许的\u来源提供任何值,如何使整个cors块忽略,我应该使用什么默认值?您可以使用它使cors块成为可选的:
resource "azurerm_signalr_service" "signalr_service" {
name="${var.signalr_name}"
location = "${var.resource_location}"
resource_group_name = "${var.resource_group_name}"
sku {
name = "${var.sku_name}"
capacity = "${var.sku_capacity}"
}
dynamic "cors" {
for_each = length(var.cors_allowed_origins) > 0 ? [1] : []
content {
allowed_origins = "${var.cors_allowed_origins}"
}
}
}
[]
的默认值可以
resource "azurerm_signalr_service" "signalr_service" {
name="${var.signalr_name}"
location = "${var.resource_location}"
resource_group_name = "${var.resource_group_name}"
sku {
name = "${var.sku_name}"
capacity = "${var.sku_capacity}"
}
dynamic "cors" {
for_each = length(var.cors_allowed_origins) > 0 ? [1] : []
content {
allowed_origins = "${var.cors_allowed_origins}"
}
}
}