aws-sdk-appstream 1.60.0 → 1.80.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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