gpt4 book ai didi

terraform - 如何将 Null/Empty 值设置为模块中使用的可选字符串变量

转载 作者:行者123 更新时间:2023-12-04 17:41:42 26 4
gpt4 key购买 nike

我正在创建一个 terraform 配置(我们称之为配置 A),它在另一个配置(配置 B)中用作模块。在配置 A 中,我有一个可选变量,它是一个逗号分隔的字符串(没有空格),包含 CIDR 形式的 IP 地址或 IP 地址范围。如果配置 B 没有输入 IP,我想要的是跳过或不设置此变量的值。我尝试将“”设置为值,但这当然行不通。也尝试了其他值,但无法弄清楚。

有什么方法可以让这项工作起作用,或者我必须创建两个配置(我们称之为配置 A.1 和 A.2),其中 A.1 包含字符串变量,而 A.2 不包含。

也许我尝试做的示例代码可以提供帮助。

#Config A
resource "azurerm_cosmosdb_account" "db" {
name = "${var.name_from_module_caller}"
location = "northeuropa"
resource_group_name = "test-cosmos-db-from-terraform"
offer_type = "Standard"
consistency_policy = {
consistency_level = "Session"
}
geo_location = {
location = "northeuropa"
location = "${azurerm_resource_group.rg.location}"
failover_priority = 0
}
ip_range_filter = "${var.whitelis_ip_from_module_caller}" #Need a way to skip this, if var.whitelis_ip_from_module_caller is "". Can't use ""
}

#Config B
module "test-cosmos-db" {
source = "/module/azure_cosmos_module" #This is the Config A
name_from_module_caller = "test-cosmosdb"
# whitelis_ip_from_module_caller //NOT SET, BECAUSE THIS MUST BE OPENED FOR EVERYONE
}

最佳答案

从 Terraform 版本 0.12 开始,有一个 null值(value)。如果您将此设置为模块输入变量中的默认值,它将在实例化时有效地从资源中省略 ip_range_filter

关于terraform - 如何将 Null/Empty 值设置为模块中使用的可选字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54235259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com