aws-sdk-appstream 1.58.0 → 1.59.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -44,6 +44,59 @@ module Aws::AppStream
44
44
  include Aws::Structure
45
45
  end
46
46
 
47
+ # Describes an app block.
48
+ #
49
+ # App blocks are an Amazon AppStream 2.0 resource that stores the
50
+ # details about the virtual hard disk in an S3 bucket. It also stores
51
+ # the setup script with details about how to mount the virtual hard
52
+ # disk. The virtual hard disk includes the application binaries and
53
+ # other files necessary to launch your applications. Multiple
54
+ # applications can be assigned to a single app block.
55
+ #
56
+ # This is only supported for Elastic fleets.
57
+ #
58
+ # @!attribute [rw] name
59
+ # The name of the app block.
60
+ # @return [String]
61
+ #
62
+ # @!attribute [rw] arn
63
+ # The ARN of the app block.
64
+ # @return [String]
65
+ #
66
+ # @!attribute [rw] description
67
+ # The description of the app block.
68
+ # @return [String]
69
+ #
70
+ # @!attribute [rw] display_name
71
+ # The display name of the app block.
72
+ # @return [String]
73
+ #
74
+ # @!attribute [rw] source_s3_location
75
+ # The source S3 location of the app block.
76
+ # @return [Types::S3Location]
77
+ #
78
+ # @!attribute [rw] setup_script_details
79
+ # The setup script details of the app block.
80
+ # @return [Types::ScriptDetails]
81
+ #
82
+ # @!attribute [rw] created_time
83
+ # The created time of the app block.
84
+ # @return [Time]
85
+ #
86
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AppBlock AWS API Documentation
87
+ #
88
+ class AppBlock < Struct.new(
89
+ :name,
90
+ :arn,
91
+ :description,
92
+ :display_name,
93
+ :source_s3_location,
94
+ :setup_script_details,
95
+ :created_time)
96
+ SENSITIVE = []
97
+ include Aws::Structure
98
+ end
99
+
47
100
  # Describes an application in the application catalog.
48
101
  #
49
102
  # @!attribute [rw] name
@@ -75,6 +128,38 @@ module Aws::AppStream
75
128
  # Additional attributes that describe the application.
76
129
  # @return [Hash<String,String>]
77
130
  #
131
+ # @!attribute [rw] working_directory
132
+ # The working directory for the application.
133
+ # @return [String]
134
+ #
135
+ # @!attribute [rw] description
136
+ # The description of the application.
137
+ # @return [String]
138
+ #
139
+ # @!attribute [rw] arn
140
+ # The ARN of the application.
141
+ # @return [String]
142
+ #
143
+ # @!attribute [rw] app_block_arn
144
+ # The app block ARN of the application.
145
+ # @return [String]
146
+ #
147
+ # @!attribute [rw] icon_s3_location
148
+ # The S3 location of the application icon.
149
+ # @return [Types::S3Location]
150
+ #
151
+ # @!attribute [rw] platforms
152
+ # The platforms on which the application can run.
153
+ # @return [Array<String>]
154
+ #
155
+ # @!attribute [rw] instance_families
156
+ # The instance families for the application.
157
+ # @return [Array<String>]
158
+ #
159
+ # @!attribute [rw] created_time
160
+ # The time at which the application was created within the app block.
161
+ # @return [Time]
162
+ #
78
163
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Application AWS API Documentation
79
164
  #
80
165
  class Application < Struct.new(
@@ -84,7 +169,34 @@ module Aws::AppStream
84
169
  :launch_path,
85
170
  :launch_parameters,
86
171
  :enabled,
87
- :metadata)
172
+ :metadata,
173
+ :working_directory,
174
+ :description,
175
+ :arn,
176
+ :app_block_arn,
177
+ :icon_s3_location,
178
+ :platforms,
179
+ :instance_families,
180
+ :created_time)
181
+ SENSITIVE = []
182
+ include Aws::Structure
183
+ end
184
+
185
+ # Describes the application fleet association.
186
+ #
187
+ # @!attribute [rw] fleet_name
188
+ # The name of the fleet associated with the application.
189
+ # @return [String]
190
+ #
191
+ # @!attribute [rw] application_arn
192
+ # The ARN of the application associated with the fleet.
193
+ # @return [String]
194
+ #
195
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ApplicationFleetAssociation AWS API Documentation
196
+ #
197
+ class ApplicationFleetAssociation < Struct.new(
198
+ :fleet_name,
199
+ :application_arn)
88
200
  SENSITIVE = []
