export const meta = {
  title: `SSM Parameter Store Usage`,
  description: `Version 11 of Amplify CLI will start using Parameter Store from AWS Systems Manager (SSM). Parameter Store will be used to keep a copy of the various values stored in team-provider-info.json. Amplify CLI will use standard parameters to keep this copy of the values. This usage falls under the permanent free tier of SSM.`
};

Version 11 of Amplify CLI will start using [Parameter Store from AWS Systems Manager (SSM)](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html). Parameter Store will be used to keep a copy of the various values stored in `team-provider-info.json`. Amplify CLI will use standard parameters to keep this copy of the values. This usage falls under the permanent free tier of SSM.

## More about this feature

The `team-provider-info.json` file (from here on referred to as the TPI file) is a file in Amplify projects that primarily contains environment-specific CloudFormation parameters that are passed to resource templates during amplify push.

With this change the values historically stored in the TPI file are now being copied to Parameter Store. We are not removing the TPI file, Parameter Store is being used as a backup. If Amplify CLI needs a value that is not present in the TPI file, it will fetch the value from Parameter Store. The values in Parameter Store are updated after a successful Amplify deployment.

Developers can now seamlessly move between various environments like different developer machines and even to AWS Amplify Studio.

<Callout>Note: When an Amplify environment is deleted, all parameters under that environment name are deleted in Parameter Store. When an Amplify project is deleted, all parameters for that `appId` are deleted along with it.</Callout>

## Manually creating parameters

In some multi-environment scenarios, it is helpful to create parameters in Parameter Store manually. To do so, head to the AWS Console and search for SSM.

![AWS Console's search with "SSM"](/images/cli/parameter-store/select-ssm-console.png)

Once the SSM console has been opened, navigate to Parameter Store.

![AWS Systems Manager side navigation with "Parameter Store" highlighted](/images/cli/parameter-store/select-parameter-store.png)

With Parameter Store opened, select "Create Parameter".

![AWS SSM Parameter Store's landing page with a list of parameters](/images/cli/parameter-store/view-parameter-store.png)

Amplify parameter keys must follow a strict naming pattern:

```
/amplify/<appId>/<environment-name>/AMPLIFY_<category-name>_<resource-name>_<parameter-name>
```

Only Standard parameters with the default String type are supported.

![AWS SSM Parameter Store's "Create Parameter" form with Amplify's parameter naming pattern](/images/cli/parameter-store/create-parameter.png)

Enter your desired value and be sure to enclose it in quotes. The value will be parsed using [JSON.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse).

At the bottom of the page, select "Create parameter". That's it!
