Amazon Simple Systems Manager (SSM)

2017/06/21 - Amazon Simple Systems Manager (SSM) - 3 new 3 updated api methods

Changes  Adding hierarchy support to the SSM Parameter Store API. Added support tor tagging. New APIs: GetParameter - retrieves one parameter, DeleteParameters - deletes multiple parameters (max number 10), GetParametersByPath - retrieves parameters located in the hierarchy. Updated APIs: PutParameter - added ability to enforce parameter value by applying regex (AllowedPattern), DescribeParameters - modified to support Tag filtering.

GetParametersByPath (new) Link ¶

Retrieve parameters in a specific hierarchy. For more information, see Using Parameter Hierarchies.

See also: AWS API Documentation

Request Syntax

client.get_parameters_by_path(
    Path='string',
    Recursive=True|False,
    ParameterFilters=[
        {
            'Key': 'string',
            'Option': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    WithDecryption=True|False,
    MaxResults=123,
    NextToken='string'
)
type Path

string

param Path

[REQUIRED]

The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A hierarchy can have a maximum of five levels. Examples: /Environment/Test/DBString003

/Finance/Prod/IAD/OS/WinServ2016/license15

type Recursive

boolean

param Recursive

Retrieve all parameters within a hierarchy.

type ParameterFilters

list

param ParameterFilters

Filters to limit the request results.

  • (dict) --

    One or more filters. Use a filter to return a more specific list of results.

    • Key (string) -- [REQUIRED]

      The name of the filter.

    • Option (string) --

      Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.

    • Values (list) --

      The value you want to search for.

      • (string) --

type WithDecryption

boolean

param WithDecryption

Retrieve all parameters in a hierarchy with their value decrypted.

type MaxResults

integer

param MaxResults

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

type NextToken

string

param NextToken

A token to start the list. Use this token to get the next set of results.

rtype

dict

returns

Response Syntax

{
    'Parameters': [
        {
            'Name': 'string',
            'Type': 'String'|'StringList'|'SecureString',
            'Value': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Parameters (list) --

      A list of parameters found in the specified hierarchy.

      • (dict) --

        An Amazon EC2 Systems Manager parameter in Parameter Store.

        • Name (string) --

          The name of the parameter.

        • Type (string) --

          The type of parameter. Valid values include the following: String, String list, Secure string.

        • Value (string) --

          The parameter value.

    • NextToken (string) --

      The token for the next set of items to return. Use this token to get the next set of results.

GetParameter (new) Link ¶

Get information about a parameter by using the parameter name.

See also: AWS API Documentation

Request Syntax

client.get_parameter(
    Name='string',
    WithDecryption=True|False
)
type Name

string

param Name

[REQUIRED]

The name of the parameter you want to query.

type WithDecryption

boolean

param WithDecryption

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

rtype

dict

returns

Response Syntax

{
    'Parameter': {
        'Name': 'string',
        'Type': 'String'|'StringList'|'SecureString',
        'Value': 'string'
    }
}

Response Structure

  • (dict) --

    • Parameter (dict) --

      Information about a parameter.

      • Name (string) --

        The name of the parameter.

      • Type (string) --

        The type of parameter. Valid values include the following: String, String list, Secure string.

      • Value (string) --

        The parameter value.

DeleteParameters (new) Link ¶

Delete a list of parameters.

See also: AWS API Documentation

Request Syntax

client.delete_parameters(
    Names=[
        'string',
    ]
)
type Names

list

param Names

[REQUIRED]

The names of the parameters to delete.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'DeletedParameters': [
        'string',
    ],
    'InvalidParameters': [
        'string',
    ]
}

Response Structure

  • (dict) --

    • DeletedParameters (list) --

      The names of the deleted parameters.

      • (string) --

    • InvalidParameters (list) --

      The names of parameters that weren't deleted because the parameters are not valid.

      • (string) --

DescribeParameters (updated) Link ¶
Changes (request, response)
Request
{'ParameterFilters': [{'Key': 'string',
                       'Option': 'string',
                       'Values': ['string']}]}
Response
{'Parameters': {'AllowedPattern': 'string'}}

Get information about a parameter.

See also: AWS API Documentation

Request Syntax

client.describe_parameters(
    Filters=[
        {
            'Key': 'Name'|'Type'|'KeyId',
            'Values': [
                'string',
            ]
        },
    ],
    ParameterFilters=[
        {
            'Key': 'string',
            'Option': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    MaxResults=123,
    NextToken='string'
)
type Filters

list

param Filters

One or more filters. Use a filter to return a more specific list of results.

  • (dict) --

    One or more filters. Use a filter to return a more specific list of results.

    • Key (string) -- [REQUIRED]

      The name of the filter.

    • Values (list) -- [REQUIRED]

      The filter values.

      • (string) --

type ParameterFilters

list

param ParameterFilters

Filters to limit the request results.

  • (dict) --

    One or more filters. Use a filter to return a more specific list of results.

    • Key (string) -- [REQUIRED]

      The name of the filter.

    • Option (string) --

      Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.

    • Values (list) --

      The value you want to search for.

      • (string) --

type MaxResults

integer

param MaxResults

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

type NextToken

string

param NextToken

The token for the next set of items to return. (You received this token from a previous call.)

rtype

dict

returns

Response Syntax

{
    'Parameters': [
        {
            'Name': 'string',
            'Type': 'String'|'StringList'|'SecureString',
            'KeyId': 'string',
            'LastModifiedDate': datetime(2015, 1, 1),
            'LastModifiedUser': 'string',
            'Description': 'string',
            'AllowedPattern': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Parameters (list) --

      Parameters returned by the request.

      • (dict) --

        Metada includes information like the ARN of the last user and the date/time the parameter was last used.

        • Name (string) --

          The parameter name.

        • Type (string) --

          The type of parameter. Valid parameter types include the following: String, String list, Secure string.

        • KeyId (string) --

          The ID of the query key used for this parameter.

        • LastModifiedDate (datetime) --

          Date the parameter was last changed or updated.

        • LastModifiedUser (string) --

          Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

        • Description (string) --

          Description of the parameter actions.

        • AllowedPattern (string) --

          A parameter name can include only the following letters and symbols.

          a-zA-Z0-9_.-

    • NextToken (string) --

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

GetParameterHistory (updated) Link ¶
Changes (response)
{'Parameters': {'AllowedPattern': 'string'}}

Query a list of all parameters used by the AWS account.

See also: AWS API Documentation

Request Syntax

client.get_parameter_history(
    Name='string',
    WithDecryption=True|False,
    MaxResults=123,
    NextToken='string'
)
type Name

string

param Name

[REQUIRED]

The name of a parameter you want to query.

type WithDecryption

boolean

param WithDecryption

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

type MaxResults

integer

param MaxResults

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

type NextToken

string

param NextToken

The token for the next set of items to return. (You received this token from a previous call.)

rtype

dict

returns

Response Syntax

{
    'Parameters': [
        {
            'Name': 'string',
            'Type': 'String'|'StringList'|'SecureString',
            'KeyId': 'string',
            'LastModifiedDate': datetime(2015, 1, 1),
            'LastModifiedUser': 'string',
            'Description': 'string',
            'Value': 'string',
            'AllowedPattern': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Parameters (list) --

      A list of parameters returned by the request.

      • (dict) --

        Information about parameter usage.

        • Name (string) --

          The name of the parameter.

        • Type (string) --

          The type of parameter used.

        • KeyId (string) --

          The ID of the query key used for this parameter.

        • LastModifiedDate (datetime) --

          Date the parameter was last changed or updated.

        • LastModifiedUser (string) --

          Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

        • Description (string) --

          Information about the parameter.

        • Value (string) --

          The parameter value.

        • AllowedPattern (string) --

          Parameter names can include the following letters and symbols.

          a-zA-Z0-9_.-

    • NextToken (string) --

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

PutParameter (updated) Link ¶
Changes (request)
{'AllowedPattern': 'string'}

Add one or more parameters to the system.

See also: AWS API Documentation

Request Syntax

client.put_parameter(
    Name='string',
    Description='string',
    Value='string',
    Type='String'|'StringList'|'SecureString',
    KeyId='string',
    Overwrite=True|False,
    AllowedPattern='string'
)
type Name

string

param Name

[REQUIRED]

The name of the parameter that you want to add to the system.

type Description

string

param Description

Information about the parameter that you want to add to the system

type Value

string

param Value

[REQUIRED]

The parameter value that you want to add to the system.

type Type

string

param Type

[REQUIRED]

The type of parameter that you want to add to the system.

type KeyId

string

param KeyId

The KMS Key ID that you want to use to encrypt a parameter when you choose the SecureString data type. If you don't specify a key ID, the system uses the default key associated with your AWS account.

type Overwrite

boolean

param Overwrite

Overwrite an existing parameter. If not specified, will default to "false".

type AllowedPattern

string

param AllowedPattern

A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: AllowedPattern=^d+$

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --