我想使用terraform的EKS模块。
module "eks" {
source = "terraform-aws-modules/eks/aws"
version = "17.22.0"
...
}这工作得很好。
我想要实现的是,如果模块已经存在于本地,terraform不会下载它。我使用terraform变量TF_DATA_DIR来设置terraform的数据目录。
export TF_DATA_DIR="${SOME_DIR}/.terraform"当我运行terraform init时,EKS模块仍然从注册表中拉出,即使该模块存在于本地。当我第二次运行terraform init时,这种情况没有发生。
terraform init
terraform init输出:
...
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
发布于 2021-11-02 14:12:31
找到解决方案:
由于我为每个terraform init执行使用了具有不同值的terraform变量TF_DATA_DIR,因此.terraform/modules/modules.json中的内容是不同的,因此它被重新下载。
https://stackoverflow.com/questions/69766309
复制相似问题