Функция 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
?