Skip to content

Instantly share code, notes, and snippets.

@acdha

acdha/main.tf Secret

Created September 10, 2019 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save acdha/ffebce5c6ea5e924a44dd002721a38f9 to your computer and use it in GitHub Desktop.
Save acdha/ffebce5c6ea5e924a44dd002721a38f9 to your computer and use it in GitHub Desktop.
terraform {
backend "remote" {
hostname = "app.terraform.io"
organization = var.terraform_organization
workspaces {
name = "terraform-aws-workspace-setup"
}
}
}
provider "aws" {
region = var.aws_region
}
provider "tfe" {
}
data "aws_organizations_organization" "master-payer" {}
locals {
accounts_list = tolist(data.aws_organizations_organization.master-payer.accounts[*])
accounts_map = zipmap(local.accounts_list[*].id, local.accounts_list[*])
}
resource "tfe_workspace" "workspace" {
for_each = local.accounts_map
organization = var.terraform_organization
name = replace(replace(lower(each.value.name), "/[^-_a-z0-9]+/", "-"), "/-{2,}/", "-")
}
resource "tfe_variable" "aws_id" {
for_each = local.accounts_map
key = "AWS_ACCOUNT_ID"
value = local.accounts_map[each.key].id
category = "terraform"
workspace_id = "${tfe_workspace.workspace[each.key].id}"
}
resource "tfe_variable" "aws_root_email" {
for_each = local.accounts_map
key = "AWS_ROOT_EMAIL"
value = local.accounts_map[each.key].email
category = "terraform"
workspace_id = "${tfe_workspace.workspace[each.key].id}"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment