https://github.com/blackbird-cloud/terraform-aws-organization
Terraform module to create an AWS Organization
https://github.com/blackbird-cloud/terraform-aws-organization
aws organization terraform
Last synced: about 1 year ago
JSON representation
Terraform module to create an AWS Organization
- Host: GitHub
- URL: https://github.com/blackbird-cloud/terraform-aws-organization
- Owner: blackbird-cloud
- License: apache-2.0
- Created: 2023-05-18T12:04:39.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-31T15:30:05.000Z (over 1 year ago)
- Last Synced: 2025-04-08T13:49:55.582Z (about 1 year ago)
- Topics: aws, organization, terraform
- Language: HCL
- Homepage:
- Size: 77.1 KB
- Stars: 4
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Terraform Aws Organization Module
Terraform module to create an AWS Organization
[](https://blackbird.cloud)
## Example
```hcl
module "organization" {
source = "../modules/organization"
version = "~> 3"
aws_service_access_principals = [
"access-analyzer.amazonaws.com",
"account.amazonaws.com",
"cloudtrail.amazonaws.com",
"member.org.stacksets.cloudformation.amazonaws.com",
"sso.amazonaws.com"
]
enabled_policy_types = ["BACKUP_POLICY", "SERVICE_CONTROL_POLICY", "TAG_POLICY"]
feature_set = "ALL"
primary_contact = {
address_line_1 = "123 Main St"
city = "Anytown"
country_code = "US"
full_name = "John Doe"
phone_number = "+1-555-555-5555"
postal_code = "12345"
state_or_region = "WA"
}
billing_contact = {
name = "Jane Doe"
title = "Billing"
email_address = "billing@example.com"
}
operations_contact = {
name = "Jane Doe"
title = "Operations"
email_address = "ops@example.com"
}
security_contact = {
name = "Jane Doe"
title = "Security"
email_address = "security@example.com"
}
}
module "organization_units" {
source = "../modules/organization-units"
version = "~> 3"
organizations_units = {
"Development" = {
parent_id = module.organization.organization_root_id
}
"Operations" = {
parent_id = module.organization.organization_root_id
}
"Security" = {
parent_id = module.organization.organization_root_id
}
}
}
module "accounts" {
source = "../modules/accounts"
version = "~> 3"
contacts = dependency.org.outputs.contacts
accounts = {
keys = {
email = "keys@example.com"
delegated_administrator_services = []
parent_id = dependency.ous.outputs.ous["security"].id
}
logs = {
email = "logs@example.com"
delegated_administrator_services = []
parent_id = dependency.ous.outputs.ous["security"].id
}
}
}
module "org_policies" {
source = "../modules/org-policies"
version = "~> 3"
organizations_policies = {
"BackupPolicy" = {
description = "Backup policy"
policy = file("${path.module}/policies/backup_policy.json")
target_id = module.organization.organization_root_id
type = "BACKUP_POLICY"
}
"ServiceControlPolicy" = {
description = "Service control policy"
policy = file("${path.module}/policies/service_control_policy.json")
target_id = module.organization.organization_root_id
type = "SERVICE_CONTROL_POLICY"
}
"TagPolicy" = {
description = "Tag policy"
policy = file("${path.module}/policies/tag_policy.json")
target_id = module.organization.organization_root_id
type = "TAG_POLICY"
}
}
}
```
## Modules
- [Accounts](./modules/accounts/README.md)
- [Organization](./modules/organization/README.md)
- [Organization Policy](./modules/organization-policy/README.md)
- [Organizational Units](./modules/organizational-units/README.md)
## About
We are [Blackbird Cloud](https://blackbird.cloud), Amsterdam based cloud consultancy, and cloud management service provider. We help companies build secure, cost efficient, and scale-able solutions.
Checkout our other :point\_right: [terraform modules](https://registry.terraform.io/namespaces/blackbird-cloud)
## Copyright
Copyright © 2017-2024 [Blackbird Cloud](https://blackbird.cloud)