# StringParameterAttributes

Attributes for parameters of various types of string.

Extends: StringParameterAttributes
Extends: CommonStringParameterAttributes

- Source: [`aws-ssm/lib/parameter.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-ssm/lib/parameter.ts#L394)
- Type last changed: v2.87.0 · 6 Jul 2023

## Example

```ts
const parameterVersion = Token.asNumber({ Ref: 'MyParameter' });

// Retrieve the latest value of the non-secret parameter
// with name "/My/String/Parameter".
const stringValue = ssm.StringParameter.fromStringParameterAttributes(this, 'MyValue', {
  parameterName: '/My/Public/Parameter',
  // 'version' can be specified but is optional.
}).stringValue;
const stringValueVersionFromToken = ssm.StringParameter.fromStringParameterAttributes(this, 'MyValueVersionFromToken', {
  parameterName: '/My/Public/Parameter',
  // parameter version from token
  version: parameterVersion,
}).stringValue;

// Retrieve a specific version of the secret (SecureString) parameter.
// 'version' is always required.
const secretValue = ssm.StringParameter.fromSecureStringParameterAttributes(this, 'MySecureValue', {
  parameterName: '/My/Secret/Parameter',
  version: 5,
});
const secretValueVersionFromToken = ssm.StringParameter.fromSecureStringParameterAttributes(this, 'MySecureValueVersionFromToken', {
  parameterName: '/My/Secret/Parameter',
  // parameter version from token
  version: parameterVersion,
});
```

## Properties

- `forceDynamicReference`: boolean = false — Use a dynamic reference as the representation in CloudFormation template level.

  By default, CDK tries to deduce an appropriate representation based on the parameter value (a CfnParameter or a dynamic reference). Use this flag to override the representation when it does not work.

- `parameterName`: string (required) — 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).

- `simpleName`: boolean — Indicates whether the parameter name is a simple name.

  **Default:** auto-detect based on `parameterName`

  A parameter name
  without any "/" is considered a simple name. If the parameter name includes
  "/", setting simpleName to true might cause unintended issues such
  as duplicate "/" in the resulting ARN.

  This is 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.

- `type`: [ParameterType](/cdk/api/v2/docs/aws-cdk-lib.aws_ssm.ParameterType.html) = ParameterType.STRING — - use valueType instead

- `valueType`: [ParameterValueType](/cdk/api/v2/docs/aws-cdk-lib.aws_ssm.ParameterValueType.html) = ParameterValueType.STRING — The type of the string parameter value.

  Using specific types can be helpful in catching invalid values
  at the start of creating or updating a stack. CloudFormation validates
  the values against existing values in the account.

  Note - if you want to allow values from different AWS accounts, use
  ParameterValueType.STRING

- `version`: number — The version number of the value you wish to retrieve.

  **Default:** The latest version will be retrieved.
