Запустите Destroy-Time Provisioner перед удалением local_file - PullRequest
0 голосов
/ 29 мая 2019

У меня есть скрипт Terraform, который создает файл config.json, а затем запускает команду, которая использует config.json:

resource "local_file" "config" {
  # Output vars to config
  filename = "config.json"
  content  = "..."

  # Deploy using config
  provisioner "local-exec" {
    command     = "deploy"
  }
}

Все это прекрасно работает, но когда я запускаю terraform destroy I 'Я хотел бы запустить другую команду - я попытался сделать это с помощью поставщика времени уничтожения в null_resource, добавив следующее:

resource "null_resource" "test" {
    provisioner "local-exec" {
        when        = "destroy"
        command     = "delete"
    }
}

Сценарий запущен, но после файл конфигурации удален - он ошибается, потому что ему нужен этот файл конфигурации, чтобы он знал, что удалить.

Как бы это исправить?

Спасибо!

1 Ответ

0 голосов
/ 29 мая 2019

Я переместил поставщик времени уничтожения в исходный ресурс, и он отлично работал:

resource "local_file" "config" {
  # Output vars to config
  filename = "config.json"
  content  = "..."

  # Deploy using config
  provisioner "local-exec" {
    command     = "deploy"
  }

  # Delete on_destroy
  provisioner "local-exec" {
        when        = "destroy"
        command     = "delete"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...