import * as core from "@terrascript/core"; export interface PermissionArgs extends core.ResourceArgs { /** * (Optional) Whether the user is allowed to use SSH to communicate with the instance */ allowSsh?: boolean | core.BooleanOut; /** * (Optional) Whether the user is allowed to use sudo to elevate privileges */ allowSudo?: boolean | core.BooleanOut; /** * (Optional) The users permission level. Mus be one of `deny`, `show`, `deploy`, `manage`, `iam_only` */ level?: string | core.StringOut; /** * (Required) The stack to set the permissions for */ stackId?: string | core.StringOut; /** * (Required) The user's IAM ARN to set permissions for */ userArn: string | core.StringOut; } export class Permission extends core.Resource { /** * (Optional) Whether the user is allowed to use SSH to communicate with the instance */ @core.attr(Boolean, { computed: true }) public allowSsh?: boolean | core.BooleanOut; /** * (Optional) Whether the user is allowed to use sudo to elevate privileges */ @core.attr(Boolean, { computed: true }) public allowSudo?: boolean | core.BooleanOut; /** * The computed id of the permission. Please note that this is only used internally to identify the per * mission. This value is not used in aws. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The users permission level. Mus be one of `deny`, `show`, `deploy`, `manage`, `iam_only` */ @core.attr(String, { computed: true }) public level?: string | core.StringOut; /** * (Required) The stack to set the permissions for */ @core.attr(String, { computed: true }) public stackId?: string | core.StringOut; /** * (Required) The user's IAM ARN to set permissions for */ @core.attr(String) public userArn!: string | core.StringOut; constructor(name: string, args?: PermissionArgs) { super(name, "aws_opsworks_permission", args); } public override getNamespace(): string { return "aws_opsworks"; } }