89
201
  include Aws::Structure
90
202
  end
@@ -149,6 +261,45 @@ module Aws::AppStream
149
261
  include Aws::Structure
150
262
  end
151
263
 
264
+ # @note When making an API call, you may pass AssociateApplicationFleetRequest
265
+ # data as a hash:
266
+ #
267
+ # {
268
+ # fleet_name: "Name", # required
269
+ # application_arn: "Arn", # required
270
+ # }
271
+ #
272
+ # @!attribute [rw] fleet_name
273
+ # The name of the fleet.
274
+ # @return [String]
275
+ #
276
+ # @!attribute [rw] application_arn
277
+ # The ARN of the application.
278
+ # @return [String]
279
+ #
280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateApplicationFleetRequest AWS API Documentation
281
+ #
282
+ class AssociateApplicationFleetRequest < Struct.new(
283
+ :fleet_name,
284
+ :application_arn)
285
+ SENSITIVE = []
286
+ include Aws::Structure
287
+ end
288
+
289
+ # @!attribute [rw] application_fleet_association
290
+ # If fleet name is specified, this returns the list of applications
291
+ # that are associated to it. If application ARN is specified, this
292
+ # returns the list of fleets to which it is associated.
293
+ # @return [Types::ApplicationFleetAssociation]
294
+ #
295
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateApplicationFleetResult AWS API Documentation
296
+ #
297
+ class AssociateApplicationFleetResult < Struct.new(
298
+ :application_fleet_association)
299
+ SENSITIVE = []
300
+ include Aws::Structure
301
+ end
302
+
152
303
  # @note When making an API call, you may pass AssociateFleetRequest
153
304
  # data as a hash:
154
305
  #
@@ -373,6 +524,181 @@ module Aws::AppStream
373
524
  include Aws::Structure
374
525
  end
