import * as core from "@terrascript/core"; export interface UserArgs extends core.ResourceArgs { /** * (Optional) The ID for the AWS account that the user is in. Currently, you use the ID for the AWS acc * ount that contains your Amazon QuickSight account. */ awsAccountId?: string | core.StringOut; /** * (Required) The email address of the user that you want to register. */ email: string | core.StringOut; /** * (Optional) The ARN of the IAM user or role that you are registering with Amazon QuickSight. */ iamArn?: string | core.StringOut; /** * (Required) Amazon QuickSight supports several ways of managing the identity of users. This parameter * accepts either `IAM` or `QUICKSIGHT`. If `IAM` is specified, the `iam_arn` must also be specified. */ identityType: string | core.StringOut; namespace?: string | core.StringOut; /** * (Optional) The name of the IAM session to use when assuming roles that can embed QuickSight dashboar * ds. Only valid for registering users using an assumed IAM role. Additionally, if registering multipl * e users using the same IAM role, each user needs to have a unique session name. */ sessionName?: string | core.StringOut; /** * (Optional) The Amazon QuickSight user name that you want to create for the user you are registering. * Only valid for registering a user with `identity_type` set to `QUICKSIGHT`. */ userName?: string | core.StringOut; /** * (Required) The Amazon QuickSight role of the user. The user role can be one of the following: `READE * R`, `AUTHOR`, or `ADMIN` */ userRole: string | core.StringOut; } export class User extends core.Resource { /** * Amazon Resource Name (ARN) of the user */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) The ID for the AWS account that the user is in. Currently, you use the ID for the AWS acc * ount that contains your Amazon QuickSight account. */ @core.attr(String, { computed: true }) public awsAccountId?: string | core.StringOut; /** * (Required) The email address of the user that you want to register. */ @core.attr(String) public email!: string | core.StringOut; /** * (Optional) The ARN of the IAM user or role that you are registering with Amazon QuickSight. */ @core.attr(String) public iamArn?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) Amazon QuickSight supports several ways of managing the identity of users. This parameter * accepts either `IAM` or `QUICKSIGHT`. If `IAM` is specified, the `iam_arn` must also be specified. */ @core.attr(String) public identityType!: string | core.StringOut; @core.attr(String) public namespace?: string | core.StringOut; /** * (Optional) The name of the IAM session to use when assuming roles that can embed QuickSight dashboar * ds. Only valid for registering users using an assumed IAM role. Additionally, if registering multipl * e users using the same IAM role, each user needs to have a unique session name. */ @core.attr(String) public sessionName?: string | core.StringOut; /** * (Optional) The Amazon QuickSight user name that you want to create for the user you are registering. * Only valid for registering a user with `identity_type` set to `QUICKSIGHT`. */ @core.attr(String) public userName?: string | core.StringOut; /** * (Required) The Amazon QuickSight role of the user. The user role can be one of the following: `READE * R`, `AUTHOR`, or `ADMIN` */ @core.attr(String) public userRole!: string | core.StringOut; constructor(name: string, args?: UserArgs) { super(name, "aws_quicksight_user", args); } public override getNamespace(): string { return "aws_quicksight"; } }