无法为 id 和 arn 生成输出

Unable to generate out for id and arn

我正在使用 terraform 1.0.11

我正在尝试设置我的秘密管理器的输出。

main.tf:

resource "aws_secretsmanager_secret" "aws_secret" {

  for_each = { for secret in var.secrets : secret.secret_name => secret}
  name = each.value.secret_name
}

output.tf:

output "secret_arns" {
  value = tolist(aws_secretsmanager_secret.aws_secret[*].arn)
}

但是,它向我抛出这个错误。

╷
│ Error: Unsupported attribute
│ 
│   on ../Resources/secrets/outputs.tf line 2, in output "secret_arns":
│    2:   value = tolist(aws_secretsmanager_secret. aws_secret[*].arn)
│ 
│ This object does not have an attribute named "arn".

有没有哪里做错了?

您的 aws_secretsmanager_secret.aws_secret 是一张地图。所以应该是:

output "secret_arns" {
  value = values(aws_secretsmanager_secret.aws_secret)[*].arn
}