Terraform在应用时从远程URL下载本地文件,在销毁时删除文件
在创建实际的lambda资源之前,我需要从URL下载一个lambda归档文件,并且在运行terraform destroy时需要删除该文件。基本上是从远程URL创建的本地文件资源。我目前使用Terraform在应用时从远程URL下载本地文件,在销毁时删除文件,terraform,Terraform,在创建实际的lambda资源之前,我需要从URL下载一个lambda归档文件,并且在运行terraform destroy时需要删除该文件。基本上是从远程URL创建的本地文件资源。我目前使用null_资源和localexec供应器完成了这项工作,如下所示。但当我运行terraform destroy时,这不会删除该文件。有更好的办法吗 resource "null_resource" "lambda_jar" { triggers = { on
null_资源
和localexec
供应器完成了这项工作,如下所示。但当我运行terraform destroy时,这不会删除该文件。有更好的办法吗
resource "null_resource" "lambda_jar" {
triggers = {
on_version_change = "${var.lambda_archive_version}"
}
provisioner "local-exec" {
command = "curl -o lambda.jar ${var.server_url}/${var.lambda_archive_version}.jar"
}
}
有趣的用例。。。我自己也没有尝试过,但我很确定下面两个选项中的一个会让你实现这一点
when=destroy
一起使用:resource "null_resource" "lambda_jar" {
triggers = {
on_version_change = "${var.lambda_archive_version}"
}
provisioner "local-exec" {
command = "curl -o lambda.jar ${var.server_url}/${var.lambda_archive_version}.jar"
}
provisioner "local-exec" {
when = destroy
command = "$YOUR_CURL_DELETE_COMMAND"
}
}