補間構文のtimestamp()
関数は、次のような ISO 8601 形式の文字列を返します2019-02-06T23:22:28Z
。ただし、このような文字列が必要です20190206232240706500000001
。数字 (整数) のみで、ハイフン、空白、コロン、Z、T を含まない文字列。これを実現するシンプルでエレガントな方法は何ですか?
ハイフン、空白、コロン Z および T のすべての文字クラスを置き換えると機能します。
locals {
timestamp = "${timestamp()}"
timestamp_no_hyphens = "${replace("${local.timestamp}", "-", "")}"
timestamp_no_spaces = "${replace("${local.timestamp_no_hyphens}", " ", "")}"
timestamp_no_t = "${replace("${local.timestamp_no_spaces}", "T", "")}"
timestamp_no_z = "${replace("${local.timestamp_no_t}", "Z", "")}"
timestamp_no_colons = "${replace("${local.timestamp_no_z}", ":", "")}"
timestamp_sanitized = "${local.timestamp_no_colons}"
}
output "timestamp" {
value = "${local.timestamp_sanitized}"
}
結果の出力は、文字列が大幅に短いことを除いて、目的の形式になります。
Outputs:
timestamp = 20190207000744
ただし、このソリューションは非常に醜いです。例の文字列と同じ長さの文字列を生成するだけでなく、よりエレガントな方法で同じことを行う別の方法はあります20190206232240706500000001
か?