【发布时间】:2021-10-04 16:53:20
【问题描述】:
如何定义/引用一组要在整个 Terragrunt 部署中重复使用的变量?我目前在部署的每个级别的 locals{} 块中指定相同的值(例如,订阅、resource_group、环境等),但这似乎与使用 Terragrunt 的方式完全相反。
我的文件夹结构类似于:
├── Folder A
│ └── main.tf
│ └── terragrunt.hcl
├── Folder B
│ └── main.tf
│ └── terragrunt.hcl
└── global_vars.yaml
└── main.tf
└── terragrunt.hcl
我阅读了Locals 功能,因此在根目录中创建了 global_vars.yaml,其内容如下:
environment = "prod"
并尝试向父级 terragrunt.hcl 添加一个块:
locals {
global_vars = yamldecode(file(find_in_parent_folders("global_vars.yaml")))
}
然后在FolderA main.tf:
locals {
...
environment = local.common_vars.environment
...
}
但我收到错误消息,名称为“global_vars”的本地值尚未声明。
为了增加另一层乐趣,我可能想在子级别覆盖给定变量 - 但我觉得一旦我可以解决这个声明问题,其余的应该很容易(. ..对吗?)。
【问题讨论】:
标签: variables terragrunt