aws-sdk-appstream 1.60.0 → 1.80.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.
@@ -18,14 +18,6 @@ module Aws::AppStream
18
18
  # an image builder, administrators can connect to the image builder only
19
19
  # through that endpoint.
20
20
  #
21
- # @note When making an API call, you may pass AccessEndpoint
22
- # data as a hash:
23
- #
24
- # {
25
- # endpoint_type: "STREAMING", # required, accepts STREAMING
26
- # vpce_id: "String",
27
- # }
28
- #
29
21
  # @!attribute [rw] endpoint_type
30
22
  # The type of interface endpoint.
31
23
  # @return [String]
@@ -77,12 +69,40 @@ module Aws::AppStream
77
69
  #
78
70
  # @!attribute [rw] setup_script_details
79
71
  # The setup script details of the app block.
72
+ #
73
+ # This only applies to app blocks with PackagingType `CUSTOM`.
80
74
  # @return [Types::ScriptDetails]
81
75
  #
82
76
  # @!attribute [rw] created_time
83
77
  # The created time of the app block.
84
78
  # @return [Time]
85
79
  #
80
+ # @!attribute [rw] post_setup_script_details
81
+ # The post setup script details of the app block.
82
+ #
83
+ # This only applies to app blocks with PackagingType `APPSTREAM2`.
84
+ # @return [Types::ScriptDetails]
85
+ #
86
+ # @!attribute [rw] packaging_type
87
+ # The packaging type of the app block.
88
+ # @return [String]
89
+ #
90
+ # @!attribute [rw] state
91
+ # The state of the app block.
92
+ #
93
+ # An app block with AppStream 2.0 packaging will be in the `INACTIVE`
94
+ # state if no application package (VHD) is assigned to it. After an
95
+ # application package (VHD) is created by an app block builder for an
96
+ # app block, it becomes `ACTIVE`.
97
+ #
98
+ # Custom app blocks are always in the `ACTIVE` state and no action is
99
+ # required to use them.
100
+ # @return [String]
101
+ #
102
+ # @!attribute [rw] app_block_errors
103
+ # The errors of the app block.
104
+ # @return [Array<Types::ErrorDetails>]
105
+ #
86
106
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AppBlock AWS API Documentation
87
107
  #
88
108
  class AppBlock < Struct.new(
@@ -92,7 +112,134 @@ module Aws::AppStream
92
112
  :display_name,
93
113
  :source_s3_location,
94
114
  :setup_script_details,
95
- :created_time)
115
+ :created_time,
116
+ :post_setup_script_details,
117
+ :packaging_type,
118
+ :state,
119
+ :app_block_errors)
120
+ SENSITIVE = []
121
+ include Aws::Structure
122
+ end
123
+
124
+ # Describes an app block builder.
125
+ #
126
+ # @!attribute [rw] arn
127
+ # The ARN of the app block builder.
128
+ # @return [String]
129
+ #
130
+ # @!attribute [rw] name
131
+ # The name of the app block builder.
132
+ # @return [String]
133
+ #
134
+ # @!attribute [rw] display_name
135
+ # The display name of the app block builder.
136
+ # @return [String]
137
+ #
138
+ # @!attribute [rw] description
139
+ # The description of the app block builder.
140
+ # @return [String]
141
+ #
142
+ # @!attribute [rw] platform
143
+ # The platform of the app block builder.
144
+ #
145
+ # `WINDOWS_SERVER_2019` is the only valid value.
146
+ # @return [String]
147
+ #
148
+ # @!attribute [rw] instance_type
149
+ # The instance type of the app block builder.
150
+ # @return [String]
151
+ #
152
+ # @!attribute [rw] enable_default_internet_access
153
+ # Indicates whether default internet access is enabled for the app
154
+ # block builder.
155
+ # @return [Boolean]
156
+ #
157
+ # @!attribute [rw] iam_role_arn
158
+ # The ARN of the IAM role that is applied to the app block builder.
159
+ # @return [String]
160
+ #
161
+ # @!attribute [rw] vpc_config
162
+ # The VPC configuration for the app block builder.
163
+ # @return [Types::VpcConfig]
164
+ #
165
+ # @!attribute [rw] state
166
+ # The state of the app block builder.
167
+ # @return [String]
168
+ #
169
+ # @!attribute [rw] created_time
170
+ # The creation time of the app block builder.
171
+ # @return [Time]
172
+ #
173
+ # @!attribute [rw] app_block_builder_errors
174
+ # The app block builder errors.
175
+ # @return [Array<Types::ResourceError>]
176
+ #
177
+ # @!attribute [rw] state_change_reason
178
+ # The state change reason.
179
+ # @return [Types::AppBlockBuilderStateChangeReason]
180
+ #
181
+ # @!attribute [rw] access_endpoints
182
+ # The list of interface VPC endpoint (interface endpoint) objects.
183
+ # Administrators can connect to the app block builder only through the
184
+ # specified endpoints.
185
+ # @return [Array<Types::AccessEndpoint>]
186
+ #
187
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AppBlockBuilder AWS API Documentation
188
+ #
189
+ class AppBlockBuilder < Struct.new(
190
+ :arn,
191
+ :name,
192
+ :display_name,
193
+ :description,
194
+ :platform,
195
+ :instance_type,
196
+ :enable_default_internet_access,
197
+ :iam_role_arn,
198
+ :vpc_config,
199
+ :state,
200
+ :created_time,
201
+ :app_block_builder_errors,
202
+ :state_change_reason,
203
+ :access_endpoints)
204
+ SENSITIVE = []
205
+ include Aws::Structure
206
+ end
207
+
208
+ # Describes an association between an app block builder and app block.
209
+ #
210
+ # @!attribute [rw] app_block_arn
211
+ # The ARN of the app block.
212
+ # @return [String]
213
+ #
214
+ # @!attribute [rw] app_block_builder_name
215
+ # The name of the app block builder.
216
+ # @return [String]
217
+ #
218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AppBlockBuilderAppBlockAssociation AWS API Documentation
219
+ #
220
+ class AppBlockBuilderAppBlockAssociation < Struct.new(
221
+ :app_block_arn,
222
+ :app_block_builder_name)
223
+ SENSITIVE = []
224
+ include Aws::Structure
225
+ end
226
+
227
+ # Describes the reason why the last app block builder state change
228
+ # occurred.
229
+ #
230
+ # @!attribute [rw] code
231
+ # The state change reason code.
232
+ # @return [String]
233
+ #
234
+ # @!attribute [rw] message
235
+ # The state change reason message.
236
+ # @return [String]
237
+ #
238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AppBlockBuilderStateChangeReason AWS API Documentation
239
+ #
240
+ class AppBlockBuilderStateChangeReason < Struct.new(
241
+ :code,
242
+ :message)
96
243
  SENSITIVE = []
97
244
  include Aws::Structure
98
245
  end
@@ -203,14 +350,6 @@ module Aws::AppStream
203
350
 
204
351
  # The persistent application settings for users of a stack.
205
352
  #
206
- # @note When making an API call, you may pass ApplicationSettings
207
- # data as a hash:
208
- #
209
- # {
210
- # enabled: false, # required
211
- # settings_group: "SettingsGroup",
212
- # }
213
- #
214
353
  # @!attribute [rw] enabled
215
354
  # Enables or disables persistent application settings for users during
216
355
  # their streaming sessions.
@@ -261,14 +400,35 @@ module Aws::AppStream
261
400
  include Aws::Structure
262
401
  end
263
402
 
264
- # @note When making an API call, you may pass AssociateApplicationFleetRequest
265
- # data as a hash:
403
+ # @!attribute [rw] app_block_arn
404
+ # The ARN of the app block.
405
+ # @return [String]
406
+ #
407
+ # @!attribute [rw] app_block_builder_name
408
+ # The name of the app block builder.
409
+ # @return [String]
410
+ #
411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateAppBlockBuilderAppBlockRequest AWS API Documentation
412
+ #
413
+ class AssociateAppBlockBuilderAppBlockRequest < Struct.new(
414
+ :app_block_arn,
415
+ :app_block_builder_name)
416
+ SENSITIVE = []
417
+ include Aws::Structure
418
+ end
419
+
420
+ # @!attribute [rw] app_block_builder_app_block_association
421
+ # The list of app block builders associated with app blocks.
422
+ # @return [Types::AppBlockBuilderAppBlockAssociation]
266
423
  #
267
- # {
268
- # fleet_name: "Name", # required
269
- # application_arn: "Arn", # required
270
- # }
424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateAppBlockBuilderAppBlockResult AWS API Documentation
271
425
  #
426
+ class AssociateAppBlockBuilderAppBlockResult < Struct.new(
427
+ :app_block_builder_app_block_association)
428
+ SENSITIVE = []
429
+ include Aws::Structure
430
+ end
431
+
272
432
  # @!attribute [rw] fleet_name
273
433
  # The name of the fleet.
274
434
  # @return [String]
@@ -300,14 +460,32 @@ module Aws::AppStream
300
460
  include Aws::Structure
301
461
  end
302
462
 
303
- # @note When making an API call, you may pass AssociateFleetRequest
304
- # data as a hash:
463
+ # @!attribute [rw] stack_name
464
+ # The name of the stack.
465
+ # @return [String]
466
+ #
467
+ # @!attribute [rw] entitlement_name
468
+ # The name of the entitlement.
469
+ # @return [String]
305
470
  #
306
- # {
307
- # fleet_name: "String", # required
308
- # stack_name: "String", # required
309
- # }
471
+ # @!attribute [rw] application_identifier
472
+ # The identifier of the application.
473
+ # @return [String]
474
+ #
475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateApplicationToEntitlementRequest AWS API Documentation
476
+ #
477
+ class AssociateApplicationToEntitlementRequest < Struct.new(
478
+ :stack_name,
479
+ :entitlement_name,
480
+ :application_identifier)
481
+ SENSITIVE = []
482
+ include Aws::Structure
483
+ end
484
+
485
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateApplicationToEntitlementResult AWS API Documentation
310
486
  #
487
+ class AssociateApplicationToEntitlementResult < Aws::EmptyStructure; end
488
+
311
489
  # @!attribute [rw] fleet_name
312
490
  # The name of the fleet.
313
491
  # @return [String]
@@ -329,20 +507,6 @@ module Aws::AppStream
329
507
  #
330
508
  class AssociateFleetResult < Aws::EmptyStructure; end
331
509
 
332
- # @note When making an API call, you may pass BatchAssociateUserStackRequest
333
- # data as a hash:
334
- #
335
- # {
336
- # user_stack_associations: [ # required
337
- # {
338
- # stack_name: "String", # required
339
- # user_name: "Username", # required
340
- # authentication_type: "API", # required, accepts API, SAML, USERPOOL
341
- # send_email_notification: false,
342
- # },
343
- # ],
344
- # }
345
- #
346
510
  # @!attribute [rw] user_stack_associations
347
511
  # The list of UserStackAssociation objects.
348
512
  # @return [Array<Types::UserStackAssociation>]
@@ -367,20 +531,6 @@ module Aws::AppStream
367
531
  include Aws::Structure
368
532
  end
369
533
 
370
- # @note When making an API call, you may pass BatchDisassociateUserStackRequest
371
- # data as a hash:
372
- #
373
- # {
374
- # user_stack_associations: [ # required
375
- # {
376
- # stack_name: "String", # required
377
- # user_name: "Username", # required
378
- # authentication_type: "API", # required, accepts API, SAML, USERPOOL
379
- # send_email_notification: false,
380
- # },
381
- # ],
382
- # }
383
- #
384
534
  # @!attribute [rw] user_stack_associations
385
535
  # The list of UserStackAssociation objects.
386
536
  # @return [Array<Types::UserStackAssociation>]
@@ -405,23 +555,54 @@ module Aws::AppStream
405
555
  include Aws::Structure
406
556
  end
407
557
 
408
- # Describes the capacity for a fleet.
558
+ # The certificate-based authentication properties used to authenticate
559
+ # SAML 2.0 Identity Provider (IdP) user identities to Active Directory
560
+ # domain-joined streaming instances. Fallback is turned on by default
561
+ # when certificate-based authentication is **Enabled** . Fallback allows
562
+ # users to log in using their AD domain password if certificate-based
563
+ # authentication is unsuccessful, or to unlock a desktop lock screen.
564
+ # **Enabled\_no\_directory\_login\_fallback** enables certificate-based
565
+ # authentication, but does not allow users to log in using their AD
566
+ # domain password. Users will be disconnected to re-authenticate using
567
+ # certificates.
568
+ #
569
+ # @!attribute [rw] status
570
+ # The status of the certificate-based authentication properties.
571
+ # @return [String]
572
+ #
573
+ # @!attribute [rw] certificate_authority_arn
574
+ # The ARN of the AWS Certificate Manager Private CA resource.
575
+ # @return [String]
409
576
  #
410
- # @note When making an API call, you may pass ComputeCapacity
411
- # data as a hash:
577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CertificateBasedAuthProperties AWS API Documentation
412
578
  #
413
- # {
414
- # desired_instances: 1, # required
415
- # }
579
+ class CertificateBasedAuthProperties < Struct.new(
580
+ :status,
581
+ :certificate_authority_arn)
582
+ SENSITIVE = []
583
+ include Aws::Structure
584
+ end
585
+
586
+ # Describes the capacity for a fleet.
416
587
  #
417
588
  # @!attribute [rw] desired_instances
418
589
  # The desired number of streaming instances.
419
590
  # @return [Integer]
420
591
  #