375
526
 
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
+ # }
551
+ #
552
+ # @!attribute [rw] name
553
+ # The name of the app block.
554
+ # @return [String]
555
+ #
556
+ # @!attribute [rw] description
557
+ # The description of the app block.
558
+ # @return [String]
559
+ #
560
+ # @!attribute [rw] display_name
561
+ # The display name of the app block. This is not displayed to the
562
+ # user.
563
+ # @return [String]
564
+ #
565
+ # @!attribute [rw] source_s3_location
566
+ # The source S3 location of the app block.
567
+ # @return [Types::S3Location]
568
+ #
569
+ # @!attribute [rw] setup_script_details
570
+ # The setup script details of the app block.
571
+ # @return [Types::ScriptDetails]
572
+ #
573
+ # @!attribute [rw] tags
574
+ # The tags assigned to the app block.
575
+ # @return [Hash<String,String>]
576
+ #
577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlockRequest AWS API Documentation
578
+ #
579
+ class CreateAppBlockRequest < Struct.new(
580
+ :name,
581
+ :description,
582
+ :display_name,
583
+ :source_s3_location,
584
+ :setup_script_details,
585
+ :tags)
586
+ SENSITIVE = []
587
+ include Aws::Structure
588
+ end
589
+
590
+ # @!attribute [rw] app_block
591
+ # The app block.
592
+ # @return [Types::AppBlock]
593
+ #
594
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlockResult AWS API Documentation
595
+ #
596
+ class CreateAppBlockResult < Struct.new(
597
+ :app_block)
598
+ SENSITIVE = []
599
+ include Aws::Structure
600
+ end
601
+
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
+ # @!attribute [rw] name
625
+ # The name of the application. This name is visible to users when
626
+ # display name is not specified.
627
+ # @return [String]
628
+ #
629
+ # @!attribute [rw] display_name
630
+ # The display name of the application. This name is visible to users
631
+ # in the application catalog.
632
+ # @return [String]
633
+ #
634
+ # @!attribute [rw] description
635
+ # The description of the application.
636
+ # @return [String]
637
+ #
638
+ # @!attribute [rw] icon_s3_location
639
+ # The location in S3 of the application icon.
640
+ # @return [Types::S3Location]
641
+ #
642
+ # @!attribute [rw] launch_path
643
+ # The launch path of the application.
644
+ # @return [String]
645
+ #
646
+ # @!attribute [rw] working_directory
647
+ # The working directory of the application.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] launch_parameters
651
+ # The launch parameters of the application.
652
+ # @return [String]
653
+ #
654
+ # @!attribute [rw] platforms
655
+ # The platforms the application supports. WINDOWS\_SERVER\_2019 and
656
+ # AMAZON\_LINUX2 are supported for Elastic fleets.
657
+ # @return [Array<String>]
658
+ #
659
+ # @!attribute [rw] instance_families
660
+ # The instance families the application supports. Valid values are
661
+ # GENERAL\_PURPOSE and GRAPHICS\_G4.
662
+ # @return [Array<String>]
663
+ #
664
+ # @!attribute [rw] app_block_arn
665
+ # The app block ARN to which the application should be associated
666
+ # @return [String]
667
+ #
668
+ # @!attribute [rw] tags
669
+ # The tags assigned to the application.
670
+ # @return [Hash<String,String>]
671
+ #
672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateApplicationRequest AWS API Documentation
673
+ #
674
+ class CreateApplicationRequest < Struct.new(
675
+ :name,
676
+ :display_name,
677
+ :description,
678
+ :icon_s3_location,
679
+ :launch_path,
680
+ :working_directory,
681
+ :launch_parameters,
682
+ :platforms,
683
+ :instance_families,
684
+ :app_block_arn,
685
+ :tags)
686
+ SENSITIVE = []
687
+ include Aws::Structure
688
+ end
689
+
690
+ # @!attribute [rw] application
691
+ # Describes an application in the application catalog.
692
+ # @return [Types::Application]
693
+ #
694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateApplicationResult AWS API Documentation
695
+ #
696
+ class CreateApplicationResult < Struct.new(
697
+ :application)
698
+ SENSITIVE = []
699
+ include Aws::Structure
700
+ end
701
+
376
702
  # @note When making an API call, you may pass CreateDirectoryConfigRequest
377
703
  # data as a hash:
378
704
  #
@@ -430,8 +756,8 @@ module Aws::AppStream
430
756
  # image_name: "String",
431
757
  # image_arn: "Arn",
432
758
  # instance_type: "String", # required
433
- # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND
434
- # compute_capacity: { # required
759
+ # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND, ELASTIC
760
+ # compute_capacity: {
435
761
  # desired_instances: 1, # required
436
762
  # },
437
763
  # vpc_config: {
@@ -453,6 +779,9 @@ module Aws::AppStream
453
779
  # idle_disconnect_timeout_in_seconds: 1,
454
780
  # iam_role_arn: "Arn",
455
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"],
456
785
  # }
457
786
  #
458
787
  # @!attribute [rw] name
@@ -536,6 +865,12 @@ module Aws::AppStream
536
865
  # * stream.graphics-pro.8xlarge
537
866
  #
538
867
  # * stream.graphics-pro.16xlarge
868
+ #
869
+ # The following instance types are available for Elastic fleets:
870
+ #
871
+ # * stream.standard.small
872
+ #
873
+ # * stream.standard.medium
539
874
  # @return [String]
540
875
  #
541
876
  # @!attribute [rw] fleet_type
@@ -556,11 +891,15 @@ module Aws::AppStream
556
891
  # @return [String]
557
892
  #
558
893
  # @!attribute [rw] compute_capacity
559
- # The desired capacity for the fleet.
894
+ # The desired capacity for the fleet. This is not allowed for Elastic
895
+ # fleets. For Elastic fleets, specify MaxConcurrentSessions instead.
560
896
  # @return [Types::ComputeCapacity]
561
897
  #
