import * as core from "@terrascript/core"; export interface WorkspacePropertiesArgs extends core.SchemaArgs { computeTypeName: string | core.StringOut; rootVolumeSizeGib: number | core.NumberOut; runningMode: string | core.StringOut; runningModeAutoStopTimeoutInMinutes: number | core.NumberOut; userVolumeSizeGib: number | core.NumberOut; } export class WorkspaceProperties extends core.Schema { @core.attr(String, { computed: true }) public computeTypeName!: string | core.StringOut; @core.attr(Number, { computed: true }) public rootVolumeSizeGib!: number | core.NumberOut; @core.attr(String, { computed: true }) public runningMode!: string | core.StringOut; @core.attr(Number, { computed: true }) public runningModeAutoStopTimeoutInMinutes!: number | core.NumberOut; @core.attr(Number, { computed: true }) public userVolumeSizeGib!: number | core.NumberOut; } export interface DsWorkspaceArgs { /** * (Optional) The ID of the directory for the WorkSpace. You have to specify `user_name` along with `di * rectory_id`. You cannot combine this parameter with `workspace_id`. */ directoryId?: string | core.StringOut; /** * (Optional) The tags for the WorkSpace. */ tags?: core.Map | core.MapOut; userName?: string | core.StringOut; /** * (Optional) The ID of the WorkSpace. You cannot combine this parameter with `directory_id`. */ workspaceId?: string | core.StringOut; } export class DsWorkspace extends core.Data { /** * (Optional) The ID of the bundle for the WorkSpace. */ @core.attr(String, { computed: true }) public bundleId!: string | core.StringOut; /** * The name of the WorkSpace, as seen by the operating system. */ @core.attr(String, { computed: true }) public computerName!: string | core.StringOut; /** * (Optional) The ID of the directory for the WorkSpace. You have to specify `user_name` along with `di * rectory_id`. You cannot combine this parameter with `workspace_id`. */ @core.attr(String, { computed: true }) public directoryId?: string | core.StringOut; /** * The workspaces ID. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The IP address of the WorkSpace. */ @core.attr(String, { computed: true }) public ipAddress!: string | core.StringOut; /** * (Optional) Indicates whether the data stored on the root volume is encrypted. */ @core.attr(Boolean, { computed: true }) public rootVolumeEncryptionEnabled!: boolean | core.BooleanOut; /** * The operational state of the WorkSpace. */ @core.attr(String, { computed: true }) public state!: string | core.StringOut; /** * (Optional) The tags for the WorkSpace. */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; @core.attr(String, { computed: true }) public userName?: string | core.StringOut; @core.attr(Boolean, { computed: true }) public userVolumeEncryptionEnabled!: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public volumeEncryptionKey!: string | core.StringOut; /** * (Optional) The ID of the WorkSpace. You cannot combine this parameter with `directory_id`. */ @core.attr(String, { computed: true }) public workspaceId?: string | core.StringOut; @core.attr(WorkspaceProperties, { computed: true, kind: "array" }) public workspaceProperties!: | core.Array | core.ArrayOut; constructor(name: string, args?: DsWorkspaceArgs) { super(name, "aws_workspaces_workspace", args); } public override getNamespace(): string { return "aws_workspaces"; } }