organization.yml represents your AWS Organization. Any changes to Accounts or OrganizationUnits will be reflected in your AWS Organization. You can create new accounts or organization units, move accounts to different organization units, and assign Terraform, Cloudformation, CDKstacks at any level in the hierarchy.
Structure
Telophase allows you to structure accounts in any way the cloud provider allows. You can nestOrganization Units within each other.
AWS Organization Root
Organization: instructs the Telophase parser that an AWS Organization follows. It has no corresponding representation in AWS.
Name: root represents the root organization unit in your AWS Organization. It is the parent for all accounts and organization units. It cannot be renamed.
Account
Accounts represents a list of AWS Accounts.
Example
us-prodwith root userus-prod@telophase.deveu-prodwith root usereu-prod@telophase.dev
OrganizationUnits
OrganizationUnits represents a list of AWS Organization Units.
Example
Productionwith child accountsus-prodandeu-prodDev Accountswith child accountsdeveloper1anddeveloper2
Stacks
Terraform, Cloudformation and CDK stacks can be assigned toAccounts and OrganizationUnitss. Stacks assigned to OrganizationUnits will be applied to all child Accounts.
Example
us-prod account:
s3-remote-stateCDK stack ingo/src/cdkthat stands up an s3 bucket for a terraform remote state.tf/default-vpcTerraform stack.
Tags
Tags can be used to perform operations on groups of accounts.Accounts and OrganizationUnitss can be tagged. Tags represent AWS Tags.
Telophase Tags map to AWS tags with a key, value pair delimited by an =. For example, env=dev will translate to an AWS tag on an Account or OU with the key env and value dev.
Telophase commands optionally take tags as inputs, allowing you to limit the scope of the operation.
Example
telophasecli diff --tag "env=dev" will show a diff for only the newdev1 account.