terraform - 指定模块时,terraform init 不起作用
问题描述
我是 terraform 的新手,并试图解决我在测试模块时面临的一个小问题。
以下是我在本地计算机中的文件夹结构。
我在存储文件夹级别有以下代码
#-------storage/main.tf
provider "aws" {
region = "us-east-1"
}
resource "aws_s3_bucket" "my-first-terraform-bucket" {
bucket = "first-terraform-bucket"
acl = "private"
force_destroy = true
}
下面是来自 main_code 级别引用存储模块的片段
#-------main_code/main.tf
module "storage" {
source = "../storage"
}
当我从存储文件夹发出 terraform init / plan / apply 时,它工作得非常好,并且 terraform 创建了 s3 存储桶。
但是当我从 main_code 文件夹中尝试相同的操作时,我收到以下错误 -
main_code@DFW11-8041WL3: terraform init
Initializing modules...
- module.storage
Error downloading modules: Error loading modules: module storage: No Terraform configuration files found in directory: .terraform/modules/0d1a7f4efdea90caaf99886fa2f65e95
我已经阅读了关于堆栈溢出和其他 github 问题论坛的许多问题板,但没有帮助解决这个问题。不知道我错过了什么!
解决方案
只需通过运行更新现有模块terraform get --update
。如果这不起作用,请删除 .terraform 文件夹。
推荐阅读
- makefile - 如果目录不存在,如何创建创建目录的目标?
- bing-api - 我可以主动重新抓取/重新索引我的 Bing 自定义搜索网站吗?
- android - 由于转换为使用 Gradle Kotlin DSL,无法解决依赖关系
- java - getRuntime().exec(command) 挂起
- python - 具有无限 While 循环的 Python 多处理池
- textbox - 如何让文本框显示分数格式
- java - 如何获取排序哈希图中两个给定键之间的所有键值?
- ramda.js - Ramdajs,带参数的组数组
- sql - SQL 环境中的 Date(0000,00,00) 函数等于什么?
- amazon-web-services - Api 网关和区域自定义域作为 CloudFront 源