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

Properties for defining an ElastiCache user with IAM authentication.

Extends: IamUserProps
Extends: UserBaseProps
Used as props by: IamUser

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

## Example

```ts
const user = new elasticache.IamUser(this, 'User', {
  // set user engine
  engine: elasticache.UserEngine.REDIS,

  // set user id
  userId: 'my-user',

  // set username
  userName: 'my-user',

  // set access string
  accessControl: elasticache.AccessControl.fromAccessString("on ~* +@all"),
});
```

## Properties

- `accessControl`: [AccessControl](/cdk/api/v2/docs/@aws-cdk_aws-elasticache-alpha.AccessControl.html) (required) — Access control configuration for the user.

- `engine`: [UserEngine](/cdk/api/v2/docs/@aws-cdk_aws-elasticache-alpha.UserEngine.html) — The engine type for the user.

  **Default:** UserEngine.REDIS for NoPasswordUser, UserEngine.VALKEY for all other user types.

  Enum options: UserEngine.VALKEY, UserEngine.REDIS.

- `userId`: string (required) — The ID of the user.

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

  **Default:** Same as userId.
