import * as core from "@terrascript/core"; export interface UserArgs extends core.ResourceArgs { /** * (Required) Access permissions string used for this user. See [Specifying Permissions Using an Access * String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-strin * g) for more details. */ accessString: string | core.StringOut; /** * The ARN of the created ElastiCache User. */ arn?: string | core.StringOut; /** * (Required) The current supported value is `REDIS`. */ engine: string | core.StringOut; /** * (Optional) Indicates a password is not required for this user. */ noPasswordRequired?: boolean | core.BooleanOut; /** * (Optional) Passwords used for this user. You can create up to two passwords for each user. */ passwords?: core.Array | core.ArrayOut; /** * (Optional) A list of tags to be added to this resource. A tag is a key-value pair. */ tags?: core.Map | core.MapOut; tagsAll?: core.Map | core.MapOut; /** * (Required) The ID of the user. */ userId: string | core.StringOut; /** * (Required) The username of the user. */ userName: string | core.StringOut; } export class User extends core.Resource { /** * (Required) Access permissions string used for this user. See [Specifying Permissions Using an Access * String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-strin * g) for more details. */ @core.attr(String) public accessString!: string | core.StringOut; /** * The ARN of the created ElastiCache User. */ @core.attr(String, { computed: true }) public arn?: string | core.StringOut; /** * (Required) The current supported value is `REDIS`. */ @core.attr(String) public engine!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Indicates a password is not required for this user. */ @core.attr(Boolean) public noPasswordRequired?: boolean | core.BooleanOut; /** * (Optional) Passwords used for this user. You can create up to two passwords for each user. */ @core.attr(String, { kind: "array" }) public passwords?: core.Array | core.ArrayOut; /** * (Optional) A list of tags to be added to this resource. A tag is a key-value pair. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * (Required) The ID of the user. */ @core.attr(String) public userId!: string | core.StringOut; /** * (Required) The username of the user. */ @core.attr(String) public userName!: string | core.StringOut; constructor(name: string, args?: UserArgs) { super(name, "aws_elasticache_user", args); } public override getNamespace(): string { return "aws_elasticache"; } }