我在下面有一個來自 terraform 的示例代碼,但是我在嘗試宣告一個引數是一個塊的變數時遇到了一些問題
basic {}
轉向生產將是這樣的
dedicated {
cku = 2
}
開發者
resource "confluent_kafka_cluster" "basic" {
display_name = "basic_kafka_cluster"
availability = "SINGLE_ZONE"
cloud = "GCP"
region = "us-central1"
basic {} <<<< # I want this block to be declared as variable
# Calling the variable
local.cluster_type["dev"] <<<< # this approach is not supported. how can I call the variable directly if there is no argument?
}
產品
resource "confluent_kafka_cluster" "dedicated" {
display_name = "dedicated_kafka_cluster"
availability = "MULTI_ZONE"
cloud = "GCP"
region = "us-central1"
# For Production it is using a different block
dedicated {
cku = 2
}
# Calling the variable
local.cluster_type["prod"] <<<<< # this approach is not supported. how can I call the variable directly if there is no argument?
}
區域變數
locals {
cluster_type = {
prod = "dedicated {
cku = 2
}"
dev = "basic {}"
}
}
uj5u.com熱心網友回復:
您的腳本有一些問題:
confluent_kafka_cluster已棄用,應替換為confluentcloud_kafka_cluster要使用環境,您可以創建
confluentcloud_environment:resource "confluentcloud_environment" "env" { display_name = var.environment }要解決塊問題,您可以使用帶有條件的動態,如下所示:
dynamic "basic" { for_each = var.environment == "dev" ? [1] : [] content {} } dynamic "dedicated" { for_each = var.environment == "prod" ? [1] : [] content { cku = 2 } }
你的代碼可以是這樣的:
resource "confluentcloud_environment" "env" {
display_name = var.environment
}
resource "confluentcloud_kafka_cluster" "basic" {
display_name = "basic_kafka_cluster"
availability = "SINGLE_ZONE"
cloud = "GCP"
region = "us-central1"
dynamic "basic" {
for_each = var.environment == "dev" ? [1] : []
content {}
}
dynamic "dedicated" {
for_each = var.environment == "prod" ? [1] : []
content {
cku = 2
}
}
environment {
id = confluentcloud_environment.env.id
}
}
variable "environment" {
default = "dev"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/533726.html
標籤:变量地貌
