У меня есть скрипт 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
, я хочу запустить другую команду — я попытался сделать это с помощью средства подготовки времени уничтожения в null_resource
, добавив следующее:
resource "null_resource" "test" {
provisioner "local-exec" {
when = "destroy"
command = "delete"
}
}
Сценарий запускается, но он запускает после, файл конфигурации удаляется - это ошибка, потому что ему нужно, чтобы этот файл конфигурации существовал, чтобы он знал, что удалять.
Как мне это исправить?
Спасибо!
Я переместил поставщик времени уничтожения в исходный ресурс, и он отлично сработал:
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"
}
}