import * as core from "@terrascript/core"; export interface DsRoleArgs { /** * (Required) The friendly IAM role name to match. */ name: string | core.StringOut; /** * The tags attached to the role. */ tags?: core.Map | core.MapOut; } export class DsRole extends core.Data { /** * The Amazon Resource Name (ARN) specifying the role. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The policy document associated with the role. */ @core.attr(String, { computed: true }) public assumeRolePolicy!: string | core.StringOut; /** * Creation date of the role in RFC 3339 format. */ @core.attr(String, { computed: true }) public createDate!: string | core.StringOut; /** * Description for the role. */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; /** * The friendly IAM role name to match. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * Maximum session duration. */ @core.attr(Number, { computed: true }) public maxSessionDuration!: number | core.NumberOut; /** * (Required) The friendly IAM role name to match. */ @core.attr(String) public name!: string | core.StringOut; /** * The path to the role. */ @core.attr(String, { computed: true }) public path!: string | core.StringOut; /** * The ARN of the policy that is used to set the permissions boundary for the role. */ @core.attr(String, { computed: true }) public permissionsBoundary!: string | core.StringOut; /** * The tags attached to the role. */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; /** * The stable and unique string identifying the role. */ @core.attr(String, { computed: true }) public uniqueId!: string | core.StringOut; constructor(name: string, args?: DsRoleArgs) { super(name, "aws_iam_role", args); } public override getNamespace(): string { return "aws_iam"; } }