对于外部数据源,运行terraform destroy时需要运行bash命令。
是否有办法触发此事件?
data "external" "token" {
program = ["sh", "${path.module}/get_token.sh"]
query = {
controller = "${packet_device.controller.network.0.address}"
}
}
也许使用if计数器?但是以某种方式确保它与destroy一起运行
count = var.myInitExData ? 1 : 0
答案 0 :(得分:1)
不确定是否可行,但是您可以尝试将Destroy-Time provisioner与null_resource
一起使用:
resource "null_resource" "token" {
triggers = {
token = data.external.token.result
}
provisioner "local-exec" {
when = "destroy"
working_dir = path.module
command = "destroy_time_script.sh"
interpreter = ["sh"]
}
}