592
+ # @!attribute [rw] desired_sessions
593
+ # The desired number of user sessions for a multi-session fleet. This
594
+ # is not allowed for single-session fleets.
595
+ #
596
+ # When you create a fleet, you must set either the DesiredSessions or
597
+ # DesiredInstances attribute, based on the type of fleet you create.
598
+ # You can’t define both attributes or leave both attributes blank.
599
+ # @return [Integer]
600
+ #
421
601
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ComputeCapacity AWS API Documentation
422
602
  #
423
603
  class ComputeCapacity < Struct.new(
424
- :desired_instances)
604
+ :desired_instances,
605
+ :desired_sessions)
425
606
  SENSITIVE = []
426
607
  include Aws::Structure
427
608
  end
@@ -446,13 +627,53 @@ module Aws::AppStream
446
627
  # stream sessions.
447
628
  # @return [Integer]
448
629
  #
630
+ # @!attribute [rw] desired_user_sessions
631
+ # The total number of sessions slots that are either running or
632
+ # pending. This represents the total number of concurrent streaming
633
+ # sessions your fleet can support in a steady state.
634
+ #
635
+ # DesiredUserSessionCapacity = ActualUserSessionCapacity +
636
+ # PendingUserSessionCapacity
637
+ #
638
+ # This only applies to multi-session fleets.
639
+ # @return [Integer]
640
+ #
641
+ # @!attribute [rw] available_user_sessions
642
+ # The number of idle session slots currently available for user
643
+ # sessions.
644
+ #
645
+ # AvailableUserSessionCapacity = ActualUserSessionCapacity -
646
+ # ActiveUserSessions
647
+ #
648
+ # This only applies to multi-session fleets.
649
+ # @return [Integer]
650
+ #
651
+ # @!attribute [rw] active_user_sessions
652
+ # The number of user sessions currently being used for streaming
653
+ # sessions. This only applies to multi-session fleets.
654
+ # @return [Integer]
655
+ #
656
+ # @!attribute [rw] actual_user_sessions
657
+ # The total number of session slots that are available for streaming
658
+ # or are currently streaming.
659
+ #
660
+ # ActualUserSessionCapacity = AvailableUserSessionCapacity +
661
+ # ActiveUserSessions
662
+ #
663
+ # This only applies to multi-session fleets.
664
+ # @return [Integer]
665
+ #
449
666
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ComputeCapacityStatus AWS API Documentation
450
667
  #
451
668
  class ComputeCapacityStatus < Struct.new(
452
669
  :desired,
453
670
  :running,
454
671
  :in_use,
455
- :available)
672
+ :available,
673
+ :desired_user_sessions,
674
+ :available_user_sessions,
675
+ :active_user_sessions,
676
+ :actual_user_sessions)
456
677
  SENSITIVE = []
457
678
  include Aws::Structure
458
679
  end
@@ -471,16 +692,6 @@ module Aws::AppStream
471
692
  include Aws::Structure
472
693
  end
473
694
 
474
- # @note When making an API call, you may pass CopyImageRequest
475
- # data as a hash:
476
- #
477
- # {
478
- # source_image_name: "Name", # required
479
- # destination_image_name: "Name", # required
480
- # destination_region: "RegionName", # required
481
- # destination_image_description: "Description",
482
- # }
483
- #
484
695
  # @!attribute [rw] source_image_name
485
696
  # The name of the image to copy.
486
697
  # @return [String]
@@ -524,31 +735,160 @@ module Aws::AppStream
524
735
  include Aws::Structure
525
736
  end
526
737
 
527
- # @note When making an API call, you may pass CreateAppBlockRequest
528
- # data as a hash:
529
- #
530
- # {
531
- # name: "Name", # required
532
- # description: "Description",
533
- # display_name: "DisplayName",
534
- # source_s3_location: { # required
535
- # s3_bucket: "S3Bucket", # required
536
- # s3_key: "S3Key", # required
537
- # },
538
- # setup_script_details: { # required
539
- # script_s3_location: { # required
540
- # s3_bucket: "S3Bucket", # required
541
- # s3_key: "S3Key", # required
542
- # },
543
- # executable_path: "String", # required
544
- # executable_parameters: "String",
545
- # timeout_in_seconds: 1, # required
546
- # },
547
- # tags: {
548
- # "TagKey" => "TagValue",
549
- # },
550
- # }
738
+ # @!attribute [rw] name
739
+ # The unique name for the app block builder.
740
+ # @return [String]
741
+ #
742
+ # @!attribute [rw] description
743
+ # The description of the app block builder.
744
+ # @return [String]
745
+ #
746
+ # @!attribute [rw] display_name
747
+ # The display name of the app block builder.
748
+ # @return [String]
749
+ #
750
+ # @!attribute [rw] tags
751
+ # The tags to associate with the app block builder. A tag is a
752
+ # key-value pair, and the value is optional. For example,
753
+ # Environment=Test. If you do not specify a value, Environment=.
754
+ #
755
+ # If you do not specify a value, the value is set to an empty string.
756
+ #
757
+ # Generally allowed characters are: letters, numbers, and spaces
758
+ # representable in UTF-8, and the following special characters:
759
+ #
760
+ # \_ . : / = + \\ - @
761
+ #
762
+ # For more information, see [Tagging Your Resources][1] in the *Amazon
763
+ # AppStream 2.0 Administration Guide*.
764
+ #
765
+ #
766
+ #
767
+ # [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html
768
+ # @return [Hash<String,String>]
769
+ #
770
+ # @!attribute [rw] platform
771
+ # The platform of the app block builder.
772
+ #
773
+ # `WINDOWS_SERVER_2019` is the only valid value.
774
+ # @return [String]
775
+ #
776
+ # @!attribute [rw] instance_type
777
+ # The instance type to use when launching the app block builder. The
778
+ # following instance types are available:
779
+ #
780
+ # * stream.standard.small
781
+ #
782
+ # * stream.standard.medium
783
+ #
784
+ # * stream.standard.large
785
+ #
786
+ # * stream.standard.xlarge
787
+ #
788
+ # * stream.standard.2xlarge
789
+ # @return [String]
790
+ #
791
+ # @!attribute [rw] vpc_config
792
+ # The VPC configuration for the app block builder.
793
+ #
794
+ # App block builders require that you specify at least two subnets in
795
+ # different availability zones.
796
+ # @return [Types::VpcConfig]
797
+ #
798
+ # @!attribute [rw] enable_default_internet_access
799
+ # Enables or disables default internet access for the app block
800
+ # builder.
801
+ # @return [Boolean]
802
+ #
803
+ # @!attribute [rw] iam_role_arn
804
+ # The Amazon Resource Name (ARN) of the IAM role to apply to the app
805
+ # block builder. To assume a role, the app block builder calls the AWS
806
+ # Security Token Service (STS) `AssumeRole` API operation and passes
807
+ # the ARN of the role to use. The operation creates a new session with
808
+ # temporary credentials. AppStream 2.0 retrieves the temporary
809
+ # credentials and creates the **appstream\_machine\_role** credential
810
+ # profile on the instance.
811
+ #
812
+ # For more information, see [Using an IAM Role to Grant Permissions to
813
+ # Applications and Scripts Running on AppStream 2.0 Streaming
814
+ # Instances][1] in the *Amazon AppStream 2.0 Administration Guide*.
815
+ #
816
+ #
817
+ #
818
+ # [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html
819
+ # @return [String]
820
+ #
821
+ # @!attribute [rw] access_endpoints
822
+ # The list of interface VPC endpoint (interface endpoint) objects.
823
+ # Administrators can connect to the app block builder only through the
824
+ # specified endpoints.
825
+ # @return [Array<Types::AccessEndpoint>]
826
+ #
827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlockBuilderRequest AWS API Documentation
828
+ #
829
+ class CreateAppBlockBuilderRequest < Struct.new(
830
+ :name,
831
+ :description,
832
+ :display_name,
833
+ :tags,
834
+ :platform,
835
+ :instance_type,
836
+ :vpc_config,
837
+ :enable_default_internet_access,
838
+ :iam_role_arn,
839
+ :access_endpoints)
840
+ SENSITIVE = []
841
+ include Aws::Structure
842
+ end
843
+
844
+ # @!attribute [rw] app_block_builder
845
+ # Describes an app block builder.
846
+ # @return [Types::AppBlockBuilder]
551
847
  #
848
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlockBuilderResult AWS API Documentation
849
+ #
850
+ class CreateAppBlockBuilderResult < Struct.new(
851
+ :app_block_builder)
852
+ SENSITIVE = []
853
+ include Aws::Structure
854
+ end
855
+
856
+ # @!attribute [rw] app_block_builder_name
857
+ # The name of the app block builder.
858
+ # @return [String]
859
+ #
860
+ # @!attribute [rw] validity
861
+ # The time that the streaming URL will be valid, in seconds. Specify a
862
+ # value between 1 and 604800 seconds. The default is 3600 seconds.
863
+ # @return [Integer]
864
+ #
865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlockBuilderStreamingURLRequest AWS API Documentation
866
+ #
867
+ class CreateAppBlockBuilderStreamingURLRequest < Struct.new(
868
+ :app_block_builder_name,
869
+ :validity)
870
+ SENSITIVE = []
871
+ include Aws::Structure
872
+ end
873
+
874
+ # @!attribute [rw] streaming_url
875
+ # The URL to start the streaming session.
876
+ # @return [String]
877
+ #
878
+ # @!attribute [rw] expires
879
+ # The elapsed time, in seconds after the Unix epoch, when this URL
880
+ # expires.
881
+ # @return [Time]
882
+ #
883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlockBuilderStreamingURLResult AWS API Documentation
884
+ #
885
+ class CreateAppBlockBuilderStreamingURLResult < Struct.new(
886
+ :streaming_url,
887
+ :expires)
888
+ SENSITIVE = []
889
+ include Aws::Structure
890
+ end
891
+
552
892
  # @!attribute [rw] name
553
893
  # The name of the app block.
554
894
  # @return [String]
@@ -567,13 +907,23 @@ module Aws::AppStream
567
907
  # @return [Types::S3Location]
568
908
  #
569
909
  # @!attribute [rw] setup_script_details
570
- # The setup script details of the app block.
910
+ # The setup script details of the app block. This must be provided for
911
+ # the `CUSTOM` PackagingType.
571
912
  # @return [Types::ScriptDetails]
572
913
  #
573
914
  # @!attribute [rw] tags
574
915
  # The tags assigned to the app block.
575
916
  # @return [Hash<String,String>]
576
917
  #
918
+ # @!attribute [rw] post_setup_script_details
919
+ # The post setup script details of the app block. This can only be
920
+ # provided for the `APPSTREAM2` PackagingType.
921
+ # @return [Types::ScriptDetails]
922
+ #
923
+ # @!attribute [rw] packaging_type
924
+ # The packaging type of the app block.
925
+ # @return [String]
926
+ #
577
927
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlockRequest AWS API Documentation
578
928
  #
579
929
  class CreateAppBlockRequest < Struct.new(
@@ -582,7 +932,9 @@ module Aws::AppStream
582
932
  :display_name,
583
933
  :source_s3_location,
584
934
  :setup_script_details,
585
- :tags)
935
+ :tags,
936
+ :post_setup_script_details,
937
+ :packaging_type)
586
938
  SENSITIVE = []
587
939
  include Aws::Structure
588
940
  end
@@ -599,28 +951,6 @@ module Aws::AppStream
599
951
  include Aws::Structure
600
952
  end
601
953
 
602
- # @note When making an API call, you may pass CreateApplicationRequest
603
- # data as a hash:
604
- #
605
- # {
606
- # name: "Name", # required
607
- # display_name: "DisplayName",
608
- # description: "Description",
609
- # icon_s3_location: { # required
610
- # s3_bucket: "S3Bucket", # required
611
- # s3_key: "S3Key", # required
612
- # },
613
- # launch_path: "String", # required
614
- # working_directory: "String",
615
- # launch_parameters: "String",
616
- # platforms: ["WINDOWS"], # required, accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
617
- # instance_families: ["String"], # required
618
- # app_block_arn: "Arn", # required
619
- # tags: {
620
- # "TagKey" => "TagValue",
621
- # },
622
- # }
623
- #
624
954
  # @!attribute [rw] name
625
955
  # The name of the application. This name is visible to users when
626
956
  # display name is not specified.
@@ -699,18 +1029,6 @@ module Aws::AppStream
699
1029
  include Aws::Structure
700
1030
  end
701
1031
 
702
- # @note When making an API call, you may pass CreateDirectoryConfigRequest
703
- # data as a hash:
704
- #
705
- # {
706
- # directory_name: "DirectoryName", # required
707
- # organizational_unit_distinguished_names: ["OrganizationalUnitDistinguishedName"], # required
708
- # service_account_credentials: {
709
- # account_name: "AccountName", # required
710
- # account_password: "AccountPassword", # required
711
- # },
712
- # }
713
- #
714
1032
  # @!attribute [rw] directory_name
715
1033
  # The fully qualified name of the directory (for example,
716
1034
  # corp.example.com).
@@ -726,12 +1044,26 @@ module Aws::AppStream
726
1044
  # builder to connect to the directory.
727
1045
  # @return [Types::ServiceAccountCredentials]
728
1046
  #
1047
+ # @!attribute [rw] certificate_based_auth_properties
1048
+ # The certificate-based authentication properties used to authenticate
1049
+ # SAML 2.0 Identity Provider (IdP) user identities to Active Directory
1050
+ # domain-joined streaming instances. Fallback is turned on by default
1051
+ # when certificate-based authentication is **Enabled** . Fallback
1052
+ # allows users to log in using their AD domain password if
1053
+ # certificate-based authentication is unsuccessful, or to unlock a
1054
+ # desktop lock screen. **Enabled\_no\_directory\_login\_fallback**
1055
+ # enables certificate-based authentication, but does not allow users
1056
+ # to log in using their AD domain password. Users will be disconnected
1057
+ # to re-authenticate using certificates.
1058
+ # @return [Types::CertificateBasedAuthProperties]
1059
+ #
729
1060
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfigRequest AWS API Documentation
730
1061
  #
