天蓝色通知中心中的Terraform动态块问题

时间:2020-07-24 01:56:38

标签: azure

am尝试使用terrafrom部署Azure通知中心。

在集成google API令牌时,如果该令牌不存在,则部署将失败。 想要部署通知中心,而没有使用动态区块的令牌。

dynamic gcmcred {
    for_each = var.gcm_api == null ? [] : [ "dummy" ]
        content {
            gcm_credential {
            api_key  = var.gcm_api.token
        }
    }
}

下面提到的方式声明了变量

variable "gcm_api" {
    type = list(string)
    default = [ "null" ]
}

遇到类似不受支持的块类型的问题

1 个答案:

答案 0 :(得分:0)

尝试通过这种方式做到这一点:

main.tf

locals {
  enable_gcm_credential = var.enable_gcm_credential ? [1] : []
}

resource "azurerm_notification_hub" "notification_hub" {
  name                = var.name
  namespace_name      = var.namespace_name
  resource_group_name = var.resource_group_name
  location            = var.location

  dynamic "gcm_credential" {
    for_each = local.enable_gcm_credential
    content {
      api_key = var.api_key
    }
  }
}
variables.tf

variable "enable_gcm_credential" {
  type = bool
  default = false
}
...