

# Version upgrades for the CfCT manifest
<a name="cfct-compatibility"></a>

For information about the latest version of *Customizations for AWS Control Tower* (CfCT), see the [`CHANGELOG.md` file](https://github.com/aws-solutions/aws-control-tower-customizations/blob/master/CHANGELOG.md) in the GitHub repository. 

**Warning**  
Version 2.2.0 of *Customizations for AWS Control Tower* (CfCT) introduced a CfCT manifest schema (version *2021-03-15*) to align with related AWS service APIs. The manifest schema allows a single manifest.yaml file to manage supported resources (CloudFormation templates, SCPs, and RCPs) through decoupled DevOps workflows.   
We strongly recommend that you update the CfCT manifest schema from version *2020-01-01* to version *2021-03-15* or later.  
CfCT continues to support version *2021-03-15* and *2020-01-01* of the `manifest.yaml` file. No changes to your existing configuration are required. However, version *2020-01-01* is at **End of Support**. We no longer provide updates or add enhancements to version *2020-01-01*. The Root OU and nested OU features aren't supported in version *2020-01-01*. 

**Deprecated properties in CfCT manifest version *2021-03-15:***

```
organization_policies
policy_file
apply_to_accounts_in_ou

cloudformation_resources
template_file
deploy_to_account
deploy_to_ou
ssm_parameters
```

## Mandatory CfCT upgrade steps
<a name="mandatory-upgrade-steps"></a>

When you upgrade to the CfCT manifest schema version *2021-03-15* version, here are the changes you must make to update your files. The next sections outline mandatory and recommended changes for the transition.

**Organizations polices**

1. Move the SCPs or RCPs under **organization\$1policies** under new property **resources**.

1. Change the **policy\$1file** property to new property **resource\$1file.**

1. Change the **apply\$1to\$1accounts\$1in\$1ou** to new property **deployment\$1targets**. The OU list should be defined under sub-property **organizational\$1units**. The **accounts** sub-property is not supported for organizations policies.

1. Add a new property **deploy\$1method** with the value **scp** or **rcp**. 

**CloudFormation resources**

1. Move the CloudFormation resources under **cloudformation\$1resources** under new property **resources**.

1. Change the **template\$1file** property to new property **resource\$1file**.

1. Change the **deploy\$1to\$1ou** to new property **deployment\$1targets**. The OU list should be defined under sub-property **organizational\$1units**.

1. Change the **deploy\$1to\$1accounts** to new property **deployment\$1targets**. The account list should be defined under sub-property **accounts**.

1. Change the **ssm\$1parameters** property to new property **export\$1outputs**.

## Highly recommended CfCT upgrade steps
<a name="highly-recommended-upgrade-steps"></a>

**CloudFormation parameters**

1. Change the **parameter\$1file** property to new property **parameters**.

1. Remove the file path in the value of the **parameter\$1file** property.

1. Copy the parameter key and parameter value from the existing parameter JSON file into the new format for the **parameters** property. This would help you manage them in the manifest file.

**Note**  
The **parameter\$1file** property is supported in CfCT manifest version *2021-03-15*.