aws-sdk-workspacesinstances 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1655 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::WorkspacesInstances
11
+ module Types
12
+
13
+ # Indicates insufficient permissions to perform the requested action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # Detailed explanation of the access denial.
17
+ # @return [String]
18
+ #
19
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/AccessDeniedException AWS API Documentation
20
+ #
21
+ class AccessDeniedException < Struct.new(
22
+ :message)
23
+ SENSITIVE = []
24
+ include Aws::Structure
25
+ end
26
+
27
+ # Specifies volume attachment parameters.
28
+ #
29
+ # @!attribute [rw] workspace_instance_id
30
+ # WorkSpace Instance to attach volume to.
31
+ # @return [String]
32
+ #
33
+ # @!attribute [rw] volume_id
34
+ # Volume to be attached.
35
+ # @return [String]
36
+ #
37
+ # @!attribute [rw] device
38
+ # Device path for volume attachment.
39
+ # @return [String]
40
+ #
41
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/AssociateVolumeRequest AWS API Documentation
42
+ #
43
+ class AssociateVolumeRequest < Struct.new(
44
+ :workspace_instance_id,
45
+ :volume_id,
46
+ :device)
47
+ SENSITIVE = []
48
+ include Aws::Structure
49
+ end
50
+
51
+ # Confirms volume attachment.
52
+ #
53
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/AssociateVolumeResponse AWS API Documentation
54
+ #
55
+ class AssociateVolumeResponse < Aws::EmptyStructure; end
56
+
57
+ # Defines device mapping for WorkSpace Instance storage.
58
+ #
59
+ # @!attribute [rw] device_name
60
+ # Name of the device for storage mapping.
61
+ # @return [String]
62
+ #
63
+ # @!attribute [rw] ebs
64
+ # EBS volume configuration for the device.
65
+ # @return [Types::EbsBlockDevice]
66
+ #
67
+ # @!attribute [rw] no_device
68
+ # Indicates device should not be mapped.
69
+ # @return [String]
70
+ #
71
+ # @!attribute [rw] virtual_name
72
+ # Virtual device name for ephemeral storage.
73
+ # @return [String]
74
+ #
75
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/BlockDeviceMappingRequest AWS API Documentation
76
+ #
77
+ class BlockDeviceMappingRequest < Struct.new(
78
+ :device_name,
79
+ :ebs,
80
+ :no_device,
81
+ :virtual_name)
82
+ SENSITIVE = []
83
+ include Aws::Structure
84
+ end
85
+
86
+ # Specifies capacity reservation preferences.
87
+ #
88
+ # @!attribute [rw] capacity_reservation_preference
89
+ # Preference for using capacity reservation.
90
+ # @return [String]
91
+ #
92
+ # @!attribute [rw] capacity_reservation_target
93
+ # Specific capacity reservation target.
94
+ # @return [Types::CapacityReservationTarget]
95
+ #
96
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CapacityReservationSpecification AWS API Documentation
97
+ #
98
+ class CapacityReservationSpecification < Struct.new(
99
+ :capacity_reservation_preference,
100
+ :capacity_reservation_target)
101
+ SENSITIVE = []
102
+ include Aws::Structure
103
+ end
104
+
105
+ # Identifies a specific capacity reservation.
106
+ #
107
+ # @!attribute [rw] capacity_reservation_id
108
+ # Unique identifier for the capacity reservation.
109
+ # @return [String]
110
+ #
111
+ # @!attribute [rw] capacity_reservation_resource_group_arn
112
+ # ARN of the capacity reservation resource group.
113
+ # @return [String]
114
+ #
115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CapacityReservationTarget AWS API Documentation
116
+ #
117
+ class CapacityReservationTarget < Struct.new(
118
+ :capacity_reservation_id,
119
+ :capacity_reservation_resource_group_arn)
120
+ SENSITIVE = []
121
+ include Aws::Structure
122
+ end
123
+
124
+ # Signals a conflict with the current state of the resource.
125
+ #
126
+ # @!attribute [rw] message
127
+ # Description of the conflict encountered.
128
+ # @return [String]
129
+ #
130
+ # @!attribute [rw] resource_id
131
+ # Identifier of the conflicting resource.
132
+ # @return [String]
133
+ #
134
+ # @!attribute [rw] resource_type
135
+ # Type of the conflicting resource.
136
+ # @return [String]
137
+ #
138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ConflictException AWS API Documentation
139
+ #
140
+ class ConflictException < Struct.new(
141
+ :message,
142
+ :resource_id,
143
+ :resource_type)
144
+ SENSITIVE = []
145
+ include Aws::Structure
146
+ end
147
+
148
+ # Defines connection tracking parameters for network interfaces.
149
+ #
150
+ # @!attribute [rw] tcp_established_timeout
151
+ # Timeout for established TCP connections.
152
+ # @return [Integer]
153
+ #
154
+ # @!attribute [rw] udp_stream_timeout
155
+ # Timeout for UDP stream connections.
156
+ # @return [Integer]
157
+ #
158
+ # @!attribute [rw] udp_timeout
159
+ # General timeout for UDP connections.
160
+ # @return [Integer]
161
+ #
162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ConnectionTrackingSpecificationRequest AWS API Documentation
163
+ #
164
+ class ConnectionTrackingSpecificationRequest < Struct.new(
165
+ :tcp_established_timeout,
166
+ :udp_stream_timeout,
167
+ :udp_timeout)
168
+ SENSITIVE = []
169
+ include Aws::Structure
170
+ end
171
+
172
+ # Configures CPU-specific settings for WorkSpace Instance.
173
+ #
174
+ # @!attribute [rw] amd_sev_snp
175
+ # AMD Secure Encrypted Virtualization configuration.
176
+ # @return [String]
177
+ #
178
+ # @!attribute [rw] core_count
179
+ # Number of CPU cores to allocate.
180
+ # @return [Integer]
181
+ #
182
+ # @!attribute [rw] threads_per_core
183
+ # Number of threads per CPU core.
184
+ # @return [Integer]
185
+ #
186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CpuOptionsRequest AWS API Documentation
187
+ #
188
+ class CpuOptionsRequest < Struct.new(
189
+ :amd_sev_snp,
190
+ :core_count,
191
+ :threads_per_core)
192
+ SENSITIVE = []
193
+ include Aws::Structure
194
+ end
195
+
196
+ # Specifies volume creation parameters.
197
+ #
198
+ # @!attribute [rw] availability_zone
199
+ # Availability zone for the volume.
200
+ # @return [String]
201
+ #
202
+ # @!attribute [rw] client_token
203
+ # Unique token to prevent duplicate volume creation.
204
+ #
205
+ # **A suitable default value is auto-generated.** You should normally
206
+ # not need to pass this option.
207
+ # @return [String]
208
+ #
209
+ # @!attribute [rw] encrypted
210
+ # Indicates if the volume should be encrypted.
211
+ # @return [Boolean]
212
+ #
213
+ # @!attribute [rw] iops
214
+ # Input/output operations per second for the volume.
215
+ # @return [Integer]
216
+ #
217
+ # @!attribute [rw] kms_key_id
218
+ # KMS key for volume encryption.
219
+ # @return [String]
220
+ #
221
+ # @!attribute [rw] size_in_gb
222
+ # Volume size in gigabytes.
223
+ # @return [Integer]
224
+ #
225
+ # @!attribute [rw] snapshot_id
226
+ # Source snapshot for volume creation.
227
+ # @return [String]
228
+ #
229
+ # @!attribute [rw] tag_specifications
230
+ # Metadata tags for the volume.
231
+ # @return [Array<Types::TagSpecification>]
232
+ #
233
+ # @!attribute [rw] throughput
234
+ # Volume throughput performance.
235
+ # @return [Integer]
236
+ #
237
+ # @!attribute [rw] volume_type
238
+ # Type of EBS volume.
239
+ # @return [String]
240
+ #
241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CreateVolumeRequest AWS API Documentation
242
+ #
243
+ class CreateVolumeRequest < Struct.new(
244
+ :availability_zone,
245
+ :client_token,
246
+ :encrypted,
247
+ :iops,
248
+ :kms_key_id,
249
+ :size_in_gb,
250
+ :snapshot_id,
251
+ :tag_specifications,
252
+ :throughput,
253
+ :volume_type)
254
+ SENSITIVE = [:client_token, :kms_key_id]
255
+ include Aws::Structure
256
+ end
257
+
258
+ # Returns the created volume identifier.
259
+ #
260
+ # @!attribute [rw] volume_id
261
+ # Unique identifier for the new volume.
262
+ # @return [String]
263
+ #
264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CreateVolumeResponse AWS API Documentation
265
+ #
266
+ class CreateVolumeResponse < Struct.new(
267
+ :volume_id)
268
+ SENSITIVE = []
269
+ include Aws::Structure
270
+ end
271
+
272
+ # Defines the configuration parameters for creating a new WorkSpaces
273
+ # Instance.
274
+ #
275
+ # @!attribute [rw] client_token
276
+ # Unique token to ensure idempotent instance creation, preventing
277
+ # duplicate workspace launches.
278
+ #
279
+ # **A suitable default value is auto-generated.** You should normally
280
+ # not need to pass this option.
281
+ # @return [String]
282
+ #
283
+ # @!attribute [rw] tags
284
+ # Optional metadata tags for categorizing and managing WorkSpaces
285
+ # Instances.
286
+ # @return [Array<Types::Tag>]
287
+ #
288
+ # @!attribute [rw] managed_instance
289
+ # Comprehensive configuration settings for the WorkSpaces Instance,
290
+ # including network, compute, and storage parameters.
291
+ # @return [Types::ManagedInstanceRequest]
292
+ #
293
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CreateWorkspaceInstanceRequest AWS API Documentation
294
+ #
295
+ class CreateWorkspaceInstanceRequest < Struct.new(
296
+ :client_token,
297
+ :tags,
298
+ :managed_instance)
299
+ SENSITIVE = [:client_token]
300
+ include Aws::Structure
301
+ end
302
+
303
+ # Returns the unique identifier for the newly created WorkSpaces
304
+ # Instance.
305
+ #
306
+ # @!attribute [rw] workspace_instance_id
307
+ # Unique identifier assigned to the newly created WorkSpaces Instance.
308
+ # @return [String]
309
+ #
310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CreateWorkspaceInstanceResponse AWS API Documentation
311
+ #
312
+ class CreateWorkspaceInstanceResponse < Struct.new(
313
+ :workspace_instance_id)
314
+ SENSITIVE = []
315
+ include Aws::Structure
316
+ end
317
+
318
+ # Defines CPU credit configuration for burstable instances.
319
+ #
320
+ # @!attribute [rw] cpu_credits
321
+ # CPU credit specification mode.
322
+ # @return [String]
323
+ #
324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CreditSpecificationRequest AWS API Documentation
325
+ #
326
+ class CreditSpecificationRequest < Struct.new(
327
+ :cpu_credits)
328
+ SENSITIVE = []
329
+ include Aws::Structure
330
+ end
331
+
332
+ # Specifies the volume to delete.
333
+ #
334
+ # @!attribute [rw] volume_id
335
+ # Identifier of the volume to delete.
336
+ # @return [String]
337
+ #
338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/DeleteVolumeRequest AWS API Documentation
339
+ #
340
+ class DeleteVolumeRequest < Struct.new(
341
+ :volume_id)
342
+ SENSITIVE = []
343
+ include Aws::Structure
344
+ end
345
+
346
+ # Confirms volume deletion.
347
+ #
348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/DeleteVolumeResponse AWS API Documentation
349
+ #
350
+ class DeleteVolumeResponse < Aws::EmptyStructure; end
351
+
352
+ # The WorkSpace to delete
353
+ #
354
+ # @!attribute [rw] workspace_instance_id
355
+ # Unique identifier of the WorkSpaces Instance targeted for deletion.
356
+ # @return [String]
357
+ #
358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/DeleteWorkspaceInstanceRequest AWS API Documentation
359
+ #
360
+ class DeleteWorkspaceInstanceRequest < Struct.new(
361
+ :workspace_instance_id)
362
+ SENSITIVE = []
363
+ include Aws::Structure
364
+ end
365
+
366
+ # Confirms the successful deletion of the specified WorkSpace Instance.
367
+ #
368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/DeleteWorkspaceInstanceResponse AWS API Documentation
369
+ #
370
+ class DeleteWorkspaceInstanceResponse < Aws::EmptyStructure; end
371
+
372
+ # Specifies volume detachment parameters.
373
+ #
374
+ # @!attribute [rw] workspace_instance_id
375
+ # WorkSpace Instance to detach volume from.
376
+ # @return [String]
377
+ #
378
+ # @!attribute [rw] volume_id
379
+ # Volume to be detached.
380
+ # @return [String]
381
+ #
382
+ # @!attribute [rw] device
383
+ # Device path of volume to detach.
384
+ # @return [String]
385
+ #
386
+ # @!attribute [rw] disassociate_mode
387
+ # Mode for volume detachment.
388
+ # @return [String]
389
+ #
390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/DisassociateVolumeRequest AWS API Documentation
391
+ #
392
+ class DisassociateVolumeRequest < Struct.new(
393
+ :workspace_instance_id,
394
+ :volume_id,
395
+ :device,
396
+ :disassociate_mode)
397
+ SENSITIVE = []
398
+ include Aws::Structure
399
+ end
400
+
401
+ # Confirms volume detachment.
402
+ #
403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/DisassociateVolumeResponse AWS API Documentation
404
+ #
405
+ class DisassociateVolumeResponse < Aws::EmptyStructure; end
406
+
407
+ # Captures detailed error information for EC2 instance operations.
408
+ #
409
+ # @!attribute [rw] ec2_error_code
410
+ # Unique error code identifying the specific EC2 instance error.
411
+ # @return [String]
412
+ #
413
+ # @!attribute [rw] ec2_exception_type
414
+ # Type of exception encountered during EC2 instance operation.
415
+ # @return [String]
416
+ #
417
+ # @!attribute [rw] ec2_error_message
418
+ # Detailed description of the EC2 instance error.
419
+ # @return [String]
420
+ #
421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/EC2InstanceError AWS API Documentation
422
+ #
423
+ class EC2InstanceError < Struct.new(
424
+ :ec2_error_code,
425
+ :ec2_exception_type,
426
+ :ec2_error_message)
427
+ SENSITIVE = []
428
+ include Aws::Structure
429
+ end
430
+
431
+ # Represents an EC2 instance managed by WorkSpaces.
432
+ #
433
+ # @!attribute [rw] instance_id
434
+ # Unique identifier of the managed EC2 instance.
435
+ # @return [String]
436
+ #
437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/EC2ManagedInstance AWS API Documentation
438
+ #
439
+ class EC2ManagedInstance < Struct.new(
440
+ :instance_id)
441
+ SENSITIVE = []
442
+ include Aws::Structure
443
+ end
444
+
445
+ # Defines configuration for an Elastic Block Store volume.
446
+ #
447
+ # @!attribute [rw] volume_type
448
+ # Type of EBS volume (e.g., gp2, io1).
449
+ # @return [String]
450
+ #
451
+ # @!attribute [rw] encrypted
452
+ # Indicates if the volume is encrypted.
453
+ # @return [Boolean]
454
+ #
455
+ # @!attribute [rw] kms_key_id
456
+ # KMS key used for volume encryption.
457
+ # @return [String]
458
+ #
459
+ # @!attribute [rw] iops
460
+ # Input/output operations per second for the volume.
461
+ # @return [Integer]
462
+ #
463
+ # @!attribute [rw] throughput
464
+ # Volume data transfer rate.
465
+ # @return [Integer]
466
+ #
467
+ # @!attribute [rw] volume_size
468
+ # Size of the EBS volume in gigabytes.
469
+ # @return [Integer]
470
+ #
471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/EbsBlockDevice AWS API Documentation
472
+ #
473
+ class EbsBlockDevice < Struct.new(
474
+ :volume_type,
475
+ :encrypted,
476
+ :kms_key_id,
477
+ :iops,
478
+ :throughput,
479
+ :volume_size)
480
+ SENSITIVE = [:kms_key_id]
481
+ include Aws::Structure
482
+ end
483
+
484
+ # Defines Elastic Network Adapter (ENA) Scalable Reliable Datagram (SRD)
485
+ # configuration.
486
+ #
487
+ # @!attribute [rw] ena_srd_enabled
488
+ # Enables or disables ENA SRD for network performance.
489
+ # @return [Boolean]
490
+ #
491
+ # @!attribute [rw] ena_srd_udp_specification
492
+ # Configures UDP-specific ENA SRD settings.
493
+ # @return [Types::EnaSrdUdpSpecificationRequest]
494
+ #
495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/EnaSrdSpecificationRequest AWS API Documentation
496
+ #
497
+ class EnaSrdSpecificationRequest < Struct.new(
498
+ :ena_srd_enabled,
499
+ :ena_srd_udp_specification)
500
+ SENSITIVE = []
501
+ include Aws::Structure
502
+ end
503
+
504
+ # Specifies UDP configuration for ENA SRD.
505
+ #
506
+ # @!attribute [rw] ena_srd_udp_enabled
507
+ # Enables or disables ENA SRD for UDP traffic.
508
+ # @return [Boolean]
509
+ #
510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/EnaSrdUdpSpecificationRequest AWS API Documentation
511
+ #
512
+ class EnaSrdUdpSpecificationRequest < Struct.new(
513
+ :ena_srd_udp_enabled)
514
+ SENSITIVE = []
515
+ include Aws::Structure
516
+ end
517
+
518
+ # Configures AWS Nitro Enclave options for the WorkSpace Instance.
519
+ #
520
+ # @!attribute [rw] enabled
521
+ # Enables or disables AWS Nitro Enclaves for enhanced security.
522
+ # @return [Boolean]
523
+ #
524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/EnclaveOptionsRequest AWS API Documentation
525
+ #
526
+ class EnclaveOptionsRequest < Struct.new(
527
+ :enabled)
528
+ SENSITIVE = []
529
+ include Aws::Structure
530
+ end
531
+
532
+ # Identifies the WorkSpaces Instance to retrieve detailed information
533
+ # for.
534
+ #
535
+ # @!attribute [rw] workspace_instance_id
536
+ # Unique identifier of the WorkSpace Instance to retrieve.
537
+ # @return [String]
538
+ #
539
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/GetWorkspaceInstanceRequest AWS API Documentation
540
+ #
541
+ class GetWorkspaceInstanceRequest < Struct.new(
542
+ :workspace_instance_id)
543
+ SENSITIVE = []
544
+ include Aws::Structure
545
+ end
546
+
547
+ # Provides comprehensive details about the requested WorkSpaces
548
+ # Instance.
549
+ #
550
+ # @!attribute [rw] workspace_instance_errors
551
+ # Captures any errors specific to the WorkSpace Instance lifecycle.
552
+ # @return [Array<Types::WorkspaceInstanceError>]
553
+ #
554
+ # @!attribute [rw] ec2_instance_errors
555
+ # Includes any underlying EC2 instance errors encountered.
556
+ # @return [Array<Types::EC2InstanceError>]
557
+ #
558
+ # @!attribute [rw] provision_state
559
+ # Current provisioning state of the WorkSpaces Instance.
560
+ # @return [String]
561
+ #
562
+ # @!attribute [rw] workspace_instance_id
563
+ # Unique identifier of the retrieved WorkSpaces Instance.
564
+ # @return [String]
565
+ #
566
+ # @!attribute [rw] ec2_managed_instance
567
+ # Details of the associated EC2 managed instance.
568
+ # @return [Types::EC2ManagedInstance]
569
+ #
570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/GetWorkspaceInstanceResponse AWS API Documentation
571
+ #
572
+ class GetWorkspaceInstanceResponse < Struct.new(
573
+ :workspace_instance_errors,
574
+ :ec2_instance_errors,
575
+ :provision_state,
576
+ :workspace_instance_id,
577
+ :ec2_managed_instance)
578
+ SENSITIVE = []
579
+ include Aws::Structure
580
+ end
581
+
582
+ # Defines hibernation configuration for the WorkSpace Instance.
583
+ #
584
+ # @!attribute [rw] configured
585
+ # Enables or disables instance hibernation capability.
586
+ # @return [Boolean]
587
+ #
588
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/HibernationOptionsRequest AWS API Documentation
589
+ #
590
+ class HibernationOptionsRequest < Struct.new(
591
+ :configured)
592
+ SENSITIVE = []
593
+ include Aws::Structure
594
+ end
595
+
596
+ # Defines IAM instance profile configuration for WorkSpace Instance.
597
+ #
598
+ # @!attribute [rw] arn
599
+ # Amazon Resource Name (ARN) of the IAM instance profile.
600
+ # @return [String]
601
+ #
602
+ # @!attribute [rw] name
603
+ # Name of the IAM instance profile.
604
+ # @return [String]
605
+ #
606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/IamInstanceProfileSpecification AWS API Documentation
607
+ #
608
+ class IamInstanceProfileSpecification < Struct.new(
609
+ :arn,
610
+ :name)
611
+ SENSITIVE = []
612
+ include Aws::Structure
613
+ end
614
+
615
+ # Represents an IPv6 address configuration for a WorkSpace Instance.
616
+ #
617
+ # @!attribute [rw] ipv_6_address
618
+ # Specific IPv6 address assigned to the instance.
619
+ # @return [String]
620
+ #
621
+ # @!attribute [rw] is_primary_ipv_6
622
+ # Indicates if this is the primary IPv6 address for the instance.
623
+ # @return [Boolean]
624
+ #
625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InstanceIpv6Address AWS API Documentation
626
+ #
627
+ class InstanceIpv6Address < Struct.new(
628
+ :ipv_6_address,
629
+ :is_primary_ipv_6)
630
+ SENSITIVE = [:ipv_6_address]
631
+ include Aws::Structure
632
+ end
633
+
634
+ # Configures automatic maintenance settings for WorkSpace Instance.
635
+ #
636
+ # @!attribute [rw] auto_recovery
637
+ # Enables or disables automatic instance recovery.
638
+ # @return [String]
639
+ #
640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InstanceMaintenanceOptionsRequest AWS API Documentation
641
+ #
642
+ class InstanceMaintenanceOptionsRequest < Struct.new(
643
+ :auto_recovery)
644
+ SENSITIVE = []
645
+ include Aws::Structure
646
+ end
647
+
648
+ # Configures marketplace-specific instance deployment options.
649
+ #
650
+ # @!attribute [rw] market_type
651
+ # Specifies the type of marketplace for instance deployment.
652
+ # @return [String]
653
+ #
654
+ # @!attribute [rw] spot_options
655
+ # Configuration options for spot instance deployment.
656
+ # @return [Types::SpotMarketOptions]
657
+ #
658
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InstanceMarketOptionsRequest AWS API Documentation
659
+ #
660
+ class InstanceMarketOptionsRequest < Struct.new(
661
+ :market_type,
662
+ :spot_options)
663
+ SENSITIVE = []
664
+ include Aws::Structure
665
+ end
666
+
667
+ # Defines instance metadata service configuration.
668
+ #
669
+ # @!attribute [rw] http_endpoint
670
+ # Enables or disables HTTP endpoint for instance metadata.
671
+ # @return [String]
672
+ #
673
+ # @!attribute [rw] http_protocol_ipv_6
674
+ # Configures IPv6 support for instance metadata HTTP protocol.
675
+ # @return [String]
676
+ #
677
+ # @!attribute [rw] http_put_response_hop_limit
678
+ # Sets maximum number of network hops for metadata PUT responses.
679
+ # @return [Integer]
680
+ #
681
+ # @!attribute [rw] http_tokens
682
+ # Configures token requirement for instance metadata retrieval.
683
+ # @return [String]
684
+ #
685
+ # @!attribute [rw] instance_metadata_tags
686
+ # Enables or disables instance metadata tags retrieval.
687
+ # @return [String]
688
+ #
689
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InstanceMetadataOptionsRequest AWS API Documentation
690
+ #
691
+ class InstanceMetadataOptionsRequest < Struct.new(
692
+ :http_endpoint,
693
+ :http_protocol_ipv_6,
694
+ :http_put_response_hop_limit,
695
+ :http_tokens,
696
+ :instance_metadata_tags)
697
+ SENSITIVE = []
698
+ include Aws::Structure
699
+ end
700
+
701
+ # Defines network interface configuration for WorkSpace Instance.
702
+ #
703
+ # @!attribute [rw] associate_carrier_ip_address
704
+ # Enables carrier IP address association.
705
+ # @return [Boolean]
706
+ #
707
+ # @!attribute [rw] associate_public_ip_address
708
+ # Enables public IP address assignment.
709
+ # @return [Boolean]
710
+ #
711
+ # @!attribute [rw] connection_tracking_specification
712
+ # Configures network connection tracking parameters.
713
+ # @return [Types::ConnectionTrackingSpecificationRequest]
714
+ #
715
+ # @!attribute [rw] description
716
+ # Descriptive text for the network interface.
717
+ # @return [String]
718
+ #
719
+ # @!attribute [rw] device_index
720
+ # Unique index for the network interface.
721
+ # @return [Integer]
722
+ #
723
+ # @!attribute [rw] ena_srd_specification
724
+ # Configures Elastic Network Adapter Scalable Reliable Datagram
725
+ # settings.
726
+ # @return [Types::EnaSrdSpecificationRequest]
727
+ #
728
+ # @!attribute [rw] interface_type
729
+ # Specifies the type of network interface.
730
+ # @return [String]
731
+ #
732
+ # @!attribute [rw] ipv_4_prefixes
733
+ # IPv4 prefix configurations for the interface.
734
+ # @return [Array<Types::Ipv4PrefixSpecificationRequest>]
735
+ #
736
+ # @!attribute [rw] ipv_4_prefix_count
737
+ # Number of IPv4 prefixes to assign.
738
+ # @return [Integer]
739
+ #
740
+ # @!attribute [rw] ipv_6_address_count
741
+ # Number of IPv6 addresses to assign.
742
+ # @return [Integer]
743
+ #
744
+ # @!attribute [rw] ipv_6_addresses
745
+ # Specific IPv6 addresses for the interface.
746
+ # @return [Array<Types::InstanceIpv6Address>]
747
+ #
748
+ # @!attribute [rw] ipv_6_prefixes
749
+ # IPv6 prefix configurations for the interface.
750
+ # @return [Array<Types::Ipv6PrefixSpecificationRequest>]
751
+ #
752
+ # @!attribute [rw] ipv_6_prefix_count
753
+ # Number of IPv6 prefixes to assign.
754
+ # @return [Integer]
755
+ #
756
+ # @!attribute [rw] network_card_index
757
+ # Index of the network card for multiple network interfaces.
758
+ # @return [Integer]
759
+ #
760
+ # @!attribute [rw] network_interface_id
761
+ # Unique identifier for the network interface.
762
+ # @return [String]
763
+ #
764
+ # @!attribute [rw] primary_ipv_6
765
+ # Indicates the primary IPv6 configuration.
766
+ # @return [Boolean]
767
+ #
768
+ # @!attribute [rw] private_ip_address
769
+ # Primary private IP address for the interface.
770
+ # @return [String]
771
+ #
772
+ # @!attribute [rw] private_ip_addresses
773
+ # List of private IP addresses for the interface.
774
+ # @return [Array<Types::PrivateIpAddressSpecification>]
775
+ #
776
+ # @!attribute [rw] secondary_private_ip_address_count
777
+ # Number of additional private IP addresses to assign.
778
+ # @return [Integer]
779
+ #
780
+ # @!attribute [rw] groups
781
+ # Security groups associated with the network interface.
782
+ # @return [Array<String>]
783
+ #
784
+ # @!attribute [rw] subnet_id
785
+ # Subnet identifier for the network interface.
786
+ # @return [String]
787
+ #
788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InstanceNetworkInterfaceSpecification AWS API Documentation
789
+ #
790
+ class InstanceNetworkInterfaceSpecification < Struct.new(
791
+ :associate_carrier_ip_address,
792
+ :associate_public_ip_address,
793
+ :connection_tracking_specification,
794
+ :description,
795
+ :device_index,
796
+ :ena_srd_specification,
797
+ :interface_type,
798
+ :ipv_4_prefixes,
799
+ :ipv_4_prefix_count,
800
+ :ipv_6_address_count,
801
+ :ipv_6_addresses,
802
+ :ipv_6_prefixes,
803
+ :ipv_6_prefix_count,
804
+ :network_card_index,
805
+ :network_interface_id,
806
+ :primary_ipv_6,
807
+ :private_ip_address,
808
+ :private_ip_addresses,
809
+ :secondary_private_ip_address_count,
810
+ :groups,
811
+ :subnet_id)
812
+ SENSITIVE = [:private_ip_address]
813
+ include Aws::Structure
814
+ end
815
+
816
+ # Configures network performance settings for WorkSpace Instance.
817
+ #
818
+ # @!attribute [rw] bandwidth_weighting
819
+ # Defines bandwidth allocation strategy for network interfaces.
820
+ # @return [String]
821
+ #
822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InstanceNetworkPerformanceOptionsRequest AWS API Documentation
823
+ #
824
+ class InstanceNetworkPerformanceOptionsRequest < Struct.new(
825
+ :bandwidth_weighting)
826
+ SENSITIVE = []
827
+ include Aws::Structure
828
+ end
829
+
830
+ # Provides details about a specific WorkSpace Instance type.
831
+ #
832
+ # @!attribute [rw] instance_type
833
+ # Unique identifier for the WorkSpace Instance type.
834
+ # @return [String]
835
+ #
836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InstanceTypeInfo AWS API Documentation
837
+ #
838
+ class InstanceTypeInfo < Struct.new(
839
+ :instance_type)
840
+ SENSITIVE = []
841
+ include Aws::Structure
842
+ end
843
+
844
+ # Indicates an unexpected server-side error occurred.
845
+ #
846
+ # @!attribute [rw] message
847
+ # Description of the internal server error.
848
+ # @return [String]
849
+ #
850
+ # @!attribute [rw] retry_after_seconds
851
+ # Recommended wait time before retrying the request.
852
+ # @return [Integer]
853
+ #
854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InternalServerException AWS API Documentation
855
+ #
856
+ class InternalServerException < Struct.new(
857
+ :message,
858
+ :retry_after_seconds)
859
+ SENSITIVE = []
860
+ include Aws::Structure
861
+ end
862
+
863
+ # Specifies IPv4 prefix configuration for network interfaces.
864
+ #
865
+ # @!attribute [rw] ipv_4_prefix
866
+ # Specific IPv4 prefix for network interface configuration.
867
+ # @return [String]
868
+ #
869
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/Ipv4PrefixSpecificationRequest AWS API Documentation
870
+ #
871
+ class Ipv4PrefixSpecificationRequest < Struct.new(
872
+ :ipv_4_prefix)
873
+ SENSITIVE = []
874
+ include Aws::Structure
875
+ end
876
+
877
+ # Specifies IPv6 prefix configuration for network interfaces.
878
+ #
879
+ # @!attribute [rw] ipv_6_prefix
880
+ # Specific IPv6 prefix for network interface configuration.
881
+ # @return [String]
882
+ #
883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/Ipv6PrefixSpecificationRequest AWS API Documentation
884
+ #
885
+ class Ipv6PrefixSpecificationRequest < Struct.new(
886
+ :ipv_6_prefix)
887
+ SENSITIVE = []
888
+ include Aws::Structure
889
+ end
890
+
891
+ # Specifies license configuration for WorkSpace Instance.
892
+ #
893
+ # @!attribute [rw] license_configuration_arn
894
+ # ARN of the license configuration for the WorkSpace Instance.
895
+ # @return [String]
896
+ #
897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/LicenseConfigurationRequest AWS API Documentation
898
+ #
899
+ class LicenseConfigurationRequest < Struct.new(
900
+ :license_configuration_arn)
901
+ SENSITIVE = []
902
+ include Aws::Structure
903
+ end
904
+
905
+ # Defines input parameters for retrieving supported WorkSpaces Instances
906
+ # instance types.
907
+ #
908
+ # @!attribute [rw] max_results
909
+ # Maximum number of instance types to return in a single API call.
910
+ # Enables pagination of instance type results.
911
+ # @return [Integer]
912
+ #
913
+ # @!attribute [rw] next_token
914
+ # Pagination token for retrieving subsequent pages of instance type
915
+ # results.
916
+ # @return [String]
917
+ #
918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListInstanceTypesRequest AWS API Documentation
919
+ #
920
+ class ListInstanceTypesRequest < Struct.new(
921
+ :max_results,
922
+ :next_token)
923
+ SENSITIVE = [:next_token]
924
+ include Aws::Structure
925
+ end
926
+
927
+ # Contains the list of instance types supported by WorkSpaces Instances.
928
+ #
929
+ # @!attribute [rw] instance_types
930
+ # Collection of supported instance types for WorkSpaces Instances.
931
+ # @return [Array<Types::InstanceTypeInfo>]
932
+ #
933
+ # @!attribute [rw] next_token
934
+ # Token for retrieving additional instance types if the result set is
935
+ # paginated.
936
+ # @return [String]
937
+ #
938
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListInstanceTypesResponse AWS API Documentation
939
+ #
940
+ class ListInstanceTypesResponse < Struct.new(
941
+ :instance_types,
942
+ :next_token)
943
+ SENSITIVE = [:next_token]
944
+ include Aws::Structure
945
+ end
946
+
947
+ # Defines input parameters for retrieving supported WorkSpaces Instances
948
+ # regions.
949
+ #
950
+ # @!attribute [rw] max_results
951
+ # Maximum number of regions to return in a single API call. Enables
952
+ # pagination of region results.
953
+ # @return [Integer]
954
+ #
955
+ # @!attribute [rw] next_token
956
+ # Pagination token for retrieving subsequent pages of region results.
957
+ # @return [String]
958
+ #
959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListRegionsRequest AWS API Documentation
960
+ #
961
+ class ListRegionsRequest < Struct.new(
962
+ :max_results,
963
+ :next_token)
964
+ SENSITIVE = [:next_token]
965
+ include Aws::Structure
966
+ end
967
+
968
+ # Contains the list of supported AWS regions for WorkSpaces Instances.
969
+ #
970
+ # @!attribute [rw] regions
971
+ # Collection of AWS regions supported by WorkSpaces Instances.
972
+ # @return [Array<Types::Region>]
973
+ #
974
+ # @!attribute [rw] next_token
975
+ # Token for retrieving additional regions if the result set is
976
+ # paginated.
977
+ # @return [String]
978
+ #
979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListRegionsResponse AWS API Documentation
980
+ #
981
+ class ListRegionsResponse < Struct.new(
982
+ :regions,
983
+ :next_token)
984
+ SENSITIVE = [:next_token]
985
+ include Aws::Structure
986
+ end
987
+
988
+ # Specifies the WorkSpace Instance to retrieve tags for.
989
+ #
990
+ # @!attribute [rw] workspace_instance_id
991
+ # Unique identifier of the WorkSpace Instance.
992
+ # @return [String]
993
+ #
994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListTagsForResourceRequest AWS API Documentation
995
+ #
996
+ class ListTagsForResourceRequest < Struct.new(
997
+ :workspace_instance_id)
998
+ SENSITIVE = []
999
+ include Aws::Structure
1000
+ end
1001
+
1002
+ # Returns the list of tags for the specified WorkSpace Instance.
1003
+ #
1004
+ # @!attribute [rw] tags
1005
+ # Collection of tags associated with the WorkSpace Instance.
1006
+ # @return [Array<Types::Tag>]
1007
+ #
1008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListTagsForResourceResponse AWS API Documentation
1009
+ #
1010
+ class ListTagsForResourceResponse < Struct.new(
1011
+ :tags)
1012
+ SENSITIVE = []
1013
+ include Aws::Structure
1014
+ end
1015
+
1016
+ # Defines filters and pagination parameters for retrieving WorkSpaces
1017
+ # Instances.
1018
+ #
1019
+ # @!attribute [rw] provision_states
1020
+ # Filter WorkSpaces Instances by their current provisioning states.
1021
+ # @return [Array<String>]
1022
+ #
1023
+ # @!attribute [rw] max_results
1024
+ # Maximum number of WorkSpaces Instances to return in a single
1025
+ # response.
1026
+ # @return [Integer]
1027
+ #
1028
+ # @!attribute [rw] next_token
1029
+ # Pagination token for retrieving subsequent pages of WorkSpaces
1030
+ # Instances.
1031
+ # @return [String]
1032
+ #
1033
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListWorkspaceInstancesRequest AWS API Documentation
1034
+ #
1035
+ class ListWorkspaceInstancesRequest < Struct.new(
1036
+ :provision_states,
1037
+ :max_results,
1038
+ :next_token)
1039
+ SENSITIVE = [:next_token]
1040
+ include Aws::Structure
1041
+ end
1042
+
1043
+ # Contains the list of WorkSpaces Instances matching the specified
1044
+ # criteria.
1045
+ #
1046
+ # @!attribute [rw] workspace_instances
1047
+ # Collection of WorkSpaces Instances returned by the query.
1048
+ # @return [Array<Types::WorkspaceInstance>]
1049
+ #
1050
+ # @!attribute [rw] next_token
1051
+ # Token for retrieving additional WorkSpaces Instances if the result
1052
+ # set is paginated.
1053
+ # @return [String]
1054
+ #
1055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListWorkspaceInstancesResponse AWS API Documentation
1056
+ #
1057
+ class ListWorkspaceInstancesResponse < Struct.new(
1058
+ :workspace_instances,
1059
+ :next_token)
1060
+ SENSITIVE = [:next_token]
1061
+ include Aws::Structure
1062
+ end
1063
+
1064
+ # Defines comprehensive configuration for a managed WorkSpace Instance.
1065
+ #
1066
+ # @!attribute [rw] block_device_mappings
1067
+ # Configures block device mappings for storage.
1068
+ # @return [Array<Types::BlockDeviceMappingRequest>]
1069
+ #
1070
+ # @!attribute [rw] capacity_reservation_specification
1071
+ # Specifies capacity reservation preferences.
1072
+ # @return [Types::CapacityReservationSpecification]
1073
+ #
1074
+ # @!attribute [rw] cpu_options
1075
+ # Configures CPU-specific settings.
1076
+ # @return [Types::CpuOptionsRequest]
1077
+ #
1078
+ # @!attribute [rw] credit_specification
1079
+ # Defines CPU credit configuration for burstable instances.
1080
+ # @return [Types::CreditSpecificationRequest]
1081
+ #
1082
+ # @!attribute [rw] disable_api_stop
1083
+ # Prevents API-initiated instance stop.
1084
+ # @return [Boolean]
1085
+ #
1086
+ # @!attribute [rw] ebs_optimized
1087
+ # Enables optimized EBS performance.
1088
+ # @return [Boolean]
1089
+ #
1090
+ # @!attribute [rw] enable_primary_ipv_6
1091
+ # Enables primary IPv6 address configuration.
1092
+ # @return [Boolean]
1093
+ #
1094
+ # @!attribute [rw] enclave_options
1095
+ # Configures AWS Nitro Enclave settings.
1096
+ # @return [Types::EnclaveOptionsRequest]
1097
+ #
1098
+ # @!attribute [rw] hibernation_options
1099
+ # Configures instance hibernation capabilities.
1100
+ # @return [Types::HibernationOptionsRequest]
1101
+ #
1102
+ # @!attribute [rw] iam_instance_profile
1103
+ # Specifies IAM instance profile configuration.
1104
+ # @return [Types::IamInstanceProfileSpecification]
1105
+ #
1106
+ # @!attribute [rw] image_id
1107
+ # Identifies the Amazon Machine Image (AMI) for the instance.
1108
+ # @return [String]
1109
+ #
1110
+ # @!attribute [rw] instance_market_options
1111
+ # Configures marketplace-specific deployment options.
1112
+ # @return [Types::InstanceMarketOptionsRequest]
1113
+ #
1114
+ # @!attribute [rw] instance_type
1115
+ # Specifies the WorkSpace Instance type.
1116
+ # @return [String]
1117
+ #
1118
+ # @!attribute [rw] ipv_6_addresses
1119
+ # Configures specific IPv6 addresses.
1120
+ # @return [Array<Types::InstanceIpv6Address>]
1121
+ #
1122
+ # @!attribute [rw] ipv_6_address_count
1123
+ # Specifies number of IPv6 addresses to assign.
1124
+ # @return [Integer]
1125
+ #
1126
+ # @!attribute [rw] kernel_id
1127
+ # Identifies the kernel for the instance.
1128
+ # @return [String]
1129
+ #
1130
+ # @!attribute [rw] key_name
1131
+ # Specifies the key pair for instance access.
1132
+ # @return [String]
1133
+ #
1134
+ # @!attribute [rw] license_specifications
1135
+ # Configures license-related settings.
1136
+ # @return [Array<Types::LicenseConfigurationRequest>]
1137
+ #
1138
+ # @!attribute [rw] maintenance_options
1139
+ # Defines automatic maintenance settings.
1140
+ # @return [Types::InstanceMaintenanceOptionsRequest]
1141
+ #
1142
+ # @!attribute [rw] metadata_options
1143
+ # Configures instance metadata service settings.
1144
+ # @return [Types::InstanceMetadataOptionsRequest]
1145
+ #
1146
+ # @!attribute [rw] monitoring
1147
+ # Enables or disables detailed instance monitoring.
1148
+ # @return [Types::RunInstancesMonitoringEnabled]
1149
+ #
1150
+ # @!attribute [rw] network_interfaces
1151
+ # Configures network interface settings.
1152
+ # @return [Array<Types::InstanceNetworkInterfaceSpecification>]
1153
+ #
1154
+ # @!attribute [rw] network_performance_options
1155
+ # Defines network performance configuration.
1156
+ # @return [Types::InstanceNetworkPerformanceOptionsRequest]
1157
+ #
1158
+ # @!attribute [rw] placement
1159
+ # Specifies instance placement preferences.
1160
+ # @return [Types::Placement]
1161
+ #
1162
+ # @!attribute [rw] private_dns_name_options
1163
+ # Configures private DNS name settings.
1164
+ # @return [Types::PrivateDnsNameOptionsRequest]
1165
+ #
1166
+ # @!attribute [rw] private_ip_address
1167
+ # Specifies the primary private IP address.
1168
+ # @return [String]
1169
+ #
1170
+ # @!attribute [rw] ramdisk_id
1171
+ # Identifies the ramdisk for the instance.
1172
+ # @return [String]
1173
+ #
1174
+ # @!attribute [rw] security_group_ids
1175
+ # Specifies security group identifiers.
1176
+ # @return [Array<String>]
1177
+ #
1178
+ # @!attribute [rw] security_groups
1179
+ # Configures security group settings.
1180
+ # @return [Array<String>]
1181
+ #
1182
+ # @!attribute [rw] subnet_id
1183
+ # Identifies the subnet for the instance.
1184
+ # @return [String]
1185
+ #
1186
+ # @!attribute [rw] tag_specifications
1187
+ # Configures resource tagging specifications.
1188
+ # @return [Array<Types::TagSpecification>]
1189
+ #
1190
+ # @!attribute [rw] user_data
1191
+ # Provides custom initialization data for the instance.
1192
+ # @return [String]
1193
+ #
1194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ManagedInstanceRequest AWS API Documentation
1195
+ #
1196
+ class ManagedInstanceRequest < Struct.new(
1197
+ :block_device_mappings,
1198
+ :capacity_reservation_specification,
1199
+ :cpu_options,
1200
+ :credit_specification,
1201
+ :disable_api_stop,
1202
+ :ebs_optimized,
1203
+ :enable_primary_ipv_6,
1204
+ :enclave_options,
1205
+ :hibernation_options,
1206
+ :iam_instance_profile,
1207
+ :image_id,
1208
+ :instance_market_options,
1209
+ :instance_type,
1210
+ :ipv_6_addresses,
1211
+ :ipv_6_address_count,
1212
+ :kernel_id,
1213
+ :key_name,
1214
+ :license_specifications,
1215
+ :maintenance_options,
1216
+ :metadata_options,
1217
+ :monitoring,
1218
+ :network_interfaces,
1219
+ :network_performance_options,
1220
+ :placement,
1221
+ :private_dns_name_options,
1222
+ :private_ip_address,
1223
+ :ramdisk_id,
1224
+ :security_group_ids,
1225
+ :security_groups,
1226
+ :subnet_id,
1227
+ :tag_specifications,
1228
+ :user_data)
1229
+ SENSITIVE = [:private_ip_address, :user_data]
1230
+ include Aws::Structure
1231
+ end
1232
+
1233
+ # Defines instance placement configuration for WorkSpace Instance.
1234
+ #
1235
+ # @!attribute [rw] affinity
1236
+ # Specifies host affinity for dedicated instances.
1237
+ # @return [String]
1238
+ #
1239
+ # @!attribute [rw] availability_zone
1240
+ # Identifies the specific AWS availability zone.
1241
+ # @return [String]
1242
+ #
1243
+ # @!attribute [rw] group_id
1244
+ # Unique identifier for placement group.
1245
+ # @return [String]
1246
+ #
1247
+ # @!attribute [rw] group_name
1248
+ # Name of the placement group.
1249
+ # @return [String]
1250
+ #
1251
+ # @!attribute [rw] host_id
1252
+ # Identifies the specific dedicated host.
1253
+ # @return [String]
1254
+ #
1255
+ # @!attribute [rw] host_resource_group_arn
1256
+ # ARN of the host resource group.
1257
+ # @return [String]
1258
+ #
1259
+ # @!attribute [rw] partition_number
1260
+ # Specifies partition number for partition placement groups.
1261
+ # @return [Integer]
1262
+ #
1263
+ # @!attribute [rw] tenancy
1264
+ # Defines instance tenancy configuration.
1265
+ # @return [String]
1266
+ #
1267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/Placement AWS API Documentation
1268
+ #
1269
+ class Placement < Struct.new(
1270
+ :affinity,
1271
+ :availability_zone,
1272
+ :group_id,
1273
+ :group_name,
1274
+ :host_id,
1275
+ :host_resource_group_arn,
1276
+ :partition_number,
1277
+ :tenancy)
1278
+ SENSITIVE = []
1279
+ include Aws::Structure
1280
+ end
1281
+
1282
+ # Configures private DNS name settings for WorkSpace Instance.
1283
+ #
1284
+ # @!attribute [rw] hostname_type
1285
+ # Specifies the type of hostname configuration.
1286
+ # @return [String]
1287
+ #
1288
+ # @!attribute [rw] enable_resource_name_dns_a_record
1289
+ # Enables DNS A record for resource name resolution.
1290
+ # @return [Boolean]
1291
+ #
1292
+ # @!attribute [rw] enable_resource_name_dns_aaaa_record
1293
+ # Enables DNS AAAA record for resource name resolution.
1294
+ # @return [Boolean]
1295
+ #
1296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/PrivateDnsNameOptionsRequest AWS API Documentation
1297
+ #
1298
+ class PrivateDnsNameOptionsRequest < Struct.new(
1299
+ :hostname_type,
1300
+ :enable_resource_name_dns_a_record,
1301
+ :enable_resource_name_dns_aaaa_record)
1302
+ SENSITIVE = []
1303
+ include Aws::Structure
1304
+ end
1305
+
1306
+ # Defines private IP address configuration for network interface.
1307
+ #
1308
+ # @!attribute [rw] primary
1309
+ # Indicates if this is the primary private IP address.
1310
+ # @return [Boolean]
1311
+ #
1312
+ # @!attribute [rw] private_ip_address
1313
+ # Specific private IP address for the network interface.
1314
+ # @return [String]
1315
+ #
1316
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/PrivateIpAddressSpecification AWS API Documentation
1317
+ #
1318
+ class PrivateIpAddressSpecification < Struct.new(
1319
+ :primary,
1320
+ :private_ip_address)
1321
+ SENSITIVE = [:private_ip_address]
1322
+ include Aws::Structure
1323
+ end
1324
+
1325
+ # Represents an AWS region supported by WorkSpaces Instances.
1326
+ #
1327
+ # @!attribute [rw] region_name
1328
+ # Name of the AWS region.
1329
+ # @return [String]
1330
+ #
1331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/Region AWS API Documentation
1332
+ #
1333
+ class Region < Struct.new(
1334
+ :region_name)
1335
+ SENSITIVE = []
1336
+ include Aws::Structure
1337
+ end
1338
+
1339
+ # Indicates the requested resource could not be found.
1340
+ #
1341
+ # @!attribute [rw] message
1342
+ # Details about the missing resource.
1343
+ # @return [String]
1344
+ #
1345
+ # @!attribute [rw] resource_id
1346
+ # Identifier of the resource that was not found.
1347
+ # @return [String]
1348
+ #
1349
+ # @!attribute [rw] resource_type
1350
+ # Type of the resource that was not found.
1351
+ # @return [String]
1352
+ #
1353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ResourceNotFoundException AWS API Documentation
1354
+ #
1355
+ class ResourceNotFoundException < Struct.new(
1356
+ :message,
1357
+ :resource_id,
1358
+ :resource_type)
1359
+ SENSITIVE = []
1360
+ include Aws::Structure
1361
+ end
1362
+
1363
+ # Configures detailed monitoring for WorkSpace Instance.
1364
+ #
1365
+ # @!attribute [rw] enabled
1366
+ # Enables or disables detailed instance monitoring.
1367
+ # @return [Boolean]
1368
+ #
1369
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/RunInstancesMonitoringEnabled AWS API Documentation
1370
+ #
1371
+ class RunInstancesMonitoringEnabled < Struct.new(
1372
+ :enabled)
1373
+ SENSITIVE = []
1374
+ include Aws::Structure
1375
+ end
1376
+
1377
+ # Indicates that a service quota has been exceeded.
1378
+ #
1379
+ # @!attribute [rw] message
1380
+ # Description of the quota limitation.
1381
+ # @return [String]
1382
+ #
1383
+ # @!attribute [rw] resource_id
1384
+ # Identifier of the resource related to the quota.
1385
+ # @return [String]
1386
+ #
1387
+ # @!attribute [rw] resource_type
1388
+ # Type of resource related to the quota.
1389
+ # @return [String]
1390
+ #
1391
+ # @!attribute [rw] service_code
1392
+ # Code identifying the service with the quota limitation.
1393
+ # @return [String]
1394
+ #
1395
+ # @!attribute [rw] quota_code
1396
+ # Specific code for the exceeded quota.
1397
+ # @return [String]
1398
+ #
1399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ServiceQuotaExceededException AWS API Documentation
1400
+ #
1401
+ class ServiceQuotaExceededException < Struct.new(
1402
+ :message,
1403
+ :resource_id,
1404
+ :resource_type,
1405
+ :service_code,
1406
+ :quota_code)
1407
+ SENSITIVE = []
1408
+ include Aws::Structure
1409
+ end
1410
+
1411
+ # Defines configuration for spot instance deployment.
1412
+ #
1413
+ # @!attribute [rw] block_duration_minutes
1414
+ # Duration of spot instance block reservation.
1415
+ # @return [Integer]
1416
+ #
1417
+ # @!attribute [rw] instance_interruption_behavior
1418
+ # Specifies behavior when spot instance is interrupted.
1419
+ # @return [String]
1420
+ #
1421
+ # @!attribute [rw] max_price
1422
+ # Maximum hourly price for spot instance.
1423
+ # @return [String]
1424
+ #
1425
+ # @!attribute [rw] spot_instance_type
1426
+ # Defines the type of spot instance request.
1427
+ # @return [String]
1428
+ #
1429
+ # @!attribute [rw] valid_until_utc
1430
+ # Timestamp until which spot instance request is valid.
1431
+ # @return [Time]
1432
+ #
1433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/SpotMarketOptions AWS API Documentation
1434
+ #
1435
+ class SpotMarketOptions < Struct.new(
1436
+ :block_duration_minutes,
1437
+ :instance_interruption_behavior,
1438
+ :max_price,
1439
+ :spot_instance_type,
1440
+ :valid_until_utc)
1441
+ SENSITIVE = []
1442
+ include Aws::Structure
1443
+ end
1444
+
1445
+ # Represents a key-value metadata tag.
1446
+ #
1447
+ # @!attribute [rw] key
1448
+ # Unique identifier for the tag.
1449
+ # @return [String]
1450
+ #
1451
+ # @!attribute [rw] value
1452
+ # Value associated with the tag key.
1453
+ # @return [String]
1454
+ #
1455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/Tag AWS API Documentation
1456
+ #
1457
+ class Tag < Struct.new(
1458
+ :key,
1459
+ :value)
1460
+ SENSITIVE = []
1461
+ include Aws::Structure
1462
+ end
1463
+
1464
+ # Specifies tags to add to a WorkSpace Instance.
1465
+ #
1466
+ # @!attribute [rw] workspace_instance_id
1467
+ # Unique identifier of the WorkSpace Instance to tag.
1468
+ # @return [String]
1469
+ #
1470
+ # @!attribute [rw] tags
1471
+ # Tags to be added to the WorkSpace Instance.
1472
+ # @return [Array<Types::Tag>]
1473
+ #
1474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/TagResourceRequest AWS API Documentation
1475
+ #
1476
+ class TagResourceRequest < Struct.new(
1477
+ :workspace_instance_id,
1478
+ :tags)
1479
+ SENSITIVE = []
1480
+ include Aws::Structure
1481
+ end
1482
+
1483
+ # Confirms successful tag addition.
1484
+ #
1485
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/TagResourceResponse AWS API Documentation
1486
+ #
1487
+ class TagResourceResponse < Aws::EmptyStructure; end
1488
+
1489
+ # Defines tagging configuration for a resource.
1490
+ #
1491
+ # @!attribute [rw] resource_type
1492
+ # Type of resource being tagged.
1493
+ # @return [String]
1494
+ #
1495
+ # @!attribute [rw] tags
1496
+ # Collection of tags for the specified resource.
1497
+ # @return [Array<Types::Tag>]
1498
+ #
1499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/TagSpecification AWS API Documentation
1500
+ #
1501
+ class TagSpecification < Struct.new(
1502
+ :resource_type,
1503
+ :tags)
1504
+ SENSITIVE = []
1505
+ include Aws::Structure
1506
+ end
1507
+
1508
+ # Indicates the request rate has exceeded limits.
1509
+ #
1510
+ # @!attribute [rw] message
1511
+ # Description of the throttling event.
1512
+ # @return [String]
1513
+ #
1514
+ # @!attribute [rw] service_code
1515
+ # Code identifying the service experiencing throttling.
1516
+ # @return [String]
1517
+ #
1518
+ # @!attribute [rw] quota_code
1519
+ # Specific code for the throttling quota.
1520
+ # @return [String]
1521
+ #
1522
+ # @!attribute [rw] retry_after_seconds
1523
+ # Recommended wait time before retrying the request.
1524
+ # @return [Integer]
1525
+ #
1526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ThrottlingException AWS API Documentation
1527
+ #
1528
+ class ThrottlingException < Struct.new(
1529
+ :message,
1530
+ :service_code,
1531
+ :quota_code,
1532
+ :retry_after_seconds)
1533
+ SENSITIVE = []
1534
+ include Aws::Structure
1535
+ end
1536
+
1537
+ # Specifies tags to remove from a WorkSpace Instance.
1538
+ #
1539
+ # @!attribute [rw] workspace_instance_id
1540
+ # Unique identifier of the WorkSpace Instance to untag.
1541
+ # @return [String]
1542
+ #
1543
+ # @!attribute [rw] tag_keys
1544
+ # Keys of tags to be removed.
1545
+ # @return [Array<String>]
1546
+ #
1547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/UntagResourceRequest AWS API Documentation
1548
+ #
1549
+ class UntagResourceRequest < Struct.new(
1550
+ :workspace_instance_id,
1551
+ :tag_keys)
1552
+ SENSITIVE = []
1553
+ include Aws::Structure
1554
+ end
1555
+
1556
+ # Confirms successful tag removal.
1557
+ #
1558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/UntagResourceResponse AWS API Documentation
1559
+ #
1560
+ class UntagResourceResponse < Aws::EmptyStructure; end
1561
+
1562
+ # Indicates invalid input parameters in the request.
1563
+ #
1564
+ # @!attribute [rw] message
1565
+ # Overall description of validation failures.
1566
+ # @return [String]
1567
+ #
1568
+ # @!attribute [rw] reason
1569
+ # Specific reason for the validation failure.
1570
+ # @return [String]
1571
+ #
1572
+ # @!attribute [rw] field_list
1573
+ # List of fields that failed validation.
1574
+ # @return [Array<Types::ValidationExceptionField>]
1575
+ #
1576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ValidationException AWS API Documentation
1577
+ #
1578
+ class ValidationException < Struct.new(
1579
+ :message,
1580
+ :reason,
1581
+ :field_list)
1582
+ SENSITIVE = []
1583
+ include Aws::Structure
1584
+ end
1585
+
1586
+ # Represents a validation error field in an API request.
1587
+ #
1588
+ # @!attribute [rw] name
1589
+ # Name of the field that failed validation.
1590
+ # @return [String]
1591
+ #
1592
+ # @!attribute [rw] reason
1593
+ # Reason for the validation failure.
1594
+ # @return [String]
1595
+ #
1596
+ # @!attribute [rw] message
1597
+ # Detailed error message describing the validation issue.
1598
+ # @return [String]
1599
+ #
1600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ValidationExceptionField AWS API Documentation
1601
+ #
1602
+ class ValidationExceptionField < Struct.new(
1603
+ :name,
1604
+ :reason,
1605
+ :message)
1606
+ SENSITIVE = []
1607
+ include Aws::Structure
1608
+ end
1609
+
1610
+ # Represents a single WorkSpace Instance.
1611
+ #
1612
+ # @!attribute [rw] provision_state
1613
+ # Current provisioning state of the WorkSpace Instance.
1614
+ # @return [String]
1615
+ #
1616
+ # @!attribute [rw] workspace_instance_id
1617
+ # Unique identifier for the WorkSpace Instance.
1618
+ # @return [String]
1619
+ #
1620
+ # @!attribute [rw] ec2_managed_instance
1621
+ # Details of the associated EC2 managed instance.
1622
+ # @return [Types::EC2ManagedInstance]
1623
+ #
1624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/WorkspaceInstance AWS API Documentation
1625
+ #
1626
+ class WorkspaceInstance < Struct.new(
1627
+ :provision_state,
1628
+ :workspace_instance_id,
1629
+ :ec2_managed_instance)
1630
+ SENSITIVE = []
1631
+ include Aws::Structure
1632
+ end
1633
+
1634
+ # Captures errors specific to WorkSpace Instance operations.
1635
+ #
1636
+ # @!attribute [rw] error_code
1637
+ # Unique error code for the WorkSpace Instance error.
1638
+ # @return [String]
1639
+ #
1640
+ # @!attribute [rw] error_message
1641
+ # Detailed description of the WorkSpace Instance error.
1642
+ # @return [String]
1643
+ #
1644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/WorkspaceInstanceError AWS API Documentation
1645
+ #
1646
+ class WorkspaceInstanceError < Struct.new(
1647
+ :error_code,
1648
+ :error_message)
1649
+ SENSITIVE = []
1650
+ include Aws::Structure
1651
+ end
1652
+
1653
+ end
1654
+ end
1655
+