562
898
  # @!attribute [rw] vpc_config
563
- # The VPC configuration for the fleet.
899
+ # The VPC configuration for the fleet. This is required for Elastic
900
+ # fleets, but not required for other fleet types. Elastic fleets
901
+ # require that you specify at least two subnets in different
902
+ # availability zones.
564
903
  # @return [Types::VpcConfig]
565
904
  #
566
905
  # @!attribute [rw] max_user_duration_in_seconds
@@ -598,7 +937,8 @@ module Aws::AppStream
598
937
  #
599
938
  # @!attribute [rw] domain_join_info
600
939
  # The name of the directory and organizational unit (OU) to use to
601
- # join the fleet to a Microsoft Active Directory domain.
940
+ # join the fleet to a Microsoft Active Directory domain. This is not
941
+ # allowed for Elastic fleets.
602
942
  # @return [Types::DomainJoinInfo]
603
943
  #
604
944
  # @!attribute [rw] tags
@@ -679,6 +1019,22 @@ module Aws::AppStream
679
1019
  # The default value is `APP`.
680
1020
  # @return [String]
681
1021
  #
1022
+ # @!attribute [rw] platform
1023
+ # The fleet platform. WINDOWS\_SERVER\_2019 and AMAZON\_LINUX2 are
1024
+ # supported for Elastic fleets.
1025
+ # @return [String]
1026
+ #
1027
+ # @!attribute [rw] max_concurrent_sessions
1028
+ # The maximum concurrent sessions of the Elastic fleet. This is
1029
+ # required for Elastic fleets, and not allowed for other fleet types.
1030
+ # @return [Integer]
1031
+ #
1032
+ # @!attribute [rw] usb_device_filter_strings
1033
+ # The USB device filter strings that specify which USB devices a user
1034
+ # can redirect to the fleet streaming session, when using the Windows
1035
+ # native client. This is allowed but not required for Elastic fleets.
1036
+ # @return [Array<String>]
1037
+ #
682
1038
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleetRequest AWS API Documentation
683
1039
  #
684
1040
  class CreateFleetRequest < Struct.new(
@@ -698,7 +1054,10 @@ module Aws::AppStream
698
1054
  :tags,
699
1055
  :idle_disconnect_timeout_in_seconds,
700
1056
  :iam_role_arn,
701
- :stream_view)
1057
+ :stream_view,
1058
+ :platform,
1059
+ :max_concurrent_sessions,
1060
+ :usb_device_filter_strings)
702
1061
  SENSITIVE = []
703
1062
  include Aws::Structure
704
1063
  end
@@ -1380,6 +1739,52 @@ module Aws::AppStream
1380
1739
  #
1381
1740
  class CreateUserResult < Aws::EmptyStructure; end
1382
1741
 
1742
+ # @note When making an API call, you may pass DeleteAppBlockRequest
1743
+ # data as a hash:
1744
+ #
1745
+ # {
1746
+ # name: "Name", # required
1747
+ # }
1748
+ #
1749
+ # @!attribute [rw] name
1750
+ # The name of the app block.
1751
+ # @return [String]
1752
+ #
1753
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteAppBlockRequest AWS API Documentation
1754
+ #
1755
+ class DeleteAppBlockRequest < Struct.new(
1756
+ :name)
1757
+ SENSITIVE = []
1758
+ include Aws::Structure
1759
+ end
1760
+
1761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteAppBlockResult AWS API Documentation
1762
+ #
1763
+ class DeleteAppBlockResult < Aws::EmptyStructure; end
1764
+
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
+ # @!attribute [rw] name
1773
+ # The name of the application.
1774
+ # @return [String]
1775
+ #
1776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteApplicationRequest AWS API Documentation
1777
+ #
1778
+ class DeleteApplicationRequest < Struct.new(
1779
+ :name)
1780
+ SENSITIVE = []
1781
+ include Aws::Structure
1782
+ end
1783
+
1784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteApplicationResult AWS API Documentation
1785
+ #
1786
+ class DeleteApplicationResult < Aws::EmptyStructure; end
1787
+
1383
1788
  # @note When making an API call, you may pass DeleteDirectoryConfigRequest
