Terragrunt - 变量声明

Terragrunt - variables declarations

我有两个目录:在第一个目录中,我保留模块(基本上是 terraform 模板配置),在第二个目录中,我保留 terragrunt 模块实现。在第二个中有一个 terragrunt hcl 文件,里面有 inputs(每个特定项目一个)。到目前为止,我在模块目录(在 variables.tf 中)声明了变量,但我不喜欢这样,因为变量会根据实现(项目)而变化。因此,将所有变量(对于所有项目)保存在模块目录中似乎不是最好的主意。

我的问题是:如何在 terragrunt(又名实现)级别声明这些变量?是 generate 功能方式吗?

您可以使用 HCL 文件在 Terragrunt 级别存储变量。例如,让你的项目级变量在 config.hcl:

locals {
    env = "dev"
}

然后将其加载到您的 terragrunt.hcl:

locals {
    config = read_terragrunt_config(find_in_parent_folders("config.hcl")).locals
    env = local.config.env
}

inputs = {
    env = local.env
}