首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >terraform如何确定何时下载模块?

terraform如何确定何时下载模块?
EN

Stack Overflow用户
提问于 2021-10-29 09:09:40
回答 1查看 64关注 0票数 0

我想使用terraform的EKS模块。

代码语言:javascript
复制
module "eks" {
    source = "terraform-aws-modules/eks/aws"
    version = "17.22.0"
    ...
}

这工作得很好。

我想要实现的是,如果模块已经存在于本地,terraform不会下载它。我使用terraform变量TF_DATA_DIR来设置terraform的数据目录。

代码语言:javascript
复制
export TF_DATA_DIR="${SOME_DIR}/.terraform"

当我运行terraform init时,EKS模块仍然从注册表中拉出,即使该模块存在于本地。当我第二次运行terraform init时,这种情况没有发生。

代码语言:javascript
复制
terraform init
terraform init

输出:

代码语言:javascript
复制
...
Initializing modules...
Downloading terraform-aws-modules/eks/aws 17.22.0 for eks.eks...
- eks.eks in .terraform/modules/eks.eks
- eks.eks.fargate in .terraform/modules/eks.eks/modules/fargate
- eks.eks.node_groups in .terraform/modules/eks.eks/modules/node_groups
...
Initializing modules...
...

文件总是加载到"${SOME_DIR}/.terraform"中,所以我希望TF_DATA_DIR能按预期工作。

如何防止terraform下载已经存在的模块?我不想使用本地路径,我想使用缓存机制。

我使用的是Terraform版本0.14.7

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-02 14:12:31

找到解决方案:

由于我为每个terraform init执行使用了具有不同值的terraform变量TF_DATA_DIR,因此.terraform/modules/modules.json中的内容是不同的,因此它被重新下载。

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

https://stackoverflow.com/questions/69766309

复制
相关文章

相似问题

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