如何使用地形中的数据循环



我正在尝试使用数据文件获取某些数据库的cluster_identifieraws_db_snapshot。我的data.tf文件如下:-

data "aws_rds_cluster" "cluster" {
cluster_identifier = var.rds_sources
}
data "aws_db_snapshot" "db" {
db_instance_identifier = var.rds_sources
most_recent            = true
}

其中CCD_ 3是CCD_。但当我做terraform plan时,我不断遇到:-

Error: Incorrect attribute value type
│ 
│   on ../data.tf line 2, in data "aws_rds_cluster" "cluster":
│    2:   cluster_identifier = var.rds_sources
│     ├────────────────
│     │ var.rds_sources is a list of string, known only after apply
│ 
│ Inappropriate value for attribute "cluster_identifier": string required.
╵
╷
│ Error: Incorrect attribute value type
│ 
│   on ../data.tf line 6, in data "aws_db_snapshot" "db":
│    6:   db_instance_identifier = var.rds_sources
│     ├────────────────
│     │ var.rds_sources is a list of string, known only after apply
│ 
│ Inappropriate value for attribute "db_instance_identifier": string
│ required.

我的问题是如何使用for循环来获得必要的信息?非常感谢。

你说"对于循环";所以我认为你想使用for_each,尽管你也可以在这里使用count。

data "aws_rds_cluster" "cluster" {
for_each = toset(var.rds_sources)
cluster_identifier = each.key
}
data "aws_db_snapshot" "db" {
for_each = toset(var.rds_sources)
db_instance_identifier = each.key
most_recent            = true
}

请注意,您可能需要使用aws_db_cluster_snapshot而不是aws_db_snapshot,具体取决于您的数据库引擎。

相关内容

  • 没有找到相关文章

最新更新