繁体   English   中英

Terraform - 确保根据是否还设置了另一个值来设置值

[英]Terraform - ensure value is set depending on if another value is also set

如果其他值之一是某个字符串,我想强制设置一个值而不是使用默认值“”。

例如我有:

module "test_beanstalk" {
  tier = "Worker"
  queue = "myQueue"
///
}

在此,当tier设置为worker时,我想强制设置该queue 在上面的示例中,有一个场景可以省略队列,导致 aws 生成一个通用队列,而不是使用该特定应用程序所需的队列。

TF不直接支持此类功能。 但是您可以强制 TF 使用locals和某些条件强制 TF 出错,如果您的验证失败,这些条件只会导致错误。 例如,在您的test_beanstalk中,您可以拥有:

variable "tier" {
  default = "Worker"
}

variable "queue" {
  default = ""
}

locals {
  if_queue_given = var.tier == "Worker" && var.queue == "" ? tonumber("queue can't be empty") : 1
}

如果条件var.tier == "Worker" && var.queue == ""truetonumber("queue can't be empty")将被执行并导致 TF 错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM