首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以terraform形式重用现有模块

以terraform形式重用现有模块
EN

Stack Overflow用户
提问于 2020-09-10 02:16:57
回答 1查看 108关注 0票数 1

我对不同的模块使用不同的变量,但它们唯一的区别是名称,有什么方法可以有一个模块,我可以使用不同的变量来迭代它。我不需要为它单独创建一个模块,我可以重用它

代码语言:javascript
复制
variable "Nodejs" {
    default = "node"
}
variable "Python" {
    default = "python"
}
variable "Java" {
    default = "java"
}
代码语言:javascript
复制
module "Nodejs" {
  source        = "./modules/NodeJs"
  name          = var.Nodejs
}

module "Python" {
  source        = "./modules/python"
  name          = var.Python
}

module "Java" {
  source          = "./modules/java"
  name            = var.Java
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-10 02:57:06

您可以对代码进行一些重构,以便在模块中使用每一个

举个例子:

代码语言:javascript
复制
variable "languages" {
  default = ["Nodejs", "Python", "Java"]
}

module "language" {
  source   = "./modules/language"  
  for_each = toset(var.languages)  
  
  name     = each.key
}

然后,您可以使用以下方法引用各个模块:

代码语言:javascript
复制
 module.language["Python"]

要使其工作,您必须重构modules文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63821901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档