AWS Secrets Manager数据源多标签过滤:需同时匹配两个标签值
解决Terraform获取AWS Secrets Manager同时匹配双标签的问题
要实现同时匹配ClusterID和provider两个标签值的密钥筛选,你需要利用aws_secretsmanager_secrets数据块的多filter逻辑与特性,具体调整如下:
正确配置示例
data "aws_secretsmanager_secrets" "fetch_secrets" { # 匹配ClusterID标签的指定值 filter { name = "tag:ClusterID" values = [var.ClusterID] } # 匹配provider标签的指定值 filter { name = "tag:provider" values = [var.provider] } }
配置说明
- 每个
filter块之间是**逻辑与(AND)**关系,只有同时满足所有filter条件的密钥才会被返回 - 单个
filter的values数组是**逻辑或(OR)**关系,若需要匹配同一标签的多个值,可在数组中添加多个元素 - 原配置的问题在于使用单个
tag-value过滤器,其values内的两个值是逻辑或关系,导致返回匹配任意一个标签值的密钥,无法满足同时匹配双标签的需求
内容的提问来源于stack exchange,提问作者niranjan pb
相关产品推荐
相关产品推荐