1384
1789
  # data as a hash:
1385
1790
  #
@@ -1584,6 +1989,162 @@ module Aws::AppStream
1584
1989
  #
1585
1990
  class DeleteUserResult < Aws::EmptyStructure; end
1586
1991
 
1992
+ # @note When making an API call, you may pass DescribeAppBlocksRequest
1993
+ # data as a hash:
1994
+ #
1995
+ # {
1996
+ # arns: ["Arn"],
1997
+ # next_token: "String",
1998
+ # max_results: 1,
1999
+ # }
2000
+ #
2001
+ # @!attribute [rw] arns
2002
+ # The ARNs of the app blocks.
2003
+ # @return [Array<String>]
2004
+ #
2005
+ # @!attribute [rw] next_token
2006
+ # The pagination token used to retrieve the next page of results for
2007
+ # this operation.
2008
+ # @return [String]
2009
+ #
2010
+ # @!attribute [rw] max_results
2011
+ # The maximum size of each page of results.
2012
+ # @return [Integer]
2013
+ #
2014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlocksRequest AWS API Documentation
2015
+ #
2016
+ class DescribeAppBlocksRequest < Struct.new(
2017
+ :arns,
2018
+ :next_token,
2019
+ :max_results)
2020
+ SENSITIVE = []
2021
+ include Aws::Structure
2022
+ end
2023
+
2024
+ # @!attribute [rw] app_blocks
2025
+ # The app blocks in the list.
2026
+ # @return [Array<Types::AppBlock>]
2027
+ #
2028
+ # @!attribute [rw] next_token
2029
+ # The pagination token used to retrieve the next page of results for
2030
+ # this operation.
2031
+ # @return [String]
2032
+ #
2033
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlocksResult AWS API Documentation
2034
+ #
2035
+ class DescribeAppBlocksResult < Struct.new(
2036
+ :app_blocks,
2037
+ :next_token)
2038
+ SENSITIVE = []
2039
+ include Aws::Structure
2040
+ end
2041
+
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
+ # @!attribute [rw] fleet_name
2053
+ # The name of the fleet.
2054
+ # @return [String]
2055
+ #
2056
+ # @!attribute [rw] application_arn
2057
+ # The ARN of the application.
2058
+ # @return [String]
2059
+ #
2060
+ # @!attribute [rw] max_results
2061
+ # The maximum size of each page of results.
2062
+ # @return [Integer]
2063
+ #
2064
+ # @!attribute [rw] next_token
2065
+ # The pagination token used to retrieve the next page of results for
2066
+ # this operation.
2067
+ # @return [String]
2068
+ #
2069
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeApplicationFleetAssociationsRequest AWS API Documentation
2070
+ #
2071
+ class DescribeApplicationFleetAssociationsRequest < Struct.new(
2072
+ :fleet_name,
2073
+ :application_arn,
2074
+ :max_results,
2075
+ :next_token)
2076
+ SENSITIVE = []
2077
+ include Aws::Structure
2078
+ end
2079
+
2080
+ # @!attribute [rw] application_fleet_associations
2081
+ # The application fleet associations in the list.
2082
+ # @return [Array<Types::ApplicationFleetAssociation>]
2083
+ #
2084
+ # @!attribute [rw] next_token
2085
+ # The pagination token used to retrieve the next page of results for
2086
+ # this operation.
2087
+ # @return [String]
2088
+ #
2089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeApplicationFleetAssociationsResult AWS API Documentation
2090
+ #
2091
+ class DescribeApplicationFleetAssociationsResult < Struct.new(
2092
+ :application_fleet_associations,
2093
+ :next_token)
2094
+ SENSITIVE = []
2095
+ include Aws::Structure
2096
+ end
2097
+
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
+ # @!attribute [rw] arns
2108
+ # The ARNs for the applications.
2109
+ # @return [Array<String>]
2110
+ #
2111
+ # @!attribute [rw] next_token
2112
+ # The pagination token used to retrieve the next page of results for
2113
+ # this operation.
2114
+ # @return [String]
2115
+ #
2116
+ # @!attribute [rw] max_results
2117
+ # The maximum size of each page of results.
2118
+ # @return [Integer]
2119
+ #
2120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeApplicationsRequest AWS API Documentation
2121
+ #
2122
+ class DescribeApplicationsRequest < Struct.new(
2123
+ :arns,
2124
+ :next_token,
2125
+ :max_results)
2126
+ SENSITIVE = []
2127
+ include Aws::Structure
2128
+ end
2129
+
2130
+ # @!attribute [rw] applications
2131
+ # The applications in the list.
2132
+ # @return [Array<Types::Application>]
2133
+ #
2134
+ # @!attribute [rw] next_token
2135
+ # The pagination token used to retrieve the next page of results for
2136
+ # this operation.
2137
+ # @return [String]
2138
+ #
2139
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeApplicationsResult AWS API Documentation
2140
+ #
2141
+ class DescribeApplicationsResult < Struct.new(
2142
+ :applications,
2143
+ :next_token)
2144
+ SENSITIVE = []
2145
+ include Aws::Structure
2146
+ end
2147
+
1587
2148
  # @note When making an API call, you may pass DescribeDirectoryConfigsRequest
