Terraform从aws\u organizations\u organization.main.accounts提取帐户id

Terraform从aws\u organizations\u organization.main.accounts提取帐户id,terraform,Terraform,给定帐户名,是否可以从中提取帐户id resource "aws_organizations_organization" "main" { } 比如: output "account_id" { value = "aws_organizations_organization.main.accounts[name == 'account1']" } account\u id=012345678901 accounts = [ { "arn" = "arn:aws:organiz

给定帐户名,是否可以从中提取帐户id

resource "aws_organizations_organization" "main" {
}
比如:

output "account_id" {
  value = "aws_organizations_organization.main.accounts[name == 'account1']"
}
account\u id=012345678901

accounts = [
  {
    "arn" = "arn:aws:organizations::012345678901:account/o-abc123/012345678901"
    "email" = "account1@email.com"
    "id" = "012345678901"
    "name" = "account1"
  },
  {
    "arn" = "arn:aws:organizations::012345678902:account/o-abc123/012345678902"
    "email" = "account2@email.com"
    "id" = "012345678902"
    "name" = "account2"
  },
  {
    "arn" = "arn:aws:organizations::012345678903:account/o-abc123/012345678903"
    "email" = "account3@email.com"
    "id" = "320413348752"
    "name" = "account3"
  }
]

理论上,如果您获得的是版本或更新版本,您应该能够使用新的
aws\u organizations\u organization
数据源,并根据帐户名对其进行过滤。例如,尽管未经测试:

data "aws_organizations_organization" "org" {
  filter = {
    name   = "name"
    values = ["account1"]
  }
}

然后在需要帐户id的地方使用
data.aws\u organizations\u organization.org.id

您可以使用
null\u data\u source
创建电子邮件列表。然后使用
matchkeys
提取帐户

data "aws_organizations_organization" "main" {}

data "null_data_source" "main" {
  count = length(data.aws_organizations_organization.main.accounts)
  inputs = {
    emails = data.aws_organizations_organization.main.accounts[count.index]["email"]
  }
}

output "accounts" {
  value = matchkeys(data.aws_organizations_organization.main.accounts, data.null_data_source.main.*.outputs.emails, list("account1"))
}


错误:main.tf第2行数据“aws\u organizations\u organization”“org”中不支持的块类型:2:filter{类型为“filter”的块这里不需要。
@Christian我在这里编辑了答案,以包含Terraform 0.12所需的缺少的
=
符号。这对您来说是否有效?我正在尝试实现同样的目标,并且遇到了这个问题。我与@Christian有相同的问题。我在文档中查找了它,而筛选器属性在中不存在AWS提供商的最新版本(v3.37.0)。这篇文章展示了如何查看地图列表。我认为这可能会有所帮助。