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

mkm*_*mpf 4 terraform devops

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

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

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

Erv*_*gyi 9

您可以通过以下方式实现此目的regexall

length(regexall("eu-", var.environment)) > 0
Run Code Online (Sandbox Code Playgroud)

例如:

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

locals {
  contains = length(regexall("eu-", var.environment)) > 0
}
Run Code Online (Sandbox Code Playgroud)

的值将在这种情况下contains出现。true