AWS Systems Manager

Table of Contents

Parameter Store reference

Name

Type

String
StringList

Items in a StringList must be separated by a comma (,).

SecureString

Consider using this type when:

  • You want to use data/parameters across AWS services without exposing the values as clear text in commands, functions, agent logs, or AWS CloudTrail logs.
  • You want to control who has access to sensitive data.
  • You want to be able to audit when sensitive data is accessed (AWS CloudTrail).
  • You want AWS-level encryption for your sensitive data and you want to bring your own encryption keys to manage access.

Use Parameter Store with awscli awscli howto

aws ssm put-parameter --type String --name "/var/x" --value "10"
$ aws ssm get-parameter --name "/var/x"
{
    "Parameter": {
        "Name": "/var/x",
        "Type": "String",
        "Value": "10",
        "Version": 1
    }
}
aws ssm get-parameter --name "/var/x" --query 'Parameter.Value'
// Note the double quotes.
// This is because the output is formatted as json
"10"
aws ssm get-parameter --name "/var/x" --query 'Parameter.Value' --output text
10
aws ssm get-parameters --names "/Test/IAD/helloWorld"
{
    "InvalidParameters": [],
    "Parameters": [
        {
            "Type": "String",
            "Name": "/var/x",
            "Value": "10"
        }
    ]
}
aws ssm describe-parameters --filters "Key=Name,Values=/var/x"
{
  "Parameters": [
    {
      "LastModifiedUser": "arn:aws:iam::123456789:user/User's name",
      "LastModifiedDate": 1494529763.156,
      "Type": "String",
      "Name": "10"
    }
  ]
}
aws ssm delete-parameter --name "/var/x"