> **Experimental**
>
> `@aws-cdk/aws-redshift-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# UserProps

Properties for configuring a Redshift user.

Extends: UserProps
Extends: DatabaseOptions
Used as props by: User

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/user.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0-alpha.0/packages/@aws-cdk/aws-redshift-alpha/lib/user.ts#L23)

## Example

```ts

const user = new User(this, 'User', {
  cluster: cluster,
  databaseName: 'databaseName',
});
cluster.addRotationMultiUser('MultiUserRotation', {
  secret: user.secret,
});
```

## Properties

- `adminUser`: [ISecret](/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager.ISecret.html) — The secret containing credentials to a Redshift user with administrator privileges.

  **Default:** the admin secret is taken from the cluster

  Secret JSON schema: `{ username: string; password: string }`.

- `cluster`: [ICluster](/cdk/api/v2/docs/@aws-cdk_aws-redshift-alpha.ICluster.html) (required) — The cluster containing the database.

- `databaseName`: string (required) — The name of the database.

- `encryptionKey`: [IKey](/cdk/api/v2/docs/aws-cdk-lib.aws_kms.IKey.html) — KMS key to encrypt the generated secret.

  **Default:** the default AWS managed key is used

- `excludeCharacters`: string — Characters to not include in the generated password.

  **Default:** '"@/\\\ \''

- `removalPolicy`: [RemovalPolicy](/cdk/api/v2/docs/aws-cdk-lib.RemovalPolicy.html) = cdk.RemovalPolicy.Destroy — The policy to apply when this resource is removed from the application.

- `username`: string — The name of the user.

  **Default:** a name is generated

  For valid values, see: https://docs.aws.amazon.com/redshift/latest/dg/r_names.html
