aws_organization
Stable
Direct

AWS Organization

Sets up your AWS organization

Providers

The following providers are needed by this module:

Required Inputs

The following input variables are required:

alias

Description: The human-readable string for the AWS account.

Type: string

primary_contact

Description: The primary contact for the AWS organization

Type:

object({
    full_name          = string
    phone_number       = string
    address_line_1     = string
    address_line_2     = optional(string)
    address_line_3     = optional(string)
    city               = string
    company_name       = optional(string)
    country_code       = string // The ISO-3166 two-letter country code for your organization
    district_or_county = optional(string)
    postal_code        = string
    state_or_region    = optional(string)
    website_url        = optional(string)
  })

Optional Inputs

The following input variables are optional (have default values):

accounts

Description: AWS accounts to create in the organization. Keys are arbitrary, but if changed /removed will delete the account.

Type:

map(object({
    name              = string
    email             = string
    close_on_deletion = optional(bool, true)
    environment       = optional(string)

    // Can be used to override the alternate contact information on a per-account basis
    alternate_contacts = optional(object({
      security = optional(object({
        full_name     = string
        email_address = string
        phone_number  = string
        title         = string
      }))
      billing = optional(object({
        full_name     = string
        email_address = string
        phone_number  = string
        title         = string
      }))
      operations = optional(object({
        full_name     = string
        email_address = string
        phone_number  = string
        title         = string
      }))
    }), {})
  }))

Default: {}

alternate_contacts

Description: The alternate contacts for the AWS organization

Type:

object({
    security = optional(object({
      full_name     = string
      email_address = string
      phone_number  = string
      title         = string
    }))
    billing = optional(object({
      full_name     = string
      email_address = string
      phone_number  = string
      title         = string
    }))
    operations = optional(object({
      full_name     = string
      email_address = string
      phone_number  = string
      title         = string
    }))
  })

Default: {}

extra_aws_service_access_principals

Description: Additional service access principals to use in addition to the Panfactum defaults

Type: list(string)

Default: []

Outputs

The following outputs are exported:

aws_accounts

Description: The AWS accounts that were provisioned in the organization

Usage

No notes