731
1062
  class CreateDirectoryConfigRequest < Struct.new(
732
1063
  :directory_name,
733
1064
  :organizational_unit_distinguished_names,
734
- :service_account_credentials)
1065
+ :service_account_credentials,
1066
+ :certificate_based_auth_properties)
735
1067
  SENSITIVE = []
736
1068
  include Aws::Structure
737
1069
  end
@@ -748,42 +1080,50 @@ module Aws::AppStream
748
1080
  include Aws::Structure
749
1081
  end
750
1082
 
751
- # @note When making an API call, you may pass CreateFleetRequest
752
- # data as a hash:
753
- #
754
- # {
755
- # name: "Name", # required
756
- # image_name: "String",
757
- # image_arn: "Arn",
758
- # instance_type: "String", # required
759
- # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND, ELASTIC
760
- # compute_capacity: {
761
- # desired_instances: 1, # required
762
- # },
763
- # vpc_config: {
764
- # subnet_ids: ["String"],
765
- # security_group_ids: ["String"],
766
- # },
767
- # max_user_duration_in_seconds: 1,
768
- # disconnect_timeout_in_seconds: 1,
769
- # description: "Description",
770
- # display_name: "DisplayName",
771
- # enable_default_internet_access: false,
772
- # domain_join_info: {
773
- # directory_name: "DirectoryName",
774
- # organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
775
- # },
776
- # tags: {
777
- # "TagKey" => "TagValue",
778
- # },
779
- # idle_disconnect_timeout_in_seconds: 1,
780
- # iam_role_arn: "Arn",
781
- # stream_view: "APP", # accepts APP, DESKTOP
782
- # platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
783
- # max_concurrent_sessions: 1,
784
- # usb_device_filter_strings: ["UsbDeviceFilterString"],
785
- # }
1083
+ # @!attribute [rw] name
1084
+ # The name of the entitlement.
1085
+ # @return [String]
1086
+ #
1087
+ # @!attribute [rw] stack_name
1088
+ # The name of the stack with which the entitlement is associated.
1089
+ # @return [String]
1090
+ #
1091
+ # @!attribute [rw] description
1092
+ # The description of the entitlement.
1093
+ # @return [String]
1094
+ #
1095
+ # @!attribute [rw] app_visibility
1096
+ # Specifies whether all or selected apps are entitled.
1097
+ # @return [String]
1098
+ #
1099
+ # @!attribute [rw] attributes
1100
+ # The attributes of the entitlement.
1101
+ # @return [Array<Types::EntitlementAttribute>]
1102
+ #
1103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateEntitlementRequest AWS API Documentation
1104
+ #
1105
+ class CreateEntitlementRequest < Struct.new(
1106
+ :name,
1107
+ :stack_name,
1108
+ :description,
1109
+ :app_visibility,
1110
+ :attributes)
1111
+ SENSITIVE = []
1112
+ include Aws::Structure
1113
+ end
1114
+
1115
+ # @!attribute [rw] entitlement
1116
+ # The entitlement.
1117
+ # @return [Types::Entitlement]
1118
+ #
1119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateEntitlementResult AWS API Documentation
786
1120
  #
1121
+ class CreateEntitlementResult < Struct.new(
1122
+ :entitlement)
1123
+ SENSITIVE = []
1124
+ include Aws::Structure
1125
+ end
1126
+
787
1127
  # @!attribute [rw] name
788
1128
  # A unique name for the fleet.
789
1129
  # @return [String]
@@ -806,6 +1146,10 @@ module Aws::AppStream
806
1146
  #
807
1147
  # * stream.standard.large
808
1148
  #
1149
+ # * stream.standard.xlarge
1150
+ #
1151
+ # * stream.standard.2xlarge
1152
+ #
809
1153
  # * stream.compute.large
810
1154
  #
811
1155
  # * stream.compute.xlarge
@@ -871,6 +1215,12 @@ module Aws::AppStream
871
1215
  # * stream.standard.small
872
1216
  #
873
1217
  # * stream.standard.medium
1218
+ #
1219
+ # * stream.standard.large
1220
+ #
1221
+ # * stream.standard.xlarge
1222
+ #
1223
+ # * stream.standard.2xlarge
874
1224
  # @return [String]
875
1225
  #
876
1226
  # @!attribute [rw] fleet_type
@@ -910,7 +1260,7 @@ module Aws::AppStream
910
1260
  # this time elapses, the instance is terminated and replaced by a new
911
1261
  # instance.
912
1262
  #
913
- # Specify a value between 600 and 360000.
1263
+ # Specify a value between 600 and 432000.
914
1264
  # @return [Integer]
915
1265
  #
916
1266
  # @!attribute [rw] disconnect_timeout_in_seconds
@@ -1035,6 +1385,16 @@ module Aws::AppStream
1035
1385
  # native client. This is allowed but not required for Elastic fleets.
1036
1386
  # @return [Array<String>]
1037
1387
  #
1388
+ # @!attribute [rw] session_script_s3_location
1389
+ # The S3 location of the session scripts configuration zip file. This
1390
+ # only applies to Elastic fleets.
1391
+ # @return [Types::S3Location]
1392
+ #
1393
+ # @!attribute [rw] max_sessions_per_instance
1394
+ # The maximum number of user sessions on an instance. This only
1395
+ # applies to multi-session fleets.
1396
+ # @return [Integer]
1397
+ #
1038
1398
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleetRequest AWS API Documentation
1039
1399
  #
1040
1400
  class CreateFleetRequest < Struct.new(
@@ -1057,7 +1417,9 @@ module Aws::AppStream
1057
1417
  :stream_view,
1058
1418
  :platform,
1059
1419
  :max_concurrent_sessions,
1060
- :usb_device_filter_strings)
1420
+ :usb_device_filter_strings,
1421
+ :session_script_s3_location,
1422
+ :max_sessions_per_instance)
1061
1423
  SENSITIVE = []
1062
1424
  include Aws::Structure
1063
1425
  end
@@ -1074,38 +1436,6 @@ module Aws::AppStream
1074
1436
  include Aws::Structure
1075
1437
  end
1076
1438
 
1077
- # @note When making an API call, you may pass CreateImageBuilderRequest
1078
- # data as a hash:
1079
- #
1080
- # {
1081
- # name: "Name", # required
1082
- # image_name: "String",
1083
- # image_arn: "Arn",
1084
- # instance_type: "String", # required
1085
- # description: "Description",
1086
- # display_name: "DisplayName",
1087
- # vpc_config: {
1088
- # subnet_ids: ["String"],
1089
- # security_group_ids: ["String"],
1090
- # },
1091
- # iam_role_arn: "Arn",
1092
- # enable_default_internet_access: false,
1093
- # domain_join_info: {
1094
- # directory_name: "DirectoryName",
1095
- # organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
1096
- # },
1097
- # appstream_agent_version: "AppstreamAgentVersion",
1098
- # tags: {
1099
- # "TagKey" => "TagValue",
1100
- # },
1101
- # access_endpoints: [
1102
- # {
1103
- # endpoint_type: "STREAMING", # required, accepts STREAMING
1104
- # vpce_id: "String",
1105
- # },
1106
- # ],
1107
- # }
1108
- #
1109
1439
  # @!attribute [rw] name
1110
1440
  # A unique name for the image builder.
1111
1441
  # @return [String]
@@ -1293,14 +1623,6 @@ module Aws::AppStream
1293
1623
  include Aws::Structure
1294
1624
  end
1295
1625
 
1296
- # @note When making an API call, you may pass CreateImageBuilderStreamingURLRequest
1297
- # data as a hash:
1298
- #
1299
- # {
1300
- # name: "String", # required
1301
- # validity: 1,
1302
- # }
1303
- #
1304
1626
  # @!attribute [rw] name
1305
1627
  # The name of the image builder.
1306
1628
  # @return [String]
@@ -1337,44 +1659,6 @@ module Aws::AppStream
1337
1659
  include Aws::Structure
1338
1660
  end
1339
1661
 
1340
- # @note When making an API call, you may pass CreateStackRequest
1341
- # data as a hash:
1342
- #
1343
- # {
1344
- # name: "Name", # required
1345
- # description: "Description",
1346
- # display_name: "DisplayName",
1347
- # storage_connectors: [
1348
- # {
1349
- # connector_type: "HOMEFOLDERS", # required, accepts HOMEFOLDERS, GOOGLE_DRIVE, ONE_DRIVE
1350
- # resource_identifier: "ResourceIdentifier",
1351
- # domains: ["Domain"],
1352
- # },
1353
- # ],
1354
- # redirect_url: "RedirectURL",
1355
- # feedback_url: "FeedbackURL",
1356
- # user_settings: [
1357
- # {
1358
- # action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, FILE_UPLOAD, FILE_DOWNLOAD, PRINTING_TO_LOCAL_DEVICE, DOMAIN_PASSWORD_SIGNIN, DOMAIN_SMART_CARD_SIGNIN
1359
- # permission: "ENABLED", # required, accepts ENABLED, DISABLED
1360
- # },
1361
- # ],
1362
- # application_settings: {
1363
- # enabled: false, # required
1364
- # settings_group: "SettingsGroup",
1365
- # },
1366
- # tags: {
1367
- # "TagKey" => "TagValue",
1368
- # },
1369
- # access_endpoints: [
1370
- # {
1371
- # endpoint_type: "STREAMING", # required, accepts STREAMING
1372
- # vpce_id: "String",
1373
- # },
1374
- # ],
1375
- # embed_host_domains: ["EmbedHostDomain"],
1376
- # }
1377
- #
1378
1662
  # @!attribute [rw] name
1379
1663
  # The name of the stack.
1380
1664
  # @return [String]
@@ -1446,6 +1730,12 @@ module Aws::AppStream
1446
1730
  # embedded AppStream 2.0 streaming sessions.
1447
1731
  # @return [Array<String>]
1448
1732
  #
1733
+ # @!attribute [rw] streaming_experience_settings
1734
+ # The streaming protocol you want your stack to prefer. This can be
1735
+ # UDP or TCP. Currently, UDP is only supported in the Windows native
1736
+ # client.
1737
+ # @return [Types::StreamingExperienceSettings]
1738
+ #
1449
1739
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStackRequest AWS API Documentation
1450
1740
  #
1451
1741
  class CreateStackRequest < Struct.new(
@@ -1459,7 +1749,8 @@ module Aws::AppStream
1459
1749
  :application_settings,
1460
1750
  :tags,
1461
1751
  :access_endpoints,
1462
- :embed_host_domains)
1752
+ :embed_host_domains,
1753
+ :streaming_experience_settings)
1463
1754
  SENSITIVE = []
1464
1755
  include Aws::Structure
1465
1756
  end
@@ -1476,18 +1767,6 @@ module Aws::AppStream
1476
1767
  include Aws::Structure
1477
1768
  end
1478
1769
 
1479
- # @note When making an API call, you may pass CreateStreamingURLRequest
1480
- # data as a hash:
1481
- #
1482
- # {
1483
- # stack_name: "String", # required
1484
- # fleet_name: "String", # required
1485
- # user_id: "StreamingUrlUserId", # required
1486
- # application_id: "String",
1487
- # validity: 1,
1488
- # session_context: "String",
1489
- # }
1490
- #
1491
1770
  # @!attribute [rw] stack_name
1492
1771
  # The name of the stack.
1493
1772
  # @return [String]
@@ -1553,20 +1832,6 @@ module Aws::AppStream
1553
1832
  include Aws::Structure
1554
1833
  end
1555
1834
 
1556
- # @note When making an API call, you may pass CreateUpdatedImageRequest
1557
- # data as a hash:
1558
- #
1559
- # {
1560
- # existing_image_name: "Name", # required
1561
- # new_image_name: "Name", # required
1562
- # new_image_description: "Description",
1563
- # new_image_display_name: "DisplayName",
1564
- # new_image_tags: {
1565
- # "TagKey" => "TagValue",
1566
- # },
1567
- # dry_run: false,
1568
- # }
1569
- #
1570
1835
  # @!attribute [rw] existing_image_name
1571
1836
  # The name of the image to update.
1572
1837
  # @return [String]
@@ -1675,17 +1940,6 @@ module Aws::AppStream
1675
1940
  include Aws::Structure
1676
1941
  end
1677
1942
 
1678
- # @note When making an API call, you may pass CreateUserRequest
1679
- # data as a hash:
1680
- #
1681
- # {
1682
- # user_name: "Username", # required
1683
- # message_action: "SUPPRESS", # accepts SUPPRESS, RESEND
1684
- # first_name: "UserAttributeValue",
1685
- # last_name: "UserAttributeValue",
1686
- # authentication_type: "API", # required, accepts API, SAML, USERPOOL
1687
- # }
1688
- #
1689
1943
  # @!attribute [rw] user_name
1690
1944
  # The email address of the user.
1691
1945
  #
@@ -1739,13 +1993,22 @@ module Aws::AppStream
1739
1993
  #
1740
1994
  class CreateUserResult < Aws::EmptyStructure; end
1741
1995
 
1742
- # @note When making an API call, you may pass DeleteAppBlockRequest
1743
- # data as a hash:
1996
+ # @!attribute [rw] name
1997
+ # The name of the app block builder.
1998
+ # @return [String]
1744
1999
  #
