import type { AmdSevSnpEnum, AutoRecoveryEnum, BandwidthWeightingEnum, BillingMode, CapacityReservationPreferenceEnum, CpuCreditsEnum, DisassociateModeEnum, HostnameTypeEnum, HttpEndpointEnum, HttpProtocolIpv6Enum, HttpTokensEnum, InstanceConfigurationTenancyEnum, InstanceInterruptionBehaviorEnum, InstanceMetadataTagsEnum, InterfaceTypeEnum, MarketTypeEnum, NestedVirtualizationEnum, PlatformTypeEnum, ProvisionStateEnum, ResourceTypeEnum, SpotInstanceTypeEnum, TenancyEnum, VolumeTypeEnum } from "./enums"; /** *
Specifies volume attachment parameters.
* @public */ export interface AssociateVolumeRequest { /** *WorkSpace Instance to attach volume to.
* @public */ WorkspaceInstanceId: string | undefined; /** *Volume to be attached.
* @public */ VolumeId: string | undefined; /** *Device path for volume attachment.
* @public */ Device: string | undefined; } /** *Confirms volume attachment.
* @public */ export interface AssociateVolumeResponse { } /** *Represents a validation error field in an API request.
* @public */ export interface ValidationExceptionField { /** *Name of the field that failed validation.
* @public */ Name: string | undefined; /** *Reason for the validation failure.
* @public */ Reason: string | undefined; /** *Detailed error message describing the validation issue.
* @public */ Message: string | undefined; } /** *Defines billing configuration settings for WorkSpace Instances, containing the billing mode selection.
* @public */ export interface BillingConfiguration { /** *Specifies the billing mode for WorkSpace Instances. MONTHLY provides fixed monthly rates for predictable budgeting, while HOURLY enables pay-per-second billing for actual usage.
* @public */ BillingMode: BillingMode | undefined; } /** *Defines configuration for an Elastic Block Store volume.
* @public */ export interface EbsBlockDevice { /** *Type of EBS volume (e.g., gp2, io1).
* @public */ VolumeType?: VolumeTypeEnum | undefined; /** *Indicates if the volume is encrypted.
* @public */ Encrypted?: boolean | undefined; /** *KMS key used for volume encryption.
* @public */ KmsKeyId?: string | undefined; /** *Input/output operations per second for the volume.
* @public */ Iops?: number | undefined; /** *Volume data transfer rate.
* @public */ Throughput?: number | undefined; /** *Size of the EBS volume in gigabytes.
* @public */ VolumeSize?: number | undefined; } /** *Defines device mapping for WorkSpace Instance storage.
* @public */ export interface BlockDeviceMappingRequest { /** *Name of the device for storage mapping.
* @public */ DeviceName?: string | undefined; /** *EBS volume configuration for the device.
* @public */ Ebs?: EbsBlockDevice | undefined; /** *Indicates device should not be mapped.
* @public */ NoDevice?: string | undefined; /** *Virtual device name for ephemeral storage.
* @public */ VirtualName?: string | undefined; } /** *Identifies a specific capacity reservation.
* @public */ export interface CapacityReservationTarget { /** *Unique identifier for the capacity reservation.
* @public */ CapacityReservationId?: string | undefined; /** *ARN of the capacity reservation resource group.
* @public */ CapacityReservationResourceGroupArn?: string | undefined; } /** *Specifies capacity reservation preferences.
* @public */ export interface CapacityReservationSpecification { /** *Preference for using capacity reservation.
* @public */ CapacityReservationPreference?: CapacityReservationPreferenceEnum | undefined; /** *Specific capacity reservation target.
* @public */ CapacityReservationTarget?: CapacityReservationTarget | undefined; } /** *Defines connection tracking parameters for network interfaces.
* @public */ export interface ConnectionTrackingSpecificationRequest { /** *Timeout for established TCP connections.
* @public */ TcpEstablishedTimeout?: number | undefined; /** *Timeout for UDP stream connections.
* @public */ UdpStreamTimeout?: number | undefined; /** *General timeout for UDP connections.
* @public */ UdpTimeout?: number | undefined; } /** *Configures CPU-specific settings for WorkSpace Instance.
* @public */ export interface CpuOptionsRequest { /** *AMD Secure Encrypted Virtualization configuration.
* @public */ AmdSevSnp?: AmdSevSnpEnum | undefined; /** *Number of CPU cores to allocate.
* @public */ CoreCount?: number | undefined; /** *Number of threads per CPU core.
* @public */ ThreadsPerCore?: number | undefined; /** *Specifies whether to enable or disable nested virtualization.
* @public */ NestedVirtualization?: NestedVirtualizationEnum | undefined; } /** *Represents a key-value metadata tag.
* @public */ export interface Tag { /** *Unique identifier for the tag.
* @public */ Key?: string | undefined; /** *Value associated with the tag key.
* @public */ Value?: string | undefined; } /** *Defines tagging configuration for a resource.
* @public */ export interface TagSpecification { /** *Type of resource being tagged.
* @public */ ResourceType?: ResourceTypeEnum | undefined; /** *Collection of tags for the specified resource.
* @public */ Tags?: Tag[] | undefined; } /** *Specifies volume creation parameters.
* @public */ export interface CreateVolumeRequest { /** *Availability zone for the volume.
* @public */ AvailabilityZone: string | undefined; /** *Unique token to prevent duplicate volume creation.
* @public */ ClientToken?: string | undefined; /** *Indicates if the volume should be encrypted.
* @public */ Encrypted?: boolean | undefined; /** *Input/output operations per second for the volume.
* @public */ Iops?: number | undefined; /** *KMS key for volume encryption.
* @public */ KmsKeyId?: string | undefined; /** *Volume size in gigabytes.
* @public */ SizeInGB?: number | undefined; /** *Source snapshot for volume creation.
* @public */ SnapshotId?: string | undefined; /** *Metadata tags for the volume.
* @public */ TagSpecifications?: TagSpecification[] | undefined; /** *Volume throughput performance.
* @public */ Throughput?: number | undefined; /** *Type of EBS volume.
* @public */ VolumeType?: VolumeTypeEnum | undefined; } /** *Returns the created volume identifier.
* @public */ export interface CreateVolumeResponse { /** *Unique identifier for the new volume.
* @public */ VolumeId?: string | undefined; } /** *Defines CPU credit configuration for burstable instances.
* @public */ export interface CreditSpecificationRequest { /** *CPU credit specification mode.
* @public */ CpuCredits?: CpuCreditsEnum | undefined; } /** *Configures AWS Nitro Enclave options for the WorkSpace Instance.
* @public */ export interface EnclaveOptionsRequest { /** *Enables or disables AWS Nitro Enclaves for enhanced security.
* @public */ Enabled?: boolean | undefined; } /** *Defines hibernation configuration for the WorkSpace Instance.
* @public */ export interface HibernationOptionsRequest { /** *Enables or disables instance hibernation capability.
* @public */ Configured?: boolean | undefined; } /** *Defines IAM instance profile configuration for WorkSpace Instance.
* @public */ export interface IamInstanceProfileSpecification { /** *Amazon Resource Name (ARN) of the IAM instance profile.
* @public */ Arn?: string | undefined; /** *Name of the IAM instance profile.
* @public */ Name?: string | undefined; } /** *Defines configuration for spot instance deployment.
* @public */ export interface SpotMarketOptions { /** *Duration of spot instance block reservation.
* @public */ BlockDurationMinutes?: number | undefined; /** *Specifies behavior when spot instance is interrupted.
* @public */ InstanceInterruptionBehavior?: InstanceInterruptionBehaviorEnum | undefined; /** *Maximum hourly price for spot instance.
* @public */ MaxPrice?: string | undefined; /** *Defines the type of spot instance request.
* @public */ SpotInstanceType?: SpotInstanceTypeEnum | undefined; /** *Timestamp until which spot instance request is valid.
* @public */ ValidUntilUtc?: Date | undefined; } /** *Configures marketplace-specific instance deployment options.
* @public */ export interface InstanceMarketOptionsRequest { /** *Specifies the type of marketplace for instance deployment.
* @public */ MarketType?: MarketTypeEnum | undefined; /** *Configuration options for spot instance deployment.
* @public */ SpotOptions?: SpotMarketOptions | undefined; } /** *Represents an IPv6 address configuration for a WorkSpace Instance.
* @public */ export interface InstanceIpv6Address { /** *Specific IPv6 address assigned to the instance.
* @public */ Ipv6Address?: string | undefined; /** *Indicates if this is the primary IPv6 address for the instance.
* @public */ IsPrimaryIpv6?: boolean | undefined; } /** *Specifies license configuration for WorkSpace Instance.
* @public */ export interface LicenseConfigurationRequest { /** *ARN of the license configuration for the WorkSpace Instance.
* @public */ LicenseConfigurationArn?: string | undefined; } /** *Configures automatic maintenance settings for WorkSpace Instance.
* @public */ export interface InstanceMaintenanceOptionsRequest { /** *Enables or disables automatic instance recovery.
* @public */ AutoRecovery?: AutoRecoveryEnum | undefined; } /** *Defines instance metadata service configuration.
* @public */ export interface InstanceMetadataOptionsRequest { /** *Enables or disables HTTP endpoint for instance metadata.
* @public */ HttpEndpoint?: HttpEndpointEnum | undefined; /** *Configures IPv6 support for instance metadata HTTP protocol.
* @public */ HttpProtocolIpv6?: HttpProtocolIpv6Enum | undefined; /** *Sets maximum number of network hops for metadata PUT responses.
* @public */ HttpPutResponseHopLimit?: number | undefined; /** *Configures token requirement for instance metadata retrieval.
* @public */ HttpTokens?: HttpTokensEnum | undefined; /** *Enables or disables instance metadata tags retrieval.
* @public */ InstanceMetadataTags?: InstanceMetadataTagsEnum | undefined; } /** *Configures detailed monitoring for WorkSpace Instance.
* @public */ export interface RunInstancesMonitoringEnabled { /** *Enables or disables detailed instance monitoring.
* @public */ Enabled?: boolean | undefined; } /** *Specifies UDP configuration for ENA SRD.
* @public */ export interface EnaSrdUdpSpecificationRequest { /** *Enables or disables ENA SRD for UDP traffic.
* @public */ EnaSrdUdpEnabled?: boolean | undefined; } /** *Defines Elastic Network Adapter (ENA) Scalable Reliable Datagram (SRD) configuration.
* @public */ export interface EnaSrdSpecificationRequest { /** *Enables or disables ENA SRD for network performance.
* @public */ EnaSrdEnabled?: boolean | undefined; /** *Configures UDP-specific ENA SRD settings.
* @public */ EnaSrdUdpSpecification?: EnaSrdUdpSpecificationRequest | undefined; } /** *Specifies IPv4 prefix configuration for network interfaces.
* @public */ export interface Ipv4PrefixSpecificationRequest { /** *Specific IPv4 prefix for network interface configuration.
* @public */ Ipv4Prefix?: string | undefined; } /** *Specifies IPv6 prefix configuration for network interfaces.
* @public */ export interface Ipv6PrefixSpecificationRequest { /** *Specific IPv6 prefix for network interface configuration.
* @public */ Ipv6Prefix?: string | undefined; } /** *Defines private IP address configuration for network interface.
* @public */ export interface PrivateIpAddressSpecification { /** *Indicates if this is the primary private IP address.
* @public */ Primary?: boolean | undefined; /** *Specific private IP address for the network interface.
* @public */ PrivateIpAddress?: string | undefined; } /** *Defines network interface configuration for WorkSpace Instance.
* @public */ export interface InstanceNetworkInterfaceSpecification { /** *Enables carrier IP address association.
* @public */ AssociateCarrierIpAddress?: boolean | undefined; /** *Enables public IP address assignment.
* @public */ AssociatePublicIpAddress?: boolean | undefined; /** *Configures network connection tracking parameters.
* @public */ ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest | undefined; /** *Descriptive text for the network interface.
* @public */ Description?: string | undefined; /** *Unique index for the network interface.
* @public */ DeviceIndex?: number | undefined; /** *Configures Elastic Network Adapter Scalable Reliable Datagram settings.
* @public */ EnaSrdSpecification?: EnaSrdSpecificationRequest | undefined; /** *Specifies the type of network interface.
* @public */ InterfaceType?: InterfaceTypeEnum | undefined; /** *IPv4 prefix configurations for the interface.
* @public */ Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[] | undefined; /** *Number of IPv4 prefixes to assign.
* @public */ Ipv4PrefixCount?: number | undefined; /** *Number of IPv6 addresses to assign.
* @public */ Ipv6AddressCount?: number | undefined; /** *Specific IPv6 addresses for the interface.
* @public */ Ipv6Addresses?: InstanceIpv6Address[] | undefined; /** *IPv6 prefix configurations for the interface.
* @public */ Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[] | undefined; /** *Number of IPv6 prefixes to assign.
* @public */ Ipv6PrefixCount?: number | undefined; /** *Index of the network card for multiple network interfaces.
* @public */ NetworkCardIndex?: number | undefined; /** *Unique identifier for the network interface.
* @public */ NetworkInterfaceId?: string | undefined; /** *Indicates the primary IPv6 configuration.
* @public */ PrimaryIpv6?: boolean | undefined; /** *Primary private IP address for the interface.
* @public */ PrivateIpAddress?: string | undefined; /** *List of private IP addresses for the interface.
* @public */ PrivateIpAddresses?: PrivateIpAddressSpecification[] | undefined; /** *Number of additional private IP addresses to assign.
* @public */ SecondaryPrivateIpAddressCount?: number | undefined; /** *Security groups associated with the network interface.
* @public */ Groups?: string[] | undefined; /** *Subnet identifier for the network interface.
* @public */ SubnetId?: string | undefined; } /** *Configures network performance settings for WorkSpace Instance.
* @public */ export interface InstanceNetworkPerformanceOptionsRequest { /** *Defines bandwidth allocation strategy for network interfaces.
* @public */ BandwidthWeighting?: BandwidthWeightingEnum | undefined; } /** *Defines instance placement configuration for WorkSpace Instance.
* @public */ export interface Placement { /** *Specifies host affinity for dedicated instances.
* @public */ Affinity?: string | undefined; /** *Identifies the specific AWS availability zone.
* @public */ AvailabilityZone?: string | undefined; /** *Unique identifier for placement group.
* @public */ GroupId?: string | undefined; /** *Name of the placement group.
* @public */ GroupName?: string | undefined; /** *Identifies the specific dedicated host.
* @public */ HostId?: string | undefined; /** *ARN of the host resource group.
* @public */ HostResourceGroupArn?: string | undefined; /** *Specifies partition number for partition placement groups.
* @public */ PartitionNumber?: number | undefined; /** *Defines instance tenancy configuration.
* @public */ Tenancy?: TenancyEnum | undefined; } /** *Configures private DNS name settings for WorkSpace Instance.
* @public */ export interface PrivateDnsNameOptionsRequest { /** *Specifies the type of hostname configuration.
* @public */ HostnameType?: HostnameTypeEnum | undefined; /** *Enables DNS A record for resource name resolution.
* @public */ EnableResourceNameDnsARecord?: boolean | undefined; /** *Enables DNS AAAA record for resource name resolution.
* @public */ EnableResourceNameDnsAAAARecord?: boolean | undefined; } /** *Defines comprehensive configuration for a managed WorkSpace Instance.
* @public */ export interface ManagedInstanceRequest { /** *Configures block device mappings for storage.
* @public */ BlockDeviceMappings?: BlockDeviceMappingRequest[] | undefined; /** *Specifies capacity reservation preferences.
* @public */ CapacityReservationSpecification?: CapacityReservationSpecification | undefined; /** *Configures CPU-specific settings.
* @public */ CpuOptions?: CpuOptionsRequest | undefined; /** *Defines CPU credit configuration for burstable instances.
* @public */ CreditSpecification?: CreditSpecificationRequest | undefined; /** *Prevents API-initiated instance stop.
* @public */ DisableApiStop?: boolean | undefined; /** *Enables optimized EBS performance.
* @public */ EbsOptimized?: boolean | undefined; /** *Enables primary IPv6 address configuration.
* @public */ EnablePrimaryIpv6?: boolean | undefined; /** *Configures AWS Nitro Enclave settings.
* @public */ EnclaveOptions?: EnclaveOptionsRequest | undefined; /** *Configures instance hibernation capabilities.
* @public */ HibernationOptions?: HibernationOptionsRequest | undefined; /** *Specifies IAM instance profile configuration.
* @public */ IamInstanceProfile?: IamInstanceProfileSpecification | undefined; /** *Identifies the Amazon Machine Image (AMI) for the instance.
* @public */ ImageId?: string | undefined; /** *Configures marketplace-specific deployment options.
* @public */ InstanceMarketOptions?: InstanceMarketOptionsRequest | undefined; /** *Specifies the WorkSpace Instance type.
* @public */ InstanceType?: string | undefined; /** *Configures specific IPv6 addresses.
* @public */ Ipv6Addresses?: InstanceIpv6Address[] | undefined; /** *Specifies number of IPv6 addresses to assign.
* @public */ Ipv6AddressCount?: number | undefined; /** *Identifies the kernel for the instance.
* @public */ KernelId?: string | undefined; /** *Specifies the key pair for instance access.
* @public */ KeyName?: string | undefined; /** *Configures license-related settings.
* @public */ LicenseSpecifications?: LicenseConfigurationRequest[] | undefined; /** *Defines automatic maintenance settings.
* @public */ MaintenanceOptions?: InstanceMaintenanceOptionsRequest | undefined; /** *Configures instance metadata service settings.
* @public */ MetadataOptions?: InstanceMetadataOptionsRequest | undefined; /** *Enables or disables detailed instance monitoring.
* @public */ Monitoring?: RunInstancesMonitoringEnabled | undefined; /** *Configures network interface settings.
* @public */ NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined; /** *Defines network performance configuration.
* @public */ NetworkPerformanceOptions?: InstanceNetworkPerformanceOptionsRequest | undefined; /** *Specifies instance placement preferences.
* @public */ Placement?: Placement | undefined; /** *Configures private DNS name settings.
* @public */ PrivateDnsNameOptions?: PrivateDnsNameOptionsRequest | undefined; /** *Specifies the primary private IP address.
* @public */ PrivateIpAddress?: string | undefined; /** *Identifies the ramdisk for the instance.
* @public */ RamdiskId?: string | undefined; /** *Specifies security group identifiers.
* @public */ SecurityGroupIds?: string[] | undefined; /** *Configures security group settings.
* @public */ SecurityGroups?: string[] | undefined; /** *Identifies the subnet for the instance.
* @public */ SubnetId?: string | undefined; /** *Configures resource tagging specifications.
* @public */ TagSpecifications?: TagSpecification[] | undefined; /** *Provides custom initialization data for the instance.
* @public */ UserData?: string | undefined; } /** *Defines the configuration parameters for creating a new WorkSpaces Instance.
* @public */ export interface CreateWorkspaceInstanceRequest { /** *Unique token to ensure idempotent instance creation, preventing duplicate workspace launches.
* @public */ ClientToken?: string | undefined; /** *Optional metadata tags for categorizing and managing WorkSpaces Instances.
* @public */ Tags?: Tag[] | undefined; /** *Comprehensive configuration settings for the WorkSpaces Instance, including network, compute, and storage parameters.
* @public */ ManagedInstance: ManagedInstanceRequest | undefined; /** *Optional billing configuration for the WorkSpace Instance. Allows customers to specify their preferred billing mode when creating a new instance. Defaults to hourly billing if not specified.
* @public */ BillingConfiguration?: BillingConfiguration | undefined; } /** *Returns the unique identifier for the newly created WorkSpaces Instance.
* @public */ export interface CreateWorkspaceInstanceResponse { /** *Unique identifier assigned to the newly created WorkSpaces Instance.
* @public */ WorkspaceInstanceId?: string | undefined; } /** *Specifies the volume to delete.
* @public */ export interface DeleteVolumeRequest { /** *Identifier of the volume to delete.
* @public */ VolumeId: string | undefined; } /** *Confirms volume deletion.
* @public */ export interface DeleteVolumeResponse { } /** *The WorkSpace to delete
* @public */ export interface DeleteWorkspaceInstanceRequest { /** *Unique identifier of the WorkSpaces Instance targeted for deletion.
* @public */ WorkspaceInstanceId: string | undefined; } /** *Confirms the successful deletion of the specified WorkSpace Instance.
* @public */ export interface DeleteWorkspaceInstanceResponse { } /** *Specifies volume detachment parameters.
* @public */ export interface DisassociateVolumeRequest { /** *WorkSpace Instance to detach volume from.
* @public */ WorkspaceInstanceId: string | undefined; /** *Volume to be detached.
* @public */ VolumeId: string | undefined; /** *Device path of volume to detach.
* @public */ Device?: string | undefined; /** *Mode for volume detachment.
* @public */ DisassociateMode?: DisassociateModeEnum | undefined; } /** *Confirms volume detachment.
* @public */ export interface DisassociateVolumeResponse { } /** *Captures detailed error information for EC2 instance operations.
* @public */ export interface EC2InstanceError { /** *Unique error code identifying the specific EC2 instance error.
* @public */ EC2ErrorCode?: string | undefined; /** *Type of exception encountered during EC2 instance operation.
* @public */ EC2ExceptionType?: string | undefined; /** *Detailed description of the EC2 instance error.
* @public */ EC2ErrorMessage?: string | undefined; } /** *Represents an EC2 instance managed by WorkSpaces.
* @public */ export interface EC2ManagedInstance { /** *Unique identifier of the managed EC2 instance.
* @public */ InstanceId?: string | undefined; } /** *Identifies the WorkSpaces Instance to retrieve detailed information for.
* @public */ export interface GetWorkspaceInstanceRequest { /** *Unique identifier of the WorkSpace Instance to retrieve.
* @public */ WorkspaceInstanceId: string | undefined; } /** *Captures errors specific to WorkSpace Instance operations.
* @public */ export interface WorkspaceInstanceError { /** *Unique error code for the WorkSpace Instance error.
* @public */ ErrorCode?: string | undefined; /** *Detailed description of the WorkSpace Instance error.
* @public */ ErrorMessage?: string | undefined; } /** *Provides comprehensive details about the requested WorkSpaces Instance.
* @public */ export interface GetWorkspaceInstanceResponse { /** *Captures any errors specific to the WorkSpace Instance lifecycle.
* @public */ WorkspaceInstanceErrors?: WorkspaceInstanceError[] | undefined; /** *Includes any underlying EC2 instance errors encountered.
* @public */ EC2InstanceErrors?: EC2InstanceError[] | undefined; /** *Current provisioning state of the WorkSpaces Instance.
* @public */ ProvisionState?: ProvisionStateEnum | undefined; /** *Unique identifier of the retrieved WorkSpaces Instance.
* @public */ WorkspaceInstanceId?: string | undefined; /** *Details of the associated EC2 managed instance.
* @public */ EC2ManagedInstance?: EC2ManagedInstance | undefined; /** *Returns the current billing configuration for the WorkSpace Instance, indicating the active billing mode.
* @public */ BillingConfiguration?: BillingConfiguration | undefined; } /** *Defines filtering criteria for WorkSpace Instance type searches. Combines multiple filter conditions including billing mode, platform type, and tenancy to help customers find instance types that meet their specific requirements.
* @public */ export interface InstanceConfigurationFilter { /** *Filters WorkSpace Instance types based on supported billing modes. Allows customers to search for instance types that support their preferred billing model, such as HOURLY or MONTHLY billing.
* @public */ BillingMode: BillingMode | undefined; /** *Filters WorkSpace Instance types by operating system platform. Allows customers to find instances that support their desired OS, such as Windows, Linux/UNIX, Ubuntu Pro, RHEL, or SUSE.
* @public */ PlatformType: PlatformTypeEnum | undefined; /** *Filters WorkSpace Instance types by tenancy model. Allows customers to find instances that match their tenancy requirements, such as SHARED or DEDICATED.
* @public */ Tenancy: InstanceConfigurationTenancyEnum | undefined; } /** *Defines input parameters for retrieving supported WorkSpaces Instances instance types.
* @public */ export interface ListInstanceTypesRequest { /** *Maximum number of instance types to return in a single API call. Enables pagination of instance type results.
* @public */ MaxResults?: number | undefined; /** *Pagination token for retrieving subsequent pages of instance type results.
* @public */ NextToken?: string | undefined; /** *Optional filter to narrow instance type results based on configuration requirements. Only returns instance types that support the specified combination of tenancy, platform type, and billing mode.
* @public */ InstanceConfigurationFilter?: InstanceConfigurationFilter | undefined; } /** *Represents a single valid configuration combination that an instance type supports, combining tenancy, platform type, and billing mode into one complete configuration specification.
* @public */ export interface SupportedInstanceConfiguration { /** *Specifies the billing mode supported in this configuration combination.
* @public */ BillingMode?: BillingMode | undefined; /** *Specifies the operating system platform supported in this configuration combination.
* @public */ PlatformType?: PlatformTypeEnum | undefined; /** *Specifies the tenancy model supported in this configuration combination.
* @public */ Tenancy?: InstanceConfigurationTenancyEnum | undefined; } /** *Provides details about a specific WorkSpace Instance type.
* @public */ export interface InstanceTypeInfo { /** *Unique identifier for the WorkSpace Instance type.
* @public */ InstanceType?: string | undefined; /** *Lists all valid combinations of tenancy, platform type, and billing mode supported for the specific WorkSpace Instance type. Contains the complete set of configuration options available for this instance type.
* @public */ SupportedInstanceConfigurations?: SupportedInstanceConfiguration[] | undefined; } /** *Contains the list of instance types supported by WorkSpaces Instances.
* @public */ export interface ListInstanceTypesResponse { /** *Collection of supported instance types for WorkSpaces Instances.
* @public */ InstanceTypes: InstanceTypeInfo[] | undefined; /** *Token for retrieving additional instance types if the result set is paginated.
* @public */ NextToken?: string | undefined; } /** *Defines input parameters for retrieving supported WorkSpaces Instances regions.
* @public */ export interface ListRegionsRequest { /** *Maximum number of regions to return in a single API call. Enables pagination of region results.
* @public */ MaxResults?: number | undefined; /** *Pagination token for retrieving subsequent pages of region results.
* @public */ NextToken?: string | undefined; } /** *Represents an AWS region supported by WorkSpaces Instances.
* @public */ export interface Region { /** *Name of the AWS region.
* @public */ RegionName?: string | undefined; } /** *Contains the list of supported AWS regions for WorkSpaces Instances.
* @public */ export interface ListRegionsResponse { /** *Collection of AWS regions supported by WorkSpaces Instances.
* @public */ Regions: Region[] | undefined; /** *Token for retrieving additional regions if the result set is paginated.
* @public */ NextToken?: string | undefined; } /** *Specifies the WorkSpace Instance to retrieve tags for.
* @public */ export interface ListTagsForResourceRequest { /** *Unique identifier of the WorkSpace Instance.
* @public */ WorkspaceInstanceId: string | undefined; } /** *Returns the list of tags for the specified WorkSpace Instance.
* @public */ export interface ListTagsForResourceResponse { /** *Collection of tags associated with the WorkSpace Instance.
* @public */ Tags?: Tag[] | undefined; } /** *Defines filters and pagination parameters for retrieving WorkSpaces Instances.
* @public */ export interface ListWorkspaceInstancesRequest { /** *Filter WorkSpaces Instances by their current provisioning states.
* @public */ ProvisionStates?: ProvisionStateEnum[] | undefined; /** *Maximum number of WorkSpaces Instances to return in a single response.
* @public */ MaxResults?: number | undefined; /** *Pagination token for retrieving subsequent pages of WorkSpaces Instances.
* @public */ NextToken?: string | undefined; } /** *Represents a single WorkSpace Instance.
* @public */ export interface WorkspaceInstance { /** *Current provisioning state of the WorkSpace Instance.
* @public */ ProvisionState?: ProvisionStateEnum | undefined; /** *Unique identifier for the WorkSpace Instance.
* @public */ WorkspaceInstanceId?: string | undefined; /** *Details of the associated EC2 managed instance.
* @public */ EC2ManagedInstance?: EC2ManagedInstance | undefined; } /** *Contains the list of WorkSpaces Instances matching the specified criteria.
* @public */ export interface ListWorkspaceInstancesResponse { /** *Collection of WorkSpaces Instances returned by the query.
* @public */ WorkspaceInstances: WorkspaceInstance[] | undefined; /** *Token for retrieving additional WorkSpaces Instances if the result set is paginated.
* @public */ NextToken?: string | undefined; } /** *Specifies tags to add to a WorkSpace Instance.
* @public */ export interface TagResourceRequest { /** *Unique identifier of the WorkSpace Instance to tag.
* @public */ WorkspaceInstanceId: string | undefined; /** *Tags to be added to the WorkSpace Instance.
* @public */ Tags: Tag[] | undefined; } /** *Confirms successful tag addition.
* @public */ export interface TagResourceResponse { } /** *Specifies tags to remove from a WorkSpace Instance.
* @public */ export interface UntagResourceRequest { /** *Unique identifier of the WorkSpace Instance to untag.
* @public */ WorkspaceInstanceId: string | undefined; /** *Keys of tags to be removed.
* @public */ TagKeys: string[] | undefined; } /** *Confirms successful tag removal.
* @public */ export interface UntagResourceResponse { }