gpt4 book ai didi

terraform - 如何根据条件跳过 terraform 资源中的可选参数

转载 作者:行者123 更新时间:2023-12-02 02:40:15 25 4
gpt4 key购买 nike

我正在使用 Terraform 模块来维护多个环境,并且对于模块中的资源之一,有一个可选参数,我只想将其用于一个环境,而不是其余环境。

例如,在下面的资源中,我只希望参数 node_shape_config 应用于一个环境,而不是其余环境。有没有办法在地形中做到这一点?

resource "oci_containerengine_node_pool" "nodepools" {
cluster_id = oci_containerengine_cluster.k8s_cluster.id
compartment_id = var.oci_vcn.compartment_id
depends_on = ["oci_containerengine_cluster.k8s_cluster"]

kubernetes_version = var.oke_cluster.kubernetes_version
name = "${var.oci_vcn.label_prefix}-np-${count.index + 1}"
subnet_ids = [var.oke_cluster.worker_subnet_id_1, var.oke_cluster.worker_subnet_id_2, var.oke_cluster.worker_subnet_id_3]

node_shape_config {
#Optional
ocpus = 4
}

node_source_details {
image_id = var.node_pools.create_custom_image == true ? var.node_pools.custom_image_id : var.node_pools.node_pool_node_image_id
source_type = "IMAGE"
}

...
...
...

count = var.node_pools.node_pool_count
}

最佳答案

您正在寻找的是dynamic blocks 。您需要使 node_shape_config block 动态化,您可以这样做:

# assuming you have variable for environment
dynamic "node_shape_config" {
for_each = var.environment === "development" ? toset([1]) : toset([])
content {
ocpus = 4
}
}

它只会为开发环境设置node_shape_config

关于terraform - 如何根据条件跳过 terraform 资源中的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63746509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com