1745
- # {
1746
- # name: "Name", # required
1747
- # }
2000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteAppBlockBuilderRequest AWS API Documentation
2001
+ #
2002
+ class DeleteAppBlockBuilderRequest < Struct.new(
2003
+ :name)
2004
+ SENSITIVE = []
2005
+ include Aws::Structure
2006
+ end
2007
+
2008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteAppBlockBuilderResult AWS API Documentation
1748
2009
  #
2010
+ class DeleteAppBlockBuilderResult < Aws::EmptyStructure; end
2011
+
1749
2012
  # @!attribute [rw] name
1750
2013
  # The name of the app block.
1751
2014
  # @return [String]
@@ -1762,13 +2025,6 @@ module Aws::AppStream
1762
2025
  #
1763
2026
  class DeleteAppBlockResult < Aws::EmptyStructure; end
1764
2027
 
1765
- # @note When making an API call, you may pass DeleteApplicationRequest
1766
- # data as a hash:
1767
- #
1768
- # {
1769
- # name: "Name", # required
1770
- # }
1771
- #
1772
2028
  # @!attribute [rw] name
1773
2029
  # The name of the application.
1774
2030
  # @return [String]
@@ -1785,13 +2041,6 @@ module Aws::AppStream
1785
2041
  #
1786
2042
  class DeleteApplicationResult < Aws::EmptyStructure; end
1787
2043
 
1788
- # @note When making an API call, you may pass DeleteDirectoryConfigRequest
1789
- # data as a hash:
1790
- #
1791
- # {
1792
- # directory_name: "DirectoryName", # required
1793
- # }
1794
- #
1795
2044
  # @!attribute [rw] directory_name
1796
2045
  # The name of the directory configuration.
1797
2046
  # @return [String]
@@ -1808,13 +2057,27 @@ module Aws::AppStream
1808
2057
  #
1809
2058
  class DeleteDirectoryConfigResult < Aws::EmptyStructure; end
1810
2059
 
1811
- # @note When making an API call, you may pass DeleteFleetRequest
1812
- # data as a hash:
2060
+ # @!attribute [rw] name
2061
+ # The name of the entitlement.
2062
+ # @return [String]
2063
+ #
2064
+ # @!attribute [rw] stack_name
2065
+ # The name of the stack with which the entitlement is associated.
2066
+ # @return [String]
1813
2067
  #
1814
- # {
1815
- # name: "String", # required
1816
- # }
2068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteEntitlementRequest AWS API Documentation
1817
2069
  #
2070
+ class DeleteEntitlementRequest < Struct.new(
2071
+ :name,
2072
+ :stack_name)
2073
+ SENSITIVE = []
2074
+ include Aws::Structure
2075
+ end
2076
+
2077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteEntitlementResult AWS API Documentation
2078
+ #
2079
+ class DeleteEntitlementResult < Aws::EmptyStructure; end
2080
+
1818
2081
  # @!attribute [rw] name
1819
2082
  # The name of the fleet.
1820
2083
  # @return [String]
@@ -1831,13 +2094,6 @@ module Aws::AppStream
1831
2094
  #
1832
2095
  class DeleteFleetResult < Aws::EmptyStructure; end
1833
2096
 
1834
- # @note When making an API call, you may pass DeleteImageBuilderRequest
1835
- # data as a hash:
1836
- #
1837
- # {
1838
- # name: "Name", # required
1839
- # }
1840
- #
1841
2097
  # @!attribute [rw] name
1842
2098
  # The name of the image builder.
1843
2099
  # @return [String]
@@ -1861,15 +2117,7 @@ module Aws::AppStream
1861
2117
  SENSITIVE = []
1862
2118
  include Aws::Structure
1863
2119
  end
1864
-
1865
- # @note When making an API call, you may pass DeleteImagePermissionsRequest
1866
- # data as a hash:
1867
- #
1868
- # {
1869
- # name: "Name", # required
1870
- # shared_account_id: "AwsAccountId", # required
1871
- # }
1872
- #
2120
+
1873
2121
  # @!attribute [rw] name
1874
2122
  # The name of the private image.
1875
2123
  # @return [String]
@@ -1892,13 +2140,6 @@ module Aws::AppStream
1892
2140
  #
1893
2141
  class DeleteImagePermissionsResult < Aws::EmptyStructure; end
1894
2142
 
1895
- # @note When making an API call, you may pass DeleteImageRequest
1896
- # data as a hash:
1897
- #
1898
- # {
1899
- # name: "Name", # required
1900
- # }
1901
- #
1902
2143
  # @!attribute [rw] name
1903
2144
  # The name of the image.
1904
2145
  # @return [String]
@@ -1923,13 +2164,6 @@ module Aws::AppStream
1923
2164
  include Aws::Structure
1924
2165
  end
1925
2166
 
1926
- # @note When making an API call, you may pass DeleteStackRequest
1927
- # data as a hash:
1928
- #
1929
- # {
1930
- # name: "String", # required
1931
- # }
1932
- #
1933
2167
  # @!attribute [rw] name
1934
2168
  # The name of the stack.
1935
2169
  # @return [String]
@@ -1956,14 +2190,6 @@ module Aws::AppStream
1956
2190
  #
1957
2191
  class DeleteUsageReportSubscriptionResult < Aws::EmptyStructure; end
1958
2192
 
1959
- # @note When making an API call, you may pass DeleteUserRequest
1960
- # data as a hash:
1961
- #
1962
- # {
1963
- # user_name: "Username", # required
1964
- # authentication_type: "API", # required, accepts API, SAML, USERPOOL
1965
- # }
1966
- #
1967
2193
  # @!attribute [rw] user_name
1968
2194
  # The email address of the user.
1969
2195
  #
@@ -1989,15 +2215,93 @@ module Aws::AppStream
1989
2215
  #
1990
2216
  class DeleteUserResult < Aws::EmptyStructure; end
1991
2217
 
1992
- # @note When making an API call, you may pass DescribeAppBlocksRequest
1993
- # data as a hash:
2218
+ # @!attribute [rw] app_block_arn
2219
+ # The ARN of the app block.
2220
+ # @return [String]
2221
+ #
2222
+ # @!attribute [rw] app_block_builder_name
2223
+ # The name of the app block builder.
2224
+ # @return [String]
2225
+ #
2226
+ # @!attribute [rw] max_results
2227
+ # The maximum size of each page of results.
2228
+ # @return [Integer]
2229
+ #
2230
+ # @!attribute [rw] next_token
2231
+ # The pagination token used to retrieve the next page of results for
2232
+ # this operation.
2233
+ # @return [String]
2234
+ #
2235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlockBuilderAppBlockAssociationsRequest AWS API Documentation
2236
+ #
2237
+ class DescribeAppBlockBuilderAppBlockAssociationsRequest < Struct.new(
2238
+ :app_block_arn,
2239
+ :app_block_builder_name,
2240
+ :max_results,
2241
+ :next_token)
2242
+ SENSITIVE = []
2243
+ include Aws::Structure
2244
+ end
2245
+
2246
+ # @!attribute [rw] app_block_builder_app_block_associations
2247
+ # This list of app block builders associated with app blocks.
2248
+ # @return [Array<Types::AppBlockBuilderAppBlockAssociation>]
2249
+ #
2250
+ # @!attribute [rw] next_token
2251
+ # The pagination token used to retrieve the next page of results for
2252
+ # this operation.
2253
+ # @return [String]
2254
+ #
2255
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlockBuilderAppBlockAssociationsResult AWS API Documentation
2256
+ #
2257
+ class DescribeAppBlockBuilderAppBlockAssociationsResult < Struct.new(
2258
+ :app_block_builder_app_block_associations,
2259
+ :next_token)
2260
+ SENSITIVE = []
2261
+ include Aws::Structure
2262
+ end
2263
+
2264
+ # @!attribute [rw] names
2265
+ # The names of the app block builders.
2266
+ # @return [Array<String>]
2267
+ #
2268
+ # @!attribute [rw] next_token
2269
+ # The pagination token used to retrieve the next page of results for
2270
+ # this operation.
2271
+ # @return [String]
2272
+ #
2273
+ # @!attribute [rw] max_results
2274
+ # The maximum size of each page of results. The maximum value is 25.
2275
+ # @return [Integer]
2276
+ #
2277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlockBuildersRequest AWS API Documentation
2278
+ #
2279
+ class DescribeAppBlockBuildersRequest < Struct.new(
2280
+ :names,
2281
+ :next_token,
2282
+ :max_results)
2283
+ SENSITIVE = []
2284
+ include Aws::Structure
2285
+ end
2286
+
2287
+ # @!attribute [rw] app_block_builders
2288
+ # The list that describes one or more app block builders.
2289
+ # @return [Array<Types::AppBlockBuilder>]
2290
+ #
2291
+ # @!attribute [rw] next_token
2292
+ # The pagination token used to retrieve the next page of results for
2293
+ # this operation.
2294
+ # @return [String]
1994
2295
  #
1995
- # {
1996
- # arns: ["Arn"],
1997
- # next_token: "String",
1998
- # max_results: 1,
1999
- # }
2296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlockBuildersResult AWS API Documentation
2000
2297
  #
2298
+ class DescribeAppBlockBuildersResult < Struct.new(
2299
+ :app_block_builders,
2300
+ :next_token)
2301
+ SENSITIVE = []
2302
+ include Aws::Structure
2303
+ end
2304
+
2001
2305
  # @!attribute [rw] arns
2002
2306
  # The ARNs of the app blocks.
2003
2307
  # @return [Array<String>]
@@ -2039,16 +2343,6 @@ module Aws::AppStream
2039
2343
  include Aws::Structure
2040
2344
  end
2041
2345
 
2042
- # @note When making an API call, you may pass DescribeApplicationFleetAssociationsRequest
2043
- # data as a hash:
2044
- #
2045
- # {
2046
- # fleet_name: "Name",
2047
- # application_arn: "Arn",
2048
- # max_results: 1,
2049
- # next_token: "String",
2050
- # }
2051
- #
2052
2346
  # @!attribute [rw] fleet_name
2053
2347
  # The name of the fleet.
2054
2348
  # @return [String]
@@ -2095,15 +2389,6 @@ module Aws::AppStream
2095
2389
  include Aws::Structure
2096
2390
  end
2097
2391
 
2098
- # @note When making an API call, you may pass DescribeApplicationsRequest
2099
- # data as a hash:
2100
- #
2101
- # {
2102
- # arns: ["Arn"],
2103
- # next_token: "String",
2104
- # max_results: 1,
2105
- # }
2106
- #
2107
2392
  # @!attribute [rw] arns
2108
2393
  # The ARNs for the applications.
2109
2394
  # @return [Array<String>]
@@ -2145,15 +2430,6 @@ module Aws::AppStream
2145
2430
  include Aws::Structure
2146
2431
  end
2147
2432
 
2148
- # @note When making an API call, you may pass DescribeDirectoryConfigsRequest
2149
- # data as a hash:
2150
- #
2151
- # {
2152
- # directory_names: ["DirectoryName"],
2153
- # max_results: 1,
2154
- # next_token: "String",
2155
- # }
2156
- #
2157
2433
  # @!attribute [rw] directory_names
2158
2434
  # The directory names.
2159
2435
  # @return [Array<String>]
@@ -2197,14 +2473,52 @@ module Aws::AppStream
2197
2473
  include Aws::Structure
2198
2474
  end
2199
2475
 
2200
- # @note When making an API call, you may pass DescribeFleetsRequest
2201
- # data as a hash:
2476
+ # @!attribute [rw] name
2477
+ # The name of the entitlement.
2478
+ # @return [String]
2479
+ #
2480
+ # @!attribute [rw] stack_name
2481
+ # The name of the stack with which the entitlement is associated.
2482
+ # @return [String]
2483
+ #
2484
+ # @!attribute [rw] next_token
2485
+ # The pagination token used to retrieve the next page of results for
2486
+ # this operation.
2487
+ # @return [String]
2488
+ #
2489
+ # @!attribute [rw] max_results
2490
+ # The maximum size of each page of results.
2491
+ # @return [Integer]
2492
+ #
2493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeEntitlementsRequest AWS API Documentation
2494
+ #
2495
+ class DescribeEntitlementsRequest < Struct.new(
2496
+ :name,
2497
+ :stack_name,
2498
+ :next_token,
2499
+ :max_results)
2500
+ SENSITIVE = []
2501
+ include Aws::Structure
2502
+ end
2503
+
2504
+ # @!attribute [rw] entitlements
2505
+ # The entitlements.
2506
+ # @return [Array<Types::Entitlement>]
2507
+ #
2508
+ # @!attribute [rw] next_token
2509
+ # The pagination token used to retrieve the next page of results for
2510
+ # this operation.
2511
+ # @return [String]
2202
2512
  #
2203
- # {
2204
- # names: ["String"],
2205
- # next_token: "String",
2206
- # }
2513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeEntitlementsResult AWS API Documentation
2207
2514
  #
2515
+ class DescribeEntitlementsResult < Struct.new(
2516
+ :entitlements,
2517
+ :next_token)
2518
+ SENSITIVE = []
2519
+ include Aws::Structure
2520
+ end
2521
+
2208
2522
  # @!attribute [rw] names
2209
2523
  # The names of the fleets to describe.
2210
2524
  # @return [Array<String>]
@@ -2241,15 +2555,6 @@ module Aws::AppStream
2241
2555
  include Aws::Structure
2242
2556
  end
2243
2557
 
