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

Terraform如何为带count条件的Cognito资源配置depends_on依赖

问题原因

Terraform 的 depends_on 元参数仅支持静态资源引用,不支持三元表达式等动态计算逻辑,所以你之前的动态条件写法不符合语法规范,无法生效。

正确配置方案

不需要拆分创建多个用户池客户端,直接把两个身份提供者资源都写入 depends_on 即可:

resource "aws_cognito_user_pool_client" "this" {
  # 其余原有配置保持不变

  depends_on = [
    aws_cognito_identity_provider.test1,
    aws_cognito_identity_provider.test2
  ]
}

对于用 count 控制是否创建的资源,即使最终计数为0不实际部署,Terraform 也能合法识别这类资源引用,不会抛出依赖错误,只会对实际创建的资源生效等待逻辑。

额外优化建议

你配置里的 supported_identity_providers 参数可以配合变量动态生成,避免手动修改:

locals {
  supported_identity_providers = concat(
    # 如果需要保留默认的Cognito用户池身份源,可先添加 ["COGNITO"]
    var.test1 ? ["test1"] : [],
    var.test2 ? ["test2"] : []
  )
}

常见疑问解答

不需要为test1、test2分别创建独立的用户池客户端,除非两种场景下的客户端配置(回调地址、OAuth范围、授权流等)存在差异,共用同一个即可满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:36:05