AWS Systems Manager Construct Library¶
---This module is part of the AWS Cloud Development Kit project.
Installation¶
Install the module:
$ npm i @aws-cdk/aws-ssm
Import it into your code:
# Example automatically generated. See https://github.com/aws/jsii/issues/826
import aws_cdk.aws_ssm as ssm
Using existing SSM Parameters in your CDK app¶
You can reference existing SSM Parameter Store values that you want to use in
your CDK app by using ssm.ParameterStoreString
:
# Example automatically generated. See https://github.com/aws/jsii/issues/826
# Retrieve the latest value of the non-secret parameter
# with name "/My/String/Parameter".
string_value = ssm.StringParameter.from_string_parameter_attributes(self, "MyValue",
parameter_name="/My/Public/Parameter"
).string_value
# Retrieve a specific version of the secret (SecureString) parameter.
# 'version' is always required.
secret_value = ssm.StringParameter.from_secure_string_parameter_attributes(self, "MySecureValue",
parameter_name="/My/Secret/Parameter",
version=5
)
Creating new SSM Parameters in your CDK app¶
You can create either ssm.StringParameter
or ssm.StringListParameter
s in
a CDK app. These are public (not secret) values. Parameters of type
SecretString cannot be created directly from a CDK application; if you want
to provision secrets automatically, use Secrets Manager Secrets (see the
@aws-cdk/aws-secretsmanager
package).
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
ssm.StringParameter(stack, "Parameter",
allowed_pattern=".*",
description="The value Foo",
parameter_name="FooParameter",
string_value="Foo",
tier=ssm.ParameterTier.ADVANCED
)
# Example automatically generated. See https://github.com/aws/jsii/issues/826
# Create a new SSM Parameter holding a String
param = ssm.StringParameter(stack, "StringParameter",
# description: 'Some user-friendly description',
# name: 'ParameterName',
string_value="Initial parameter value"
)
# Grant read access to some Role
param.grant_read(role)
# Create a new SSM Parameter holding a StringList
list_parameter = ssm.StringListParameter(stack, "StringListParameter",
# description: 'Some user-friendly description',
# name: 'ParameterName',
string_list_value=["Initial parameter value A", "Initial parameter value B"]
)
When specifying an allowedPattern
, the values provided as string literals
are validated against the pattern and an exception is raised if a value
provided does not comply.