1588
2149
  # data as a hash:
1589
2150
  #
@@ -2199,6 +2760,35 @@ module Aws::AppStream
2199
2760
  #
2200
2761
  class DisableUserResult < Aws::EmptyStructure; end
2201
2762
 
2763
+ # @note When making an API call, you may pass DisassociateApplicationFleetRequest
2764
+ # data as a hash:
2765
+ #
2766
+ # {
2767
+ # fleet_name: "Name", # required
2768
+ # application_arn: "Arn", # required
2769
+ # }
2770
+ #
2771
+ # @!attribute [rw] fleet_name
2772
+ # The name of the fleet.
2773
+ # @return [String]
2774
+ #
2775
+ # @!attribute [rw] application_arn
2776
+ # The ARN of the application.
2777
+ # @return [String]
2778
+ #
2779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateApplicationFleetRequest AWS API Documentation
2780
+ #
2781
+ class DisassociateApplicationFleetRequest < Struct.new(
2782
+ :fleet_name,
2783
+ :application_arn)
2784
+ SENSITIVE = []
2785
+ include Aws::Structure
2786
+ end
2787
+
2788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateApplicationFleetResult AWS API Documentation
2789
+ #
2790
+ class DisassociateApplicationFleetResult < Aws::EmptyStructure; end
2791
+
2202
2792
  # @note When making an API call, you may pass DisassociateFleetRequest
2203
2793
  # data as a hash:
2204
2794
  #
@@ -2538,6 +3128,18 @@ module Aws::AppStream
2538
3128
  # The default value is `APP`.
2539
3129
  # @return [String]
2540
3130
  #
3131
+ # @!attribute [rw] platform
3132
+ # The platform of the fleet.
3133
+ # @return [String]
3134
+ #
3135
+ # @!attribute [rw] max_concurrent_sessions
3136
+ # The maximum number of concurrent sessions for the fleet.
3137
+ # @return [Integer]
3138
+ #
3139
+ # @!attribute [rw] usb_device_filter_strings
3140
+ # The USB device filter strings associated with the fleet.
3141
+ # @return [Array<String>]
3142
+ #
2541
3143
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Fleet AWS API Documentation
2542
3144
  #
2543
3145
  class Fleet < Struct.new(
@@ -2560,7 +3162,10 @@ module Aws::AppStream
2560
3162
  :domain_join_info,
2561
3163
  :idle_disconnect_timeout_in_seconds,
2562
3164
  :iam_role_arn,
2563
- :stream_view)
3165
+ :stream_view,
3166
+ :platform,
3167
+ :max_concurrent_sessions,
3168
+ :usb_device_filter_strings)
2564
3169
  SENSITIVE = []
2565
3170
  include Aws::Structure
2566
3171
  end
@@ -3281,6 +3886,75 @@ module Aws::AppStream
3281
3886
  include Aws::Structure
3282
3887
  end
3283
3888
 
