gpt4 book ai didi

terraform - 有条件地在 Terraform 中创建单个模块

转载 作者:行者123 更新时间:2023-12-04 13:28:43 32 4
gpt4 key购买 nike

我一直在尝试有条件地使用根模块中的模块,以便在某些环境中不会创建该模块。许多人声称通过设置 count在模块中使用条件将其设置为 0 或 1 即可。

module "conditionally_used_module" {
source = "./modules/my_module"
count = (var.create == true) ? 1 : 0
}
但是,这会更改 conditionally_used_module 的类型:我们将有一个包含单个对象的列表(或元组),而不是一个对象(或映射)。有没有另一种方法来实现这一点,这并不意味着改变模块的类型?

最佳答案

要有条件地创建一个模块,你可以使用一个变量,假设它被称为 create_modulevariables.tf模块文件 conditionally_used_module .
然后对于 conditionally_used_module 中的每个资源您将使用 count 的模块有条件地创建或不创建该特定资源。
以下示例应该可以工作并为您提供所需的效果。

# Set a variable to know if the resources inside the module should be created
module "conditionally_used_module" {
source = "./modules/my_module"
create_module = var.create
}

# Inside the conditionally_used_module file
# ( ./modules/my_module/main.tf ) most likely
# for every resource inside use the count to create or not each resource
resource "resource_type" "resource_name" {
count = var.create_module ? 1 : 0
... other resource properties
}

关于terraform - 有条件地在 Terraform 中创建单个模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66522967/

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