2244
- # @note When making an API call, you may pass DescribeImageBuildersRequest
2245
- # data as a hash:
2246
- #
2247
- # {
2248
- # names: ["String"],
2249
- # max_results: 1,
2250
- # next_token: "String",
2251
- # }
2252
- #
2253
2558
  # @!attribute [rw] names
2254
2559
  # The names of the image builders to describe.
2255
2560
  # @return [Array<String>]
@@ -2291,16 +2596,6 @@ module Aws::AppStream
2291
2596
  include Aws::Structure
2292
2597
  end
2293
2598
 
2294
- # @note When making an API call, you may pass DescribeImagePermissionsRequest
2295
- # data as a hash:
2296
- #
2297
- # {
2298
- # name: "Name", # required
2299
- # max_results: 1,
2300
- # shared_aws_account_ids: ["AwsAccountId"],
2301
- # next_token: "String",
2302
- # }
2303
- #
2304
2599
  # @!attribute [rw] name
2305
2600
  # The name of the private image for which to describe permissions. The
2306
2601
  # image must be one that you own.
@@ -2354,17 +2649,6 @@ module Aws::AppStream
2354
2649
  include Aws::Structure
2355
2650
  end
2356
2651
 
2357
- # @note When making an API call, you may pass DescribeImagesRequest
2358
- # data as a hash:
2359
- #
2360
- # {
2361
- # names: ["String"],
2362
- # arns: ["Arn"],
2363
- # type: "PUBLIC", # accepts PUBLIC, PRIVATE, SHARED
2364
- # next_token: "String",
2365
- # max_results: 1,
2366
- # }
2367
- #
2368
2652
  # @!attribute [rw] names
2369
2653
  # The names of the public or private images to describe.
2370
2654
  # @return [Array<String>]
@@ -2416,18 +2700,6 @@ module Aws::AppStream
2416
2700
  include Aws::Structure
2417
2701
  end
2418
2702
 
2419
- # @note When making an API call, you may pass DescribeSessionsRequest
2420
- # data as a hash:
2421
- #
2422
- # {
2423
- # stack_name: "String", # required
2424
- # fleet_name: "String", # required
2425
- # user_id: "UserId",
2426
- # next_token: "String",
2427
- # limit: 1,
2428
- # authentication_type: "API", # accepts API, SAML, USERPOOL
2429
- # }
2430
- #
2431
2703
  # @!attribute [rw] stack_name
2432
2704
  # The name of the stack. This value is case-sensitive.
2433
2705
  # @return [String]
@@ -2457,6 +2729,10 @@ module Aws::AppStream
2457
2729
  # default is to authenticate users using a streaming URL.
2458
2730
  # @return [String]
2459
2731
  #
2732
+ # @!attribute [rw] instance_id
2733
+ # The identifier for the instance hosting the session.
2734
+ # @return [String]
2735
+ #
2460
2736
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeSessionsRequest AWS API Documentation
2461
2737
  #
2462
2738
  class DescribeSessionsRequest < Struct.new(
@@ -2465,7 +2741,8 @@ module Aws::AppStream
2465
2741
  :user_id,
2466
2742
  :next_token,
2467
2743
  :limit,
2468
- :authentication_type)
2744
+ :authentication_type,
2745
+ :instance_id)
2469
2746
  SENSITIVE = []
2470
2747
  include Aws::Structure
2471
2748
  end
@@ -2488,14 +2765,6 @@ module Aws::AppStream
2488
2765
  include Aws::Structure
2489
2766
  end
2490
2767
 
2491
- # @note When making an API call, you may pass DescribeStacksRequest
2492
- # data as a hash:
2493
- #
2494
- # {
2495
- # names: ["String"],
2496
- # next_token: "String",
2497
- # }
2498
- #
2499
2768
  # @!attribute [rw] names
2500
2769
  # The names of the stacks to describe.
2501
2770
  # @return [Array<String>]
@@ -2532,14 +2801,6 @@ module Aws::AppStream
2532
2801
  include Aws::Structure
2533
2802
  end
2534
2803
 
2535
- # @note When making an API call, you may pass DescribeUsageReportSubscriptionsRequest
2536
- # data as a hash:
2537
- #
2538
- # {
2539
- # max_results: 1,
2540
- # next_token: "String",
2541
- # }
2542
- #
2543
2804
  # @!attribute [rw] max_results
2544
2805
  # The maximum size of each page of results.
2545
2806
  # @return [Integer]
@@ -2576,17 +2837,6 @@ module Aws::AppStream
2576
2837
  include Aws::Structure
2577
2838
  end
2578
2839
 
2579
- # @note When making an API call, you may pass DescribeUserStackAssociationsRequest
2580
- # data as a hash:
2581
- #
2582
- # {
2583
- # stack_name: "String",
2584
- # user_name: "Username",
2585
- # authentication_type: "API", # accepts API, SAML, USERPOOL
2586
- # max_results: 1,
2587
- # next_token: "String",
2588
- # }
2589
- #
2590
2840
  # @!attribute [rw] stack_name
2591
2841
  # The name of the stack that is associated with the user.
2592
2842
  # @return [String]
@@ -2643,15 +2893,6 @@ module Aws::AppStream
2643
2893
  include Aws::Structure
2644
2894
  end
2645
2895
 
2646
- # @note When making an API call, you may pass DescribeUsersRequest
2647
- # data as a hash:
2648
- #
2649
- # {
2650
- # authentication_type: "API", # required, accepts API, SAML, USERPOOL
2651
- # max_results: 1,
2652
- # next_token: "String",
2653
- # }
2654
- #
2655
2896
  # @!attribute [rw] authentication_type
2656
2897
  # The authentication type for the users in the user pool to describe.
2657
2898
  # You must specify USERPOOL.
@@ -2716,25 +2957,31 @@ module Aws::AppStream
2716
2957
  # The time the directory configuration was created.
2717
2958
  # @return [Time]
2718
2959
  #
2960
+ # @!attribute [rw] certificate_based_auth_properties
2961
+ # The certificate-based authentication properties used to authenticate
2962
+ # SAML 2.0 Identity Provider (IdP) user identities to Active Directory
2963
+ # domain-joined streaming instances. Fallback is turned on by default
2964
+ # when certificate-based authentication is **Enabled** . Fallback
2965
+ # allows users to log in using their AD domain password if
2966
+ # certificate-based authentication is unsuccessful, or to unlock a
2967
+ # desktop lock screen. **Enabled\_no\_directory\_login\_fallback**
2968
+ # enables certificate-based authentication, but does not allow users
2969
+ # to log in using their AD domain password. Users will be disconnected
2970
+ # to re-authenticate using certificates.
2971
+ # @return [Types::CertificateBasedAuthProperties]
2972
+ #
2719
2973
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DirectoryConfig AWS API Documentation
2720
2974
  #
2721
2975
  class DirectoryConfig < Struct.new(
2722
2976
  :directory_name,
2723
2977
  :organizational_unit_distinguished_names,
2724
2978
  :service_account_credentials,
2725
- :created_time)
2979
+ :created_time,
2980
+ :certificate_based_auth_properties)
2726
2981
  SENSITIVE = []
2727
2982
  include Aws::Structure
2728
2983
  end
2729
2984
 
2730
- # @note When making an API call, you may pass DisableUserRequest
2731
- # data as a hash:
2732
- #
2733
- # {
2734
- # user_name: "Username", # required
2735
- # authentication_type: "API", # required, accepts API, SAML, USERPOOL
2736
- # }
2737
- #
2738
2985
  # @!attribute [rw] user_name
2739
2986
  # The email address of the user.
2740
2987
  #
@@ -2760,14 +3007,27 @@ module Aws::AppStream
2760
3007
  #
2761
3008
  class DisableUserResult < Aws::EmptyStructure; end
2762
3009
 
2763
- # @note When making an API call, you may pass DisassociateApplicationFleetRequest
2764
- # data as a hash:
3010
+ # @!attribute [rw] app_block_arn
3011
+ # The ARN of the app block.
3012
+ # @return [String]
3013
+ #
3014
+ # @!attribute [rw] app_block_builder_name
3015
+ # The name of the app block builder.
3016
+ # @return [String]
3017
+ #
3018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateAppBlockBuilderAppBlockRequest AWS API Documentation
2765
3019
  #
2766
- # {
2767
- # fleet_name: "Name", # required
2768
- # application_arn: "Arn", # required
2769
- # }
3020
+ class DisassociateAppBlockBuilderAppBlockRequest < Struct.new(
3021
+ :app_block_arn,
3022
+ :app_block_builder_name)
3023
+ SENSITIVE = []
3024
+ include Aws::Structure
3025
+ end
3026
+
3027
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateAppBlockBuilderAppBlockResult AWS API Documentation
2770
3028
  #
3029
+ class DisassociateAppBlockBuilderAppBlockResult < Aws::EmptyStructure; end
3030
+
2771
3031
  # @!attribute [rw] fleet_name
2772
3032
  # The name of the fleet.
2773
3033
  # @return [String]
@@ -2789,14 +3049,32 @@ module Aws::AppStream
2789
3049
  #
2790
3050
  class DisassociateApplicationFleetResult < Aws::EmptyStructure; end
2791
3051
 
2792
- # @note When making an API call, you may pass DisassociateFleetRequest
2793
- # data as a hash:
3052
+ # @!attribute [rw] stack_name
3053
+ # The name of the stack with which the entitlement is associated.
3054
+ # @return [String]
3055
+ #
3056
+ # @!attribute [rw] entitlement_name
3057
+ # The name of the entitlement.
3058
+ # @return [String]
2794
3059
  #
2795
- # {
2796
- # fleet_name: "String", # required
2797
- # stack_name: "String", # required
2798
- # }
3060
+ # @!attribute [rw] application_identifier
3061
+ # The identifier of the application to remove from the entitlement.
3062
+ # @return [String]
3063
+ #
3064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateApplicationFromEntitlementRequest AWS API Documentation
3065
+ #
3066
+ class DisassociateApplicationFromEntitlementRequest < Struct.new(
3067
+ :stack_name,
3068
+ :entitlement_name,
3069
+ :application_identifier)
3070
+ SENSITIVE = []
3071
+ include Aws::Structure
3072
+ end
3073
+
3074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateApplicationFromEntitlementResult AWS API Documentation
2799
3075
  #
3076
+ class DisassociateApplicationFromEntitlementResult < Aws::EmptyStructure; end
3077
+
2800
3078
  # @!attribute [rw] fleet_name
2801
3079
  # The name of the fleet.
2802
3080
  # @return [String]
@@ -2821,14 +3099,6 @@ module Aws::AppStream
2821
3099
  # Describes the configuration information required to join fleets and
2822
3100
  # image builders to Microsoft Active Directory domains.
2823
3101
  #
2824
- # @note When making an API call, you may pass DomainJoinInfo
2825
- # data as a hash:
2826
- #
2827
- # {
2828
- # directory_name: "DirectoryName",
2829
- # organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
2830
- # }
2831
- #
2832
3102
  # @!attribute [rw] directory_name
2833
3103
  # The fully qualified name of the directory (for example,
2834
3104
  # corp.example.com).
@@ -2848,49 +3118,187 @@ module Aws::AppStream
2848
3118
  include Aws::Structure
2849
3119
  end
2850
3120
 
