基于资源输入条件的地形输入选择

terraform input selection based on condition under resource inputs

我需要select根据资源输入条件使用的内容块,

如果var.enable_auto_scaling == false,使用下面的输入

    node_count            = 1       

如果var.enable_auto_scaling == true,使用下面的输入

  max_count = 8
  min_count = 1

代码:

resource "azurerm_kubernetes_cluster_node_pool" "example" {
  name                  = "internal"
  kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id
  vm_size               = "Standard_DS2_v2"

  # if var.enable_auto_scaling == false
  #     node_count            = 1       
  # if var.enable_auto_scaling == true
  #     max_count = 8
  #     min_count = 1

  tags = {
    Environment = "Production"
  }
}

你可以用 conditional expression:

resource "azurerm_kubernetes_cluster_node_pool" "example" {
  name                  = "internal"
  kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id
  vm_size               = "Standard_DS2_v2"

  node_count            = var.enable_auto_scaling == false ? 1 : null    

  enable_auto_scaling   = var.enable_auto_scaling
  max_count = 8         = var.enable_auto_scaling == true ? 8 : null    
  min_count = 1         = var.enable_auto_scaling == true ? 1 : null    

  tags = {
    Environment = "Production"
  }
}