# GenerateSecretStringProperty

Generates a random password.

We recommend that you specify the maximum length and include every character type that the system you are generating a password for can support.

*Required permissions:* `secretsmanager:GetRandomPassword` . For more information, see [IAM policy actions for Secrets Manager](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) and [Authentication and access control in Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) .

- Source: Generated code
- Type last changed: v2.93.0 · 23 Aug 2023

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_secretsmanager as secretsmanager } from 'aws-cdk-lib';
const generateSecretStringProperty: secretsmanager.CfnSecret.GenerateSecretStringProperty = {
  excludeCharacters: 'excludeCharacters',
  excludeLowercase: false,
  excludeNumbers: false,
  excludePunctuation: false,
  excludeUppercase: false,
  generateStringKey: 'generateStringKey',
  includeSpace: false,
  passwordLength: 123,
  requireEachIncludedType: false,
  secretStringTemplate: 'secretStringTemplate',
};
```

## Properties

- `excludeCharacters`: string — A string of the characters that you don't want in the password.

- `excludeLowercase`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — Specifies whether to exclude lowercase letters from the password.

  If you don't include this switch, the password can contain lowercase letters.

- `excludeNumbers`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — Specifies whether to exclude numbers from the password.

  If you don't include this switch, the password can contain numbers.

- `excludePunctuation`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — Specifies whether to exclude the following punctuation characters from the password: `!

  " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~` . If you don't include this switch, the password can contain punctuation.

- `excludeUppercase`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — Specifies whether to exclude uppercase letters from the password.

  If you don't include this switch, the password can contain uppercase letters.

- `generateStringKey`: string — The JSON key name for the key/value pair, where the value is the generated password.

  This pair is added to the JSON structure specified by the `SecretStringTemplate` parameter. If you specify this parameter, then you must also specify `SecretStringTemplate` .

- `includeSpace`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — Specifies whether to include the space character.

  If you include this switch, the password can contain space characters.

- `passwordLength`: number — The length of the password.

  If you don't include this parameter, the default length is 32 characters.

- `requireEachIncludedType`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — Specifies whether to include at least one upper and lowercase letter, one number, and one punctuation.

  If you don't include this switch, the password contains at least one of every character type.

- `secretStringTemplate`: string — A template that the generated string must match.

  When you make a change to this property, a new secret version is created.