2851
- # @note When making an API call, you may pass EnableUserRequest
2852
- # data as a hash:
3121
+ # @!attribute [rw] user_name
3122
+ # The email address of the user.
3123
+ #
3124
+ # <note markdown="1"> Users' email addresses are case-sensitive. During login, if they
3125
+ # specify an email address that doesn't use the same capitalization
3126
+ # as the email address specified when their user pool account was
3127
+ # created, a "user does not exist" error message displays.
3128
+ #
3129
+ # </note>
3130
+ # @return [String]
3131
+ #
3132
+ # @!attribute [rw] authentication_type
3133
+ # The authentication type for the user. You must specify USERPOOL.
3134
+ # @return [String]
3135
+ #
3136
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EnableUserRequest AWS API Documentation
3137
+ #
3138
+ class EnableUserRequest < Struct.new(
3139
+ :user_name,
3140
+ :authentication_type)
3141
+ SENSITIVE = [:user_name]
3142
+ include Aws::Structure
3143
+ end
3144
+
3145
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EnableUserResult AWS API Documentation
3146
+ #
3147
+ class EnableUserResult < Aws::EmptyStructure; end
3148
+
3149
+ # The application associated to an entitlement. Access is controlled
3150
+ # based on user attributes.
3151
+ #
3152
+ # @!attribute [rw] application_identifier
3153
+ # The identifier of the application.
3154
+ # @return [String]
3155
+ #
3156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EntitledApplication AWS API Documentation
3157
+ #
3158
+ class EntitledApplication < Struct.new(
3159
+ :application_identifier)
3160
+ SENSITIVE = []
3161
+ include Aws::Structure
3162
+ end
3163
+
3164
+ # Specifies an entitlement. Entitlements control access to specific
3165
+ # applications within a stack, based on user attributes. Entitlements
3166
+ # apply to SAML 2.0 federated user identities. Amazon AppStream 2.0 user
3167
+ # pool and streaming URL users are entitled to all applications in a
3168
+ # stack. Entitlements don't apply to the desktop stream view
3169
+ # application, or to applications managed by a dynamic app provider
3170
+ # using the Dynamic Application Framework.
3171
+ #
3172
+ # @!attribute [rw] name
3173
+ # The name of the entitlement.
3174
+ # @return [String]
3175
+ #
3176
+ # @!attribute [rw] stack_name
3177
+ # The name of the stack with which the entitlement is associated.
3178
+ # @return [String]
3179
+ #
3180
+ # @!attribute [rw] description
3181
+ # The description of the entitlement.
3182
+ # @return [String]
3183
+ #
3184
+ # @!attribute [rw] app_visibility
3185
+ # Specifies whether all or selected apps are entitled.
3186
+ # @return [String]
3187
+ #
3188
+ # @!attribute [rw] attributes
3189
+ # The attributes of the entitlement.
3190
+ # @return [Array<Types::EntitlementAttribute>]
3191
+ #
3192
+ # @!attribute [rw] created_time
3193
+ # The time when the entitlement was created.
3194
+ # @return [Time]
3195
+ #
3196
+ # @!attribute [rw] last_modified_time
3197
+ # The time when the entitlement was last modified.
3198
+ # @return [Time]
3199
+ #
3200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Entitlement AWS API Documentation
3201
+ #
3202
+ class Entitlement < Struct.new(
3203
+ :name,
3204
+ :stack_name,
3205
+ :description,
3206
+ :app_visibility,
3207
+ :attributes,
3208
+ :created_time,
3209
+ :last_modified_time)
3210
+ SENSITIVE = []
3211
+ include Aws::Structure
3212
+ end
3213
+
3214
+ # The entitlement already exists.
3215
+ #
3216
+ # @!attribute [rw] message
3217
+ # The error message in the exception.
3218
+ # @return [String]
3219
+ #
3220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EntitlementAlreadyExistsException AWS API Documentation
3221
+ #
3222
+ class EntitlementAlreadyExistsException < Struct.new(
3223
+ :message)
3224
+ SENSITIVE = []
3225
+ include Aws::Structure
3226
+ end
3227
+
3228
+ # An attribute associated with an entitlement. Application entitlements
3229
+ # work by matching a supported SAML 2.0 attribute name to a value when a
3230
+ # user identity federates to an Amazon AppStream 2.0 SAML application.
3231
+ #
3232
+ # @!attribute [rw] name
3233
+ # A supported AWS IAM SAML `PrincipalTag` attribute that is matched to
3234
+ # the associated value when a user identity federates into an Amazon
3235
+ # AppStream 2.0 SAML application.
3236
+ #
3237
+ # The following are valid values:
3238
+ #
3239
+ # * roles
3240
+ #
3241
+ # * department
3242
+ #
3243
+ # * organization
3244
+ #
3245
+ # * groups
3246
+ #
3247
+ # * title
3248
+ #
3249
+ # * costCenter
3250
+ #
3251
+ # * userType
3252
+ # @return [String]
3253
+ #
3254
+ # @!attribute [rw] value
3255
+ # A value that is matched to a supported SAML attribute name when a
3256
+ # user identity federates into an Amazon AppStream 2.0 SAML
3257
+ # application.
3258
+ # @return [String]
3259
+ #
3260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EntitlementAttribute AWS API Documentation
3261
+ #
3262
+ class EntitlementAttribute < Struct.new(
3263
+ :name,
3264
+ :value)
3265
+ SENSITIVE = []
3266
+ include Aws::Structure
3267
+ end
3268
+
3269
+ # The entitlement can't be found.
2853
3270
  #
2854
- # {
2855
- # user_name: "Username", # required
2856
- # authentication_type: "API", # required, accepts API, SAML, USERPOOL
2857
- # }
3271
+ # @!attribute [rw] message
3272
+ # The error message in the exception.
3273
+ # @return [String]
2858
3274
  #
2859
- # @!attribute [rw] user_name
2860
- # The email address of the user.
3275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EntitlementNotFoundException AWS API Documentation
2861
3276
  #
2862
- # <note markdown="1"> Users' email addresses are case-sensitive. During login, if they
2863
- # specify an email address that doesn't use the same capitalization
2864
- # as the email address specified when their user pool account was
2865
- # created, a "user does not exist" error message displays.
3277
+ class EntitlementNotFoundException < Struct.new(
3278
+ :message)
3279
+ SENSITIVE = []
3280
+ include Aws::Structure
3281
+ end
3282
+
3283
+ # The error details.
2866
3284
  #
2867
- # </note>
3285
+ # @!attribute [rw] error_code
3286
+ # The error code.
2868
3287
  # @return [String]
2869
3288
  #
2870
- # @!attribute [rw] authentication_type
2871
- # The authentication type for the user. You must specify USERPOOL.
3289
+ # @!attribute [rw] error_message
3290
+ # The error message.
2872
3291
  # @return [String]
2873
3292
  #
2874
- # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EnableUserRequest AWS API Documentation
3293
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ErrorDetails AWS API Documentation
2875
3294
  #
2876
- class EnableUserRequest < Struct.new(
2877
- :user_name,
2878
- :authentication_type)
2879
- SENSITIVE = [:user_name]
3295
+ class ErrorDetails < Struct.new(
3296
+ :error_code,
3297
+ :error_message)
3298
+ SENSITIVE = []
2880
3299
  include Aws::Structure
2881
3300
  end
2882
3301
 
2883
- # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EnableUserResult AWS API Documentation
2884
- #
2885
- class EnableUserResult < Aws::EmptyStructure; end
2886
-
2887
- # @note When making an API call, you may pass ExpireSessionRequest
2888
- # data as a hash:
2889
- #
2890
- # {
2891
- # session_id: "String", # required
2892
- # }
2893
- #
2894
3302
  # @!attribute [rw] session_id
2895
3303
  # The identifier of the streaming session.
2896
3304
  # @return [String]
@@ -3140,6 +3548,16 @@ module Aws::AppStream
3140
3548
  # The USB device filter strings associated with the fleet.
3141
3549
  # @return [Array<String>]
3142
3550
  #
3551
+ # @!attribute [rw] session_script_s3_location
3552
+ # The S3 location of the session scripts configuration zip file. This
3553
+ # only applies to Elastic fleets.
3554
+ # @return [Types::S3Location]
3555
+ #
3556
+ # @!attribute [rw] max_sessions_per_instance
3557
+ # The maximum number of user sessions on an instance. This only
3558
+ # applies to multi-session fleets.
3559
+ # @return [Integer]
3560
+ #
3143
3561
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Fleet AWS API Documentation
3144
3562
  #
3145
3563
  class Fleet < Struct.new(
@@ -3165,7 +3583,9 @@ module Aws::AppStream
3165
3583
  :stream_view,
3166
3584
  :platform,
3167
3585
  :max_concurrent_sessions,
3168
- :usb_device_filter_strings)
3586
+ :usb_device_filter_strings,
3587
+ :session_script_s3_location,
3588
+ :max_sessions_per_instance)
3169
3589
  SENSITIVE = []
3170
3590
  include Aws::Structure
3171
3591
  end
@@ -3497,14 +3917,6 @@ module Aws::AppStream
3497
3917
 
3498
3918
  # Describes the permissions for an image.
3499
3919
  #
3500
- # @note When making an API call, you may pass ImagePermissions
3501
- # data as a hash:
3502
- #
3503
- # {
3504
- # allow_fleet: false,
3505
- # allow_image_builder: false,
3506
- # }
3507
- #
3508
3920
  # @!attribute [rw] allow_fleet
3509
3921
  # Indicates whether the image can be used for a fleet.
3510
3922
  # @return [Boolean]
@@ -3635,14 +4047,6 @@ module Aws::AppStream
3635
4047
  include Aws::Structure
3636
4048
  end
3637
4049
 
3638
- # @note When making an API call, you may pass ListAssociatedFleetsRequest
3639
- # data as a hash:
3640
- #
3641
- # {
3642
- # stack_name: "String", # required
3643
- # next_token: "String",
3644
- # }
3645
- #
3646
4050
  # @!attribute [rw] stack_name
3647
4051
  # The name of the stack.
3648
4052
  # @return [String]
@@ -3679,14 +4083,6 @@ module Aws::AppStream
3679
4083
  include Aws::Structure
3680
4084
  end
3681
4085
 
3682
- # @note When making an API call, you may pass ListAssociatedStacksRequest
3683
- # data as a hash:
3684
- #
3685
- # {
3686
- # fleet_name: "String", # required
3687
- # next_token: "String",
3688
- # }
3689
- #
3690
4086
  # @!attribute [rw] fleet_name
3691
4087
  # The name of the fleet.
3692
4088
  # @return [String]
@@ -3723,13 +4119,52 @@ module Aws::AppStream
3723
4119
  include Aws::Structure
3724
4120
  end
3725
4121
 
3726
- # @note When making an API call, you may pass ListTagsForResourceRequest
3727
- # data as a hash:
4122
+ # @!attribute [rw] stack_name
4123
+ # The name of the stack with which the entitlement is associated.
4124
+ # @return [String]
4125
+ #
4126
+ # @!attribute [rw] entitlement_name
4127
+ # The name of the entitlement.
4128
+ # @return [String]
4129
+ #
4130
+ # @!attribute [rw] next_token
4131
+ # The pagination token used to retrieve the next page of results for
4132
+ # this operation.
4133
+ # @return [String]
4134
+ #
4135
+ # @!attribute [rw] max_results
4136
+ # The maximum size of each page of results.
4137
+ # @return [Integer]
4138
+ #
4139
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListEntitledApplicationsRequest AWS API Documentation
4140
+ #
4141
+ class ListEntitledApplicationsRequest < Struct.new(
4142
+ :stack_name,
4143
+ :entitlement_name,
4144
+ :next_token,
4145
+ :max_results)
4146
+ SENSITIVE = []
4147
+ include Aws::Structure
4148
+ end
4149
+
4150
+ # @!attribute [rw] entitled_applications
4151
+ # The entitled applications.
4152
+ # @return [Array<Types::EntitledApplication>]
4153
+ #
4154
+ # @!attribute [rw] next_token
4155
+ # The pagination token used to retrieve the next page of results for
4156
+ # this operation.
4157
+ # @return [String]
3728
4158
  #
3729
- # {
3730
- # resource_arn: "Arn", # required
3731
- # }
4159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListEntitledApplicationsResult AWS API Documentation
3732
4160
  #
4161
+ class ListEntitledApplicationsResult < Struct.new(
4162
+ :entitled_applications,
4163
+ :next_token)
4164
+ SENSITIVE = []
4165
+ include Aws::Structure
4166
+ end
4167
+
3733
4168
  # @!attribute [rw] resource_arn
3734
4169
  # The Amazon Resource Name (ARN) of the resource.
3735
4170
  # @return [String]
@@ -3888,20 +4323,29 @@ module Aws::AppStream
3888
4323
 
3889
4324
  # Describes the S3 location.
3890
4325
  #
3891
- # @note When making an API call, you may pass S3Location
3892
- # data as a hash:
3893
- #
3894
- # {
3895
- # s3_bucket: "S3Bucket", # required
3896
- # s3_key: "S3Key", # required
3897
- # }
3898
- #
3899
4326
  # @!attribute [rw] s3_bucket
3900
4327
  # The S3 bucket of the S3 object.
3901
4328
  # @return [String]
3902
4329
  #
3903
4330
  # @!attribute [rw] s3_key
3904
4331
  # The S3 key of the S3 object.
4332
+ #
4333
+ # This is required when used for the following:
4334
+ #
4335
+ # * IconS3Location (Actions: CreateApplication and UpdateApplication)
4336
+ #
4337
+ # * SessionScriptS3Location (Actions: CreateFleet and UpdateFleet)
4338
+ #
4339
+ # * ScriptDetails (Actions: CreateAppBlock)
4340
+ #
4341
+ # * SourceS3Location when creating an app block with `CUSTOM`
4342
+ # PackagingType (Actions: CreateAppBlock)
4343
+ #
4344
+ # * SourceS3Location when creating an app block with `APPSTREAM2`
4345
+ # PackagingType, and using an existing application package (VHD
4346
+ # file). In this case, `S3Key` refers to the VHD file. If a new
4347
+ # application package is required, then `S3Key` is not required.
4348
+ # (Actions: CreateAppBlock)
3905
4349
  # @return [String]
3906
4350
  #
3907
4351
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/S3Location AWS API Documentation
@@ -3915,19 +4359,6 @@ module Aws::AppStream
3915
4359
 
3916
4360
  # Describes the details of the script.
3917
4361
  #
3918
- # @note When making an API call, you may pass ScriptDetails
3919
- # data as a hash:
3920
- #
3921
- # {
3922
- # script_s3_location: { # required
3923
- # s3_bucket: "S3Bucket", # required
3924
- # s3_key: "S3Key", # required
3925
- # },
3926
- # executable_path: "String", # required
3927
- # executable_parameters: "String",
3928
- # timeout_in_seconds: 1, # required
3929
- # }
3930
- #
3931
4362
  # @!attribute [rw] script_s3_location
3932
4363
  # The S3 object location for the script.
3933
4364
  # @return [Types::S3Location]
@@ -3958,14 +4389,6 @@ module Aws::AppStream
3958
4389
  # Describes the credentials for the service account used by the fleet or
3959
4390
  # image builder to connect to the directory.
3960
4391
  #
3961
- # @note When making an API call, you may pass ServiceAccountCredentials
3962
- # data as a hash:
3963
- #
3964
- # {
3965
- # account_name: "AccountName", # required
3966
- # account_password: "AccountPassword", # required
3967
- # }
3968
- #
3969
4392
  # @!attribute [rw] account_name
3970
4393
  # The user name of the account. This account must have the following
3971
4394
  # privileges: create computer objects, join computers to the domain,
@@ -4037,6 +4460,10 @@ module Aws::AppStream
4037
4460
  # The network details for the streaming session.
4038
4461
  # @return [Types::NetworkAccessConfiguration]
4039
4462
  #
