Terraform contains(...) - 如何检查通配符或前缀

Terraform contains(...) - how to check for wildcard or prefix

有没有一种方法可以检查 Terraform 中的变量是否包含特定的子字符串,即 en 环境前缀,例如 eu-us-?请参阅以下内容以更好地理解我想要做什么。

contains("eu-<...>", var.environment) ? do-something : do-something-else

<...> 可以是任何东西。

您可以通过 regexall 实现此目的:

length(regexall("eu-", var.environment)) > 0

例如:

variable environment {
  default = "eu-dev-environment"
}

locals {
  contains = length(regexall("eu-", var.environment)) > 0
}

在这种情况下,contains 的值将是 true