如何使用条件执行一个模块?

Posted

技术标签:

【中文标题】如何使用条件执行一个模块?【英文标题】:How to execute one module using conditionals? 【发布时间】:2022-01-12 08:53:01 【问题描述】:
module "s3_bucket" source = "./module/s3_bucket"
module "s3_bucket_2" source = "./module/s3_bucket_2"

这是我在 main.tf 文件中调用的两个模块,但我想使用一些条件,以便我可以在任何时间点调用我想要的任何一个模块,并且只有那个模块在那个时候被执行时间,那么他们有什么办法吗?

【问题讨论】:

抱歉您的问题不清楚。你想达到什么目标? 【参考方案1】:

我不太了解您的问题,但我想您想要或至少有助于回答您的问题如下。

您可以在 variables.tf 中创建一个名为 create 的变量,然后将其传递给模块。

# Set a variable to know if the resources inside the module should be created

module "s3_bucket" 
  source = "./module/s3_bucket"
  create = var.create


# For every resource inside use the count to create or not each resource
resource "resource_type" "resource_name" 
 count = var.create ? 1 : 0

 ... other resource attributes

【讨论】:

感谢您的帮助,我会试试这个。

以上是关于如何使用条件执行一个模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何将组合框的值转换为 vba 模块中的字符串?

如果条件,如何在 apache 上运行一些代码或命令

如何使用 AREL 执行条件 where 子句

如何正确使用条件执行根据输入绘制圆?

如何在执行条件语句时使用argv的ASCII代码?

使用自定义条件搜索