4463
+ # @!attribute [rw] instance_id
4464
+ # The identifier for the instance hosting the session.
4465
+ # @return [String]
4466
+ #
4040
4467
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Session AWS API Documentation
4041
4468
  #
4042
4469
  class Session < Struct.new(
@@ -4049,7 +4476,8 @@ module Aws::AppStream
4049
4476
  :start_time,
4050
4477
  :max_expiration_time,
4051
4478
  :authentication_type,
4052
- :network_access_configuration)
4479
+ :network_access_configuration,
4480
+ :instance_id)
4053
4481
  SENSITIVE = []
4054
4482
  include Aws::Structure
4055
4483
  end
@@ -4137,6 +4565,12 @@ module Aws::AppStream
4137
4565
  # embedded AppStream 2.0 streaming sessions.
4138
4566
  # @return [Array<String>]
4139
4567
  #
4568
+ # @!attribute [rw] streaming_experience_settings
4569
+ # The streaming protocol you want your stack to prefer. This can be
4570
+ # UDP or TCP. Currently, UDP is only supported in the Windows native
4571
+ # client.
4572
+ # @return [Types::StreamingExperienceSettings]
4573
+ #
4140
4574
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Stack AWS API Documentation
4141
4575
  #
4142
4576
  class Stack < Struct.new(
@@ -4152,7 +4586,8 @@ module Aws::AppStream
4152
4586
  :user_settings,
4153
4587
  :application_settings,
4154
4588
  :access_endpoints,
4155
- :embed_host_domains)
4589
+ :embed_host_domains,
4590
+ :streaming_experience_settings)
4156
4591
  SENSITIVE = []
4157
4592
  include Aws::Structure
4158
4593
  end
@@ -4176,13 +4611,30 @@ module Aws::AppStream
4176
4611
  include Aws::Structure
4177
4612
  end
4178
4613
 
4179
- # @note When making an API call, you may pass StartFleetRequest
4180
- # data as a hash:
4614
+ # @!attribute [rw] name
4615
+ # The name of the app block builder.
4616
+ # @return [String]
4617
+ #
4618
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartAppBlockBuilderRequest AWS API Documentation
4619
+ #
4620
+ class StartAppBlockBuilderRequest < Struct.new(
4621
+ :name)
4622
+ SENSITIVE = []
4623
+ include Aws::Structure
4624
+ end
4625
+
4626
+ # @!attribute [rw] app_block_builder
4627
+ # Describes an app block builder.
4628
+ # @return [Types::AppBlockBuilder]
4181
4629
  #
4182
- # {
4183
- # name: "String", # required
4184
- # }
4630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartAppBlockBuilderResult AWS API Documentation
4185
4631
  #
4632
+ class StartAppBlockBuilderResult < Struct.new(
4633
+ :app_block_builder)
4634
+ SENSITIVE = []
4635
+ include Aws::Structure
4636
+ end
4637
+
4186
4638
  # @!attribute [rw] name
4187
4639
  # The name of the fleet.
4188
4640
  # @return [String]
@@ -4199,14 +4651,6 @@ module Aws::AppStream
4199
4651
  #
4200
4652
  class StartFleetResult < Aws::EmptyStructure; end
4201
4653
 
4202
- # @note When making an API call, you may pass StartImageBuilderRequest
4203
- # data as a hash:
4204
- #
4205
- # {
4206
- # name: "String", # required
4207
- # appstream_agent_version: "AppstreamAgentVersion",
4208
- # }
4209
- #
4210
4654
  # @!attribute [rw] name
4211
4655
  # The name of the image builder.
4212
4656
  # @return [String]
@@ -4238,13 +4682,30 @@ module Aws::AppStream
4238
4682
  include Aws::Structure
4239
4683
  end
4240
4684
 
4241
- # @note When making an API call, you may pass StopFleetRequest
4242
- # data as a hash:
4685
+ # @!attribute [rw] name
4686
+ # The name of the app block builder.
4687
+ # @return [String]
4688
+ #
4689
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopAppBlockBuilderRequest AWS API Documentation
4690
+ #
4691
+ class StopAppBlockBuilderRequest < Struct.new(
4692
+ :name)
4693
+ SENSITIVE = []
4694
+ include Aws::Structure
4695
+ end
4696
+
4697
+ # @!attribute [rw] app_block_builder
4698
+ # Describes an app block builder.
4699
+ # @return [Types::AppBlockBuilder]
4243
4700
  #
4244
- # {
4245
- # name: "String", # required
4246
- # }
4701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopAppBlockBuilderResult AWS API Documentation
4247
4702
  #
4703
+ class StopAppBlockBuilderResult < Struct.new(
4704
+ :app_block_builder)
4705
+ SENSITIVE = []
4706
+ include Aws::Structure
4707
+ end
4708
+
4248
4709
  # @!attribute [rw] name
4249
4710
  # The name of the fleet.
4250
4711
  # @return [String]
@@ -4261,13 +4722,6 @@ module Aws::AppStream
4261
4722
  #
4262
4723
  class StopFleetResult < Aws::EmptyStructure; end
4263
4724
 
4264
- # @note When making an API call, you may pass StopImageBuilderRequest
4265
- # data as a hash:
4266
- #
4267
- # {
4268
- # name: "String", # required
4269
- # }
4270
- #
4271
4725
  # @!attribute [rw] name
4272
4726
  # The name of the image builder.
4273
4727
  # @return [String]
@@ -4294,15 +4748,6 @@ module Aws::AppStream
4294
4748
 
4295
4749
  # Describes a connector that enables persistent storage for users.
4296
4750
  #
4297
- # @note When making an API call, you may pass StorageConnector
4298
- # data as a hash:
4299
- #
4300
- # {
4301
- # connector_type: "HOMEFOLDERS", # required, accepts HOMEFOLDERS, GOOGLE_DRIVE, ONE_DRIVE
4302
- # resource_identifier: "ResourceIdentifier",
4303
- # domains: ["Domain"],
4304
- # }
4305
- #
4306
4751
  # @!attribute [rw] connector_type
4307
4752
  # The type of storage connector.
4308
4753
  # @return [String]
@@ -4325,16 +4770,22 @@ module Aws::AppStream
4325
4770
  include Aws::Structure
4326
4771
  end
4327
4772
 
4328
- # @note When making an API call, you may pass TagResourceRequest
4329
- # data as a hash:
4773
+ # The streaming protocol you want your stack to prefer. This can be UDP
4774
+ # or TCP. Currently, UDP is only supported in the Windows native client.
4775
+ #
4776
+ # @!attribute [rw] preferred_protocol
4777
+ # The preferred protocol that you want to use while streaming your
4778
+ # application.
4779
+ # @return [String]
4330
4780
  #
4331
- # {
4332
- # resource_arn: "Arn", # required
4333
- # tags: { # required
4334
- # "TagKey" => "TagValue",
4335
- # },
4336
- # }
4781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StreamingExperienceSettings AWS API Documentation
4337
4782
  #
4783
+ class StreamingExperienceSettings < Struct.new(
4784
+ :preferred_protocol)
4785
+ SENSITIVE = []
4786
+ include Aws::Structure
4787
+ end
4788
+
4338
4789
  # @!attribute [rw] resource_arn
4339
4790
  # The Amazon Resource Name (ARN) of the resource.
4340
4791
  # @return [String]
@@ -4365,14 +4816,6 @@ module Aws::AppStream
4365
4816
  #
4366
4817
  class TagResourceResponse < Aws::EmptyStructure; end
4367
4818
 
4368
- # @note When making an API call, you may pass UntagResourceRequest
4369
- # data as a hash:
4370
- #
4371
- # {
4372
- # resource_arn: "Arn", # required
4373
- # tag_keys: ["TagKey"], # required
4374
- # }
4375
- #
4376
4819
  # @!attribute [rw] resource_arn
4377
4820
  # The Amazon Resource Name (ARN) of the resource.
4378
4821
  # @return [String]
@@ -4394,24 +4837,108 @@ module Aws::AppStream
4394
4837
  #
4395
4838
  class UntagResourceResponse < Aws::EmptyStructure; end
4396
4839
 
4397
- # @note When making an API call, you may pass UpdateApplicationRequest
4398
- # data as a hash:
4399
- #
4400
- # {
4401
- # name: "Name", # required
4402
- # display_name: "DisplayName",
4403
- # description: "Description",
4404
- # icon_s3_location: {
4405
- # s3_bucket: "S3Bucket", # required
4406
- # s3_key: "S3Key", # required
4407
- # },
4408
- # launch_path: "String",
4409
- # working_directory: "String",
4410
- # launch_parameters: "String",
4411
- # app_block_arn: "Arn",
4412
- # attributes_to_delete: ["LAUNCH_PARAMETERS"], # accepts LAUNCH_PARAMETERS, WORKING_DIRECTORY
4413
- # }
4840
+ # @!attribute [rw] name
4841
+ # The unique name for the app block builder.
4842
+ # @return [String]
4843
+ #
4844
+ # @!attribute [rw] description
4845
+ # The description of the app block builder.
4846
+ # @return [String]
4847
+ #
4848
+ # @!attribute [rw] display_name
4849
+ # The display name of the app block builder.
4850
+ # @return [String]
4851
+ #
4852
+ # @!attribute [rw] platform
4853
+ # The platform of the app block builder.
4854
+ #
4855
+ # `WINDOWS_SERVER_2019` is the only valid value.
4856
+ # @return [String]
4857
+ #
4858
+ # @!attribute [rw] instance_type
4859
+ # The instance type to use when launching the app block builder. The
4860
+ # following instance types are available:
4861
+ #
4862
+ # * stream.standard.small
4863
+ #
4864
+ # * stream.standard.medium
4865
+ #
4866
+ # * stream.standard.large
4867
+ #
4868
+ # * stream.standard.xlarge
4869
+ #
4870
+ # * stream.standard.2xlarge
4871
+ # @return [String]
4872
+ #
4873
+ # @!attribute [rw] vpc_config
4874
+ # The VPC configuration for the app block builder.
4875
+ #
4876
+ # App block builders require that you specify at least two subnets in
4877
+ # different availability zones.
4878
+ # @return [Types::VpcConfig]
4879
+ #
4880
+ # @!attribute [rw] enable_default_internet_access
4881
+ # Enables or disables default internet access for the app block
4882
+ # builder.
4883
+ # @return [Boolean]
4884
+ #
4885
+ # @!attribute [rw] iam_role_arn
4886
+ # The Amazon Resource Name (ARN) of the IAM role to apply to the app
4887
+ # block builder. To assume a role, the app block builder calls the AWS
4888
+ # Security Token Service (STS) `AssumeRole` API operation and passes
4889
+ # the ARN of the role to use. The operation creates a new session with
4890
+ # temporary credentials. AppStream 2.0 retrieves the temporary
4891
+ # credentials and creates the **appstream\_machine\_role** credential
4892
+ # profile on the instance.
4893
+ #
4894
+ # For more information, see [Using an IAM Role to Grant Permissions to
4895
+ # Applications and Scripts Running on AppStream 2.0 Streaming
4896
+ # Instances][1] in the *Amazon AppStream 2.0 Administration Guide*.
4897
+ #
4898
+ #
4899
+ #
4900
+ # [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html
4901
+ # @return [String]
4902
+ #
4903
+ # @!attribute [rw] access_endpoints
4904
+ # The list of interface VPC endpoint (interface endpoint) objects.
4905
+ # Administrators can connect to the app block builder only through the
4906
+ # specified endpoints.
4907
+ # @return [Array<Types::AccessEndpoint>]
4908
+ #
4909
+ # @!attribute [rw] attributes_to_delete
4910
+ # The attributes to delete from the app block builder.
4911
+ # @return [Array<String>]
4912
+ #
4913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateAppBlockBuilderRequest AWS API Documentation
4914
+ #
4915
+ class UpdateAppBlockBuilderRequest < Struct.new(
4916
+ :name,
4917
+ :description,
4918
+ :display_name,
4919
+ :platform,
4920
+ :instance_type,
4921
+ :vpc_config,
4922
+ :enable_default_internet_access,
4923
+ :iam_role_arn,
4924
+ :access_endpoints,
4925
+ :attributes_to_delete)
4926
+ SENSITIVE = []
4927
+ include Aws::Structure
4928
+ end
4929
+
4930
+ # @!attribute [rw] app_block_builder
4931
+ # Describes an app block builder.
4932
+ # @return [Types::AppBlockBuilder]
4933
+ #
4934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateAppBlockBuilderResult AWS API Documentation
4414
4935
  #
4936
+ class UpdateAppBlockBuilderResult < Struct.new(
4937
+ :app_block_builder)
4938
+ SENSITIVE = []
4939
+ include Aws::Structure
4940
+ end
4941
+
4415
4942
  # @!attribute [rw] name
4416
4943
  # The name of the application. This name is visible to users when
4417
4944
  # display name is not specified.
@@ -4478,18 +5005,6 @@ module Aws::AppStream
4478
5005
  include Aws::Structure
4479
5006
  end
4480
5007
 
4481
- # @note When making an API call, you may pass UpdateDirectoryConfigRequest
4482
- # data as a hash:
4483
- #
4484
- # {
4485
- # directory_name: "DirectoryName", # required
4486
- # organizational_unit_distinguished_names: ["OrganizationalUnitDistinguishedName"],
4487
- # service_account_credentials: {
4488
- # account_name: "AccountName", # required
4489
- # account_password: "AccountPassword", # required
4490
- # },
4491
- # }
4492
- #
4493
5008
  # @!attribute [rw] directory_name
4494
5009
  # The name of the Directory Config object.
