null_resourceでapply時にShellScriptが実行されるようにした時に、ShellScriptの中身に変更があったらそれをトリガーして再実行したいなと思ったので、その方法をメモします。
こちらを参考に、以下のように記述。
shell.tf
resource "null_resource" "default" {
triggers = {
script_hash = "${filesha256("${path.module}/sample.sh")}"
}
provisioner "local-exec" {
command = "sh ${path.module}/sample.sh"
}
}
これで、前回のapplyからsample.shの中身が書き変わっていれば、filesha256で得られるhash値が変化するので、terraform planの差分として検出されるようになります。