未知函数,称为:formatdate-terraform 0.11.x中的“ formatdate”等效什么?

时间:2019-07-09 06:00:31

标签: terraform

我想为我的ec2实例名称引入一个简单的时间戳

   tags = {

    "Name" = "windows server 2012 ${var.env} - ${formatdate("YYYYMMDD", timestamp())}"
}

但是当我运行terraform validate时,

我明白了

Error: aws_instance.convertor: 1 error(s) occurred:

* aws_instance.convertor: 1:33: unknown function called: formatdate in:

 windows server 2012 ${var.env} - ${formatdate("YYYYMMDD", timestamp())}

显然,formatdate在我的terraform版本(v0.11.7)中不可用。如何在0.11.7的HCL中获得相同的结果?

1 个答案:

答案 0 :(得分:1)

formatdate函数仅在terraform v0.12中可用。您可以做的是使用一些字符串操作来获取您的结果,如此处的说明(Terraform timestamp() to numbers only string),并执行一个简单的子字符串,虽然不是一个非常优雅的解决方案,但它可以工作。

locals {
 timestamp = "${timestamp()}"
 timestamp_sanitized = "${substr(replace("${local.timestamp}", "/[-| |T|Z|:]/", ""),0,8)}"
}

output "timestamp" {
  value = "${local.timestamp_sanitized}"
}