You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform中能否复用for循环输出?Databricks实例池代码简化咨询

解决Terraform中Databricks实例池及权限的冗余代码问题

完全可以通过两个循环资源实现该需求,你当前的代码存在权限资源未与实例池一一绑定的问题,直接使用列表形式的ID会导致配置错误。修正后的代码如下:

# 循环创建实例池
resource "databricks_instance_pool" "pool_size" {
  for_each                              = { for pool in var.instance_pool : pool.name => pool }
  instance_pool_name                    = each.value.name
  min_idle_instances                    = each.value.min_instances
  max_capacity                          = each.value.max_instances
  node_type_id                          = each.value.node_type
}

# 循环为每个实例池配置关联权限
resource "databricks_permissions" "can_attach_pool" {
  for_each         = databricks_instance_pool.pool_size
  instance_pool_id = each.value.id

  access_control {
    group_name       = "users"
    permission_level = "CAN_ATTACH_TO"
  }
}

核心修正点说明:

  • 实例池资源:原代码直接使用pool.name引用属性错误,需改为each.value.name来获取当前循环项的对应属性,确保遍历逻辑正确。
  • 权限资源:通过复用实例池资源的for_each集合,让每个实例池自动对应生成一条权限配置,each.value.id精准绑定对应实例池的ID,实现权限与实例池的一一关联,彻底消除冗余代码。

内容的提问来源于stack exchange,提问作者Volturyon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 05:20:29