3889
+ # Describes the S3 location.
3890
+ #
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
+ # @!attribute [rw] s3_bucket
3900
+ # The S3 bucket of the S3 object.
3901
+ # @return [String]
3902
+ #
3903
+ # @!attribute [rw] s3_key
3904
+ # The S3 key of the S3 object.
3905
+ # @return [String]
3906
+ #
3907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/S3Location AWS API Documentation
3908
+ #
3909
+ class S3Location < Struct.new(
3910
+ :s3_bucket,
3911
+ :s3_key)
3912
+ SENSITIVE = []
3913
+ include Aws::Structure
3914
+ end
3915
+
3916
+ # Describes the details of the script.
3917
+ #
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
+ # @!attribute [rw] script_s3_location
3932
+ # The S3 object location for the script.
3933
+ # @return [Types::S3Location]
3934
+ #
3935
+ # @!attribute [rw] executable_path
3936
+ # The run path for the script.
3937
+ # @return [String]
3938
+ #
3939
+ # @!attribute [rw] executable_parameters
3940
+ # The runtime parameters passed to the run path for the script.
3941
+ # @return [String]
3942
+ #
3943
+ # @!attribute [rw] timeout_in_seconds
3944
+ # The run timeout, in seconds, for the script.
3945
+ # @return [Integer]
3946
+ #
3947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ScriptDetails AWS API Documentation
3948
+ #
3949
+ class ScriptDetails < Struct.new(
3950
+ :script_s3_location,
3951
+ :executable_path,
3952
+ :executable_parameters,
3953
+ :timeout_in_seconds)
3954
+ SENSITIVE = []
3955
+ include Aws::Structure
3956
+ end
3957
+
3284
3958
  # Describes the credentials for the service account used by the fleet or
3285
3959
  # image builder to connect to the directory.
3286
3960
  #
@@ -3720,6 +4394,90 @@ module Aws::AppStream
3720
4394
  #
3721
4395
  class UntagResourceResponse < Aws::EmptyStructure; end
3722
4396
 
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
+ # }
4414
+ #
4415
+ # @!attribute [rw] name
4416
+ # The name of the application. This name is visible to users when
4417
+ # display name is not specified.
4418
+ # @return [String]
4419
+ #
4420
+ # @!attribute [rw] display_name
4421
+ # The display name of the application. This name is visible to users
4422
+ # in the application catalog.
4423
+ # @return [String]
4424
+ #
4425
+ # @!attribute [rw] description
4426
+ # The description of the application.
4427
+ # @return [String]
4428
+ #
4429
+ # @!attribute [rw] icon_s3_location
4430
+ # The icon S3 location of the application.
4431
+ # @return [Types::S3Location]
4432
+ #
4433
+ # @!attribute [rw] launch_path
4434
+ # The launch path of the application.
4435
+ # @return [String]
4436
+ #
4437
+ # @!attribute [rw] working_directory
4438
+ # The working directory of the application.
4439
+ # @return [String]
4440
+ #
4441
+ # @!attribute [rw] launch_parameters
4442
+ # The launch parameters of the application.
4443
+ # @return [String]
4444
+ #
4445
+ # @!attribute [rw] app_block_arn
4446
+ # The ARN of the app block.
4447
+ # @return [String]
4448
+ #
4449
+ # @!attribute [rw] attributes_to_delete
4450
+ # The attributes to delete for an application.
4451
+ # @return [Array<String>]
4452
+ #
4453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateApplicationRequest AWS API Documentation
4454
+ #
4455
+ class UpdateApplicationRequest < Struct.new(
4456
+ :name,
4457
+ :display_name,
4458
+ :description,
4459
+ :icon_s3_location,
4460
+ :launch_path,
4461
+ :working_directory,
4462
+ :launch_parameters,
4463
+ :app_block_arn,
4464
+ :attributes_to_delete)
4465
+ SENSITIVE = []
4466
+ include Aws::Structure
4467
+ end
4468
+
4469
+ # @!attribute [rw] application
4470
+ # Describes an application in the application catalog.
4471
+ # @return [Types::Application]
4472
+ #
4473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateApplicationResult AWS API Documentation
4474
+ #
4475
+ class UpdateApplicationResult < Struct.new(
4476
+ :application)
4477
+ SENSITIVE = []
4478
+ include Aws::Structure
4479
+ end
4480
+
3723
4481
  # @note When making an API call, you may pass UpdateDirectoryConfigRequest
