我使用的是 terraform 0.14,有 2 个资源,一个是local_file,它根据变量在本地计算机上创建一个文件,另一个是带有local_exec配置程序的 null_resource。
这一切都按预期工作,但我只能让它始终运行配置程序(使用始终变化的触发器,如时间戳())或仅运行一次。现在我想让它在每次(并且仅当) local_file 实际更改时运行。
有谁知道如何设置当 local_file 内容更改时更改的触发器?例如,最后更新的时间戳或校验和值?
resource "local_file" "foo" {
content = var.foobar
filename = "/tmp/foobar.txt"
}
resource "null_resource" "null" {
triggers = {
always_run = timestamp() # this will always run
}
provisioner "local-exec" {
command = "/tmp/somescript.py"
}
}
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用文件哈希来指示其更改:
resource "null_resource" "null" {
triggers = {
file_changed = md5(local_file.foo.content)
}
provisioner "local-exec" {
command = "/tmp/somescript.py"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4076 次 |
| 最近记录: |