我对不同的模块使用不同的变量,但它们唯一的区别是名称,有什么方法可以有一个模块,我可以使用不同的变量来迭代它。我不需要为它单独创建一个模块,我可以重用它
variable "Nodejs" {
default = "node"
}
variable "Python" {
default = "python"
}
variable "Java" {
default = "java"
}module "Nodejs" {
source = "./modules/NodeJs"
name = var.Nodejs
}
module "Python" {
source = "./modules/python"
name = var.Python
}
module "Java" {
source = "./modules/java"
name = var.Java
}发布于 2020-09-10 02:57:06
您可以对代码进行一些重构,以便在模块中使用每一个。
举个例子:
variable "languages" {
default = ["Nodejs", "Python", "Java"]
}
module "language" {
source = "./modules/language"
for_each = toset(var.languages)
name = each.key
}然后,您可以使用以下方法引用各个模块:
module.language["Python"]要使其工作,您必须重构modules文件夹。
https://stackoverflow.com/questions/63821901
复制相似问题