多分いちばん正しいgoogle_cloudfunctions2_functionの作り方
追記
なんか駄目な気がしてきた 更新されたりされなかったり失敗したりする
確かにplanの段階で更新後のgenerationがわかるはずがない
結局ファイル名をmd5にするしかないんか
code:diff
resource "google_storage_bucket_object" "default" {
- name = "${google_pubsub_topic.default.name}.${data.archive_file.default.output_md5}.zip"
+ name = "${google_pubsub_topic.default.name}.zip"
bucket = google_storage_bucket.default.name
source = ...
}
resource "google_cloudfunctions2_function" "default" {
...
build_config {
...
source {
storage_source {
bucket = google_storage_bucket.default.name
object = google_storage_bucket_object.default.name
+ generation = google_storage_bucket_object.default.generation
}
なんで公式ドキュメントすら書いてないのか謎だが、多分 generation を指定するのがいちばん正しい
google_storage_bucket_object の名前をコロコロ変えるのはDirty hackだし、lifecycle.replace_triggered_byはよく見たら1回1回関数を消していてダウンタイムが生まれているので問題外