如何从子模块中访问父/调用模块的名称。
或者,如何从子模块中获取调用模块的文件名?
例如
module "test_parent_module" {
source = "./child_module"
}
Run Code Online (Sandbox Code Playgroud)
module "child_module" {
locals {
// What could I use here to get parent module name?
parent_module_name = module.parent # Should output "test_parent_module"
// What could I use here to get the parent module's file name?
parent_file_name = module.parent.filename # Should output "test_parent_module.tf"
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
你不能。这种类型的继承层次结构不适用于 terraform。我建议改为传递变量。(尽管如果您依赖 terraform 文件名,您的配置中似乎还存在其他问题,因此您可能需要重新检查您的代码结构)
module "test_A_module" {} // what you had as parent
Run Code Online (Sandbox Code Playgroud)
module "test_B_module" {
source = "./child_module"
module_name = "test_A_module"
file_name = "test_A_module.tf"
}
Run Code Online (Sandbox Code Playgroud)
module "child_module" {
locals {
module_name = var.module_name
file_name = var.file_name
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2872 次 |
| 最近记录: |