3724
4482
  # data as a hash:
3725
4483
  #
@@ -3794,9 +4552,12 @@ module Aws::AppStream
3794
4552
  # organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
3795
4553
  # },
3796
4554
  # idle_disconnect_timeout_in_seconds: 1,
3797
- # attributes_to_delete: ["VPC_CONFIGURATION"], # accepts VPC_CONFIGURATION, VPC_CONFIGURATION_SECURITY_GROUP_IDS, DOMAIN_JOIN_INFO, IAM_ROLE_ARN
4555
+ # attributes_to_delete: ["VPC_CONFIGURATION"], # accepts VPC_CONFIGURATION, VPC_CONFIGURATION_SECURITY_GROUP_IDS, DOMAIN_JOIN_INFO, IAM_ROLE_ARN, USB_DEVICE_FILTER_STRINGS
3798
4556
  # iam_role_arn: "Arn",
3799
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"],
3800
4561
  # }
3801
4562
  #
3802
4563
  # @!attribute [rw] image_name
@@ -3880,14 +4641,24 @@ module Aws::AppStream
3880
4641
  # * stream.graphics-pro.8xlarge
3881
4642
  #
3882
4643
  # * stream.graphics-pro.16xlarge
4644
+ #
4645
+ # The following instance types are available for Elastic fleets:
4646
+ #
4647
+ # * stream.standard.small
4648
+ #
4649
+ # * stream.standard.medium
3883
4650
  # @return [String]
3884
4651
  #
3885
4652
  # @!attribute [rw] compute_capacity
3886
- # The desired capacity for the fleet.
4653
+ # The desired capacity for the fleet. This is not allowed for Elastic
4654
+ # fleets.
3887
4655
  # @return [Types::ComputeCapacity]
3888
4656
  #
3889
4657
  # @!attribute [rw] vpc_config
3890
- # The VPC configuration for the fleet.
4658
+ # The VPC configuration for the fleet. This is required for Elastic
4659
+ # fleets, but not required for other fleet types. Elastic fleets
4660
+ # require that you specify at least two subnets in different
4661
+ # availability zones.
3891
4662
  # @return [Types::VpcConfig]
3892
4663
  #
3893
4664
  # @!attribute [rw] max_user_duration_in_seconds
@@ -3994,6 +4765,21 @@ module Aws::AppStream
3994
4765
  # The default value is `APP`.
3995
4766
  # @return [String]
3996
4767
  #
4768
+ # @!attribute [rw] platform
4769
+ # The platform of the fleet. WINDOWS\_SERVER\_2019 and AMAZON\_LINUX2
4770
+ # are supported for Elastic fleets.
4771
+ # @return [String]
4772
+ #
4773
+ # @!attribute [rw] max_concurrent_sessions
4774
+ # The maximum number of concurrent sessions for a fleet.
4775
+ # @return [Integer]
4776
+ #
4777
+ # @!attribute [rw] usb_device_filter_strings
4778
+ # The USB device filter strings that specify which USB devices a user
4779
+ # can redirect to the fleet streaming session, when using the Windows
4780
+ # native client. This is allowed but not required for Elastic fleets.
4781
+ # @return [Array<String>]
4782
+ #
3997
4783
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleetRequest AWS API Documentation
3998
4784
  #
3999
4785
  class UpdateFleetRequest < Struct.new(
@@ -4013,7 +4799,10 @@ module Aws::AppStream
4013
4799
  :idle_disconnect_timeout_in_seconds,
4014
4800
  :attributes_to_delete,
4015
4801
  :iam_role_arn,
4016
- :stream_view)
4802
+ :stream_view,
4803
+ :platform,
4804
+ :max_concurrent_sessions,
4805
+ :usb_device_filter_strings)
4017
4806
  SENSITIVE = []
4018
4807
  include Aws::Structure
4019
4808
  end