Update an existing account - AWS Control Tower

Update an existing account

You can update accounts that AFT provisions by editing previously submitted account requests and running git push. This command invokes the account provisioning workflow and can process account update requests. You can update the input for ManagedOrganizationalUnit, which is part of the required value for control_tower_parameters.

ManagedOrganizationalUnit is the only parameter that can be updated, among all control_tower_parameters. However, other parameters that are part of the account request Terraform file can be updated, such as custom_fields. For more information, see Provision a new account with AFT.

For example, to update the name or email address of an AFT account, you can define the specifics as custom_fields in the Account Request file. By doing so, you create SSM parameters, which you can pass into the aws_account_alternate_contact resource during global customizations.

resource "aws_account_alternate_contact" "operations" { alternate_contact_type = "OPERATIONS" name = "Example" title = "Example" email_address = "someone@example.com" phone_number = "+1234567890" }

You can add similar fields for other contact types, such as operations and security. In Global Customizations, add data lookups for each custom field, to ensure that you look up all the fields you created in Account Request:

data "aws_ssm_parameter" "billing_name" { name = "/aft/account-request/custom-fields/billing_name" } data "aws_ssm_parameter" "billing_title" { name = "/aft/account-request/custom-fields/billing_title" } data "aws_ssm_parameter" "billing_email_address" { name = "/aft/account-request/custom-fields/billing_email_address" } data "aws_ssm_parameter" "billing_phone_number" { name = "/aft/account-request/custom-fields/billing_phone_number" }

Finally, also in the Global Customizations file, create the alternate contact resources. You will need to define one of these blocks for every contact type you created in Account Request:

resource "aws_account_alternate_contact" "billing" { alternate_contact_type = "BILLING" name = data.aws_ssm_parameter.billing_name.value title = data.aws_ssm_parameter.billing_title.value email_address = data.aws_ssm_parameter.billing_email_address.value phone_number = data.aws_ssm_parameter.billing_phone_number.value }
Note

The input that you provide for control_tower_parameters can't be changed during account provisioning.

The supported formats for specifying ManagedOrganizationalUnit in the aft-account-request repository include OUName and OUName (OU-ID).

Update an account that AFT doesn't provision

You can update AWS Control Tower accounts created outside of AFT by specifying the account in the aft-account-request repository.

Note

Make sure that all account details are correct and consistent with the AWS Control Tower organization and respective AWS Service Catalog provisioned product.

Prerequisites for updating an existing AWS account with AFT
  • The AWS account must be enrolled in AWS Control Tower.

  • The AWS account must be part of the AWS Control Tower organization.