Terraform: как создавать ресурсы в динамически создаваемых учетных записях организации AWS? Ака как создавать динамические провайдеры? - PullRequest
0 голосов
/ 31 октября 2019

С учетом следующего:

locals {
    accounts = ...
}

, где каждая запись в переменной local.accounts имеет два ключа (account-name и ou-id), которые соответствуют имени учетной записи и идентификатору организацииИдентификатор, к которому должна принадлежать учетная запись, затем мы создаем учетные записи организации следующим образом:

resource "aws_organizations_account" "dynamically-created-accounts" {
  for_each  = local.accounts
  name      = each.value["account-name"]
  email     = "email+${each.value["account-name"]}@example.com"
  parent_id = each.value["ou-id"]
}

Как создать ресурсы в этих динамически создаваемых учетных записях? В частности, я хочу создать идентичный ресурс в каждой из только что созданных учетных записей.

Документированные примеры создания ресурсов в разных учетных записях включают несколько поставщиков, каждый из которых имеет свой псевдоним, и ссылаются на этих поставщиков, когдасоздание ресурса, например

provider "aws" {
   alias = "accountB"
}

// create resource in accountB
resource "aws_some_resource" "some_resource" {
    provider = "aws.accountB" 
    // ...
}

Поддерживаются ли динамические инициаторы (т. е. по одному на вновь созданную учетную запись)? Если нет, как я могу достичь того, что я после?

...