簡體   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