> **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

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/user.ts`](https://github.com/aws/aws-cdk/blob/v2.274.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 admin secret is taken from the cluster — The secret containing credentials to a Redshift user with administrator privileges.

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

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

- `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) = the default AWS managed key is used — 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.

- `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 = a name is generated — The name of the user.

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

## Used as props by

- [`User`](/v2/docs/@aws-cdk_aws-redshift-alpha.User)
