Как предоставить переменные для terraform destroy?

#amazon-web-services #terraform

Вопрос:

Я пытаюсь уничтожить некоторые ресурсы aws, созданные с использованием Terraform. У меня есть регион, установленный в качестве переменной в моем ресурсе провайдера, например

 provider "aws" {
  region = var.aws_region
}
 

У меня по умолчанию установлена пустая переменная, потому что я предоставляю их только с помощью файла json во время планирования / применения terraform.

Теперь, когда я запускаю terraform destroy , он говорит Error: Invalid AWS Region: .

Я проверил, можем ли мы предоставлять переменные во время уничтожения, но, к сожалению, мы не можем. Я также проверил, можем ли мы уничтожить, используя прикладной план, мы тоже не можем этого сделать. Как мне это исправить?

Комментарии:

1. Для чего вы цените var.aws_region ? Установлена ли у вас переменная среды для региона? «Я проверил, можем ли мы предоставлять переменные во время уничтожения, но, к сожалению, мы не можем. Я также проверил, можем ли мы уничтожить, используя прикладной план, мы тоже не можем этого сделать. » Вы определенно можете сделать оба из них. Какие ошибки вы видите при попытке?

Ответ №1:

Это известная проблема с Terraform 0.15.0, которая исправлена в версии 0.15.1, вы можете обновить свой terraform для этой новой версии и повторить попытку. Чтобы узнать больше об этой проблеме, посмотрите здесь.

В качестве обходного пути вы можете попробовать установить AWS_REGION env перед запуском terraform destroy

 AWS_REGION=us-west-2 terraform destroy
 

или завершение добавления региона вручную:

 provider "aws" {
   region = "us-east-1"
}