StringParameter

class aws_cdk.aws_ssm.StringParameter(scope, id, *, string_value, data_type=None, type=None, allowed_pattern=None, description=None, parameter_name=None, simple_name=None, tier=None)

Bases: Resource

Creates a new String SSM Parameter.

Resource:

AWS::SSM::Parameter

ExampleMetadata:

infused

Example:

vpc = ec2.Vpc.from_vpc_attributes(self, "VPC",
    vpc_id="vpc-1234",
    availability_zones=["us-east-1a", "us-east-1b"],

    # Either pass literals for all IDs
    public_subnet_ids=["s-12345", "s-67890"],

    # OR: import a list of known length
    private_subnet_ids=Fn.import_list_value("PrivateSubnetIds", 2),

    # OR: split an imported string to a list of known length
    isolated_subnet_ids=Fn.split(",", ssm.StringParameter.value_for_string_parameter(self, "MyParameter"), 2)
)
Parameters:
  • scope (Construct)

  • id (str)

  • string_value (str) – The value of the parameter. It may not reference another parameter and {{}} cannot be used in the value.

  • data_type (Optional[ParameterDataType]) – The data type of the parameter, such as text or aws:ec2:image. Default: ParameterDataType.TEXT

  • type (Optional[ParameterType]) – The type of the string parameter. Default: ParameterType.STRING

  • allowed_pattern (Optional[str]) – A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: ^\d+$ Default: no validation is performed

  • description (Optional[str]) – Information about the parameter that you want to add to the system. Default: none

  • parameter_name (Optional[str]) – The name of the parameter. Default: - a name will be generated by CloudFormation

  • simple_name (Optional[bool]) – Indicates of the parameter name is a simple name (i.e. does not include “/” separators). This is only required only if parameterName is a token, which means we are unable to detect if the name is simple or “path-like” for the purpose of rendering SSM parameter ARNs. If parameterName is not specified, simpleName must be true (or undefined) since the name generated by AWS CloudFormation is always a simple name. Default: - auto-detect based on parameterName

  • tier (Optional[ParameterTier]) – The tier of the string parameter. Default: - undefined

Methods

apply_removal_policy(policy)

Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

Parameters:

policy (RemovalPolicy)

Return type:

None

grant_read(grantee)

Grants read (DescribeParameter, GetParameter, GetParameterHistory) permissions on the SSM Parameter.

Parameters:

grantee (IGrantable)

Return type:

Grant

grant_write(grantee)

Grants write (PutParameter) permissions on the SSM Parameter.

Parameters:

grantee (IGrantable)

Return type:

Grant

to_string()

Returns a string representation of this construct.

Return type:

str

Attributes

encryption_key

The encryption key that is used to encrypt this parameter.

  • @default - default master key

env

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.

node

The construct tree node associated with this construct.

parameter_arn

The ARN of the SSM Parameter resource.

parameter_name

The name of the SSM Parameter resource.

parameter_type

The type of the SSM Parameter resource.

stack

The stack in which this resource is defined.

string_value

The parameter value.

Value must not nest another parameter. Do not use {{}} in the value.

Static Methods

classmethod from_secure_string_parameter_attributes(scope, id, *, encryption_key=None, version=None, parameter_name, simple_name=None)

Imports a secure string parameter from the SSM parameter store.

Parameters:
  • scope (Construct)

  • id (str)

  • encryption_key (Optional[IKey]) – The encryption key that is used to encrypt this parameter. Default: - default master key

  • version (Union[int, float, None]) – The version number of the value you wish to retrieve. Default: - AWS CloudFormation uses the latest version of the parameter

  • parameter_name (str) – The name of the parameter store value. This value can be a token or a concrete string. If it is a concrete string and includes “/” it must also be prefixed with a “/” (fully-qualified).

  • simple_name (Optional[bool]) – Indicates of the parameter name is a simple name (i.e. does not include “/” separators). This is only required only if parameterName is a token, which means we are unable to detect if the name is simple or “path-like” for the purpose of rendering SSM parameter ARNs. If parameterName is not specified, simpleName must be true (or undefined) since the name generated by AWS CloudFormation is always a simple name. Default: - auto-detect based on parameterName

Return type:

IStringParameter

classmethod from_string_parameter_attributes(scope, id, *, type=None, version=None, parameter_name, simple_name=None)

Imports an external string parameter with name and optional version.

Parameters:
  • scope (Construct)

  • id (str)

  • type (Optional[ParameterType]) – The type of the string parameter. Default: ParameterType.STRING

  • version (Union[int, float, None]) – The version number of the value you wish to retrieve. Default: The latest version will be retrieved.

  • parameter_name (str) – The name of the parameter store value. This value can be a token or a concrete string. If it is a concrete string and includes “/” it must also be prefixed with a “/” (fully-qualified).

  • simple_name (Optional[bool]) – Indicates of the parameter name is a simple name (i.e. does not include “/” separators). This is only required only if parameterName is a token, which means we are unable to detect if the name is simple or “path-like” for the purpose of rendering SSM parameter ARNs. If parameterName is not specified, simpleName must be true (or undefined) since the name generated by AWS CloudFormation is always a simple name. Default: - auto-detect based on parameterName

Return type:

IStringParameter

classmethod from_string_parameter_name(scope, id, string_parameter_name)

Imports an external string parameter by name.

Parameters:
  • scope (Construct)

  • id (str)

  • string_parameter_name (str)

Return type:

IStringParameter

classmethod is_construct(x)

Return whether the given object is a Construct.

Parameters:

x (Any)

Return type:

bool

classmethod is_resource(construct)

Check whether the given construct is a Resource.

Parameters:

construct (IConstruct)

Return type:

bool

classmethod value_for_secure_string_parameter(scope, parameter_name, version)

(deprecated) Returns a token that will resolve (during deployment).

Parameters:
  • scope (Construct) – Some scope within a stack.

  • parameter_name (str) – The name of the SSM parameter.

  • version (Union[int, float]) – The parameter version (required for secure strings).

Deprecated:

Use SecretValue.ssmSecure() instead, it will correctly type the imported value as a SecretValue and allow importing without version.

Stability:

deprecated

Return type:

str

classmethod value_for_string_parameter(scope, parameter_name, version=None)

Returns a token that will resolve (during deployment) to the string value of an SSM string parameter.

Parameters:
  • scope (Construct) – Some scope within a stack.

  • parameter_name (str) – The name of the SSM parameter.

  • version (Union[int, float, None]) – The parameter version (recommended in order to ensure that the value won’t change during deployment).

Return type:

str

classmethod value_for_typed_string_parameter(scope, parameter_name, type=None, version=None)

Returns a token that will resolve (during deployment) to the string value of an SSM string parameter.

Parameters:
  • scope (Construct) – Some scope within a stack.

  • parameter_name (str) – The name of the SSM parameter.

  • type (Optional[ParameterType]) – The type of the SSM parameter.

  • version (Union[int, float, None]) – The parameter version (recommended in order to ensure that the value won’t change during deployment).

Return type:

str

classmethod value_from_lookup(scope, parameter_name)

Reads the value of an SSM parameter during synthesis through an environmental context provider.

Requires that the stack this scope is defined in will have explicit account/region information. Otherwise, it will fail during synthesis.

Parameters:
Return type:

str