terraform init не работает при указании модулей - PullRequest
0 голосов
/ 11 февраля 2019

Я новичок в terraform и пытаюсь исправить небольшую проблему, с которой я сталкиваюсь при тестировании модулей.

Ниже приведена структура папок на моем локальном компьютере.

enter image description here

У меня есть код ниже на уровне папки хранения

#-------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.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, но это не помоглорешить это.Не уверен, что мне не хватает!

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Просто обновите существующие модули, запустив terraform get --update.Если это не работает, удалите папку .terraform.

0 голосов
/ 12 февраля 2019

Я согласен с комментариями @ rclement.

Несколько способов устранения неполадок с терраформой.

  1. Очистите папку .terraform и перезапустите terraform init.

Это всегда первый выбор.Но когда вы в следующий раз запустите terraform init, потребуется время, и он снова начнет установку всех провайдеров и модулей.

Если вы не хотите очищать .terraform, чтобы сэкономить время развертывания, вы можете запустить terraform get --update=true

В большинстве случаев вы сделали некоторые изменения в модулях, и это необходимообновилась.

...