【发布时间】:2020-02-14 23:40:26
【问题描述】:
有没有办法在 terraform 中进行 base64 编码的 md5 哈希?据我所知,terraform 只对原始字符串进行 md5 和 base64 编码。
用例是我在 terraform 中创建了一个谷歌云存储对象,但它说“detectmd5hash”属性每次都发生了变化,即使它没有发生变化。
resource "google_storage_bucket_object" "things" {
name = "my-things"
bucket = "my-google-cloud-storage-bucket"
content = "${local.thing_two}\n${local.thing_one}"
}
我希望我可以这样做:
resource "google_storage_bucket_object" "things" {
name = "my-things"
bucket = "my-google-cloud-storage-bucket"
detectmd5hash = base64encode(md5("${local.thing_two}\n${local.thing_one}"))
content = "${local.thing_two}\n${local.thing_one}"
}
但这采用的是实际十六进制字符串的 base64 编码,而不是十六进制表示的字节——因此它与 google 存储的对象的实际 md5 不匹配(它以十六进制返回 md5)。
是否有任何解决方法或聪明的解决方案?
【问题讨论】:
标签: google-cloud-storage terraform terraform-provider-gcp