4495
5010
  # @return [String]
@@ -4504,12 +5019,26 @@ module Aws::AppStream
4504
5019
  # builder to connect to the directory.
4505
5020
  # @return [Types::ServiceAccountCredentials]
4506
5021
  #
5022
+ # @!attribute [rw] certificate_based_auth_properties
5023
+ # The certificate-based authentication properties used to authenticate
5024
+ # SAML 2.0 Identity Provider (IdP) user identities to Active Directory
5025
+ # domain-joined streaming instances. Fallback is turned on by default
5026
+ # when certificate-based authentication is **Enabled** . Fallback
5027
+ # allows users to log in using their AD domain password if
5028
+ # certificate-based authentication is unsuccessful, or to unlock a
5029
+ # desktop lock screen. **Enabled\_no\_directory\_login\_fallback**
5030
+ # enables certificate-based authentication, but does not allow users
5031
+ # to log in using their AD domain password. Users will be disconnected
5032
+ # to re-authenticate using certificates.
5033
+ # @return [Types::CertificateBasedAuthProperties]
5034
+ #
4507
5035
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfigRequest AWS API Documentation
4508
5036
  #
4509
5037
  class UpdateDirectoryConfigRequest < Struct.new(
4510
5038
  :directory_name,
4511
5039
  :organizational_unit_distinguished_names,
4512
- :service_account_credentials)
5040
+ :service_account_credentials,
5041
+ :certificate_based_auth_properties)
4513
5042
  SENSITIVE = []
4514
5043
  include Aws::Structure
4515
5044
  end
@@ -4526,40 +5055,50 @@ module Aws::AppStream
4526
5055
  include Aws::Structure
4527
5056
  end
4528
5057
 
4529
- # @note When making an API call, you may pass UpdateFleetRequest
4530
- # data as a hash:
4531
- #
4532
- # {
4533
- # image_name: "String",
4534
- # image_arn: "Arn",
4535
- # name: "String",
4536
- # instance_type: "String",
4537
- # compute_capacity: {
4538
- # desired_instances: 1, # required
4539
- # },
4540
- # vpc_config: {
4541
- # subnet_ids: ["String"],
4542
- # security_group_ids: ["String"],
4543
- # },
4544
- # max_user_duration_in_seconds: 1,
4545
- # disconnect_timeout_in_seconds: 1,
4546
- # delete_vpc_config: false,
4547
- # description: "Description",
4548
- # display_name: "DisplayName",
4549
- # enable_default_internet_access: false,
4550
- # domain_join_info: {
4551
- # directory_name: "DirectoryName",
4552
- # organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
4553
- # },
4554
- # idle_disconnect_timeout_in_seconds: 1,
4555
- # attributes_to_delete: ["VPC_CONFIGURATION"], # accepts VPC_CONFIGURATION, VPC_CONFIGURATION_SECURITY_GROUP_IDS, DOMAIN_JOIN_INFO, IAM_ROLE_ARN, USB_DEVICE_FILTER_STRINGS
4556
- # iam_role_arn: "Arn",
4557
- # stream_view: "APP", # accepts APP, DESKTOP
4558
- # platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
4559
- # max_concurrent_sessions: 1,
4560
- # usb_device_filter_strings: ["UsbDeviceFilterString"],
4561
- # }
5058
+ # @!attribute [rw] name
5059
+ # The name of the entitlement.
5060
+ # @return [String]
5061
+ #
5062
+ # @!attribute [rw] stack_name
5063
+ # The name of the stack with which the entitlement is associated.
5064
+ # @return [String]
5065
+ #
5066
+ # @!attribute [rw] description
5067
+ # The description of the entitlement.
5068
+ # @return [String]
5069
+ #
5070
+ # @!attribute [rw] app_visibility
5071
+ # Specifies whether all or only selected apps are entitled.
5072
+ # @return [String]
5073
+ #
5074
+ # @!attribute [rw] attributes
5075
+ # The attributes of the entitlement.
5076
+ # @return [Array<Types::EntitlementAttribute>]
5077
+ #
5078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateEntitlementRequest AWS API Documentation
5079
+ #
5080
+ class UpdateEntitlementRequest < Struct.new(
5081
+ :name,
5082
+ :stack_name,
5083
+ :description,
5084
+ :app_visibility,
5085
+ :attributes)
5086
+ SENSITIVE = []
5087
+ include Aws::Structure
5088
+ end
5089
+
5090
+ # @!attribute [rw] entitlement
5091
+ # The entitlement.
5092
+ # @return [Types::Entitlement]
4562
5093
  #
5094
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateEntitlementResult AWS API Documentation
5095
+ #
5096
+ class UpdateEntitlementResult < Struct.new(
5097
+ :entitlement)
5098
+ SENSITIVE = []
5099
+ include Aws::Structure
5100
+ end
5101
+
4563
5102
  # @!attribute [rw] image_name
4564
5103
  # The name of the image used to create the fleet.
4565
5104
  # @return [String]
@@ -4582,6 +5121,10 @@ module Aws::AppStream
4582
5121
  #
4583
5122
  # * stream.standard.large
4584
5123
  #
5124
+ # * stream.standard.xlarge
5125
+ #
5126
+ # * stream.standard.2xlarge
5127
+ #
4585
5128
  # * stream.compute.large
4586
5129
  #
4587
5130
  # * stream.compute.xlarge
@@ -4647,6 +5190,12 @@ module Aws::AppStream
4647
5190
  # * stream.standard.small
4648
5191
  #
4649
5192
  # * stream.standard.medium
5193
+ #
5194
+ # * stream.standard.large
5195
+ #
5196
+ # * stream.standard.xlarge
5197
+ #
5198
+ # * stream.standard.2xlarge
4650
5199
  # @return [String]
4651
5200
  #
4652
5201
  # @!attribute [rw] compute_capacity
@@ -4669,7 +5218,7 @@ module Aws::AppStream
4669
5218
  # this time elapses, the instance is terminated and replaced by a new
4670
5219
  # instance.
4671
5220
  #
4672
- # Specify a value between 600 and 360000.
5221
+ # Specify a value between 600 and 432000.
4673
5222
  # @return [Integer]
4674
5223
  #
4675
5224
  # @!attribute [rw] disconnect_timeout_in_seconds
@@ -4780,6 +5329,16 @@ module Aws::AppStream
4780
5329
  # native client. This is allowed but not required for Elastic fleets.
4781
5330
  # @return [Array<String>]
4782
5331
  #
5332
+ # @!attribute [rw] session_script_s3_location
5333
+ # The S3 location of the session scripts configuration zip file. This
5334
+ # only applies to Elastic fleets.
5335
+ # @return [Types::S3Location]
5336
+ #
5337
+ # @!attribute [rw] max_sessions_per_instance
5338
+ # The maximum number of user sessions on an instance. This only
5339
+ # applies to multi-session fleets.
5340
+ # @return [Integer]
5341
+ #
4783
5342
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleetRequest AWS API Documentation
4784
5343
  #
4785
5344
  class UpdateFleetRequest < Struct.new(
@@ -4802,7 +5361,9 @@ module Aws::AppStream
4802
5361
  :stream_view,
4803
5362
  :platform,
4804
5363
  :max_concurrent_sessions,
4805
- :usb_device_filter_strings)
5364
+ :usb_device_filter_strings,
5365
+ :session_script_s3_location,
5366
+ :max_sessions_per_instance)
4806
5367
  SENSITIVE = []
4807
5368
  include Aws::Structure
4808
5369
  end
@@ -4819,18 +5380,6 @@ module Aws::AppStream
4819
5380
  include Aws::Structure
4820
5381
  end
4821
5382
 
4822
- # @note When making an API call, you may pass UpdateImagePermissionsRequest
4823
- # data as a hash:
4824
- #
4825
- # {
4826
- # name: "Name", # required
4827
- # shared_account_id: "AwsAccountId", # required
4828
- # image_permissions: { # required
4829
- # allow_fleet: false,
4830
- # allow_image_builder: false,
4831
- # },
4832
- # }
4833
- #
4834
5383
  # @!attribute [rw] name
4835
5384
  # The name of the private image.
4836
5385
  # @return [String]
@@ -4858,43 +5407,6 @@ module Aws::AppStream
4858
5407
  #
4859
5408
  class UpdateImagePermissionsResult < Aws::EmptyStructure; end
4860
5409
 
4861
- # @note When making an API call, you may pass UpdateStackRequest
4862
- # data as a hash:
4863
- #
4864
- # {
4865
- # display_name: "DisplayName",
4866
- # description: "Description",
4867
- # name: "String", # required
4868
- # storage_connectors: [
4869
- # {
4870
- # connector_type: "HOMEFOLDERS", # required, accepts HOMEFOLDERS, GOOGLE_DRIVE, ONE_DRIVE
4871
- # resource_identifier: "ResourceIdentifier",
4872
- # domains: ["Domain"],
4873
- # },
4874
- # ],
4875
- # delete_storage_connectors: false,
4876
- # redirect_url: "RedirectURL",
4877
- # feedback_url: "FeedbackURL",
4878
- # attributes_to_delete: ["STORAGE_CONNECTORS"], # accepts STORAGE_CONNECTORS, STORAGE_CONNECTOR_HOMEFOLDERS, STORAGE_CONNECTOR_GOOGLE_DRIVE, STORAGE_CONNECTOR_ONE_DRIVE, REDIRECT_URL, FEEDBACK_URL, THEME_NAME, USER_SETTINGS, EMBED_HOST_DOMAINS, IAM_ROLE_ARN, ACCESS_ENDPOINTS
4879
- # user_settings: [
4880
- # {
4881
- # action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, FILE_UPLOAD, FILE_DOWNLOAD, PRINTING_TO_LOCAL_DEVICE, DOMAIN_PASSWORD_SIGNIN, DOMAIN_SMART_CARD_SIGNIN
4882
- # permission: "ENABLED", # required, accepts ENABLED, DISABLED
4883
- # },
4884
- # ],
4885
- # application_settings: {
4886
- # enabled: false, # required
4887
- # settings_group: "SettingsGroup",
4888
- # },
4889
- # access_endpoints: [
4890
- # {
4891
- # endpoint_type: "STREAMING", # required, accepts STREAMING
4892
- # vpce_id: "String",
4893
- # },
4894
- # ],
4895
- # embed_host_domains: ["EmbedHostDomain"],
4896
- # }
4897
- #
4898
5410
  # @!attribute [rw] display_name
4899
5411
  # The stack name to display.
4900
5412
  # @return [String]
@@ -4954,6 +5466,12 @@ module Aws::AppStream
4954
5466
  # embedded AppStream 2.0 streaming sessions.
4955
5467
  # @return [Array<String>]
4956
5468
  #
5469
+ # @!attribute [rw] streaming_experience_settings
5470
+ # The streaming protocol you want your stack to prefer. This can be
5471
+ # UDP or TCP. Currently, UDP is only supported in the Windows native
5472
+ # client.
5473
+ # @return [Types::StreamingExperienceSettings]
5474
+ #
4957
5475
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateStackRequest AWS API Documentation
4958
5476
  #
4959
5477
  class UpdateStackRequest < Struct.new(
@@ -4968,7 +5486,8 @@ module Aws::AppStream
4968
5486
  :user_settings,
4969
5487
  :application_settings,
4970
5488
  :access_endpoints,
4971
- :embed_host_domains)
5489
+ :embed_host_domains,
5490
+ :streaming_experience_settings)
4972
5491
  SENSITIVE = []
4973
5492
  include Aws::Structure
4974
5493
  end
@@ -5091,14 +5610,6 @@ module Aws::AppStream
5091
5610
  # Describes an action and whether the action is enabled or disabled for
5092
5611
  # users during their streaming sessions.
5093
5612
  #
5094
- # @note When making an API call, you may pass UserSetting
5095
- # data as a hash:
5096
- #
5097
- # {
5098
- # action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, FILE_UPLOAD, FILE_DOWNLOAD, PRINTING_TO_LOCAL_DEVICE, DOMAIN_PASSWORD_SIGNIN, DOMAIN_SMART_CARD_SIGNIN
5099
- # permission: "ENABLED", # required, accepts ENABLED, DISABLED
5100
- # }
5101
- #
5102
5613
  # @!attribute [rw] action
5103
5614
  # The action that is enabled or disabled.
5104
5615
  # @return [String]
@@ -5118,16 +5629,6 @@ module Aws::AppStream
5118
5629
 
5119
5630
  # Describes a user in the user pool and the associated stack.
5120
5631
  #
5121
- # @note When making an API call, you may pass UserStackAssociation
5122
- # data as a hash:
5123
- #
5124
- # {
5125
- # stack_name: "String", # required
5126
- # user_name: "Username", # required
5127
- # authentication_type: "API", # required, accepts API, SAML, USERPOOL
5128
- # send_email_notification: false,
5129
- # }
5130
- #
5131
5632
  # @!attribute [rw] stack_name
5132
5633
  # The name of the stack that is associated with the user.
5133
5634
  # @return [String]
@@ -5189,14 +5690,6 @@ module Aws::AppStream
5189
5690
 
5190
5691
  # Describes VPC configuration information for fleets and image builders.
5191
5692
  #
5192
- # @note When making an API call, you may pass VpcConfig
5193
- # data as a hash:
5194
- #
5195
- # {
5196
- # subnet_ids: ["String"],
5197
- # security_group_ids: ["String"],
5198
- # }
5199
- #
5200
5693
  # @!attribute [rw] subnet_ids
5201
5694
  # The identifiers of the subnets to which a network interface is
5202
5695
  # attached from the fleet instance or image builder instance. Fleet