Terraform - указание нескольких возможных значений для переменных - PullRequest
0 голосов
/ 18 января 2019

CloudFormation предоставляет AllowedValues ​​для Parameters, который сообщает, что возможное значение параметра может быть из этого списка. Как я могу добиться этого с помощью переменных Terraform? Переменный тип списка не обеспечивает эту функциональность. Итак, если я хочу, чтобы моя переменная имела значение только из двух возможных значений, как я могу добиться этого с помощью Terraform. Сценарий CloudFormation, который я хочу скопировать:

"ParameterName": {
        "Description": "desc",
        "Type": "String",
        "Default": true,
        "AllowedValues": [
            "true",
            "false"
        ]
   }

1 Ответ

0 голосов
/ 18 января 2019

Официального пути я не знаю, но есть интересная техника, описанная в выпуске Terraform :

variable "values_list" {
  description = "acceptable values"
  type = "list"
  default = ["true", "false"]
}

variable "somevar" {
description = "must be true or false"
}

resource "null_resource" "is_variable_value_valid" {
  count = "${contains(var.values_list, var.somevar) == true ? 0 : 1}"
  "ERROR: The somevar value can only be: true or false" = true
}
...