Я новичок в 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
в папке./storage
. Кроме того, если./storage
является модулем, вам не нужно включать разделprovider aws
, поскольку он будет унаследован от любого кода, вызывающего модуль. - person rclement   schedule 11.02.2019