clients/client-workspaces/src/models/models_0.ts (1,775 lines of code) (raw):

// smithy-typescript generated code import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client"; import { WorkSpacesServiceException as __BaseException } from "./WorkSpacesServiceException"; /** * @public */ export interface AcceptAccountLinkInvitationRequest { /** * <p>The identifier of the account link.</p> * @public */ LinkId: string | undefined; /** * <p>A string of up to 64 ASCII characters that Amazon WorkSpaces uses to ensure idempotent creation.</p> * @public */ ClientToken?: string | undefined; } /** * @public * @enum */ export const AccountLinkStatusEnum = { LINKED: "LINKED", LINKING_FAILED: "LINKING_FAILED", LINK_NOT_FOUND: "LINK_NOT_FOUND", PENDING_ACCEPTANCE_BY_TARGET_ACCOUNT: "PENDING_ACCEPTANCE_BY_TARGET_ACCOUNT", REJECTED: "REJECTED", } as const; /** * @public */ export type AccountLinkStatusEnum = (typeof AccountLinkStatusEnum)[keyof typeof AccountLinkStatusEnum]; /** * <p>Information about about the account link.</p> * @public */ export interface AccountLink { /** * <p>The identifier of the account link.</p> * @public */ AccountLinkId?: string | undefined; /** * <p>The status of the account link.</p> * @public */ AccountLinkStatus?: AccountLinkStatusEnum | undefined; /** * <p>The identifier of the source account.</p> * @public */ SourceAccountId?: string | undefined; /** * <p>The identifier of the target account.</p> * @public */ TargetAccountId?: string | undefined; } /** * @public */ export interface AcceptAccountLinkInvitationResult { /** * <p>Information about the account link.</p> * @public */ AccountLink?: AccountLink | undefined; } /** * <p>The user is not authorized to access a resource.</p> * @public */ export class AccessDeniedException extends __BaseException { readonly name: "AccessDeniedException" = "AccessDeniedException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<AccessDeniedException, __BaseException>) { super({ name: "AccessDeniedException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, AccessDeniedException.prototype); } } /** * <p>The <code>TargetAccountId</code> is already linked or invited.</p> * @public */ export class ConflictException extends __BaseException { readonly name: "ConflictException" = "ConflictException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>) { super({ name: "ConflictException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ConflictException.prototype); } } /** * <p>Unexpected server error occured.</p> * @public */ export class InternalServerException extends __BaseException { readonly name: "InternalServerException" = "InternalServerException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<InternalServerException, __BaseException>) { super({ name: "InternalServerException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, InternalServerException.prototype); } } /** * <p>The resource could not be found.</p> * @public */ export class ResourceNotFoundException extends __BaseException { readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; readonly $fault: "client" = "client"; /** * <p>The ID of the resource that could not be found.</p> * @public */ ResourceId?: string | undefined; /** * @internal */ constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>) { super({ name: "ResourceNotFoundException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ResourceNotFoundException.prototype); this.ResourceId = opts.ResourceId; } } /** * <p>You either haven't provided a <code>TargetAccountId</code> or * are using the same value for <code>TargetAccountId</code> and <code>SourceAccountId</code>.</p> * @public */ export class ValidationException extends __BaseException { readonly name: "ValidationException" = "ValidationException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ValidationException, __BaseException>) { super({ name: "ValidationException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ValidationException.prototype); } } /** * @public * @enum */ export const AccessPropertyValue = { ALLOW: "ALLOW", DENY: "DENY", } as const; /** * @public */ export type AccessPropertyValue = (typeof AccessPropertyValue)[keyof typeof AccessPropertyValue]; /** * @public * @enum */ export const DedicatedTenancySupportResultEnum = { DISABLED: "DISABLED", ENABLED: "ENABLED", } as const; /** * @public */ export type DedicatedTenancySupportResultEnum = (typeof DedicatedTenancySupportResultEnum)[keyof typeof DedicatedTenancySupportResultEnum]; /** * @public * @enum */ export const DedicatedTenancyModificationStateEnum = { COMPLETED: "COMPLETED", FAILED: "FAILED", PENDING: "PENDING", } as const; /** * @public */ export type DedicatedTenancyModificationStateEnum = (typeof DedicatedTenancyModificationStateEnum)[keyof typeof DedicatedTenancyModificationStateEnum]; /** * <p>Describes a modification to the configuration of Bring Your Own License (BYOL) for the * specified account. </p> * @public */ export interface AccountModification { /** * <p>The state of the modification to the configuration of BYOL.</p> * @public */ ModificationState?: DedicatedTenancyModificationStateEnum | undefined; /** * <p>The status of BYOL (whether BYOL is being enabled or disabled).</p> * @public */ DedicatedTenancySupport?: DedicatedTenancySupportResultEnum | undefined; /** * <p>The IP address range, specified as an IPv4 CIDR block, for the management network * interface used for the account.</p> * @public */ DedicatedTenancyManagementCidrRange?: string | undefined; /** * <p>The timestamp when the modification of the BYOL configuration was started.</p> * @public */ StartTime?: Date | undefined; /** * <p>The error code that is returned if the configuration of BYOL cannot be modified.</p> * @public */ ErrorCode?: string | undefined; /** * <p>The text of the error message that is returned if the configuration of BYOL cannot be * modified.</p> * @public */ ErrorMessage?: string | undefined; } /** * <p>Information about the Active Directory config.</p> * @public */ export interface ActiveDirectoryConfig { /** * <p>The name of the domain.</p> * @public */ DomainName: string | undefined; /** * <p>Indicates the secret ARN on the service account.</p> * @public */ ServiceAccountSecretArn: string | undefined; } /** * @public * @enum */ export const AGAModeForDirectoryEnum = { DISABLED: "DISABLED", ENABLED_AUTO: "ENABLED_AUTO", } as const; /** * @public */ export type AGAModeForDirectoryEnum = (typeof AGAModeForDirectoryEnum)[keyof typeof AGAModeForDirectoryEnum]; /** * @public * @enum */ export const AGAModeForWorkSpaceEnum = { DISABLED: "DISABLED", ENABLED_AUTO: "ENABLED_AUTO", INHERITED: "INHERITED", } as const; /** * @public */ export type AGAModeForWorkSpaceEnum = (typeof AGAModeForWorkSpaceEnum)[keyof typeof AGAModeForWorkSpaceEnum]; /** * @public * @enum */ export const AGAPreferredProtocolForDirectory = { NONE: "NONE", TCP: "TCP", } as const; /** * @public */ export type AGAPreferredProtocolForDirectory = (typeof AGAPreferredProtocolForDirectory)[keyof typeof AGAPreferredProtocolForDirectory]; /** * @public * @enum */ export const AGAPreferredProtocolForWorkSpace = { INHERITED: "INHERITED", NONE: "NONE", TCP: "TCP", } as const; /** * @public */ export type AGAPreferredProtocolForWorkSpace = (typeof AGAPreferredProtocolForWorkSpace)[keyof typeof AGAPreferredProtocolForWorkSpace]; /** * @public * @enum */ export const Application = { Microsoft_Office_2016: "Microsoft_Office_2016", Microsoft_Office_2019: "Microsoft_Office_2019", } as const; /** * @public */ export type Application = (typeof Application)[keyof typeof Application]; /** * @public * @enum */ export const ApplicationAssociatedResourceType = { BUNDLE: "BUNDLE", IMAGE: "IMAGE", WORKSPACE: "WORKSPACE", } as const; /** * @public */ export type ApplicationAssociatedResourceType = (typeof ApplicationAssociatedResourceType)[keyof typeof ApplicationAssociatedResourceType]; /** * <p>The specified application is not supported.</p> * @public */ export class ApplicationNotSupportedException extends __BaseException { readonly name: "ApplicationNotSupportedException" = "ApplicationNotSupportedException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ApplicationNotSupportedException, __BaseException>) { super({ name: "ApplicationNotSupportedException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ApplicationNotSupportedException.prototype); } } /** * @public * @enum */ export const AssociationState = { COMPLETED: "COMPLETED", ERROR: "ERROR", INSTALLING: "INSTALLING", PENDING_INSTALL: "PENDING_INSTALL", PENDING_INSTALL_DEPLOYMENT: "PENDING_INSTALL_DEPLOYMENT", PENDING_UNINSTALL: "PENDING_UNINSTALL", PENDING_UNINSTALL_DEPLOYMENT: "PENDING_UNINSTALL_DEPLOYMENT", REMOVED: "REMOVED", UNINSTALLING: "UNINSTALLING", } as const; /** * @public */ export type AssociationState = (typeof AssociationState)[keyof typeof AssociationState]; /** * @public * @enum */ export const AssociationErrorCode = { INSUFFICIENT_DISKSPACE: "ValidationError.InsufficientDiskSpace", INSUFFICIENT_MEMORY: "ValidationError.InsufficientMemory", INTERNAL_SERVER_ERROR: "DeploymentError.InternalServerError", UNSUPPORTED_OPERATING_SYSTEM: "ValidationError.UnsupportedOperatingSystem", WORKSPACE_UNREACHABLE: "DeploymentError.WorkspaceUnreachable", } as const; /** * @public */ export type AssociationErrorCode = (typeof AssociationErrorCode)[keyof typeof AssociationErrorCode]; /** * <p>Indicates the reason that the association deployment failed, including the error code and error message.</p> * @public */ export interface AssociationStateReason { /** * <p>The error code of the association deployment failure.</p> * @public */ ErrorCode?: AssociationErrorCode | undefined; /** * <p>The error message of the association deployment failure.</p> * @public */ ErrorMessage?: string | undefined; } /** * <p>Describes the association between an application and an application resource.</p> * @public */ export interface ApplicationResourceAssociation { /** * <p>The identifier of the application.</p> * @public */ ApplicationId?: string | undefined; /** * <p>The identifier of the associated resource.</p> * @public */ AssociatedResourceId?: string | undefined; /** * <p>The resource type of the associated resource.</p> * @public */ AssociatedResourceType?: ApplicationAssociatedResourceType | undefined; /** * <p>The time the association was created.</p> * @public */ Created?: Date | undefined; /** * <p>The time the association status was last updated.</p> * @public */ LastUpdatedTime?: Date | undefined; /** * <p>The status of the application resource association.</p> * @public */ State?: AssociationState | undefined; /** * <p>The reason the association deployment failed.</p> * @public */ StateReason?: AssociationStateReason | undefined; } /** * @public * @enum */ export const ApplicationSettingsStatusEnum = { DISABLED: "DISABLED", ENABLED: "ENABLED", } as const; /** * @public */ export type ApplicationSettingsStatusEnum = (typeof ApplicationSettingsStatusEnum)[keyof typeof ApplicationSettingsStatusEnum]; /** * <p>The persistent application settings for WorkSpaces Pools users.</p> * @public */ export interface ApplicationSettingsRequest { /** * <p>Enables or disables persistent application settings for users during their pool sessions.</p> * @public */ Status: ApplicationSettingsStatusEnum | undefined; /** * <p>The path prefix for the S3 bucket where users’ persistent application settings are stored. * You can allow the same persistent application settings to be used across multiple pools by specifying * the same settings group for each pool.</p> * @public */ SettingsGroup?: string | undefined; } /** * <p>Describes the persistent application settings for WorkSpaces Pools users.</p> * @public */ export interface ApplicationSettingsResponse { /** * <p>Specifies whether persistent application settings are enabled for users during their pool sessions.</p> * @public */ Status: ApplicationSettingsStatusEnum | undefined; /** * <p>The path prefix for the S3 bucket where users’ persistent application settings are stored.</p> * @public */ SettingsGroup?: string | undefined; /** * <p>The S3 bucket where users’ persistent application settings are stored. When persistent * application settings are enabled for the first time for an account in an Amazon Web Services Region, * an S3 bucket is created. The bucket is unique to the Amazon Web Services account and the Region.</p> * @public */ S3BucketName?: string | undefined; } /** * @public */ export interface AssociateConnectionAliasRequest { /** * <p>The identifier of the connection alias.</p> * @public */ AliasId: string | undefined; /** * <p>The identifier of the directory to associate the connection alias with.</p> * @public */ ResourceId: string | undefined; } /** * @public */ export interface AssociateConnectionAliasResult { /** * <p>The identifier of the connection alias association. You use the connection identifier in * the DNS TXT record when you're configuring your DNS routing policies. </p> * @public */ ConnectionIdentifier?: string | undefined; } /** * <p>One or more parameter values are not valid.</p> * @public */ export class InvalidParameterValuesException extends __BaseException { readonly name: "InvalidParameterValuesException" = "InvalidParameterValuesException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<InvalidParameterValuesException, __BaseException>) { super({ name: "InvalidParameterValuesException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, InvalidParameterValuesException.prototype); } } /** * <p>The state of the resource is not valid for this operation.</p> * @public */ export class InvalidResourceStateException extends __BaseException { readonly name: "InvalidResourceStateException" = "InvalidResourceStateException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<InvalidResourceStateException, __BaseException>) { super({ name: "InvalidResourceStateException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, InvalidResourceStateException.prototype); } } /** * <p>This operation is not supported.</p> * @public */ export class OperationNotSupportedException extends __BaseException { readonly name: "OperationNotSupportedException" = "OperationNotSupportedException"; readonly $fault: "client" = "client"; /** * <p>The exception error reason.</p> * @public */ reason?: string | undefined; /** * @internal */ constructor(opts: __ExceptionOptionType<OperationNotSupportedException, __BaseException>) { super({ name: "OperationNotSupportedException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, OperationNotSupportedException.prototype); this.reason = opts.reason; } } /** * <p>The resource is associated with a directory.</p> * @public */ export class ResourceAssociatedException extends __BaseException { readonly name: "ResourceAssociatedException" = "ResourceAssociatedException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ResourceAssociatedException, __BaseException>) { super({ name: "ResourceAssociatedException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ResourceAssociatedException.prototype); } } /** * @public */ export interface AssociateIpGroupsRequest { /** * <p>The identifier of the directory.</p> * @public */ DirectoryId: string | undefined; /** * <p>The identifiers of one or more IP access control groups.</p> * @public */ GroupIds: string[] | undefined; } /** * @public */ export interface AssociateIpGroupsResult {} /** * <p>Your resource limits have been exceeded.</p> * @public */ export class ResourceLimitExceededException extends __BaseException { readonly name: "ResourceLimitExceededException" = "ResourceLimitExceededException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ResourceLimitExceededException, __BaseException>) { super({ name: "ResourceLimitExceededException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ResourceLimitExceededException.prototype); } } /** * @public */ export interface AssociateWorkspaceApplicationRequest { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId: string | undefined; /** * <p>The identifier of the application.</p> * @public */ ApplicationId: string | undefined; } /** * @public * @enum */ export const WorkSpaceAssociatedResourceType = { APPLICATION: "APPLICATION", } as const; /** * @public */ export type WorkSpaceAssociatedResourceType = (typeof WorkSpaceAssociatedResourceType)[keyof typeof WorkSpaceAssociatedResourceType]; /** * <p>Describes the association between an application and a WorkSpace resource.</p> * @public */ export interface WorkspaceResourceAssociation { /** * <p>The identifier of the associated resource.</p> * @public */ AssociatedResourceId?: string | undefined; /** * <p>The resource types of the associated resource.</p> * @public */ AssociatedResourceType?: WorkSpaceAssociatedResourceType | undefined; /** * <p>The time the association is created.</p> * @public */ Created?: Date | undefined; /** * <p>The time the association status was last updated.</p> * @public */ LastUpdatedTime?: Date | undefined; /** * <p>The status of the WorkSpace resource association.</p> * @public */ State?: AssociationState | undefined; /** * <p>The reason the association deployment failed.</p> * @public */ StateReason?: AssociationStateReason | undefined; /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId?: string | undefined; } /** * @public */ export interface AssociateWorkspaceApplicationResult { /** * <p>Information about the association between the specified WorkSpace and the specified application.</p> * @public */ Association?: WorkspaceResourceAssociation | undefined; } /** * <p>The compute type of the WorkSpace is not compatible with the application.</p> * @public */ export class ComputeNotCompatibleException extends __BaseException { readonly name: "ComputeNotCompatibleException" = "ComputeNotCompatibleException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ComputeNotCompatibleException, __BaseException>) { super({ name: "ComputeNotCompatibleException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ComputeNotCompatibleException.prototype); } } /** * <p>The specified application is not compatible with the resource.</p> * @public */ export class IncompatibleApplicationsException extends __BaseException { readonly name: "IncompatibleApplicationsException" = "IncompatibleApplicationsException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<IncompatibleApplicationsException, __BaseException>) { super({ name: "IncompatibleApplicationsException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, IncompatibleApplicationsException.prototype); } } /** * <p>The operating system of the WorkSpace is not compatible with the application.</p> * @public */ export class OperatingSystemNotCompatibleException extends __BaseException { readonly name: "OperatingSystemNotCompatibleException" = "OperatingSystemNotCompatibleException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<OperatingSystemNotCompatibleException, __BaseException>) { super({ name: "OperatingSystemNotCompatibleException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, OperatingSystemNotCompatibleException.prototype); } } /** * <p>The specified resource already exists.</p> * @public */ export class ResourceAlreadyExistsException extends __BaseException { readonly name: "ResourceAlreadyExistsException" = "ResourceAlreadyExistsException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ResourceAlreadyExistsException, __BaseException>) { super({ name: "ResourceAlreadyExistsException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ResourceAlreadyExistsException.prototype); } } /** * <p>The specified resource is currently in use.</p> * @public */ export class ResourceInUseException extends __BaseException { readonly name: "ResourceInUseException" = "ResourceInUseException"; readonly $fault: "client" = "client"; /** * <p>The ID of the resource that is in use.</p> * @public */ ResourceId?: string | undefined; /** * @internal */ constructor(opts: __ExceptionOptionType<ResourceInUseException, __BaseException>) { super({ name: "ResourceInUseException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ResourceInUseException.prototype); this.ResourceId = opts.ResourceId; } } /** * @public * @enum */ export const AssociationStatus = { ASSOCIATED_WITH_OWNER_ACCOUNT: "ASSOCIATED_WITH_OWNER_ACCOUNT", ASSOCIATED_WITH_SHARED_ACCOUNT: "ASSOCIATED_WITH_SHARED_ACCOUNT", NOT_ASSOCIATED: "NOT_ASSOCIATED", PENDING_ASSOCIATION: "PENDING_ASSOCIATION", PENDING_DISASSOCIATION: "PENDING_DISASSOCIATION", } as const; /** * @public */ export type AssociationStatus = (typeof AssociationStatus)[keyof typeof AssociationStatus]; /** * @public * @enum */ export const AuthenticationType = { SAML: "SAML", } as const; /** * @public */ export type AuthenticationType = (typeof AuthenticationType)[keyof typeof AuthenticationType]; /** * <p>Describes a rule for an IP access control group.</p> * @public */ export interface IpRuleItem { /** * <p>The IP address range, in CIDR notation.</p> * @public */ ipRule?: string | undefined; /** * <p>The description.</p> * @public */ ruleDesc?: string | undefined; } /** * @public */ export interface AuthorizeIpRulesRequest { /** * <p>The identifier of the group.</p> * @public */ GroupId: string | undefined; /** * <p>The rules to add to the group.</p> * @public */ UserRules: IpRuleItem[] | undefined; } /** * @public */ export interface AuthorizeIpRulesResult {} /** * @public * @enum */ export const BundleAssociatedResourceType = { APPLICATION: "APPLICATION", } as const; /** * @public */ export type BundleAssociatedResourceType = (typeof BundleAssociatedResourceType)[keyof typeof BundleAssociatedResourceType]; /** * @public * @enum */ export const BundleType = { REGULAR: "REGULAR", STANDBY: "STANDBY", } as const; /** * @public */ export type BundleType = (typeof BundleType)[keyof typeof BundleType]; /** * @public * @enum */ export const Compute = { GENERALPURPOSE_4XLARGE: "GENERALPURPOSE_4XLARGE", GENERALPURPOSE_8XLARGE: "GENERALPURPOSE_8XLARGE", GRAPHICS: "GRAPHICS", GRAPHICSPRO: "GRAPHICSPRO", GRAPHICSPRO_G4DN: "GRAPHICSPRO_G4DN", GRAPHICS_G4DN: "GRAPHICS_G4DN", PERFORMANCE: "PERFORMANCE", POWER: "POWER", POWERPRO: "POWERPRO", STANDARD: "STANDARD", VALUE: "VALUE", } as const; /** * @public */ export type Compute = (typeof Compute)[keyof typeof Compute]; /** * <p>Describes the compute type of the bundle.</p> * @public */ export interface ComputeType { /** * <p>The compute type.</p> * @public */ Name?: Compute | undefined; } /** * <p>Describes the root volume for a WorkSpace bundle.</p> * @public */ export interface RootStorage { /** * <p>The size of the root volume.</p> * @public */ Capacity: string | undefined; } /** * @public * @enum */ export const WorkspaceBundleState = { AVAILABLE: "AVAILABLE", ERROR: "ERROR", PENDING: "PENDING", } as const; /** * @public */ export type WorkspaceBundleState = (typeof WorkspaceBundleState)[keyof typeof WorkspaceBundleState]; /** * <p>Describes the user volume for a WorkSpace bundle.</p> * @public */ export interface UserStorage { /** * <p>The size of the user volume.</p> * @public */ Capacity: string | undefined; } /** * <p>Describes a WorkSpace bundle.</p> * @public */ export interface WorkspaceBundle { /** * <p>The identifier of the bundle.</p> * @public */ BundleId?: string | undefined; /** * <p>The name of the bundle.</p> * @public */ Name?: string | undefined; /** * <p>The owner of the bundle. This is the account identifier of the owner, or * <code>AMAZON</code> if the bundle is provided by Amazon Web Services.</p> * @public */ Owner?: string | undefined; /** * <p>The description of the bundle.</p> * @public */ Description?: string | undefined; /** * <p>The identifier of the image that was used to create the bundle.</p> * @public */ ImageId?: string | undefined; /** * <p>The size of the root volume.</p> * @public */ RootStorage?: RootStorage | undefined; /** * <p>The size of the user volume.</p> * @public */ UserStorage?: UserStorage | undefined; /** * <p>The compute type of the bundle. For more information, see * <a href="http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles">Amazon WorkSpaces Bundles</a>.</p> * @public */ ComputeType?: ComputeType | undefined; /** * <p>The last time that the bundle was updated.</p> * @public */ LastUpdatedTime?: Date | undefined; /** * <p>The time when the bundle was created.</p> * @public */ CreationTime?: Date | undefined; /** * <p>The state of the WorkSpace bundle.</p> * @public */ State?: WorkspaceBundleState | undefined; /** * <p>The type of WorkSpace bundle.</p> * @public */ BundleType?: BundleType | undefined; } /** * <p>Describes the association between an application and a bundle resource.</p> * @public */ export interface BundleResourceAssociation { /** * <p>The identifier of the associated resource.</p> * @public */ AssociatedResourceId?: string | undefined; /** * <p>The resource type of the associated resources.</p> * @public */ AssociatedResourceType?: BundleAssociatedResourceType | undefined; /** * <p>The identifier of the bundle.</p> * @public */ BundleId?: string | undefined; /** * <p>The time the association is created.</p> * @public */ Created?: Date | undefined; /** * <p>The time the association status was last updated.</p> * @public */ LastUpdatedTime?: Date | undefined; /** * <p>The status of the bundle resource association.</p> * @public */ State?: AssociationState | undefined; /** * <p>The reason the association deployment failed.</p> * @public */ StateReason?: AssociationStateReason | undefined; } /** * <p>Describes the user capacity for a pool of WorkSpaces.</p> * @public */ export interface Capacity { /** * <p>The desired number of user sessions for the WorkSpaces in the pool.</p> * @public */ DesiredUserSessions: number | undefined; } /** * <p>Describes the capacity status for a pool of WorkSpaces.</p> * @public */ export interface CapacityStatus { /** * <p>The number of user sessions currently available for streaming from your pool.</p> * <p>AvailableUserSessions = ActualUserSessions - ActiveUserSessions</p> * @public */ AvailableUserSessions: number | undefined; /** * <p>The total number of sessions slots that are either running or pending. This * represents the total number of concurrent streaming sessions your pool can support * in a steady state.</p> * @public */ DesiredUserSessions: number | undefined; /** * <p>The total number of user sessions that are available for streaming or are currently * streaming in your pool.</p> * <p>ActualUserSessions = AvailableUserSessions + ActiveUserSessions</p> * @public */ ActualUserSessions: number | undefined; /** * <p>The number of user sessions currently being used for your pool.</p> * @public */ ActiveUserSessions: number | undefined; } /** * @public * @enum */ export const CertificateBasedAuthStatusEnum = { DISABLED: "DISABLED", ENABLED: "ENABLED", } as const; /** * @public */ export type CertificateBasedAuthStatusEnum = (typeof CertificateBasedAuthStatusEnum)[keyof typeof CertificateBasedAuthStatusEnum]; /** * <p>Describes the properties of the certificate-based authentication you want to use * with your WorkSpaces.</p> * @public */ export interface CertificateBasedAuthProperties { /** * <p>The status of the certificate-based authentication properties.</p> * @public */ Status?: CertificateBasedAuthStatusEnum | undefined; /** * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Certificate Manager Private CA resource.</p> * @public */ CertificateAuthorityArn?: string | undefined; } /** * @public * @enum */ export const ClientDeviceType = { DEVICE_TYPE_ANDROID: "DeviceTypeAndroid", DEVICE_TYPE_IOS: "DeviceTypeIos", DEVICE_TYPE_LINUX: "DeviceTypeLinux", DEVICE_TYPE_OSX: "DeviceTypeOsx", DEVICE_TYPE_WEB: "DeviceTypeWeb", DEVICE_TYPE_WINDOWS: "DeviceTypeWindows", } as const; /** * @public */ export type ClientDeviceType = (typeof ClientDeviceType)[keyof typeof ClientDeviceType]; /** * @public * @enum */ export const LogUploadEnum = { DISABLED: "DISABLED", ENABLED: "ENABLED", } as const; /** * @public */ export type LogUploadEnum = (typeof LogUploadEnum)[keyof typeof LogUploadEnum]; /** * @public * @enum */ export const ReconnectEnum = { DISABLED: "DISABLED", ENABLED: "ENABLED", } as const; /** * @public */ export type ReconnectEnum = (typeof ReconnectEnum)[keyof typeof ReconnectEnum]; /** * <p>Describes an Amazon WorkSpaces client.</p> * @public */ export interface ClientProperties { /** * <p>Specifies whether users can cache their credentials on the Amazon WorkSpaces client. * When enabled, users can choose to reconnect to their WorkSpaces without re-entering their * credentials. </p> * @public */ ReconnectEnabled?: ReconnectEnum | undefined; /** * <p>Specifies whether users can upload diagnostic log files of Amazon WorkSpaces client directly to * WorkSpaces to troubleshoot issues when using the WorkSpaces client. * When enabled, the log files will be sent to WorkSpaces automatically and will be applied to all * users in the specified directory.</p> * @public */ LogUploadEnabled?: LogUploadEnum | undefined; } /** * <p>Information about the Amazon WorkSpaces client.</p> * @public */ export interface ClientPropertiesResult { /** * <p>The resource identifier, in the form of a directory ID.</p> * @public */ ResourceId?: string | undefined; /** * <p>Information about the Amazon WorkSpaces client.</p> * @public */ ClientProperties?: ClientProperties | undefined; } /** * <p>Describes an Amazon Connect client add-in.</p> * @public */ export interface ConnectClientAddIn { /** * <p>The client add-in identifier.</p> * @public */ AddInId?: string | undefined; /** * <p>The directory identifier for which the client add-in is configured.</p> * @public */ ResourceId?: string | undefined; /** * <p>The name of the client add in.</p> * @public */ Name?: string | undefined; /** * <p>The endpoint URL of the client add-in.</p> * @public */ URL?: string | undefined; } /** * <p>Describes a connection alias association that is used for cross-Region redirection. For * more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html"> Cross-Region * Redirection for Amazon WorkSpaces</a>.</p> * @public */ export interface ConnectionAliasAssociation { /** * <p>The association status of the connection alias.</p> * @public */ AssociationStatus?: AssociationStatus | undefined; /** * <p>The identifier of the Amazon Web Services account that associated the connection alias * with a directory.</p> * @public */ AssociatedAccountId?: string | undefined; /** * <p>The identifier of the directory associated with a connection alias.</p> * @public */ ResourceId?: string | undefined; /** * <p>The identifier of the connection alias association. You use the connection identifier in * the DNS TXT record when you're configuring your DNS routing policies.</p> * @public */ ConnectionIdentifier?: string | undefined; } /** * @public * @enum */ export const ConnectionAliasState = { CREATED: "CREATED", CREATING: "CREATING", DELETING: "DELETING", } as const; /** * @public */ export type ConnectionAliasState = (typeof ConnectionAliasState)[keyof typeof ConnectionAliasState]; /** * <p>Describes a connection alias. Connection aliases are used for cross-Region redirection. * For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html"> Cross-Region * Redirection for Amazon WorkSpaces</a>.</p> * @public */ export interface ConnectionAlias { /** * <p>The connection string specified for the connection alias. The connection string must be * in the form of a fully qualified domain name (FQDN), such as * <code>www.example.com</code>.</p> * @public */ ConnectionString?: string | undefined; /** * <p>The identifier of the connection alias.</p> * @public */ AliasId?: string | undefined; /** * <p>The current state of the connection alias.</p> * @public */ State?: ConnectionAliasState | undefined; /** * <p>The identifier of the Amazon Web Services account that owns the connection alias.</p> * @public */ OwnerAccountId?: string | undefined; /** * <p>The association status of the connection alias.</p> * @public */ Associations?: ConnectionAliasAssociation[] | undefined; } /** * <p>Describes the permissions for a connection alias. Connection aliases are used for * cross-Region redirection. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html"> Cross-Region * Redirection for Amazon WorkSpaces</a>.</p> * @public */ export interface ConnectionAliasPermission { /** * <p>The identifier of the Amazon Web Services account that the connection alias is shared * with.</p> * @public */ SharedAccountId: string | undefined; /** * <p>Indicates whether the specified Amazon Web Services account is allowed to associate the * connection alias with a directory.</p> * @public */ AllowAssociation: boolean | undefined; } /** * @public * @enum */ export const ConnectionState = { CONNECTED: "CONNECTED", DISCONNECTED: "DISCONNECTED", UNKNOWN: "UNKNOWN", } as const; /** * @public */ export type ConnectionState = (typeof ConnectionState)[keyof typeof ConnectionState]; /** * <p>Describes a tag.</p> * @public */ export interface Tag { /** * <p>The key of the tag.</p> * @public */ Key: string | undefined; /** * <p>The value of the tag.</p> * @public */ Value?: string | undefined; } /** * @public */ export interface CopyWorkspaceImageRequest { /** * <p>The name of the image.</p> * @public */ Name: string | undefined; /** * <p>A description of the image.</p> * @public */ Description?: string | undefined; /** * <p>The identifier of the source image.</p> * @public */ SourceImageId: string | undefined; /** * <p>The identifier of the source Region.</p> * @public */ SourceRegion: string | undefined; /** * <p>The tags for the image.</p> * @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface CopyWorkspaceImageResult { /** * <p>The identifier of the image.</p> * @public */ ImageId?: string | undefined; } /** * <p>The specified resource is not available.</p> * @public */ export class ResourceUnavailableException extends __BaseException { readonly name: "ResourceUnavailableException" = "ResourceUnavailableException"; readonly $fault: "client" = "client"; /** * <p>The identifier of the resource that is not available.</p> * @public */ ResourceId?: string | undefined; /** * @internal */ constructor(opts: __ExceptionOptionType<ResourceUnavailableException, __BaseException>) { super({ name: "ResourceUnavailableException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ResourceUnavailableException.prototype); this.ResourceId = opts.ResourceId; } } /** * @public */ export interface CreateAccountLinkInvitationRequest { /** * <p>The identifier of the target account.</p> * @public */ TargetAccountId: string | undefined; /** * <p>A string of up to 64 ASCII characters that Amazon WorkSpaces uses to ensure idempotent creation.</p> * @public */ ClientToken?: string | undefined; } /** * @public */ export interface CreateAccountLinkInvitationResult { /** * <p>Information about the account link.</p> * @public */ AccountLink?: AccountLink | undefined; } /** * @public */ export interface CreateConnectClientAddInRequest { /** * <p>The directory identifier for which to configure the client add-in.</p> * @public */ ResourceId: string | undefined; /** * <p>The name of the client add-in.</p> * @public */ Name: string | undefined; /** * <p>The endpoint URL of the Amazon Connect client add-in.</p> * @public */ URL: string | undefined; } /** * @public */ export interface CreateConnectClientAddInResult { /** * <p>The client add-in identifier.</p> * @public */ AddInId?: string | undefined; } /** * <p>The resource could not be created.</p> * @public */ export class ResourceCreationFailedException extends __BaseException { readonly name: "ResourceCreationFailedException" = "ResourceCreationFailedException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ResourceCreationFailedException, __BaseException>) { super({ name: "ResourceCreationFailedException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ResourceCreationFailedException.prototype); } } /** * @public */ export interface CreateConnectionAliasRequest { /** * <p>A connection string in the form of a fully qualified domain name (FQDN), such as * <code>www.example.com</code>.</p> * <important> * <p>After you create a connection string, it is always associated to your Amazon Web Services account. You cannot recreate the same connection string with a different * account, even if you delete all instances of it from the original account. The * connection string is globally reserved for your account.</p> * </important> * @public */ ConnectionString: string | undefined; /** * <p>The tags to associate with the connection alias.</p> * @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface CreateConnectionAliasResult { /** * <p>The identifier of the connection alias.</p> * @public */ AliasId?: string | undefined; } /** * @public */ export interface CreateIpGroupRequest { /** * <p>The name of the group.</p> * @public */ GroupName: string | undefined; /** * <p>The description of the group.</p> * @public */ GroupDesc?: string | undefined; /** * <p>The rules to add to the group.</p> * @public */ UserRules?: IpRuleItem[] | undefined; /** * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> * @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface CreateIpGroupResult { /** * <p>The identifier of the group.</p> * @public */ GroupId?: string | undefined; } /** * @public * @enum */ export const DataReplication = { NO_REPLICATION: "NO_REPLICATION", PRIMARY_AS_SOURCE: "PRIMARY_AS_SOURCE", } as const; /** * @public */ export type DataReplication = (typeof DataReplication)[keyof typeof DataReplication]; /** * <p>Describes a standby WorkSpace.</p> * @public */ export interface StandbyWorkspace { /** * <p>The identifier of the standby WorkSpace.</p> * @public */ PrimaryWorkspaceId: string | undefined; /** * <p>The volume encryption key of the standby WorkSpace.</p> * @public */ VolumeEncryptionKey?: string | undefined; /** * <p>The identifier of the directory for the standby WorkSpace.</p> * @public */ DirectoryId: string | undefined; /** * <p>The tags associated with the standby WorkSpace.</p> * @public */ Tags?: Tag[] | undefined; /** * <p>Indicates whether data replication is enabled, and if enabled, the type of data replication.</p> * @public */ DataReplication?: DataReplication | undefined; } /** * @public */ export interface CreateStandbyWorkspacesRequest { /** * <p>The Region of the primary WorkSpace.</p> * @public */ PrimaryRegion: string | undefined; /** * <p>Information about the standby WorkSpace to be created.</p> * @public */ StandbyWorkspaces: StandbyWorkspace[] | undefined; } /** * <p>Describes the standby WorkSpace that could not be created.</p> * @public */ export interface FailedCreateStandbyWorkspacesRequest { /** * <p>Information about the standby WorkSpace that could not be created.</p> * @public */ StandbyWorkspaceRequest?: StandbyWorkspace | undefined; /** * <p>The error code that is returned if the standby WorkSpace could not be created.</p> * @public */ ErrorCode?: string | undefined; /** * <p>The text of the error message that is returned if the standby WorkSpace could not be created.</p> * @public */ ErrorMessage?: string | undefined; } /** * @public * @enum */ export const WorkspaceState = { ADMIN_MAINTENANCE: "ADMIN_MAINTENANCE", AVAILABLE: "AVAILABLE", ERROR: "ERROR", IMPAIRED: "IMPAIRED", MAINTENANCE: "MAINTENANCE", PENDING: "PENDING", REBOOTING: "REBOOTING", REBUILDING: "REBUILDING", RESTORING: "RESTORING", STARTING: "STARTING", STOPPED: "STOPPED", STOPPING: "STOPPING", SUSPENDED: "SUSPENDED", TERMINATED: "TERMINATED", TERMINATING: "TERMINATING", UNHEALTHY: "UNHEALTHY", UPDATING: "UPDATING", } as const; /** * @public */ export type WorkspaceState = (typeof WorkspaceState)[keyof typeof WorkspaceState]; /** * <p>Information about the standby WorkSpace.</p> * @public */ export interface PendingCreateStandbyWorkspacesRequest { /** * <p>Describes the standby WorkSpace that was created.</p> * <p>Because this operation is asynchronous, the identifier returned is not immediately * available for use with other operations. For example, if you call * <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html"> * DescribeWorkspaces</a> * before the WorkSpace is created, the information returned can be incomplete. </p> * @public */ UserName?: string | undefined; /** * <p>The identifier of the directory for the standby WorkSpace.</p> * @public */ DirectoryId?: string | undefined; /** * <p>The operational state of the standby WorkSpace.</p> * @public */ State?: WorkspaceState | undefined; /** * <p>The identifier of the standby WorkSpace.</p> * @public */ WorkspaceId?: string | undefined; } /** * @public */ export interface CreateStandbyWorkspacesResult { /** * <p>Information about the standby WorkSpace that could not be created. </p> * @public */ FailedStandbyRequests?: FailedCreateStandbyWorkspacesRequest[] | undefined; /** * <p>Information about the standby WorkSpace that was created.</p> * @public */ PendingStandbyRequests?: PendingCreateStandbyWorkspacesRequest[] | undefined; } /** * @public */ export interface CreateTagsRequest { /** * <p>The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, * registered directories, images, custom bundles, IP access control groups, and connection * aliases.</p> * @public */ ResourceId: string | undefined; /** * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> * @public */ Tags: Tag[] | undefined; } /** * @public */ export interface CreateTagsResult {} /** * @public */ export interface CreateUpdatedWorkspaceImageRequest { /** * <p>The name of the new updated WorkSpace image.</p> * @public */ Name: string | undefined; /** * <p>A description of whether updates for the WorkSpace image are available.</p> * @public */ Description: string | undefined; /** * <p>The identifier of the source WorkSpace image.</p> * @public */ SourceImageId: string | undefined; /** * <p>The tags that you want to add to the new updated WorkSpace image.</p> * <note> * <p>To add tags at the same time when you're creating the updated image, you must create * an IAM policy that grants your IAM user permissions to use * <code>workspaces:CreateTags</code>. </p> * </note> * @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface CreateUpdatedWorkspaceImageResult { /** * <p>The identifier of the new updated WorkSpace image.</p> * @public */ ImageId?: string | undefined; } /** * @public */ export interface CreateWorkspaceBundleRequest { /** * <p>The name of the bundle.</p> * @public */ BundleName: string | undefined; /** * <p>The description of the bundle.</p> * @public */ BundleDescription: string | undefined; /** * <p>The identifier of the image that is used to create the bundle.</p> * @public */ ImageId: string | undefined; /** * <p>Describes the compute type of the bundle.</p> * @public */ ComputeType: ComputeType | undefined; /** * <p>Describes the user volume for a WorkSpace bundle.</p> * @public */ UserStorage: UserStorage | undefined; /** * <p>Describes the root volume for a WorkSpace bundle.</p> * @public */ RootStorage?: RootStorage | undefined; /** * <p>The tags associated with the bundle.</p> * <note> * <p>To add tags at the same time when you're creating the bundle, you must create an IAM policy that * grants your IAM user permissions to use <code>workspaces:CreateTags</code>. </p> * </note> * @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface CreateWorkspaceBundleResult { /** * <p>Describes a WorkSpace bundle.</p> * @public */ WorkspaceBundle?: WorkspaceBundle | undefined; } /** * @public */ export interface CreateWorkspaceImageRequest { /** * <p>The name of the new WorkSpace image.</p> * @public */ Name: string | undefined; /** * <p>The description of the new WorkSpace image.</p> * @public */ Description: string | undefined; /** * <p>The identifier of the source WorkSpace</p> * @public */ WorkspaceId: string | undefined; /** * <p>The tags that you want to add to the new WorkSpace image. * To add tags when you're creating the image, you must create an IAM policy that grants * your IAM user permission to use <code>workspaces:CreateTags</code>.</p> * @public */ Tags?: Tag[] | undefined; } /** * @public * @enum */ export const OperatingSystemType = { LINUX: "LINUX", WINDOWS: "WINDOWS", } as const; /** * @public */ export type OperatingSystemType = (typeof OperatingSystemType)[keyof typeof OperatingSystemType]; /** * <p>The operating system that the image is running.</p> * @public */ export interface OperatingSystem { /** * <p>The operating system.</p> * @public */ Type?: OperatingSystemType | undefined; } /** * @public * @enum */ export const WorkspaceImageRequiredTenancy = { DEDICATED: "DEDICATED", DEFAULT: "DEFAULT", } as const; /** * @public */ export type WorkspaceImageRequiredTenancy = (typeof WorkspaceImageRequiredTenancy)[keyof typeof WorkspaceImageRequiredTenancy]; /** * @public * @enum */ export const WorkspaceImageState = { AVAILABLE: "AVAILABLE", ERROR: "ERROR", PENDING: "PENDING", } as const; /** * @public */ export type WorkspaceImageState = (typeof WorkspaceImageState)[keyof typeof WorkspaceImageState]; /** * @public */ export interface CreateWorkspaceImageResult { /** * <p>The identifier of the new WorkSpace image.</p> * @public */ ImageId?: string | undefined; /** * <p>The name of the image.</p> * @public */ Name?: string | undefined; /** * <p>The description of the image.</p> * @public */ Description?: string | undefined; /** * <p>The operating system that the image is running.</p> * @public */ OperatingSystem?: OperatingSystem | undefined; /** * <p>The availability status of the image.</p> * @public */ State?: WorkspaceImageState | undefined; /** * <p>Specifies whether the image is running on dedicated hardware. * When Bring Your Own License (BYOL) is enabled, this value is set * to DEDICATED. For more information, see * <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.htm"> * Bring Your Own Windows Desktop Images.</a>.</p> * @public */ RequiredTenancy?: WorkspaceImageRequiredTenancy | undefined; /** * <p>The date when the image was created.</p> * @public */ Created?: Date | undefined; /** * <p>The identifier of the Amazon Web Services account that owns the image.</p> * @public */ OwnerAccountId?: string | undefined; } /** * <p>Describes the Global Accelerator for WorkSpaces.</p> * @public */ export interface GlobalAcceleratorForWorkSpace { /** * <p>Indicates if Global Accelerator for WorkSpaces is enabled, disabled, * or the same mode as the associated directory.</p> * @public */ Mode: AGAModeForWorkSpaceEnum | undefined; /** * <p>Indicates the preferred protocol for Global Accelerator.</p> * @public */ PreferredProtocol?: AGAPreferredProtocolForWorkSpace | undefined; } /** * @public * @enum */ export const OperatingSystemName = { AMAZON_LINUX_2: "AMAZON_LINUX_2", RHEL_8: "RHEL_8", ROCKY_8: "ROCKY_8", UBUNTU_18_04: "UBUNTU_18_04", UBUNTU_20_04: "UBUNTU_20_04", UBUNTU_22_04: "UBUNTU_22_04", UNKNOWN: "UNKNOWN", WINDOWS_10: "WINDOWS_10", WINDOWS_11: "WINDOWS_11", WINDOWS_7: "WINDOWS_7", WINDOWS_SERVER_2016: "WINDOWS_SERVER_2016", WINDOWS_SERVER_2019: "WINDOWS_SERVER_2019", WINDOWS_SERVER_2022: "WINDOWS_SERVER_2022", } as const; /** * @public */ export type OperatingSystemName = (typeof OperatingSystemName)[keyof typeof OperatingSystemName]; /** * @public * @enum */ export const Protocol = { PCOIP: "PCOIP", WSP: "WSP", } as const; /** * @public */ export type Protocol = (typeof Protocol)[keyof typeof Protocol]; /** * @public * @enum */ export const RunningMode = { ALWAYS_ON: "ALWAYS_ON", AUTO_STOP: "AUTO_STOP", MANUAL: "MANUAL", } as const; /** * @public */ export type RunningMode = (typeof RunningMode)[keyof typeof RunningMode]; /** * <p>Describes a WorkSpace.</p> * @public */ export interface WorkspaceProperties { /** * <p>The running mode. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html">Manage the WorkSpace Running * Mode</a>.</p> * <note> * <p>The <code>MANUAL</code> value is only supported by Amazon WorkSpaces Core. Contact * your account team to be allow-listed to use this value. For more information, see * <a href="http://aws.amazon.com/workspaces/core/">Amazon WorkSpaces Core</a>.</p> * </note> * <p>Review your running mode to ensure you are using one that is optimal for your needs and * budget. For more information on switching running modes, see <a href="http://aws.amazon.com/workspaces-family/workspaces/faqs/#:~:text=Can%20I%20switch%20between%20hourly%20and%20monthly%20billing%20on%20WorkSpaces%20Personal%3F"> Can I switch between hourly and monthly billing?</a> * </p> * @public */ RunningMode?: RunningMode | undefined; /** * <p>The time after a user logs off when WorkSpaces are automatically stopped. Configured in * 60-minute intervals.</p> * @public */ RunningModeAutoStopTimeoutInMinutes?: number | undefined; /** * <p>The size of the root volume. For important information about how to modify the size of * the root and user volumes, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html">Modify a * WorkSpace</a>.</p> * @public */ RootVolumeSizeGib?: number | undefined; /** * <p>The size of the user storage. For important information about how to modify the size of * the root and user volumes, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html">Modify a * WorkSpace</a>.</p> * @public */ UserVolumeSizeGib?: number | undefined; /** * <p>The compute type. For more information, see <a href="http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles">Amazon WorkSpaces * Bundles</a>.</p> * @public */ ComputeTypeName?: Compute | undefined; /** * <p>The protocol. For more information, see * <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-protocols.html"> * Protocols for Amazon WorkSpaces</a>.</p> * <note> * <ul> * <li> * <p>Only available for WorkSpaces created with PCoIP bundles.</p> * </li> * <li> * <p>The <code>Protocols</code> property is case sensitive. Ensure you use <code>PCOIP</code> or <code>DCV</code> (formerly WSP).</p> * </li> * <li> * <p>Unavailable for Windows 7 WorkSpaces and WorkSpaces using GPU-based bundles * (Graphics, GraphicsPro, Graphics.g4dn, and GraphicsPro.g4dn).</p> * </li> * </ul> * </note> * @public */ Protocols?: Protocol[] | undefined; /** * <p>The name of the operating system.</p> * @public */ OperatingSystemName?: OperatingSystemName | undefined; /** * <p>Indicates the Global Accelerator properties.</p> * @public */ GlobalAccelerator?: GlobalAcceleratorForWorkSpace | undefined; } /** * <p>Describes the information used to create a WorkSpace.</p> * @public */ export interface WorkspaceRequest { /** * <p>The identifier of the Directory Service directory for the WorkSpace. You can use <a>DescribeWorkspaceDirectories</a> to list the available directories.</p> * @public */ DirectoryId: string | undefined; /** * <p>The user name of the user for the WorkSpace. This user name must exist in the Directory Service directory for the WorkSpace.</p> * <p>The username is not case-sensitive, but we recommend matching the case in the Directory Service directory to avoid potential incompatibilities.</p> * <p>The reserved keyword, <code>[UNDEFINED]</code>, is used when creating user-decoupled WorkSpaces.</p> * @public */ UserName: string | undefined; /** * <p>The identifier of the bundle for the WorkSpace. You can use <a>DescribeWorkspaceBundles</a> to list the available bundles.</p> * @public */ BundleId: string | undefined; /** * <p>The ARN of the symmetric KMS key used to encrypt data stored on your WorkSpace. * Amazon WorkSpaces does not support asymmetric KMS keys.</p> * @public */ VolumeEncryptionKey?: string | undefined; /** * <p>Indicates whether the data stored on the user volume is encrypted.</p> * @public */ UserVolumeEncryptionEnabled?: boolean | undefined; /** * <p>Indicates whether the data stored on the root volume is encrypted.</p> * @public */ RootVolumeEncryptionEnabled?: boolean | undefined; /** * <p>The WorkSpace properties.</p> * @public */ WorkspaceProperties?: WorkspaceProperties | undefined; /** * <p>The tags for the WorkSpace.</p> * @public */ Tags?: Tag[] | undefined; /** * <p>The name of the user-decoupled WorkSpace.</p> * <note> * <p> * <code>WorkspaceName</code> is required if <code>UserName</code> is * <code>[UNDEFINED]</code> for user-decoupled WorkSpaces. * <code>WorkspaceName</code> is not applicable if <code>UserName</code> is specified * for user-assigned WorkSpaces.</p> * </note> * @public */ WorkspaceName?: string | undefined; } /** * @public */ export interface CreateWorkspacesRequest { /** * <p>The WorkSpaces to create. You can specify up to 25 WorkSpaces.</p> * @public */ Workspaces: WorkspaceRequest[] | undefined; } /** * <p>Describes a WorkSpace that cannot be created.</p> * @public */ export interface FailedCreateWorkspaceRequest { /** * <p>Information about the WorkSpace.</p> * @public */ WorkspaceRequest?: WorkspaceRequest | undefined; /** * <p>The error code that is returned if the WorkSpace cannot be created.</p> * @public */ ErrorCode?: string | undefined; /** * <p>The text of the error message that is returned if the WorkSpace cannot be * created.</p> * @public */ ErrorMessage?: string | undefined; } /** * <p>Describes the data replication settings.</p> * @public */ export interface DataReplicationSettings { /** * <p>Indicates whether data replication is enabled, and if enabled, the type of data replication.</p> * @public */ DataReplication?: DataReplication | undefined; /** * <p>The date and time at which the last successful snapshot was taken of the * primary WorkSpace used for replicating data.</p> * @public */ RecoverySnapshotTime?: Date | undefined; } /** * @public * @enum */ export const ModificationResourceEnum = { COMPUTE_TYPE: "COMPUTE_TYPE", ROOT_VOLUME: "ROOT_VOLUME", USER_VOLUME: "USER_VOLUME", } as const; /** * @public */ export type ModificationResourceEnum = (typeof ModificationResourceEnum)[keyof typeof ModificationResourceEnum]; /** * @public * @enum */ export const ModificationStateEnum = { UPDATE_INITIATED: "UPDATE_INITIATED", UPDATE_IN_PROGRESS: "UPDATE_IN_PROGRESS", } as const; /** * @public */ export type ModificationStateEnum = (typeof ModificationStateEnum)[keyof typeof ModificationStateEnum]; /** * <p>Describes a WorkSpace modification.</p> * @public */ export interface ModificationState { /** * <p>The resource.</p> * @public */ Resource?: ModificationResourceEnum | undefined; /** * <p>The modification state.</p> * @public */ State?: ModificationStateEnum | undefined; } /** * @public * @enum */ export const StandbyWorkspaceRelationshipType = { PRIMARY: "PRIMARY", STANDBY: "STANDBY", } as const; /** * @public */ export type StandbyWorkspaceRelationshipType = (typeof StandbyWorkspaceRelationshipType)[keyof typeof StandbyWorkspaceRelationshipType]; /** * <p>Describes the related WorkSpace. The related WorkSpace could be a standby WorkSpace or * primary WorkSpace related to the specified WorkSpace.</p> * @public */ export interface RelatedWorkspaceProperties { /** * <p>The identifier of the related WorkSpace.</p> * @public */ WorkspaceId?: string | undefined; /** * <p>The Region of the related WorkSpace.</p> * @public */ Region?: string | undefined; /** * <p>Indicates the state of the WorkSpace.</p> * @public */ State?: WorkspaceState | undefined; /** * <p>Indicates the type of WorkSpace.</p> * @public */ Type?: StandbyWorkspaceRelationshipType | undefined; } /** * <p>Describes the properties of the related standby WorkSpaces. </p> * @public */ export interface StandbyWorkspacesProperties { /** * <p>The identifier of the standby WorkSpace</p> * @public */ StandbyWorkspaceId?: string | undefined; /** * <p>Indicates whether data replication is enabled, and if enabled, the type of data replication.</p> * @public */ DataReplication?: DataReplication | undefined; /** * <p>The date and time at which the last successful snapshot was taken of the * primary WorkSpace used for replicating data.</p> * @public */ RecoverySnapshotTime?: Date | undefined; } /** * <p>Describes a WorkSpace.</p> * @public */ export interface Workspace { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId?: string | undefined; /** * <p>The identifier of the Directory Service directory for the WorkSpace.</p> * @public */ DirectoryId?: string | undefined; /** * <p>The user for the WorkSpace.</p> * @public */ UserName?: string | undefined; /** * <p>The IP address of the WorkSpace.</p> * @public */ IpAddress?: string | undefined; /** * <p>The operational state of the WorkSpace.</p> * <ul> * <li> * <p> * <code>PENDING</code> – The WorkSpace is in a waiting state (for example, the WorkSpace is being created).</p> * </li> * <li> * <p> * <code>AVAILABLE</code> – The WorkSpace is running and has passed the health checks.</p> * </li> * <li> * <p> * <code>IMPAIRED</code> – Refer to <code>UNHEALTHY</code> state.</p> * </li> * <li> * <p> * <code>UNHEALTHY</code> – The WorkSpace is not responding to health checks.</p> * </li> * <li> * <p> * <code>REBOOTING</code> – The WorkSpace is being rebooted (restarted).</p> * </li> * <li> * <p> * <code>STARTING</code> – The WorkSpace is starting up and health checks are being run.</p> * </li> * <li> * <p> * <code>REBUILDING</code> – The WorkSpace is being rebuilt.</p> * </li> * <li> * <p> * <code>RESTORING</code> – The WorkSpace is being restored.</p> * </li> * <li> * <p> * <code>MAINTENANCE</code> – The WorkSpace is undergoing scheduled maintenance by Amazon Web Services.</p> * </li> * <li> * <p> * <code>ADMIN_MAINTENANCE</code> – The WorkSpace is undergoing maintenance by the WorkSpaces administrator.</p> * </li> * <li> * <p> * <code>TERMINATING</code> – The WorkSpace is being deleted.</p> * </li> * <li> * <p> * <code>TERMINATED</code> – The WorkSpace has been deleted.</p> * </li> * <li> * <p> * <code>SUSPENDED</code> – The WorkSpace has been suspended for image creation.</p> * </li> * <li> * <p> * <code>UPDATING</code> – The WorkSpace is undergoing an update.</p> * </li> * <li> * <p> * <code>STOPPING</code> – The WorkSpace is being stopped.</p> * </li> * <li> * <p> * <code>STOPPED</code> – The WorkSpace has been stopped.</p> * </li> * <li> * <p> * <code>ERROR </code> – The WorkSpace is an error state (for example, an error occurred during startup).</p> * </li> * </ul> * <note> * <p>After a WorkSpace is terminated, the <code>TERMINATED</code> state is returned only * briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely * returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using * <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html"> * DescribeWorkSpaces</a>. If the WorkSpace ID isn't returned, then the WorkSpace * has been successfully terminated.</p> * </note> * @public */ State?: WorkspaceState | undefined; /** * <p>The identifier of the bundle used to create the WorkSpace.</p> * @public */ BundleId?: string | undefined; /** * <p>The identifier of the subnet for the WorkSpace.</p> * @public */ SubnetId?: string | undefined; /** * <p>The text of the error message that is returned if the WorkSpace cannot be * created.</p> * @public */ ErrorMessage?: string | undefined; /** * <p>The error code that is returned if the WorkSpace cannot be created.</p> * @public */ ErrorCode?: string | undefined; /** * <p>The name of the WorkSpace, as seen by the operating system. The format of this name * varies. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/launch-workspaces-tutorials.html"> Launch a * WorkSpace</a>. </p> * @public */ ComputerName?: string | undefined; /** * <p>The ARN of the symmetric KMS key used to encrypt data stored on your WorkSpace. * Amazon WorkSpaces does not support asymmetric KMS keys.</p> * @public */ VolumeEncryptionKey?: string | undefined; /** * <p>Indicates whether the data stored on the user volume is encrypted.</p> * @public */ UserVolumeEncryptionEnabled?: boolean | undefined; /** * <p>Indicates whether the data stored on the root volume is encrypted.</p> * @public */ RootVolumeEncryptionEnabled?: boolean | undefined; /** * <p>The name of the user-decoupled WorkSpace.</p> * @public */ WorkspaceName?: string | undefined; /** * <p>The properties of the WorkSpace.</p> * @public */ WorkspaceProperties?: WorkspaceProperties | undefined; /** * <p>The modification states of the WorkSpace.</p> * @public */ ModificationStates?: ModificationState[] | undefined; /** * <p>The standby WorkSpace or primary WorkSpace related to the specified WorkSpace.</p> * @public */ RelatedWorkspaces?: RelatedWorkspaceProperties[] | undefined; /** * <p>Indicates the settings of the data replication.</p> * @public */ DataReplicationSettings?: DataReplicationSettings | undefined; /** * <p>The properties of the standby WorkSpace</p> * @public */ StandbyWorkspacesProperties?: StandbyWorkspacesProperties[] | undefined; } /** * @public */ export interface CreateWorkspacesResult { /** * <p>Information about the WorkSpaces that could not be created.</p> * @public */ FailedRequests?: FailedCreateWorkspaceRequest[] | undefined; /** * <p>Information about the WorkSpaces that were created.</p> * <p>Because this operation is asynchronous, the identifier returned is not immediately * available for use with other operations. For example, if you call <a>DescribeWorkspaces</a> before the WorkSpace is created, the information returned * can be incomplete.</p> * @public */ PendingRequests?: Workspace[] | undefined; } /** * <p>Describes the timeout settings for a pool of WorkSpaces.</p> * @public */ export interface TimeoutSettings { /** * <p>Specifies the amount of time, in seconds, that a streaming session remains active after users disconnect. * If users try to reconnect to the streaming session after a disconnection or network interruption * within the time set, they are connected to their previous session. Otherwise, they are connected * to a new session with a new streaming instance.</p> * @public */ DisconnectTimeoutInSeconds?: number | undefined; /** * <p>The amount of time in seconds a connection will stay active while idle.</p> * @public */ IdleDisconnectTimeoutInSeconds?: number | undefined; /** * <p>Specifies the maximum amount of time, in seconds, that a streaming session can remain active. * If users are still connected to a streaming instance five minutes before this limit is reached, * they are prompted to save any open documents before being disconnected. After this time elapses, * the instance is terminated and replaced by a new instance.</p> * @public */ MaxUserDurationInSeconds?: number | undefined; } /** * @public */ export interface CreateWorkspacesPoolRequest { /** * <p>The name of the pool.</p> * @public */ PoolName: string | undefined; /** * <p>The pool description.</p> * @public */ Description: string | undefined; /** * <p>The identifier of the bundle for the pool.</p> * @public */ BundleId: string | undefined; /** * <p>The identifier of the directory for the pool.</p> * @public */ DirectoryId: string | undefined; /** * <p>The user capacity of the pool.</p> * @public */ Capacity: Capacity | undefined; /** * <p>The tags for the pool.</p> * @public */ Tags?: Tag[] | undefined; /** * <p>Indicates the application settings of the pool.</p> * @public */ ApplicationSettings?: ApplicationSettingsRequest | undefined; /** * <p>Indicates the timeout settings of the pool.</p> * @public */ TimeoutSettings?: TimeoutSettings | undefined; } /** * @public * @enum */ export const WorkspacesPoolErrorCode = { BUNDLE_NOT_FOUND: "BUNDLE_NOT_FOUND", DEFAULT_OU_IS_MISSING: "DEFAULT_OU_IS_MISSING", DIRECTORY_NOT_FOUND: "DIRECTORY_NOT_FOUND", DOMAIN_JOIN_ERROR_ACCESS_DENIED: "DOMAIN_JOIN_ERROR_ACCESS_DENIED", DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", DOMAIN_JOIN_ERROR_FILE_NOT_FOUND: "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", DOMAIN_JOIN_ERROR_INVALID_PARAMETER: "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", DOMAIN_JOIN_ERROR_LOGON_FAILURE: "DOMAIN_JOIN_ERROR_LOGON_FAILURE", DOMAIN_JOIN_ERROR_MORE_DATA: "DOMAIN_JOIN_ERROR_MORE_DATA", DOMAIN_JOIN_ERROR_NOT_SUPPORTED: "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN: "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING: "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING", DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE: "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE", DOMAIN_JOIN_ERROR_SECRET_INVALID: "DOMAIN_JOIN_ERROR_SECRET_INVALID", DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND: "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND", DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID: "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID", DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND: "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND", DOMAIN_JOIN_INTERNAL_SERVICE_ERROR: "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME: "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", DOMAIN_JOIN_NERR_PASSWORD_EXPIRED: "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED: "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", IAM_SERVICE_ROLE_IS_MISSING: "IAM_SERVICE_ROLE_IS_MISSING", IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION: "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION: "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", IGW_NOT_ATTACHED: "IGW_NOT_ATTACHED", IMAGE_NOT_FOUND: "IMAGE_NOT_FOUND", INSUFFICIENT_PERMISSIONS_ERROR: "INSUFFICIENT_PERMISSIONS_ERROR", INTERNAL_SERVICE_ERROR: "INTERNAL_SERVICE_ERROR", INVALID_SUBNET_CONFIGURATION: "INVALID_SUBNET_CONFIGURATION", MACHINE_ROLE_IS_MISSING: "MACHINE_ROLE_IS_MISSING", NETWORK_INTERFACE_LIMIT_EXCEEDED: "NETWORK_INTERFACE_LIMIT_EXCEEDED", SECURITY_GROUPS_NOT_FOUND: "SECURITY_GROUPS_NOT_FOUND", STS_DISABLED_IN_REGION: "STS_DISABLED_IN_REGION", SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES: "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", SUBNET_NOT_FOUND: "SUBNET_NOT_FOUND", WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE: "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE", WORKSPACES_POOL_STOPPED: "WORKSPACES_POOL_STOPPED", } as const; /** * @public */ export type WorkspacesPoolErrorCode = (typeof WorkspacesPoolErrorCode)[keyof typeof WorkspacesPoolErrorCode]; /** * <p>Describes a pool error.</p> * @public */ export interface WorkspacesPoolError { /** * <p>The error code.</p> * @public */ ErrorCode?: WorkspacesPoolErrorCode | undefined; /** * <p>The error message.</p> * @public */ ErrorMessage?: string | undefined; } /** * @public * @enum */ export const WorkspacesPoolState = { CREATING: "CREATING", DELETING: "DELETING", RUNNING: "RUNNING", STARTING: "STARTING", STOPPED: "STOPPED", STOPPING: "STOPPING", UPDATING: "UPDATING", } as const; /** * @public */ export type WorkspacesPoolState = (typeof WorkspacesPoolState)[keyof typeof WorkspacesPoolState]; /** * <p>Describes a pool of WorkSpaces.</p> * @public */ export interface WorkspacesPool { /** * <p>The identifier of a pool.</p> * @public */ PoolId: string | undefined; /** * <p>The Amazon Resource Name (ARN) for the pool.</p> * @public */ PoolArn: string | undefined; /** * <p>The capacity status for the pool</p> * @public */ CapacityStatus: CapacityStatus | undefined; /** * <p>The name of the pool,</p> * @public */ PoolName: string | undefined; /** * <p>The description of the pool.</p> * @public */ Description?: string | undefined; /** * <p>The current state of the pool.</p> * @public */ State: WorkspacesPoolState | undefined; /** * <p>The time the pool was created.</p> * @public */ CreatedAt: Date | undefined; /** * <p>The identifier of the bundle used by the pool.</p> * @public */ BundleId: string | undefined; /** * <p>The identifier of the directory used by the pool.</p> * @public */ DirectoryId: string | undefined; /** * <p>The pool errors.</p> * @public */ Errors?: WorkspacesPoolError[] | undefined; /** * <p>The persistent application settings for users of the pool.</p> * @public */ ApplicationSettings?: ApplicationSettingsResponse | undefined; /** * <p>The amount of time that a pool session remains active after users disconnect. * If they try to reconnect to the pool session after a disconnection or network interruption * within this time interval, they are connected to their previous session. * Otherwise, they are connected to a new session with a new pool instance.</p> * @public */ TimeoutSettings?: TimeoutSettings | undefined; } /** * @public */ export interface CreateWorkspacesPoolResult { /** * <p>Indicates the pool to create.</p> * @public */ WorkspacesPool?: WorkspacesPool | undefined; } /** * @public * @enum */ export const DedicatedTenancyAccountType = { SOURCE_ACCOUNT: "SOURCE_ACCOUNT", TARGET_ACCOUNT: "TARGET_ACCOUNT", } as const; /** * @public */ export type DedicatedTenancyAccountType = (typeof DedicatedTenancyAccountType)[keyof typeof DedicatedTenancyAccountType]; /** * @public * @enum */ export const DedicatedTenancySupportEnum = { ENABLED: "ENABLED", } as const; /** * @public */ export type DedicatedTenancySupportEnum = (typeof DedicatedTenancySupportEnum)[keyof typeof DedicatedTenancySupportEnum]; /** * <p>Returns default client branding attributes that were imported. These attributes display * on the client login screen.</p> * <important> * <p>Client branding attributes are public facing. Ensure that you don't include sensitive * information.</p> * </important> * @public */ export interface DefaultClientBrandingAttributes { /** * <p>The logo. The only image format accepted is a binary data object that is converted from a <code>.png</code> file.</p> * @public */ LogoUrl?: string | undefined; /** * <p>The support email. The company's customer support email address.</p> * <note> * <ul> * <li> * <p>In each platform type, the <code>SupportEmail</code> and * <code>SupportLink</code> parameters are mutually exclusive. You can specify one * parameter for each platform type, but not both.</p> * </li> * <li> * <p>The default email is <code>workspaces-feedback@amazon.com</code>.</p> * </li> * </ul> * </note> * @public */ SupportEmail?: string | undefined; /** * <p>The support link. The link for the company's customer support page for their * WorkSpace.</p> * <note> * <ul> * <li> * <p>In each platform type, the <code>SupportEmail</code> and * <code>SupportLink</code> parameters are mutually exclusive.You can specify one * parameter for each platform type, but not both.</p> * </li> * <li> * <p>The default support link is <code>workspaces-feedback@amazon.com</code>.</p> * </li> * </ul> * </note> * @public */ SupportLink?: string | undefined; /** * <p>The forgotten password link. This is the web address that users can go to if they forget * the password for their WorkSpace.</p> * @public */ ForgotPasswordLink?: string | undefined; /** * <p>The login message. Specified as a key value pair, in which the key is a locale and the * value is the localized message for that locale. The only key supported is * <code>en_US</code>. The HTML tags supported include the following: <code>a, b, blockquote, br, cite, code, dd, dl, dt, div, em, * i, li, ol, p, pre, q, small, span, strike, strong, sub, sup, u, ul</code>.</p> * @public */ LoginMessage?: Record<string, string> | undefined; } /** * <p>The default client branding attributes to be imported. These attributes display on the * client login screen.</p> * <important> * <p>Client branding attributes are public facing. Ensure that you do not include * sensitive information.</p> * </important> * @public */ export interface DefaultImportClientBrandingAttributes { /** * <p>The logo. The only image format accepted is a binary data object that is converted from a <code>.png</code> file.</p> * @public */ Logo?: Uint8Array | undefined; /** * <p>The support email. The company's customer support email address.</p> * <note> * <ul> * <li> * <p>In each platform type, the <code>SupportEmail</code> and * <code>SupportLink</code> parameters are mutually exclusive. You can specify one * parameter for each platform type, but not both.</p> * </li> * <li> * <p>The default email is <code>workspaces-feedback@amazon.com</code>.</p> * </li> * </ul> * </note> * @public */ SupportEmail?: string | undefined; /** * <p>The support link. The link for the company's customer support page for their * WorkSpace.</p> * <note> * <ul> * <li> * <p>In each platform type, the <code>SupportEmail</code> and * <code>SupportLink</code> parameters are mutually exclusive. You can specify one * parameter for each platform type, but not both.</p> * </li> * <li> * <p>The default support link is <code>workspaces-feedback@amazon.com</code>.</p> * </li> * </ul> * </note> * @public */ SupportLink?: string | undefined; /** * <p>The forgotten password link. This is the web address that users can go to if they forget * the password for their WorkSpace.</p> * @public */ ForgotPasswordLink?: string | undefined; /** * <p>The login message. Specified as a key value pair, in which the key is a locale and the * value is the localized message for that locale. The only key supported is * <code>en_US</code>. The HTML tags supported include the following: <code>a, b, blockquote, br, cite, code, dd, dl, dt, div, em, * i, li, ol, p, pre, q, small, span, strike, strong, sub, sup, u, ul</code>.</p> * @public */ LoginMessage?: Record<string, string> | undefined; } /** * <p>Describes the default values that are used to create WorkSpaces. For more information, * see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/update-directory-details.html">Update Directory * Details for Your WorkSpaces</a>.</p> * @public */ export interface DefaultWorkspaceCreationProperties { /** * <p>Specifies whether the directory is enabled for Amazon WorkDocs.</p> * @public */ EnableWorkDocs?: boolean | undefined; /** * <p>Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in * this directory by default. If enabled, the Elastic public IP address allows outbound * internet access from your WorkSpaces when you’re using an internet gateway in the Amazon * VPC in which your WorkSpaces are located. If you're using a Network Address Translation * (NAT) gateway for outbound internet access from your VPC, or if your WorkSpaces are in * public subnets and you manually assign them Elastic IP addresses, you should disable this * setting. This setting applies to new WorkSpaces that you launch or to existing WorkSpaces * that you rebuild. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-vpc.html"> Configure a VPC for * Amazon WorkSpaces</a>.</p> * @public */ EnableInternetAccess?: boolean | undefined; /** * <p>The organizational unit (OU) in the directory for the WorkSpace machine accounts.</p> * @public */ DefaultOu?: string | undefined; /** * <p>The identifier of the default security group to apply to WorkSpaces when they are * created. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-security-groups.html"> Security * Groups for Your WorkSpaces</a>.</p> * @public */ CustomSecurityGroupId?: string | undefined; /** * <p>Specifies whether WorkSpace users are local administrators on their WorkSpaces.</p> * @public */ UserEnabledAsLocalAdministrator?: boolean | undefined; /** * <p>Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see * <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html">WorkSpace * Maintenance</a>.</p> * @public */ EnableMaintenanceMode?: boolean | undefined; /** * <p>Indicates the IAM role ARN of the instance.</p> * @public */ InstanceIamRoleArn?: string | undefined; } /** * @public * @enum */ export const DeletableCertificateBasedAuthProperty = { CERTIFICATE_BASED_AUTH_PROPERTIES_CERTIFICATE_AUTHORITY_ARN: "CERTIFICATE_BASED_AUTH_PROPERTIES_CERTIFICATE_AUTHORITY_ARN", } as const; /** * @public */ export type DeletableCertificateBasedAuthProperty = (typeof DeletableCertificateBasedAuthProperty)[keyof typeof DeletableCertificateBasedAuthProperty]; /** * @public * @enum */ export const DeletableSamlProperty = { SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME: "SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME", SAML_PROPERTIES_USER_ACCESS_URL: "SAML_PROPERTIES_USER_ACCESS_URL", } as const; /** * @public */ export type DeletableSamlProperty = (typeof DeletableSamlProperty)[keyof typeof DeletableSamlProperty]; /** * @public */ export interface DeleteAccountLinkInvitationRequest { /** * <p>The identifier of the account link.</p> * @public */ LinkId: string | undefined; /** * <p>A string of up to 64 ASCII characters that Amazon WorkSpaces uses to ensure idempotent creation.</p> * @public */ ClientToken?: string | undefined; } /** * @public */ export interface DeleteAccountLinkInvitationResult { /** * <p>Information about the account link.</p> * @public */ AccountLink?: AccountLink | undefined; } /** * @public */ export interface DeleteClientBrandingRequest { /** * <p>The directory identifier of the WorkSpace for which you want to delete client * branding.</p> * @public */ ResourceId: string | undefined; /** * <p>The device type for which you want to delete client branding.</p> * @public */ Platforms: ClientDeviceType[] | undefined; } /** * @public */ export interface DeleteClientBrandingResult {} /** * @public */ export interface DeleteConnectClientAddInRequest { /** * <p>The identifier of the client add-in to delete.</p> * @public */ AddInId: string | undefined; /** * <p>The directory identifier for which the client add-in is configured.</p> * @public */ ResourceId: string | undefined; } /** * @public */ export interface DeleteConnectClientAddInResult {} /** * @public */ export interface DeleteConnectionAliasRequest { /** * <p>The identifier of the connection alias to delete.</p> * @public */ AliasId: string | undefined; } /** * @public */ export interface DeleteConnectionAliasResult {} /** * @public */ export interface DeleteIpGroupRequest { /** * <p>The identifier of the IP access control group.</p> * @public */ GroupId: string | undefined; } /** * @public */ export interface DeleteIpGroupResult {} /** * @public */ export interface DeleteTagsRequest { /** * <p>The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, * registered directories, images, custom bundles, IP access control groups, and connection * aliases.</p> * @public */ ResourceId: string | undefined; /** * <p>The tag keys.</p> * @public */ TagKeys: string[] | undefined; } /** * @public */ export interface DeleteTagsResult {} /** * @public */ export interface DeleteWorkspaceBundleRequest { /** * <p>The identifier of the bundle.</p> * @public */ BundleId?: string | undefined; } /** * @public */ export interface DeleteWorkspaceBundleResult {} /** * @public */ export interface DeleteWorkspaceImageRequest { /** * <p>The identifier of the image.</p> * @public */ ImageId: string | undefined; } /** * @public */ export interface DeleteWorkspaceImageResult {} /** * @public */ export interface DeployWorkspaceApplicationsRequest { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId: string | undefined; /** * <p>Indicates whether the force flag is applied for the specified WorkSpace. When the force flag is enabled, * it allows previously failed deployments to be retried.</p> * @public */ Force?: boolean | undefined; } /** * <p>Describes the WorkSpace application deployment.</p> * @public */ export interface WorkSpaceApplicationDeployment { /** * <p>The associations between the applications and the associated resources.</p> * @public */ Associations?: WorkspaceResourceAssociation[] | undefined; } /** * @public */ export interface DeployWorkspaceApplicationsResult { /** * <p>The list of deployed associations and information about them.</p> * @public */ Deployment?: WorkSpaceApplicationDeployment | undefined; } /** * @public */ export interface DeregisterWorkspaceDirectoryRequest { /** * <p>The identifier of the directory. If any WorkSpaces are registered to this directory, you * must remove them before you deregister the directory, or you will receive an * OperationNotSupportedException error.</p> * @public */ DirectoryId: string | undefined; } /** * @public */ export interface DeregisterWorkspaceDirectoryResult {} /** * @public */ export interface DescribeAccountRequest {} /** * @public */ export interface DescribeAccountResult { /** * <p>The status of BYOL (whether BYOL is enabled or disabled).</p> * @public */ DedicatedTenancySupport?: DedicatedTenancySupportResultEnum | undefined; /** * <p>The IP address range, specified as an IPv4 CIDR block, used for the management network * interface.</p> * <p>The management network interface is connected to a secure Amazon WorkSpaces management * network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces * clients, and to allow Amazon WorkSpaces to manage the WorkSpace.</p> * @public */ DedicatedTenancyManagementCidrRange?: string | undefined; /** * <p>The type of linked account.</p> * @public */ DedicatedTenancyAccountType?: DedicatedTenancyAccountType | undefined; } /** * @public */ export interface DescribeAccountModificationsRequest { /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeAccountModificationsResult { /** * <p>The list of modifications to the configuration of BYOL.</p> * @public */ AccountModifications?: AccountModification[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeApplicationAssociationsRequest { /** * <p>The maximum number of associations to return.</p> * @public */ MaxResults?: number | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; /** * <p>The identifier of the specified application.</p> * @public */ ApplicationId: string | undefined; /** * <p>The resource type of the associated resources.</p> * @public */ AssociatedResourceTypes: ApplicationAssociatedResourceType[] | undefined; } /** * @public */ export interface DescribeApplicationAssociationsResult { /** * <p>List of associations and information about them.</p> * @public */ Associations?: ApplicationResourceAssociation[] | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * @public * @enum */ export const WorkSpaceApplicationLicenseType = { LICENSED: "LICENSED", UNLICENSED: "UNLICENSED", } as const; /** * @public */ export type WorkSpaceApplicationLicenseType = (typeof WorkSpaceApplicationLicenseType)[keyof typeof WorkSpaceApplicationLicenseType]; /** * @public */ export interface DescribeApplicationsRequest { /** * <p>The identifiers of one or more applications.</p> * @public */ ApplicationIds?: string[] | undefined; /** * <p>The compute types supported by the applications.</p> * @public */ ComputeTypeNames?: Compute[] | undefined; /** * <p>The license availability for the applications.</p> * @public */ LicenseType?: WorkSpaceApplicationLicenseType | undefined; /** * <p>The operating systems supported by the applications.</p> * @public */ OperatingSystemNames?: OperatingSystemName[] | undefined; /** * <p>The owner of the applications.</p> * @public */ Owner?: string | undefined; /** * <p>The maximum number of applications to return.</p> * @public */ MaxResults?: number | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * @public * @enum */ export const WorkSpaceApplicationState = { AVAILABLE: "AVAILABLE", ERROR: "ERROR", PENDING: "PENDING", UNINSTALL_ONLY: "UNINSTALL_ONLY", } as const; /** * @public */ export type WorkSpaceApplicationState = (typeof WorkSpaceApplicationState)[keyof typeof WorkSpaceApplicationState]; /** * <p>Describes the WorkSpace application.</p> * @public */ export interface WorkSpaceApplication { /** * <p>The identifier of the application.</p> * @public */ ApplicationId?: string | undefined; /** * <p>The time the application is created.</p> * @public */ Created?: Date | undefined; /** * <p>The description of the WorkSpace application.</p> * @public */ Description?: string | undefined; /** * <p>The license availability for the applications.</p> * @public */ LicenseType?: WorkSpaceApplicationLicenseType | undefined; /** * <p>The name of the WorkSpace application.</p> * @public */ Name?: string | undefined; /** * <p>The owner of the WorkSpace application.</p> * @public */ Owner?: string | undefined; /** * <p>The status of WorkSpace application.</p> * @public */ State?: WorkSpaceApplicationState | undefined; /** * <p>The supported compute types of the WorkSpace application.</p> * @public */ SupportedComputeTypeNames?: Compute[] | undefined; /** * <p>The supported operating systems of the WorkSpace application.</p> * @public */ SupportedOperatingSystemNames?: OperatingSystemName[] | undefined; } /** * @public */ export interface DescribeApplicationsResult { /** * <p>List of information about the specified applications.</p> * @public */ Applications?: WorkSpaceApplication[] | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeBundleAssociationsRequest { /** * <p>The identifier of the bundle.</p> * @public */ BundleId: string | undefined; /** * <p>The resource types of the associated resource.</p> * @public */ AssociatedResourceTypes: BundleAssociatedResourceType[] | undefined; } /** * @public */ export interface DescribeBundleAssociationsResult { /** * <p>List of information about the specified associations.</p> * @public */ Associations?: BundleResourceAssociation[] | undefined; } /** * @public */ export interface DescribeClientBrandingRequest { /** * <p>The directory identifier of the WorkSpace for which you want to view client branding * information.</p> * @public */ ResourceId: string | undefined; } /** * <p>The client branding attributes for iOS device types. These attributes are displayed on * the iOS client login screen only.</p> * <important> * <p>Client branding attributes are public facing. Ensure you do not include sensitive * information.</p> * </important> * @public */ export interface IosClientBrandingAttributes { /** * <p>The logo. This is the standard-resolution display that has a 1:1 pixel density * (or @1x), where one pixel is equal * to one point. The only image format accepted is a binary data object that is converted from * a <code>.png</code> file.</p> * @public */ LogoUrl?: string | undefined; /** * <p>The @2x version of the logo. This is the higher resolution display that offers a scale * factor of 2.0 (or @2x). The only image format accepted is a binary data object that is * converted from a <code>.png</code> file.</p> * <note> * <p> For more information about iOS image size and resolution, see <a href="https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/">Image Size and Resolution </a> in the <i>Apple Human Interface * Guidelines</i>.</p> * </note> * @public */ Logo2xUrl?: string | undefined; /** * <p>The @3x version of the logo. This is the higher resolution display that offers a scale * factor of 3.0 (or @3x).The only image format accepted is a binary data object that is * converted from a <code>.png</code> file.</p> * <note> * <p> For more information about iOS image size and resolution, see <a href="https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/">Image Size and Resolution </a> in the <i>Apple Human Interface * Guidelines</i>.</p> * </note> * @public */ Logo3xUrl?: string | undefined; /** * <p>The support email. The company's customer support email address.</p> * <note> * <ul> * <li> * <p>In each platform type, the <code>SupportEmail</code> and * <code>SupportLink</code> parameters are mutually exclusive. You can specify one * parameter for each platform type, but not both.</p> * </li> * <li> * <p>The default email is <code>workspaces-feedback@amazon.com</code>.</p> * </li> * </ul> * </note> * @public */ SupportEmail?: string | undefined; /** * <p>The support link. The link for the company's customer support page for their * WorkSpace.</p> * <note> * <ul> * <li> * <p>In each platform type, the <code>SupportEmail</code> and * <code>SupportLink</code> parameters are mutually exclusive. You can specify one * parameter for each platform type, but not both.</p> * </li> * <li> * <p>The default support link is <code>workspaces-feedback@amazon.com</code>.</p> * </li> * </ul> * </note> * @public */ SupportLink?: string | undefined; /** * <p>The forgotten password link. This is the web address that users can go to if they forget * the password for their WorkSpace.</p> * @public */ ForgotPasswordLink?: string | undefined; /** * <p>The login message. Specified as a key value pair, in which the key is a locale and the * value is the localized message for that locale. The only key supported is * <code>en_US</code>. The HTML tags supported include the following: <code>a, b, blockquote, br, cite, code, dd, dl, dt, div, em, * i, li, ol, p, pre, q, small, span, strike, strong, sub, sup, u, ul</code>.</p> * @public */ LoginMessage?: Record<string, string> | undefined; } /** * @public */ export interface DescribeClientBrandingResult { /** * <p>The branding information for Windows devices.</p> * @public */ DeviceTypeWindows?: DefaultClientBrandingAttributes | undefined; /** * <p>The branding information for macOS devices.</p> * @public */ DeviceTypeOsx?: DefaultClientBrandingAttributes | undefined; /** * <p>The branding information for Android devices.</p> * @public */ DeviceTypeAndroid?: DefaultClientBrandingAttributes | undefined; /** * <p>The branding information for iOS devices.</p> * @public */ DeviceTypeIos?: IosClientBrandingAttributes | undefined; /** * <p>The branding information for Linux devices.</p> * @public */ DeviceTypeLinux?: DefaultClientBrandingAttributes | undefined; /** * <p>The branding information for Web access.</p> * @public */ DeviceTypeWeb?: DefaultClientBrandingAttributes | undefined; } /** * @public */ export interface DescribeClientPropertiesRequest { /** * <p>The resource identifier, in the form of directory IDs.</p> * @public */ ResourceIds: string[] | undefined; } /** * @public */ export interface DescribeClientPropertiesResult { /** * <p>Information about the specified Amazon WorkSpaces clients.</p> * @public */ ClientPropertiesList?: ClientPropertiesResult[] | undefined; } /** * @public */ export interface DescribeConnectClientAddInsRequest { /** * <p>The directory identifier for which the client add-in is configured.</p> * @public */ ResourceId: string | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; /** * <p>The maximum number of items to return.</p> * @public */ MaxResults?: number | undefined; } /** * @public */ export interface DescribeConnectClientAddInsResult { /** * <p>Information about client add-ins.</p> * @public */ AddIns?: ConnectClientAddIn[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeConnectionAliasesRequest { /** * <p>The identifiers of the connection aliases to describe.</p> * @public */ AliasIds?: string[] | undefined; /** * <p>The identifier of the directory associated with the connection alias.</p> * @public */ ResourceId?: string | undefined; /** * <p>The maximum number of connection aliases to return.</p> * @public */ Limit?: number | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeConnectionAliasesResult { /** * <p>Information about the specified connection aliases.</p> * @public */ ConnectionAliases?: ConnectionAlias[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeConnectionAliasPermissionsRequest { /** * <p>The identifier of the connection alias.</p> * @public */ AliasId: string | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results. </p> * @public */ NextToken?: string | undefined; /** * <p>The maximum number of results to return.</p> * @public */ MaxResults?: number | undefined; } /** * @public */ export interface DescribeConnectionAliasPermissionsResult { /** * <p>The identifier of the connection alias.</p> * @public */ AliasId?: string | undefined; /** * <p>The permissions associated with a connection alias.</p> * @public */ ConnectionAliasPermissions?: ConnectionAliasPermission[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public * @enum */ export const ImageAssociatedResourceType = { APPLICATION: "APPLICATION", } as const; /** * @public */ export type ImageAssociatedResourceType = (typeof ImageAssociatedResourceType)[keyof typeof ImageAssociatedResourceType]; /** * @public */ export interface DescribeImageAssociationsRequest { /** * <p>The identifier of the image.</p> * @public */ ImageId: string | undefined; /** * <p>The resource types of the associated resource.</p> * @public */ AssociatedResourceTypes: ImageAssociatedResourceType[] | undefined; } /** * <p>Describes the association between an application and an image resource.</p> * @public */ export interface ImageResourceAssociation { /** * <p>The identifier of the associated resource.</p> * @public */ AssociatedResourceId?: string | undefined; /** * <p>The resource type of the associated resources.</p> * @public */ AssociatedResourceType?: ImageAssociatedResourceType | undefined; /** * <p>The time the association is created.</p> * @public */ Created?: Date | undefined; /** * <p>The time the association status was last updated.</p> * @public */ LastUpdatedTime?: Date | undefined; /** * <p>The identifier of the image.</p> * @public */ ImageId?: string | undefined; /** * <p>The status of the image resource association.</p> * @public */ State?: AssociationState | undefined; /** * <p>The reason the association deployment failed.</p> * @public */ StateReason?: AssociationStateReason | undefined; } /** * @public */ export interface DescribeImageAssociationsResult { /** * <p>List of information about the specified associations.</p> * @public */ Associations?: ImageResourceAssociation[] | undefined; } /** * @public */ export interface DescribeIpGroupsRequest { /** * <p>The identifiers of one or more IP access control groups.</p> * @public */ GroupIds?: string[] | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; /** * <p>The maximum number of items to return.</p> * @public */ MaxResults?: number | undefined; } /** * <p>Describes an IP access control group.</p> * @public */ export interface WorkspacesIpGroup { /** * <p>The identifier of the group.</p> * @public */ groupId?: string | undefined; /** * <p>The name of the group.</p> * @public */ groupName?: string | undefined; /** * <p>The description of the group.</p> * @public */ groupDesc?: string | undefined; /** * <p>The rules.</p> * @public */ userRules?: IpRuleItem[] | undefined; } /** * @public */ export interface DescribeIpGroupsResult { /** * <p>Information about the IP access control groups.</p> * @public */ Result?: WorkspacesIpGroup[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeTagsRequest { /** * <p>The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, * registered directories, images, custom bundles, IP access control groups, and connection * aliases.</p> * @public */ ResourceId: string | undefined; } /** * @public */ export interface DescribeTagsResult { /** * <p>The tags.</p> * @public */ TagList?: Tag[] | undefined; } /** * @public */ export interface DescribeWorkspaceAssociationsRequest { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId: string | undefined; /** * <p>The resource types of the associated resources.</p> * @public */ AssociatedResourceTypes: WorkSpaceAssociatedResourceType[] | undefined; } /** * @public */ export interface DescribeWorkspaceAssociationsResult { /** * <p>List of information about the specified associations.</p> * @public */ Associations?: WorkspaceResourceAssociation[] | undefined; } /** * @public */ export interface DescribeWorkspaceBundlesRequest { /** * <p>The identifiers of the bundles. You cannot combine this parameter with any other filter.</p> * @public */ BundleIds?: string[] | undefined; /** * <p>The owner of the bundles. You cannot combine this parameter with any other filter.</p> * <p>To describe the bundles provided by Amazon Web Services, specify <code>AMAZON</code>. * To describe the bundles that belong to your account, don't specify a value.</p> * @public */ Owner?: string | undefined; /** * <p>The token for the next set of results. (You received this token from a previous call.)</p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeWorkspaceBundlesResult { /** * <p>Information about the bundles.</p> * @public */ Bundles?: WorkspaceBundle[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are no more * results to return. This token is valid for one day and must be used within that time * frame.</p> * @public */ NextToken?: string | undefined; } /** * @public * @enum */ export const DescribeWorkspaceDirectoriesFilterName = { USER_IDENTITY_TYPE: "USER_IDENTITY_TYPE", WORKSPACE_TYPE: "WORKSPACE_TYPE", } as const; /** * @public */ export type DescribeWorkspaceDirectoriesFilterName = (typeof DescribeWorkspaceDirectoriesFilterName)[keyof typeof DescribeWorkspaceDirectoriesFilterName]; /** * <p>Describes the filter conditions for the WorkSpaces to return.</p> * @public */ export interface DescribeWorkspaceDirectoriesFilter { /** * <p>The name of the WorkSpaces to filter.</p> * @public */ Name: DescribeWorkspaceDirectoriesFilterName | undefined; /** * <p>The values for filtering WorkSpaces</p> * @public */ Values: string[] | undefined; } /** * @public */ export interface DescribeWorkspaceDirectoriesRequest { /** * <p>The identifiers of the directories. If the value is null, all directories are * retrieved.</p> * @public */ DirectoryIds?: string[] | undefined; /** * <p>The names of the WorkSpace directories.</p> * @public */ WorkspaceDirectoryNames?: string[] | undefined; /** * <p>The maximum number of directories to return.</p> * @public */ Limit?: number | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; /** * <p>The filter condition for the WorkSpaces.</p> * @public */ Filters?: DescribeWorkspaceDirectoriesFilter[] | undefined; } /** * @public * @enum */ export const WorkspaceDirectoryType = { AD_CONNECTOR: "AD_CONNECTOR", AWS_IAM_IDENTITY_CENTER: "AWS_IAM_IDENTITY_CENTER", CUSTOMER_MANAGED: "CUSTOMER_MANAGED", SIMPLE_AD: "SIMPLE_AD", } as const; /** * @public */ export type WorkspaceDirectoryType = (typeof WorkspaceDirectoryType)[keyof typeof WorkspaceDirectoryType]; /** * @public * @enum */ export const EndpointEncryptionMode = { FIPS_VALIDATED: "FIPS_VALIDATED", STANDARD_TLS: "STANDARD_TLS", } as const; /** * @public */ export type EndpointEncryptionMode = (typeof EndpointEncryptionMode)[keyof typeof EndpointEncryptionMode]; /** * <p>Specifies the configurations of the identity center.</p> * @public */ export interface IDCConfig { /** * <p>The Amazon Resource Name (ARN) of the identity center instance.</p> * @public */ InstanceArn?: string | undefined; /** * <p>The Amazon Resource Name (ARN) of the application.</p> * @public */ ApplicationArn?: string | undefined; } /** * <p>Specifies the configurations of the Microsoft Entra.</p> * @public */ export interface MicrosoftEntraConfig { /** * <p>The identifier of the tenant.</p> * @public */ TenantId?: string | undefined; /** * <p>The Amazon Resource Name (ARN) of the application config.</p> * @public */ ApplicationConfigSecretArn?: string | undefined; } /** * @public * @enum */ export const SamlStatusEnum = { DISABLED: "DISABLED", ENABLED: "ENABLED", ENABLED_WITH_DIRECTORY_LOGIN_FALLBACK: "ENABLED_WITH_DIRECTORY_LOGIN_FALLBACK", } as const; /** * @public */ export type SamlStatusEnum = (typeof SamlStatusEnum)[keyof typeof SamlStatusEnum]; /** * <p>Describes the enablement status, user access URL, and relay state parameter name that * are used for configuring federation with an SAML 2.0 identity provider.</p> * @public */ export interface SamlProperties { /** * <p>Indicates the status of SAML 2.0 authentication. These statuses include the following.</p> * <ul> * <li> * <p>If the setting is <code>DISABLED</code>, end users will be directed to login with their directory credentials.</p> * </li> * <li> * <p>If the setting is <code>ENABLED</code>, end users will be directed to login via the user access URL. Users attempting * to connect to WorkSpaces from a client application that does not support SAML 2.0 authentication will not be able to * connect.</p> * </li> * <li> * <p>If the setting is <code>ENABLED_WITH_DIRECTORY_LOGIN_FALLBACK</code>, end users will be directed to login via the user * access URL on supported client applications, but will not prevent clients that do not support SAML 2.0 authentication * from connecting as if SAML 2.0 authentication was disabled.</p> * </li> * </ul> * @public */ Status?: SamlStatusEnum | undefined; /** * <p>The SAML 2.0 identity provider (IdP) user access URL is the URL a user would navigate to in their web browser in * order to federate from the IdP and directly access the application, without any SAML 2.0 service provider (SP) * bindings.</p> * @public */ UserAccessUrl?: string | undefined; /** * <p>The relay state parameter name supported by the SAML 2.0 identity provider (IdP). When the end user is redirected to * the user access URL from the WorkSpaces client application, this relay state parameter name is appended as a query * parameter to the URL along with the relay state endpoint to return the user to the client application session.</p> * <p>To use SAML 2.0 authentication with WorkSpaces, the IdP must support IdP-initiated deep linking for the relay state * URL. Consult your IdP documentation for more information.</p> * @public */ RelayStateParameterName?: string | undefined; } /** * <p>Describes the self-service permissions for a directory. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/enable-user-self-service-workspace-management.html">Enable Self-Service WorkSpace Management Capabilities for Your Users</a>.</p> * @public */ export interface SelfservicePermissions { /** * <p>Specifies whether users can restart their WorkSpace.</p> * @public */ RestartWorkspace?: ReconnectEnum | undefined; /** * <p>Specifies whether users can increase the volume size of the drives on their * WorkSpace.</p> * @public */ IncreaseVolumeSize?: ReconnectEnum | undefined; /** * <p>Specifies whether users can change the compute type (bundle) for their WorkSpace.</p> * @public */ ChangeComputeType?: ReconnectEnum | undefined; /** * <p>Specifies whether users can switch the running mode of their WorkSpace.</p> * @public */ SwitchRunningMode?: ReconnectEnum | undefined; /** * <p>Specifies whether users can rebuild the operating system of a WorkSpace to its original * state.</p> * @public */ RebuildWorkspace?: ReconnectEnum | undefined; } /** * @public * @enum */ export const WorkspaceDirectoryState = { DEREGISTERED: "DEREGISTERED", DEREGISTERING: "DEREGISTERING", ERROR: "ERROR", REGISTERED: "REGISTERED", REGISTERING: "REGISTERING", } as const; /** * @public */ export type WorkspaceDirectoryState = (typeof WorkspaceDirectoryState)[keyof typeof WorkspaceDirectoryState]; /** * <p>Describes the Global Accelerator for directory</p> * @public */ export interface GlobalAcceleratorForDirectory { /** * <p>Indicates if Global Accelerator for directory is enabled or disabled.</p> * @public */ Mode: AGAModeForDirectoryEnum | undefined; /** * <p>Indicates the preferred protocol for Global Accelerator.</p> * @public */ PreferredProtocol?: AGAPreferredProtocolForDirectory | undefined; } /** * @public * @enum */ export const StorageConnectorTypeEnum = { HOME_FOLDER: "HOME_FOLDER", } as const; /** * @public */ export type StorageConnectorTypeEnum = (typeof StorageConnectorTypeEnum)[keyof typeof StorageConnectorTypeEnum]; /** * @public * @enum */ export const StorageConnectorStatusEnum = { DISABLED: "DISABLED", ENABLED: "ENABLED", } as const; /** * @public */ export type StorageConnectorStatusEnum = (typeof StorageConnectorStatusEnum)[keyof typeof StorageConnectorStatusEnum]; /** * <p>Describes the storage connector.</p> * @public */ export interface StorageConnector { /** * <p>The type of connector used to save user files.</p> * @public */ ConnectorType: StorageConnectorTypeEnum | undefined; /** * <p>Indicates if the storage connetor is enabled or disabled.</p> * @public */ Status: StorageConnectorStatusEnum | undefined; } /** * @public * @enum */ export const StreamingExperiencePreferredProtocolEnum = { TCP: "TCP", UDP: "UDP", } as const; /** * @public */ export type StreamingExperiencePreferredProtocolEnum = (typeof StreamingExperiencePreferredProtocolEnum)[keyof typeof StreamingExperiencePreferredProtocolEnum]; /** * @public * @enum */ export const UserSettingActionEnum = { CLIPBOARD_COPY_FROM_LOCAL_DEVICE: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", CLIPBOARD_COPY_TO_LOCAL_DEVICE: "CLIPBOARD_COPY_TO_LOCAL_DEVICE", PRINTING_TO_LOCAL_DEVICE: "PRINTING_TO_LOCAL_DEVICE", SMART_CARD: "SMART_CARD", } as const; /** * @public */ export type UserSettingActionEnum = (typeof UserSettingActionEnum)[keyof typeof UserSettingActionEnum]; /** * @public * @enum */ export const UserSettingPermissionEnum = { DISABLED: "DISABLED", ENABLED: "ENABLED", } as const; /** * @public */ export type UserSettingPermissionEnum = (typeof UserSettingPermissionEnum)[keyof typeof UserSettingPermissionEnum]; /** * <p>Information about the user's permission settings.</p> * @public */ export interface UserSetting { /** * <p>Indicates the type of action.</p> * @public */ Action: UserSettingActionEnum | undefined; /** * <p>Indicates if the setting is enabled or disabled.</p> * @public */ Permission: UserSettingPermissionEnum | undefined; /** * <p>Indicates the maximum character length for the specified user setting.</p> * @public */ MaximumLength?: number | undefined; } /** * <p>Describes the streaming properties.</p> * @public */ export interface StreamingProperties { /** * <p>Indicates the type of preferred protocol for the streaming experience.</p> * @public */ StreamingExperiencePreferredProtocol?: StreamingExperiencePreferredProtocolEnum | undefined; /** * <p>Indicates the permission settings asscoiated with the user.</p> * @public */ UserSettings?: UserSetting[] | undefined; /** * <p>Indicates the storage connector used </p> * @public */ StorageConnectors?: StorageConnector[] | undefined; /** * <p>Indicates the Global Accelerator properties.</p> * @public */ GlobalAccelerator?: GlobalAcceleratorForDirectory | undefined; } /** * @public * @enum */ export const Tenancy = { DEDICATED: "DEDICATED", SHARED: "SHARED", } as const; /** * @public */ export type Tenancy = (typeof Tenancy)[keyof typeof Tenancy]; /** * @public * @enum */ export const UserIdentityType = { AWS_DIRECTORY_SERVICE: "AWS_DIRECTORY_SERVICE", AWS_IAM_IDENTITY_CENTER: "AWS_IAM_IDENTITY_CENTER", CUSTOMER_MANAGED: "CUSTOMER_MANAGED", } as const; /** * @public */ export type UserIdentityType = (typeof UserIdentityType)[keyof typeof UserIdentityType]; /** * <p>The device types and operating systems that can be used to access a WorkSpace. For more * information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-network-requirements.html">Amazon * WorkSpaces Client Network Requirements</a>.</p> * @public */ export interface WorkspaceAccessProperties { /** * <p>Indicates whether users can use Windows clients to access their WorkSpaces.</p> * @public */ DeviceTypeWindows?: AccessPropertyValue | undefined; /** * <p>Indicates whether users can use macOS clients to access their WorkSpaces.</p> * @public */ DeviceTypeOsx?: AccessPropertyValue | undefined; /** * <p>Indicates whether users can access their WorkSpaces through a web browser.</p> * @public */ DeviceTypeWeb?: AccessPropertyValue | undefined; /** * <p>Indicates whether users can use iOS devices to access their WorkSpaces.</p> * @public */ DeviceTypeIos?: AccessPropertyValue | undefined; /** * <p>Indicates whether users can use Android and Android-compatible Chrome OS devices to * access their WorkSpaces.</p> * @public */ DeviceTypeAndroid?: AccessPropertyValue | undefined; /** * <p>Indicates whether users can use Chromebooks to access their WorkSpaces.</p> * @public */ DeviceTypeChromeOs?: AccessPropertyValue | undefined; /** * <p>Indicates whether users can use zero client devices to access their WorkSpaces.</p> * @public */ DeviceTypeZeroClient?: AccessPropertyValue | undefined; /** * <p>Indicates whether users can use Linux clients to access their WorkSpaces.</p> * @public */ DeviceTypeLinux?: AccessPropertyValue | undefined; /** * <p>Indicates whether users can access their WorkSpaces through a WorkSpaces Thin Client.</p> * @public */ DeviceTypeWorkSpacesThinClient?: AccessPropertyValue | undefined; } /** * @public * @enum */ export const WorkspaceType = { PERSONAL: "PERSONAL", POOLS: "POOLS", } as const; /** * @public */ export type WorkspaceType = (typeof WorkspaceType)[keyof typeof WorkspaceType]; /** * <p>Describes a directory that is used with Amazon WorkSpaces.</p> * @public */ export interface WorkspaceDirectory { /** * <p>The directory identifier.</p> * @public */ DirectoryId?: string | undefined; /** * <p>The directory alias.</p> * @public */ Alias?: string | undefined; /** * <p>The name of the directory.</p> * @public */ DirectoryName?: string | undefined; /** * <p>The registration code for the directory. This is the code that users enter in their * Amazon WorkSpaces client application to connect to the directory.</p> * @public */ RegistrationCode?: string | undefined; /** * <p>The identifiers of the subnets used with the directory.</p> * @public */ SubnetIds?: string[] | undefined; /** * <p>The IP addresses of the DNS servers for the directory.</p> * @public */ DnsIpAddresses?: string[] | undefined; /** * <p>The user name for the service account.</p> * @public */ CustomerUserName?: string | undefined; /** * <p>The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make * calls to other services, such as Amazon EC2, on your behalf.</p> * @public */ IamRoleId?: string | undefined; /** * <p>The directory type.</p> * @public */ DirectoryType?: WorkspaceDirectoryType | undefined; /** * <p>The identifier of the security group that is assigned to new WorkSpaces.</p> * @public */ WorkspaceSecurityGroupId?: string | undefined; /** * <p>The state of the directory's registration with Amazon WorkSpaces. After a directory is * deregistered, the <code>DEREGISTERED</code> state is returned very briefly before the * directory metadata is cleaned up, so this state is rarely returned. To confirm that a * directory is deregistered, check for the directory ID by using <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceDirectories.html"> * DescribeWorkspaceDirectories</a>. If the directory ID isn't returned, then the * directory has been successfully deregistered.</p> * @public */ State?: WorkspaceDirectoryState | undefined; /** * <p>The default creation properties for all WorkSpaces in the directory.</p> * @public */ WorkspaceCreationProperties?: DefaultWorkspaceCreationProperties | undefined; /** * <p>The identifiers of the IP access control groups associated with the directory.</p> * @public */ ipGroupIds?: string[] | undefined; /** * <p>The devices and operating systems that users can use to access WorkSpaces.</p> * @public */ WorkspaceAccessProperties?: WorkspaceAccessProperties | undefined; /** * <p>Specifies whether the directory is dedicated or shared. To use Bring Your Own License * (BYOL), this value must be set to <code>DEDICATED</code>. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html">Bring * Your Own Windows Desktop Images</a>.</p> * @public */ Tenancy?: Tenancy | undefined; /** * <p>The default self-service permissions for WorkSpaces in the directory.</p> * @public */ SelfservicePermissions?: SelfservicePermissions | undefined; /** * <p>Describes the enablement status, user access URL, and relay state parameter name that are used for configuring * federation with an SAML 2.0 identity provider.</p> * @public */ SamlProperties?: SamlProperties | undefined; /** * <p>The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) * user identities to Active Directory for WorkSpaces login.</p> * @public */ CertificateBasedAuthProperties?: CertificateBasedAuthProperties | undefined; /** * <p>Endpoint encryption mode that allows you to configure the specified directory between * Standard TLS and FIPS 140-2 validated mode.</p> * @public */ EndpointEncryptionMode?: EndpointEncryptionMode | undefined; /** * <p>Specifies details about Microsoft Entra configurations.</p> * @public */ MicrosoftEntraConfig?: MicrosoftEntraConfig | undefined; /** * <p>The name fo the WorkSpace directory.</p> * @public */ WorkspaceDirectoryName?: string | undefined; /** * <p>The description of the WorkSpace directory</p> * @public */ WorkspaceDirectoryDescription?: string | undefined; /** * <p>Indicates the identity type of the specifired user.</p> * @public */ UserIdentityType?: UserIdentityType | undefined; /** * <p>Indicates whether the directory's WorkSpace type is personal or pools.</p> * @public */ WorkspaceType?: WorkspaceType | undefined; /** * <p>Specifies details about identity center configurations.</p> * @public */ IDCConfig?: IDCConfig | undefined; /** * <p>Information about the Active Directory config.</p> * @public */ ActiveDirectoryConfig?: ActiveDirectoryConfig | undefined; /** * <p>The streaming properties to configure.</p> * @public */ StreamingProperties?: StreamingProperties | undefined; /** * <p>The error message returned.</p> * @public */ ErrorMessage?: string | undefined; } /** * @public */ export interface DescribeWorkspaceDirectoriesResult { /** * <p>Information about the directories.</p> * @public */ Directories?: WorkspaceDirectory[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeWorkspaceImagePermissionsRequest { /** * <p>The identifier of the image.</p> * @public */ ImageId: string | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; /** * <p>The maximum number of items to return.</p> * @public */ MaxResults?: number | undefined; } /** * <p>Describes the Amazon Web Services accounts that have been granted permission to use a * shared image. For more information about sharing images, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/share-custom-image.html"> Share or Unshare a Custom * WorkSpaces Image</a>.</p> * @public */ export interface ImagePermission { /** * <p>The identifier of the Amazon Web Services account that an image has been shared * with.</p> * @public */ SharedAccountId?: string | undefined; } /** * @public */ export interface DescribeWorkspaceImagePermissionsResult { /** * <p>The identifier of the image.</p> * @public */ ImageId?: string | undefined; /** * <p>The identifiers of the Amazon Web Services accounts that the image has been shared * with.</p> * @public */ ImagePermissions?: ImagePermission[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public * @enum */ export const ImageType = { OWNED: "OWNED", SHARED: "SHARED", } as const; /** * @public */ export type ImageType = (typeof ImageType)[keyof typeof ImageType]; /** * @public */ export interface DescribeWorkspaceImagesRequest { /** * <p>The identifier of the image.</p> * @public */ ImageIds?: string[] | undefined; /** * <p>The type (owned or shared) of the image.</p> * @public */ ImageType?: ImageType | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; /** * <p>The maximum number of items to return.</p> * @public */ MaxResults?: number | undefined; } /** * @public * @enum */ export const WorkspaceImageErrorDetailCode = { ADDITIONAL_DRIVES_ATTACHED: "AdditionalDrivesAttached", ADDITIONAL_DRIVES_PRESENT: "AdditionalDrivesPresent", AMAZON_SSM_AGENT_ENABLED: "AmazonSsmAgentEnabled", ANTI_VIRUS_INSTALLED: "AntiVirusInstalled", APPX_PACKAGES_INSTALLED: "AppXPackagesInstalled", AUTO_LOGON_ENABLED: "AutoLogonEnabled", AUTO_MOUNT_DISABLED: "AutoMountDisabled", AZURE_DOMAIN_JOINED: "AzureDomainJoined", DHCP_DISABLED: "DHCPDisabled", DISK_FREE_SPACE: "DiskFreeSpace", DISK_SIZE_EXCEEDED: "DiskSizeExceeded", DOMAIN_ACCOUNT_SERVICES_FOUND: "DomainAccountServicesFound", DOMAIN_JOINED: "DomainJoined", ENVIRONMENT_VARIABLES_PATH_MISSING_ENTRIES: "EnvironmentVariablesPathMissingEntries", FIREWALL_ENABLED: "FirewallEnabled", INCOMPATIBLE_PARTITIONING: "IncompatiblePartitioning", INSUFFICIENT_DISK_SPACE: "InsufficientDiskSpace", INSUFFICIENT_REARM_COUNT: "InsufficientRearmCount", INVALID_IP: "InvalidIp", IN_PLACE_UPGRADE: "InPlaceUpgrade", MULTIPLE_BOOT_PARTITION: "MultipleBootPartition", MULTIPLE_USER_PROFILES: "MultipleUserProfiles", OFFICE_INSTALLED: "OfficeInstalled", OS_NOT_SUPPORTED: "OSNotSupported", OUTDATED_POWERSHELL_VERSION: "OutdatedPowershellVersion", PCOIP_AGENT_INSTALLED: "PCoIPAgentInstalled", PENDING_REBOOT: "PendingReboot", REALTIME_UNIVERSAL_DISABLED: "RealTimeUniversalDisabled", REMOTE_DESKTOP_SERVICES_DISABLED: "RemoteDesktopServicesDisabled", RESERVED_STORAGE_IN_USE: "ReservedStorageInUse", SIXTY_FOUR_BIT_OS: "Requires64BitOS", STAGED_APPX_PACKAGE: "StagedAppxPackage", SYSPREP_FILE_MISSING: "SysPrepFileMissing", UEFI_NOT_SUPPORTED: "UEFINotSupported", UNKNOWN_ERROR: "UnknownError", UNSUPPORTED_OS_UPGRADE: "UnsupportedOsUpgrade", UNSUPPORTED_SECURITY_PROTOCOL: "UnsupportedSecurityProtocol", USER_PROFILE_MISSING: "UserProfileMissing", VMWARE_TOOLS_INSTALLED: "VMWareToolsInstalled", WINDOWS_MODULES_INSTALLER_DISABLED: "WindowsModulesInstallerDisabled", WINDOWS_UPDATES_ENABLED: "WindowsUpdatesEnabled", WINDOWS_UPDATES_REQUIRED: "WindowsUpdatesRequired", WORKSPACES_BYOL_ACCOUNT_DISABLED: "WorkspacesBYOLAccountDisabled", WORKSPACES_BYOL_ACCOUNT_NOT_FOUND: "WorkspacesBYOLAccountNotFound", ZERO_REARM_COUNT: "ZeroRearmCount", } as const; /** * @public */ export type WorkspaceImageErrorDetailCode = (typeof WorkspaceImageErrorDetailCode)[keyof typeof WorkspaceImageErrorDetailCode]; /** * <p>Describes in-depth details about the error. These details include the * possible causes of the error and troubleshooting information.</p> * @public */ export interface ErrorDetails { /** * <p>Indicates the error code returned.</p> * @public */ ErrorCode?: WorkspaceImageErrorDetailCode | undefined; /** * <p>The text of the error message related the error code.</p> * @public */ ErrorMessage?: string | undefined; } /** * <p>Describes whether a WorkSpace image needs to be updated with the latest drivers and * other components required by Amazon WorkSpaces.</p> * <note> * <p>Only Windows 10 WorkSpace images can be programmatically updated at this time.</p> * </note> * @public */ export interface UpdateResult { /** * <p>Indicates whether updated drivers or other components are available for the specified * WorkSpace image.</p> * @public */ UpdateAvailable?: boolean | undefined; /** * <p>A description of whether updates for the WorkSpace image are pending or * available.</p> * @public */ Description?: string | undefined; } /** * <p>Describes a WorkSpace image.</p> * @public */ export interface WorkspaceImage { /** * <p>The identifier of the image.</p> * @public */ ImageId?: string | undefined; /** * <p>The name of the image.</p> * @public */ Name?: string | undefined; /** * <p>The description of the image.</p> * @public */ Description?: string | undefined; /** * <p>The operating system that the image is running. </p> * @public */ OperatingSystem?: OperatingSystem | undefined; /** * <p>The status of the image.</p> * @public */ State?: WorkspaceImageState | undefined; /** * <p>Specifies whether the image is running on dedicated hardware. When Bring Your Own * License (BYOL) is enabled, this value is set to <code>DEDICATED</code>. For more * information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html">Bring Your Own Windows * Desktop Images</a>.</p> * @public */ RequiredTenancy?: WorkspaceImageRequiredTenancy | undefined; /** * <p>The error code that is returned for the image.</p> * @public */ ErrorCode?: string | undefined; /** * <p>The text of the error message that is returned for the image.</p> * @public */ ErrorMessage?: string | undefined; /** * <p>The date when the image was created. If the image has been shared, the Amazon Web Services account that the image has been shared with sees the original creation date * of the image.</p> * @public */ Created?: Date | undefined; /** * <p>The identifier of the Amazon Web Services account that owns the image.</p> * @public */ OwnerAccountId?: string | undefined; /** * <p>The updates (if any) that are available for the specified image.</p> * @public */ Updates?: UpdateResult | undefined; /** * <p>Additional details of the error returned for the image, including the * possible causes of the errors and troubleshooting information.</p> * @public */ ErrorDetails?: ErrorDetails[] | undefined; } /** * @public */ export interface DescribeWorkspaceImagesResult { /** * <p>Information about the images.</p> * @public */ Images?: WorkspaceImage[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeWorkspacesRequest { /** * <p>The identifiers of the WorkSpaces. You cannot combine this parameter with any other * filter.</p> * <p>Because the <a>CreateWorkspaces</a> operation is asynchronous, the identifier * it returns is not immediately available. If you immediately call <a>DescribeWorkspaces</a> with this identifier, no information is returned.</p> * @public */ WorkspaceIds?: string[] | undefined; /** * <p>The identifier of the directory. In addition, you can optionally specify a specific * directory user (see <code>UserName</code>). You cannot combine this parameter with any * other filter.</p> * @public */ DirectoryId?: string | undefined; /** * <p>The name of the directory user. You must specify this parameter with * <code>DirectoryId</code>.</p> * @public */ UserName?: string | undefined; /** * <p>The identifier of the bundle. All WorkSpaces that are created from this bundle are * retrieved. You cannot combine this parameter with any other filter.</p> * @public */ BundleId?: string | undefined; /** * <p>The maximum number of items to return.</p> * @public */ Limit?: number | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; /** * <p>The name of the user-decoupled WorkSpace.</p> * @public */ WorkspaceName?: string | undefined; } /** * @public */ export interface DescribeWorkspacesResult { /** * <p>Information about the WorkSpaces.</p> * <p>Because <a>CreateWorkspaces</a> is an asynchronous operation, some of the * returned information could be incomplete.</p> * @public */ Workspaces?: Workspace[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeWorkspacesConnectionStatusRequest { /** * <p>The identifiers of the WorkSpaces. You can specify up to 25 WorkSpaces.</p> * @public */ WorkspaceIds?: string[] | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * <p>Describes the connection status of a WorkSpace.</p> * @public */ export interface WorkspaceConnectionStatus { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId?: string | undefined; /** * <p>The connection state of the WorkSpace. The connection state is unknown if the WorkSpace * is stopped.</p> * @public */ ConnectionState?: ConnectionState | undefined; /** * <p>The timestamp of the connection status check.</p> * @public */ ConnectionStateCheckTimestamp?: Date | undefined; /** * <p>The timestamp of the last known user connection.</p> * @public */ LastKnownUserConnectionTimestamp?: Date | undefined; } /** * @public */ export interface DescribeWorkspacesConnectionStatusResult { /** * <p>Information about the connection status of the WorkSpace.</p> * @public */ WorkspacesConnectionStatus?: WorkspaceConnectionStatus[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeWorkspaceSnapshotsRequest { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId: string | undefined; } /** * <p>Describes a snapshot.</p> * @public */ export interface Snapshot { /** * <p>The time when the snapshot was created.</p> * @public */ SnapshotTime?: Date | undefined; } /** * @public */ export interface DescribeWorkspaceSnapshotsResult { /** * <p>Information about the snapshots that can be used to rebuild a WorkSpace. These snapshots * include the user volume.</p> * @public */ RebuildSnapshots?: Snapshot[] | undefined; /** * <p>Information about the snapshots that can be used to restore a WorkSpace. These snapshots * include both the root volume and the user volume.</p> * @public */ RestoreSnapshots?: Snapshot[] | undefined; } /** * @public * @enum */ export const DescribeWorkspacesPoolsFilterName = { POOLNAME: "PoolName", } as const; /** * @public */ export type DescribeWorkspacesPoolsFilterName = (typeof DescribeWorkspacesPoolsFilterName)[keyof typeof DescribeWorkspacesPoolsFilterName]; /** * @public * @enum */ export const DescribeWorkspacesPoolsFilterOperator = { CONTAINS: "CONTAINS", EQUALS: "EQUALS", NOTCONTAINS: "NOTCONTAINS", NOTEQUALS: "NOTEQUALS", } as const; /** * @public */ export type DescribeWorkspacesPoolsFilterOperator = (typeof DescribeWorkspacesPoolsFilterOperator)[keyof typeof DescribeWorkspacesPoolsFilterOperator]; /** * <p>Describes the filter conditions for WorkSpaces Pools to return.</p> * @public */ export interface DescribeWorkspacesPoolsFilter { /** * <p>The name of the pool to filter.</p> * @public */ Name: DescribeWorkspacesPoolsFilterName | undefined; /** * <p>The values for filtering WorkSpaces Pools.</p> * @public */ Values: string[] | undefined; /** * <p>The operator values for filtering WorkSpaces Pools.</p> * @public */ Operator: DescribeWorkspacesPoolsFilterOperator | undefined; } /** * @public */ export interface DescribeWorkspacesPoolsRequest { /** * <p>The identifier of the WorkSpaces Pools.</p> * @public */ PoolIds?: string[] | undefined; /** * <p>The filter conditions for the WorkSpaces Pool to return.</p> * @public */ Filters?: DescribeWorkspacesPoolsFilter[] | undefined; /** * <p>The maximum number of items to return.</p> * @public */ Limit?: number | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeWorkspacesPoolsResult { /** * <p>Information about the WorkSpaces Pools.</p> * @public */ WorkspacesPools?: WorkspacesPool[] | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DescribeWorkspacesPoolSessionsRequest { /** * <p>The identifier of the pool.</p> * @public */ PoolId: string | undefined; /** * <p>The identifier of the user.</p> * @public */ UserId?: string | undefined; /** * <p>The maximum size of each page of results. The default value is 20 and the maximum value * is 50.</p> * @public */ Limit?: number | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * @public * @enum */ export const SessionConnectionState = { CONNECTED: "CONNECTED", NOT_CONNECTED: "NOT_CONNECTED", } as const; /** * @public */ export type SessionConnectionState = (typeof SessionConnectionState)[keyof typeof SessionConnectionState]; /** * <p>Describes the network details of a WorkSpaces Pool.</p> * @public */ export interface NetworkAccessConfiguration { /** * <p>The private IP address of the elastic network interface that is attached to instances in your VPC.</p> * @public */ EniPrivateIpAddress?: string | undefined; /** * <p>The resource identifier of the elastic network interface that is attached to instances in your * VPC. All network interfaces have the eni-xxxxxxxx resource identifier.</p> * @public */ EniId?: string | undefined; } /** * <p>Describes a pool session.</p> * @public */ export interface WorkspacesPoolSession { /** * <p>The authentication method. The user is authenticated using a * WorkSpaces Pools URL (API) or SAML 2.0 federation (SAML).</p> * @public */ AuthenticationType?: AuthenticationType | undefined; /** * <p>Specifies whether a user is connected to the pool session.</p> * @public */ ConnectionState?: SessionConnectionState | undefined; /** * <p>The identifier of the session.</p> * @public */ SessionId: string | undefined; /** * <p>The identifier for the instance hosting the session.</p> * @public */ InstanceId?: string | undefined; /** * <p>The identifier of the pool.</p> * @public */ PoolId: string | undefined; /** * <p>The time that the pool session ended.</p> * @public */ ExpirationTime?: Date | undefined; /** * <p>Describes the network details of the pool.</p> * @public */ NetworkAccessConfiguration?: NetworkAccessConfiguration | undefined; /** * <p>The time that the pool sission started.</p> * @public */ StartTime?: Date | undefined; /** * <p>The identifier of the user.</p> * @public */ UserId: string | undefined; } /** * @public */ export interface DescribeWorkspacesPoolSessionsResult { /** * <p>Describes the pool sessions.</p> * @public */ Sessions?: WorkspacesPoolSession[] | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface DisassociateConnectionAliasRequest { /** * <p>The identifier of the connection alias to disassociate.</p> * @public */ AliasId: string | undefined; } /** * @public */ export interface DisassociateConnectionAliasResult {} /** * @public */ export interface DisassociateIpGroupsRequest { /** * <p>The identifier of the directory.</p> * @public */ DirectoryId: string | undefined; /** * <p>The identifiers of one or more IP access control groups.</p> * @public */ GroupIds: string[] | undefined; } /** * @public */ export interface DisassociateIpGroupsResult {} /** * @public */ export interface DisassociateWorkspaceApplicationRequest { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId: string | undefined; /** * <p>The identifier of the application.</p> * @public */ ApplicationId: string | undefined; } /** * @public */ export interface DisassociateWorkspaceApplicationResult { /** * <p>Information about the targeted association.</p> * @public */ Association?: WorkspaceResourceAssociation | undefined; } /** * <p>Describes a WorkSpace that could not be rebooted. (<a>RebootWorkspaces</a>), * rebuilt (<a>RebuildWorkspaces</a>), restored (<a>RestoreWorkspace</a>), terminated (<a>TerminateWorkspaces</a>), started (<a>StartWorkspaces</a>), or stopped (<a>StopWorkspaces</a>).</p> * @public */ export interface FailedWorkspaceChangeRequest { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId?: string | undefined; /** * <p>The error code that is returned if the WorkSpace cannot be rebooted.</p> * @public */ ErrorCode?: string | undefined; /** * <p>The text of the error message that is returned if the WorkSpace cannot be * rebooted.</p> * @public */ ErrorMessage?: string | undefined; } /** * @public */ export interface GetAccountLinkRequest { /** * <p>The identifier of the account to link.</p> * @public */ LinkId?: string | undefined; /** * <p>The identifier of the account link</p> * @public */ LinkedAccountId?: string | undefined; } /** * @public */ export interface GetAccountLinkResult { /** * <p>The account link of the account link to retrieve.</p> * @public */ AccountLink?: AccountLink | undefined; } /** * <p>The client branding attributes to import for iOS device types. These attributes are * displayed on the iOS client login screen.</p> * <important> * <p>Client branding attributes are public facing. Ensure you do not include sensitive * information.</p> * </important> * @public */ export interface IosImportClientBrandingAttributes { /** * <p>The logo. This is the * standard-resolution display that has a 1:1 pixel density (or @1x), where one pixel is equal * to one point. The only image format accepted is a binary data object that is converted * from a <code>.png</code> file.</p> * @public */ Logo?: Uint8Array | undefined; /** * <p>The @2x version of the logo. This is the higher resolution display that offers a scale * factor of 2.0 (or @2x). The only image format accepted is a binary data object that is * converted from a <code>.png</code> file.</p> * <note> * <p> For more information about iOS image size and resolution, see <a href="https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/">Image Size and Resolution </a> in the <i>Apple Human Interface * Guidelines</i>.</p> * </note> * @public */ Logo2x?: Uint8Array | undefined; /** * <p>The @3x version of the logo. This is the higher resolution display that offers a scale * factor of 3.0 (or @3x). The only image format accepted is a binary data object that is * converted from a <code>.png</code> file.</p> * <note> * <p> For more information about iOS image size and resolution, see <a href="https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/">Image Size and Resolution </a> in the <i>Apple Human Interface * Guidelines</i>.</p> * </note> * @public */ Logo3x?: Uint8Array | undefined; /** * <p>The support email. The company's customer support email address.</p> * <note> * <ul> * <li> * <p>In each platform type, the <code>SupportEmail</code> and * <code>SupportLink</code> parameters are mutually exclusive. You can specify one * parameter for each platform type, but not both.</p> * </li> * <li> * <p>The default email is <code>workspaces-feedback@amazon.com</code>.</p> * </li> * </ul> * </note> * @public */ SupportEmail?: string | undefined; /** * <p>The support link. The link for the company's customer support page for their * WorkSpace.</p> * <note> * <ul> * <li> * <p>In each platform type, the <code>SupportEmail</code> and * <code>SupportLink</code> parameters are mutually exclusive. You can specify one * parameter for each platform type, but not both.</p> * </li> * <li> * <p>The default support link is <code>workspaces-feedback@amazon.com</code>.</p> * </li> * </ul> * </note> * @public */ SupportLink?: string | undefined; /** * <p>The forgotten password link. This is the web address that users can go to if they forget * the password for their WorkSpace.</p> * @public */ ForgotPasswordLink?: string | undefined; /** * <p>The login message. Specified as a key value pair, in which the key is a locale and the * value is the localized message for that locale. The only key supported is * <code>en_US</code>. The HTML tags supported include the following: <code>a, b, blockquote, br, cite, code, dd, dl, dt, div, em, * i, li, ol, p, pre, q, small, span, strike, strong, sub, sup, u, ul</code>.</p> * @public */ LoginMessage?: Record<string, string> | undefined; } /** * @public */ export interface ImportClientBrandingRequest { /** * <p>The directory identifier of the WorkSpace for which you want to import client * branding.</p> * @public */ ResourceId: string | undefined; /** * <p>The branding information to import for Windows devices.</p> * @public */ DeviceTypeWindows?: DefaultImportClientBrandingAttributes | undefined; /** * <p>The branding information to import for macOS devices.</p> * @public */ DeviceTypeOsx?: DefaultImportClientBrandingAttributes | undefined; /** * <p>The branding information to import for Android devices.</p> * @public */ DeviceTypeAndroid?: DefaultImportClientBrandingAttributes | undefined; /** * <p>The branding information to import for iOS devices.</p> * @public */ DeviceTypeIos?: IosImportClientBrandingAttributes | undefined; /** * <p>The branding information to import for Linux devices.</p> * @public */ DeviceTypeLinux?: DefaultImportClientBrandingAttributes | undefined; /** * <p>The branding information to import for web access.</p> * @public */ DeviceTypeWeb?: DefaultImportClientBrandingAttributes | undefined; } /** * @public */ export interface ImportClientBrandingResult { /** * <p>The branding information configured for Windows devices.</p> * @public */ DeviceTypeWindows?: DefaultClientBrandingAttributes | undefined; /** * <p>The branding information configured for macOS devices.</p> * @public */ DeviceTypeOsx?: DefaultClientBrandingAttributes | undefined; /** * <p>The branding information configured for Android devices.</p> * @public */ DeviceTypeAndroid?: DefaultClientBrandingAttributes | undefined; /** * <p>The branding information configured for iOS devices.</p> * @public */ DeviceTypeIos?: IosClientBrandingAttributes | undefined; /** * <p>The branding information configured for Linux devices.</p> * @public */ DeviceTypeLinux?: DefaultClientBrandingAttributes | undefined; /** * <p>The branding information configured for web access.</p> * @public */ DeviceTypeWeb?: DefaultClientBrandingAttributes | undefined; } /** * @public * @enum */ export const WorkspaceImageIngestionProcess = { BYOL_GRAPHICS: "BYOL_GRAPHICS", BYOL_GRAPHICSPRO: "BYOL_GRAPHICSPRO", BYOL_GRAPHICS_G4DN: "BYOL_GRAPHICS_G4DN", BYOL_GRAPHICS_G4DN_BYOP: "BYOL_GRAPHICS_G4DN_BYOP", BYOL_GRAPHICS_G4DN_WSP: "BYOL_GRAPHICS_G4DN_WSP", BYOL_REGULAR: "BYOL_REGULAR", BYOL_REGULAR_BYOP: "BYOL_REGULAR_BYOP", BYOL_REGULAR_WSP: "BYOL_REGULAR_WSP", } as const; /** * @public */ export type WorkspaceImageIngestionProcess = (typeof WorkspaceImageIngestionProcess)[keyof typeof WorkspaceImageIngestionProcess]; /** * @public */ export interface ImportWorkspaceImageRequest { /** * <p>The identifier of the EC2 image.</p> * @public */ Ec2ImageId: string | undefined; /** * <p>The ingestion process to be used when importing the image, depending on which protocol * you want to use for your BYOL Workspace image, either PCoIP, WSP, or * bring your own protocol (BYOP). To use DCV, specify a value that ends in * <code>_WSP</code>. To use PCoIP, specify a value that does not end in <code>_WSP</code>. * To use BYOP, specify a value that ends in <code>_BYOP</code>.</p> * <p>For non-GPU-enabled bundles (bundles other than Graphics or GraphicsPro), specify * <code>BYOL_REGULAR</code>, <code>BYOL_REGULAR_WSP</code>, or <code>BYOL_REGULAR_BYOP</code>, * depending on the protocol.</p> * <note> * <p>The <code>BYOL_REGULAR_BYOP</code> and <code>BYOL_GRAPHICS_G4DN_BYOP</code> values * are only supported by Amazon WorkSpaces Core. Contact your account team to be * allow-listed to use these values. For more information, see <a href="http://aws.amazon.com/workspaces/core/">Amazon WorkSpaces Core</a>.</p> * </note> * @public */ IngestionProcess: WorkspaceImageIngestionProcess | undefined; /** * <p>The name of the WorkSpace image.</p> * @public */ ImageName: string | undefined; /** * <p>The description of the WorkSpace image.</p> * @public */ ImageDescription: string | undefined; /** * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> * @public */ Tags?: Tag[] | undefined; /** * <p>If specified, the version of Microsoft Office to subscribe to. Valid only for Windows 10 and 11 * BYOL images. For more information about subscribing to Office for BYOL images, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html"> Bring * Your Own Windows Desktop Licenses</a>.</p> * <note> * <ul> * <li> * <p>Although this parameter is an array, only one item is allowed at this * time.</p> * </li> * <li> * <p>During the image import process, non-GPU DCV (formerly WSP) WorkSpaces with Windows 11 support * only <code>Microsoft_Office_2019</code>. GPU DCV (formerly WSP) WorkSpaces with Windows 11 do not * support Office installation.</p> * </li> * </ul> * </note> * @public */ Applications?: Application[] | undefined; } /** * @public */ export interface ImportWorkspaceImageResult { /** * <p>The identifier of the WorkSpace image.</p> * @public */ ImageId?: string | undefined; } /** * @public */ export interface ListAccountLinksRequest { /** * <p>Filters the account based on their link status.</p> * @public */ LinkStatusFilter?: AccountLinkStatusEnum[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p> * @public */ NextToken?: string | undefined; /** * <p>The maximum number of accounts to return.</p> * @public */ MaxResults?: number | undefined; } /** * @public */ export interface ListAccountLinksResult { /** * <p>Information about the account links.</p> * @public */ AccountLinks?: AccountLink[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface ListAvailableManagementCidrRangesRequest { /** * <p>The IP address range to search. Specify an IP address range that is compatible with your * network and in CIDR notation (that is, specify the range as an IPv4 CIDR block).</p> * @public */ ManagementCidrRangeConstraint: string | undefined; /** * <p>The maximum number of items to return.</p> * @public */ MaxResults?: number | undefined; /** * <p>If you received a <code>NextToken</code> from a previous call that was paginated, * provide this token to receive the next set of results.</p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface ListAvailableManagementCidrRangesResult { /** * <p>The list of available IP address ranges, specified as IPv4 CIDR blocks.</p> * @public */ ManagementCidrRanges?: string[] | undefined; /** * <p>The token to use to retrieve the next page of results. This value is null when there are * no more results to return. </p> * @public */ NextToken?: string | undefined; } /** * @public */ export interface MigrateWorkspaceRequest { /** * <p>The identifier of the WorkSpace to migrate from.</p> * @public */ SourceWorkspaceId: string | undefined; /** * <p>The identifier of the target bundle type to migrate the WorkSpace to.</p> * @public */ BundleId: string | undefined; } /** * @public */ export interface MigrateWorkspaceResult { /** * <p>The original identifier of the WorkSpace that is being migrated.</p> * @public */ SourceWorkspaceId?: string | undefined; /** * <p>The new identifier of the WorkSpace that is being migrated. If the migration does not * succeed, the target WorkSpace ID will not be used, and the WorkSpace will still have the * original WorkSpace ID.</p> * @public */ TargetWorkspaceId?: string | undefined; } /** * <p>The properties of this WorkSpace are currently being modified. Try again in a moment.</p> * @public */ export class OperationInProgressException extends __BaseException { readonly name: "OperationInProgressException" = "OperationInProgressException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<OperationInProgressException, __BaseException>) { super({ name: "OperationInProgressException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, OperationInProgressException.prototype); } } /** * @public */ export interface ModifyAccountRequest { /** * <p>The status of BYOL.</p> * @public */ DedicatedTenancySupport?: DedicatedTenancySupportEnum | undefined; /** * <p>The IP address range, specified as an IPv4 CIDR block, for the management network * interface. Specify an IP address range that is compatible with your network and in CIDR * notation (that is, specify the range as an IPv4 CIDR block). The CIDR block size must be * /16 (for example, 203.0.113.25/16). It must also be specified as available by the * <code>ListAvailableManagementCidrRanges</code> operation.</p> * @public */ DedicatedTenancyManagementCidrRange?: string | undefined; } /** * @public */ export interface ModifyAccountResult {} /** * @public */ export interface ModifyCertificateBasedAuthPropertiesRequest { /** * <p>The resource identifiers, in the form of directory IDs.</p> * @public */ ResourceId: string | undefined; /** * <p>The properties of the certificate-based authentication.</p> * @public */ CertificateBasedAuthProperties?: CertificateBasedAuthProperties | undefined; /** * <p>The properties of the certificate-based authentication you want to delete.</p> * @public */ PropertiesToDelete?: DeletableCertificateBasedAuthProperty[] | undefined; } /** * @public */ export interface ModifyCertificateBasedAuthPropertiesResult {} /** * @public */ export interface ModifyClientPropertiesRequest { /** * <p>The resource identifiers, in the form of directory IDs.</p> * @public */ ResourceId: string | undefined; /** * <p>Information about the Amazon WorkSpaces client.</p> * @public */ ClientProperties: ClientProperties | undefined; } /** * @public */ export interface ModifyClientPropertiesResult {} /** * @public */ export interface ModifyEndpointEncryptionModeRequest { /** * <p> The identifier of the directory.</p> * @public */ DirectoryId: string | undefined; /** * <p>The encryption mode used for endpoint connections when streaming to WorkSpaces Personal * or WorkSpace Pools.</p> * @public */ EndpointEncryptionMode: EndpointEncryptionMode | undefined; } /** * @public */ export interface ModifyEndpointEncryptionModeResponse {} /** * @public */ export interface ModifySamlPropertiesRequest { /** * <p>The directory identifier for which you want to configure SAML properties.</p> * @public */ ResourceId: string | undefined; /** * <p>The properties for configuring SAML 2.0 authentication.</p> * @public */ SamlProperties?: SamlProperties | undefined; /** * <p>The SAML properties to delete as part of your request.</p> * <p>Specify one of the following options:</p> * <ul> * <li> * <p> * <code>SAML_PROPERTIES_USER_ACCESS_URL</code> to delete the user access URL.</p> * </li> * <li> * <p> * <code>SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME</code> to delete the * relay state parameter name.</p> * </li> * </ul> * @public */ PropertiesToDelete?: DeletableSamlProperty[] | undefined; } /** * @public */ export interface ModifySamlPropertiesResult {} /** * @public */ export interface ModifySelfservicePermissionsRequest { /** * <p>The identifier of the directory.</p> * @public */ ResourceId: string | undefined; /** * <p>The permissions to enable or disable self-service capabilities.</p> * @public */ SelfservicePermissions: SelfservicePermissions | undefined; } /** * @public */ export interface ModifySelfservicePermissionsResult {} /** * @public */ export interface ModifyStreamingPropertiesRequest { /** * <p>The identifier of the resource.</p> * @public */ ResourceId: string | undefined; /** * <p>The streaming properties to configure.</p> * @public */ StreamingProperties?: StreamingProperties | undefined; } /** * @public */ export interface ModifyStreamingPropertiesResult {} /** * @public */ export interface ModifyWorkspaceAccessPropertiesRequest { /** * <p>The identifier of the directory.</p> * @public */ ResourceId: string | undefined; /** * <p>The device types and operating systems to enable or disable for access.</p> * @public */ WorkspaceAccessProperties: WorkspaceAccessProperties | undefined; } /** * @public */ export interface ModifyWorkspaceAccessPropertiesResult {} /** * <p>Describes the default properties that are used for creating WorkSpaces. For more * information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/update-directory-details.html">Update Directory * Details for Your WorkSpaces</a>. </p> * @public */ export interface WorkspaceCreationProperties { /** * <p>Indicates whether Amazon WorkDocs is enabled for your WorkSpaces.</p> * <note> * <p>If WorkDocs is already enabled for a WorkSpaces directory and you disable it, new * WorkSpaces launched in the directory will not have WorkDocs enabled. However, WorkDocs * remains enabled for any existing WorkSpaces, unless you either disable users' access to * WorkDocs or you delete the WorkDocs site. To disable users' access to WorkDocs, see * <a href="https://docs.aws.amazon.com/workdocs/latest/adminguide/inactive-user.html">Disabling Users</a> in the <i>Amazon WorkDocs Administration * Guide</i>. To delete a WorkDocs site, see <a href="https://docs.aws.amazon.com/workdocs/latest/adminguide/manage-sites.html">Deleting a Site</a> in the * <i>Amazon WorkDocs Administration Guide</i>.</p> * <p>If you enable WorkDocs on a directory that already has existing WorkSpaces, the * existing WorkSpaces and any new WorkSpaces that are launched in the directory will have * WorkDocs enabled.</p> * </note> * @public */ EnableWorkDocs?: boolean | undefined; /** * <p>Indicates whether internet access is enabled for your WorkSpaces.</p> * @public */ EnableInternetAccess?: boolean | undefined; /** * <p>The default organizational unit (OU) for your WorkSpaces directories. This string must * be the full Lightweight Directory Access Protocol (LDAP) distinguished name for the target * domain and OU. It must be in the form * <code>"OU=<i>value</i>,DC=<i>value</i>,DC=<i>value</i>"</code>, * where <i>value</i> is any string of characters, and the number of domain * components (DCs) is two or more. For example, * <code>OU=WorkSpaces_machines,DC=machines,DC=example,DC=com</code>. </p> * <important> * <ul> * <li> * <p>To avoid errors, certain characters in the distinguished name must be escaped. * For more information, see <a href="https://docs.microsoft.com/previous-versions/windows/desktop/ldap/distinguished-names"> Distinguished Names</a> in the Microsoft documentation.</p> * </li> * <li> * <p>The API doesn't validate whether the OU exists.</p> * </li> * </ul> * </important> * @public */ DefaultOu?: string | undefined; /** * <p>The identifier of your custom security group.</p> * @public */ CustomSecurityGroupId?: string | undefined; /** * <p>Indicates whether users are local administrators of their WorkSpaces.</p> * @public */ UserEnabledAsLocalAdministrator?: boolean | undefined; /** * <p>Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, * see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html">WorkSpace * Maintenance</a>. </p> * @public */ EnableMaintenanceMode?: boolean | undefined; /** * <p>Indicates the IAM role ARN of the instance.</p> * @public */ InstanceIamRoleArn?: string | undefined; } /** * @public */ export interface ModifyWorkspaceCreationPropertiesRequest { /** * <p>The identifier of the directory.</p> * @public */ ResourceId: string | undefined; /** * <p>The default properties for creating WorkSpaces.</p> * @public */ WorkspaceCreationProperties: WorkspaceCreationProperties | undefined; } /** * @public */ export interface ModifyWorkspaceCreationPropertiesResult {} /** * @public */ export interface ModifyWorkspacePropertiesRequest { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId: string | undefined; /** * <p>The properties of the WorkSpace.</p> * @public */ WorkspaceProperties?: WorkspaceProperties | undefined; /** * <p>Indicates the data replication status.</p> * @public */ DataReplication?: DataReplication | undefined; } /** * @public */ export interface ModifyWorkspacePropertiesResult {} /** * <p>The configuration of this WorkSpace is not supported for this operation. For more information, see * <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/required-service-components.html">Required * Configuration and Service Components for WorkSpaces </a>.</p> * @public */ export class UnsupportedWorkspaceConfigurationException extends __BaseException { readonly name: "UnsupportedWorkspaceConfigurationException" = "UnsupportedWorkspaceConfigurationException"; readonly $fault: "client" = "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<UnsupportedWorkspaceConfigurationException, __BaseException>) { super({ name: "UnsupportedWorkspaceConfigurationException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, UnsupportedWorkspaceConfigurationException.prototype); } } /** * @public * @enum */ export const TargetWorkspaceState = { ADMIN_MAINTENANCE: "ADMIN_MAINTENANCE", AVAILABLE: "AVAILABLE", } as const; /** * @public */ export type TargetWorkspaceState = (typeof TargetWorkspaceState)[keyof typeof TargetWorkspaceState]; /** * @public */ export interface ModifyWorkspaceStateRequest { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId: string | undefined; /** * <p>The WorkSpace state.</p> * @public */ WorkspaceState: TargetWorkspaceState | undefined; } /** * @public */ export interface ModifyWorkspaceStateResult {} /** * <p>Describes the information used to reboot a WorkSpace.</p> * @public */ export interface RebootRequest { /** * <p>The identifier of the WorkSpace.</p> * @public */ WorkspaceId: string | undefined; } /** * @public */ export interface RebootWorkspacesRequest { /** * <p>The WorkSpaces to reboot. You can specify up to 25 WorkSpaces.</p> * @public */ RebootWorkspaceRequests: RebootRequest[] | undefined; } /** * @public */ export interface RebootWorkspacesResult { /** * <p>Information about the WorkSpaces that could not be rebooted.</p> * @public */ FailedRequests?: FailedWorkspaceChangeRequest[] | undefined; }