aws-sdk-appstream 1.57.0 → 1.61.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
30
31
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
32
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
32
33
 
@@ -73,6 +74,7 @@ module Aws::AppStream
73
74
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
75
  add_plugin(Aws::Plugins::TransferEncoding)
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
77
+ add_plugin(Aws::Plugins::DefaultsMode)
76
78
  add_plugin(Aws::Plugins::SignatureV4)
77
79
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
78
80
 
@@ -119,7 +121,9 @@ module Aws::AppStream
119
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
122
  # are very aggressive. Construct and pass an instance of
121
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
123
127
  #
124
128
  # @option options [required, String] :region
125
129
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +177,10 @@ module Aws::AppStream
173
177
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
178
  # a clock skew correction and retry requests with skewed client clocks.
175
179
  #
180
+ # @option options [String] :defaults_mode ("legacy")
181
+ # See {Aws::DefaultsModeConfiguration} for a list of the
182
+ # accepted modes and the configuration defaults that are included.
183
+ #
176
184
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
185
  # Set to true to disable SDK automatically adding host prefix
178
186
  # to default service endpoint when available.
@@ -305,7 +313,7 @@ module Aws::AppStream
305
313
  # seconds to wait when opening a HTTP session before raising a
306
314
  # `Timeout::Error`.
307
315
  #
308
- # @option options [Integer] :http_read_timeout (60) The default
316
+ # @option options [Float] :http_read_timeout (60) The default
309
317
  # number of seconds to wait for response data. This value can
310
318
  # safely be set per-request on the session.
311
319
  #
@@ -321,6 +329,9 @@ module Aws::AppStream
321
329
  # disables this behaviour. This value can safely be set per
322
330
  # request on the session.
323
331
  #
332
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
333
+ # in seconds.
334
+ #
324
335
  # @option options [Boolean] :http_wire_trace (false) When `true`,
325
336
  # HTTP debug output will be sent to the `:logger`.
326
337
  #
@@ -346,6 +357,40 @@ module Aws::AppStream
346
357
 
347
358
  # @!group API Operations
348
359
 
360
+ # Associates the specified application with the specified fleet. This is
361
+ # only supported for Elastic fleets.
362
+ #
363
+ # @option params [required, String] :fleet_name
364
+ # The name of the fleet.
365
+ #
366
+ # @option params [required, String] :application_arn
367
+ # The ARN of the application.
368
+ #
369
+ # @return [Types::AssociateApplicationFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
370
+ #
371
+ # * {Types::AssociateApplicationFleetResult#application_fleet_association #application_fleet_association} => Types::ApplicationFleetAssociation
372
+ #
373
+ # @example Request syntax with placeholder values
374
+ #
375
+ # resp = client.associate_application_fleet({
376
+ # fleet_name: "Name", # required
377
+ # application_arn: "Arn", # required
378
+ # })
379
+ #
380
+ # @example Response structure
381
+ #
382
+ # resp.application_fleet_association.fleet_name #=> String
383
+ # resp.application_fleet_association.application_arn #=> String
384
+ #
385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateApplicationFleet AWS API Documentation
386
+ #
387
+ # @overload associate_application_fleet(params = {})
388
+ # @param [Hash] params ({})
389
+ def associate_application_fleet(params = {}, options = {})
390
+ req = build_request(:associate_application_fleet, params)
391
+ req.send_request(options)
392
+ end
393
+
349
394
  # Associates the specified fleet with the specified stack.
350
395
  #
351
396
  # @option params [required, String] :fleet_name
@@ -502,6 +547,191 @@ module Aws::AppStream
502
547
  req.send_request(options)
503
548
  end
504
549
 
550
+ # Creates an app block.
551
+ #
552
+ # App blocks are an Amazon AppStream 2.0 resource that stores the
553
+ # details about the virtual hard disk in an S3 bucket. It also stores
554
+ # the setup script with details about how to mount the virtual hard
555
+ # disk. The virtual hard disk includes the application binaries and
556
+ # other files necessary to launch your applications. Multiple
557
+ # applications can be assigned to a single app block.
558
+ #
559
+ # This is only supported for Elastic fleets.
560
+ #
561
+ # @option params [required, String] :name
562
+ # The name of the app block.
563
+ #
564
+ # @option params [String] :description
565
+ # The description of the app block.
566
+ #
567
+ # @option params [String] :display_name
568
+ # The display name of the app block. This is not displayed to the user.
569
+ #
570
+ # @option params [required, Types::S3Location] :source_s3_location
571
+ # The source S3 location of the app block.
572
+ #
573
+ # @option params [required, Types::ScriptDetails] :setup_script_details
574
+ # The setup script details of the app block.
575
+ #
576
+ # @option params [Hash<String,String>] :tags
577
+ # The tags assigned to the app block.
578
+ #
579
+ # @return [Types::CreateAppBlockResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
580
+ #
581
+ # * {Types::CreateAppBlockResult#app_block #app_block} => Types::AppBlock
582
+ #
583
+ # @example Request syntax with placeholder values
584
+ #
585
+ # resp = client.create_app_block({
586
+ # name: "Name", # required
587
+ # description: "Description",
588
+ # display_name: "DisplayName",
589
+ # source_s3_location: { # required
590
+ # s3_bucket: "S3Bucket", # required
591
+ # s3_key: "S3Key", # required
592
+ # },
593
+ # setup_script_details: { # required
594
+ # script_s3_location: { # required
595
+ # s3_bucket: "S3Bucket", # required
596
+ # s3_key: "S3Key", # required
597
+ # },
598
+ # executable_path: "String", # required
599
+ # executable_parameters: "String",
600
+ # timeout_in_seconds: 1, # required
601
+ # },
602
+ # tags: {
603
+ # "TagKey" => "TagValue",
604
+ # },
605
+ # })
606
+ #
607
+ # @example Response structure
608
+ #
609
+ # resp.app_block.name #=> String
610
+ # resp.app_block.arn #=> String
611
+ # resp.app_block.description #=> String
612
+ # resp.app_block.display_name #=> String
613
+ # resp.app_block.source_s3_location.s3_bucket #=> String
614
+ # resp.app_block.source_s3_location.s3_key #=> String
615
+ # resp.app_block.setup_script_details.script_s3_location.s3_bucket #=> String
616
+ # resp.app_block.setup_script_details.script_s3_location.s3_key #=> String
617
+ # resp.app_block.setup_script_details.executable_path #=> String
618
+ # resp.app_block.setup_script_details.executable_parameters #=> String
619
+ # resp.app_block.setup_script_details.timeout_in_seconds #=> Integer
620
+ # resp.app_block.created_time #=> Time
621
+ #
622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlock AWS API Documentation
623
+ #
624
+ # @overload create_app_block(params = {})
625
+ # @param [Hash] params ({})
626
+ def create_app_block(params = {}, options = {})
627
+ req = build_request(:create_app_block, params)
628
+ req.send_request(options)
629
+ end
630
+
631
+ # Creates an application.
632
+ #
633
+ # Applications are an Amazon AppStream 2.0 resource that stores the
634
+ # details about how to launch applications on Elastic fleet streaming
635
+ # instances. An application consists of the launch details, icon, and
636
+ # display name. Applications are associated with an app block that
637
+ # contains the application binaries and other files. The applications
638
+ # assigned to an Elastic fleet are the applications users can launch.
639
+ #
640
+ # This is only supported for Elastic fleets.
641
+ #
642
+ # @option params [required, String] :name
643
+ # The name of the application. This name is visible to users when
644
+ # display name is not specified.
645
+ #
646
+ # @option params [String] :display_name
647
+ # The display name of the application. This name is visible to users in
648
+ # the application catalog.
649
+ #
650
+ # @option params [String] :description
651
+ # The description of the application.
652
+ #
653
+ # @option params [required, Types::S3Location] :icon_s3_location
654
+ # The location in S3 of the application icon.
655
+ #
656
+ # @option params [required, String] :launch_path
657
+ # The launch path of the application.
658
+ #
659
+ # @option params [String] :working_directory
660
+ # The working directory of the application.
661
+ #
662
+ # @option params [String] :launch_parameters
663
+ # The launch parameters of the application.
664
+ #
665
+ # @option params [required, Array<String>] :platforms
666
+ # The platforms the application supports. WINDOWS\_SERVER\_2019 and
667
+ # AMAZON\_LINUX2 are supported for Elastic fleets.
668
+ #
669
+ # @option params [required, Array<String>] :instance_families
670
+ # The instance families the application supports. Valid values are
671
+ # GENERAL\_PURPOSE and GRAPHICS\_G4.
672
+ #
673
+ # @option params [required, String] :app_block_arn
674
+ # The app block ARN to which the application should be associated
675
+ #
676
+ # @option params [Hash<String,String>] :tags
677
+ # The tags assigned to the application.
678
+ #
679
+ # @return [Types::CreateApplicationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
680
+ #
681
+ # * {Types::CreateApplicationResult#application #application} => Types::Application
682
+ #
683
+ # @example Request syntax with placeholder values
684
+ #
685
+ # resp = client.create_application({
686
+ # name: "Name", # required
687
+ # display_name: "DisplayName",
688
+ # description: "Description",
689
+ # icon_s3_location: { # required
690
+ # s3_bucket: "S3Bucket", # required
691
+ # s3_key: "S3Key", # required
692
+ # },
693
+ # launch_path: "String", # required
694
+ # working_directory: "String",
695
+ # launch_parameters: "String",
696
+ # platforms: ["WINDOWS"], # required, accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
697
+ # instance_families: ["String"], # required
698
+ # app_block_arn: "Arn", # required
699
+ # tags: {
700
+ # "TagKey" => "TagValue",
701
+ # },
702
+ # })
703
+ #
704
+ # @example Response structure
705
+ #
706
+ # resp.application.name #=> String
707
+ # resp.application.display_name #=> String
708
+ # resp.application.icon_url #=> String
709
+ # resp.application.launch_path #=> String
710
+ # resp.application.launch_parameters #=> String
711
+ # resp.application.enabled #=> Boolean
712
+ # resp.application.metadata #=> Hash
713
+ # resp.application.metadata["String"] #=> String
714
+ # resp.application.working_directory #=> String
715
+ # resp.application.description #=> String
716
+ # resp.application.arn #=> String
717
+ # resp.application.app_block_arn #=> String
718
+ # resp.application.icon_s3_location.s3_bucket #=> String
719
+ # resp.application.icon_s3_location.s3_key #=> String
720
+ # resp.application.platforms #=> Array
721
+ # resp.application.platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
722
+ # resp.application.instance_families #=> Array
723
+ # resp.application.instance_families[0] #=> String
724
+ # resp.application.created_time #=> Time
725
+ #
726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateApplication AWS API Documentation
727
+ #
728
+ # @overload create_application(params = {})
729
+ # @param [Hash] params ({})
730
+ def create_application(params = {}, options = {})
731
+ req = build_request(:create_application, params)
732
+ req.send_request(options)
733
+ end
734
+
505
735
  # Creates a Directory Config object in AppStream 2.0. This object
506
736
  # includes the configuration information required to join fleets and
507
737
  # image builders to Microsoft Active Directory domains.
@@ -552,7 +782,7 @@ module Aws::AppStream
552
782
  end
553
783
 
554
784
  # Creates a fleet. A fleet consists of streaming instances that run a
555
- # specified image.
785
+ # specified image when using Always-On or On-Demand.
556
786
  #
557
787
  # @option params [required, String] :name
558
788
  # A unique name for the fleet.
@@ -633,6 +863,12 @@ module Aws::AppStream
633
863
  #
634
864
  # * stream.graphics-pro.16xlarge
635
865
  #
866
+ # The following instance types are available for Elastic fleets:
867
+ #
868
+ # * stream.standard.small
869
+ #
870
+ # * stream.standard.medium
871
+ #
636
872
  # @option params [String] :fleet_type
637
873
  # The fleet type.
638
874
  #
@@ -649,11 +885,14 @@ module Aws::AppStream
649
885
  # when users are connected and a small hourly fee for instances that
650
886
  # are not streaming apps.
651
887
  #
652
- # @option params [required, Types::ComputeCapacity] :compute_capacity
653
- # The desired capacity for the fleet.
888
+ # @option params [Types::ComputeCapacity] :compute_capacity
889
+ # The desired capacity for the fleet. This is not allowed for Elastic
890
+ # fleets. For Elastic fleets, specify MaxConcurrentSessions instead.
654
891
  #
655
892
  # @option params [Types::VpcConfig] :vpc_config
656
- # The VPC configuration for the fleet.
893
+ # The VPC configuration for the fleet. This is required for Elastic
894
+ # fleets, but not required for other fleet types. Elastic fleets require
895
+ # that you specify at least two subnets in different availability zones.
657
896
  #
658
897
  # @option params [Integer] :max_user_duration_in_seconds
659
898
  # The maximum amount of time that a streaming session can remain active,
@@ -684,7 +923,8 @@ module Aws::AppStream
684
923
  #
685
924
  # @option params [Types::DomainJoinInfo] :domain_join_info
686
925
  # The name of the directory and organizational unit (OU) to use to join
687
- # the fleet to a Microsoft Active Directory domain.
926
+ # the fleet to a Microsoft Active Directory domain. This is not allowed
927
+ # for Elastic fleets.
688
928
  #
689
929
  # @option params [Hash<String,String>] :tags
690
930
  # The tags to associate with the fleet. A tag is a key-value pair, and
@@ -758,6 +998,19 @@ module Aws::AppStream
758
998
  #
759
999
  # The default value is `APP`.
760
1000
  #
1001
+ # @option params [String] :platform
1002
+ # The fleet platform. WINDOWS\_SERVER\_2019 and AMAZON\_LINUX2 are
1003
+ # supported for Elastic fleets.
1004
+ #
1005
+ # @option params [Integer] :max_concurrent_sessions
1006
+ # The maximum concurrent sessions of the Elastic fleet. This is required
1007
+ # for Elastic fleets, and not allowed for other fleet types.
1008
+ #
1009
+ # @option params [Array<String>] :usb_device_filter_strings
1010
+ # The USB device filter strings that specify which USB devices a user
1011
+ # can redirect to the fleet streaming session, when using the Windows
1012
+ # native client. This is allowed but not required for Elastic fleets.
1013
+ #
761
1014
  # @return [Types::CreateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
762
1015
  #
763
1016
  # * {Types::CreateFleetResult#fleet #fleet} => Types::Fleet
@@ -769,8 +1022,8 @@ module Aws::AppStream
769
1022
  # image_name: "String",
770
1023
  # image_arn: "Arn",
771
1024
  # instance_type: "String", # required
772
- # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND
773
- # compute_capacity: { # required
1025
+ # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND, ELASTIC
1026
+ # compute_capacity: {
774
1027
  # desired_instances: 1, # required
775
1028
  # },
776
1029
  # vpc_config: {
@@ -792,6 +1045,9 @@ module Aws::AppStream
792
1045
  # idle_disconnect_timeout_in_seconds: 1,
793
1046
  # iam_role_arn: "Arn",
794
1047
  # stream_view: "APP", # accepts APP, DESKTOP
1048
+ # platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
1049
+ # max_concurrent_sessions: 1,
1050
+ # usb_device_filter_strings: ["UsbDeviceFilterString"],
795
1051
  # })
796
1052
  #
797
1053
  # @example Response structure
@@ -803,7 +1059,7 @@ module Aws::AppStream
803
1059
  # resp.fleet.image_name #=> String
804
1060
  # resp.fleet.image_arn #=> String
805
1061
  # resp.fleet.instance_type #=> String
806
- # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND"
1062
+ # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND", "ELASTIC"
807
1063
  # resp.fleet.compute_capacity_status.desired #=> Integer
808
1064
  # resp.fleet.compute_capacity_status.running #=> Integer
809
1065
  # resp.fleet.compute_capacity_status.in_use #=> Integer
@@ -825,6 +1081,10 @@ module Aws::AppStream
825
1081
  # resp.fleet.idle_disconnect_timeout_in_seconds #=> Integer
826
1082
  # resp.fleet.iam_role_arn #=> String
827
1083
  # resp.fleet.stream_view #=> String, one of "APP", "DESKTOP"
1084
+ # resp.fleet.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1085
+ # resp.fleet.max_concurrent_sessions #=> Integer
1086
+ # resp.fleet.usb_device_filter_strings #=> Array
1087
+ # resp.fleet.usb_device_filter_strings[0] #=> String
828
1088
  #
829
1089
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleet AWS API Documentation
830
1090
  #
@@ -1030,7 +1290,7 @@ module Aws::AppStream
1030
1290
  # resp.image_builder.vpc_config.security_group_ids #=> Array
1031
1291
  # resp.image_builder.vpc_config.security_group_ids[0] #=> String
1032
1292
  # resp.image_builder.instance_type #=> String
1033
- # resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019"
1293
+ # resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1034
1294
  # resp.image_builder.iam_role_arn #=> String
1035
1295
  # resp.image_builder.state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
1036
1296
  # resp.image_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
@@ -1378,7 +1638,7 @@ module Aws::AppStream
1378
1638
  # resp.image.visibility #=> String, one of "PUBLIC", "PRIVATE", "SHARED"
1379
1639
  # resp.image.image_builder_supported #=> Boolean
1380
1640
  # resp.image.image_builder_name #=> String
1381
- # resp.image.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019"
1641
+ # resp.image.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1382
1642
  # resp.image.description #=> String
1383
1643
  # resp.image.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_BUILDER_NOT_AVAILABLE", "IMAGE_COPY_FAILURE"
1384
1644
  # resp.image.state_change_reason.message #=> String
@@ -1391,6 +1651,17 @@ module Aws::AppStream
1391
1651
  # resp.image.applications[0].enabled #=> Boolean
1392
1652
  # resp.image.applications[0].metadata #=> Hash
1393
1653
  # resp.image.applications[0].metadata["String"] #=> String
1654
+ # resp.image.applications[0].working_directory #=> String
1655
+ # resp.image.applications[0].description #=> String
1656
+ # resp.image.applications[0].arn #=> String
1657
+ # resp.image.applications[0].app_block_arn #=> String
1658
+ # resp.image.applications[0].icon_s3_location.s3_bucket #=> String
1659
+ # resp.image.applications[0].icon_s3_location.s3_key #=> String
1660
+ # resp.image.applications[0].platforms #=> Array
1661
+ # resp.image.applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1662
+ # resp.image.applications[0].instance_families #=> Array
1663
+ # resp.image.applications[0].instance_families[0] #=> String
1664
+ # resp.image.applications[0].created_time #=> Time
1394
1665
  # resp.image.created_time #=> Time
1395
1666
  # resp.image.public_base_image_released_date #=> Time
1396
1667
  # resp.image.appstream_agent_version #=> String
@@ -1487,6 +1758,50 @@ module Aws::AppStream
1487
1758
  req.send_request(options)
1488
1759
  end
1489
1760
 
1761
+ # Deletes an app block.
1762
+ #
1763
+ # @option params [required, String] :name
1764
+ # The name of the app block.
1765
+ #
1766
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1767
+ #
1768
+ # @example Request syntax with placeholder values
1769
+ #
1770
+ # resp = client.delete_app_block({
1771
+ # name: "Name", # required
1772
+ # })
1773
+ #
1774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteAppBlock AWS API Documentation
1775
+ #
1776
+ # @overload delete_app_block(params = {})
1777
+ # @param [Hash] params ({})
1778
+ def delete_app_block(params = {}, options = {})
1779
+ req = build_request(:delete_app_block, params)
1780
+ req.send_request(options)
1781
+ end
1782
+
1783
+ # Deletes an application.
1784
+ #
1785
+ # @option params [required, String] :name
1786
+ # The name of the application.
1787
+ #
1788
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1789
+ #
1790
+ # @example Request syntax with placeholder values
1791
+ #
1792
+ # resp = client.delete_application({
1793
+ # name: "Name", # required
1794
+ # })
1795
+ #
1796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteApplication AWS API Documentation
1797
+ #
1798
+ # @overload delete_application(params = {})
1799
+ # @param [Hash] params ({})
1800
+ def delete_application(params = {}, options = {})
1801
+ req = build_request(:delete_application, params)
1802
+ req.send_request(options)
1803
+ end
1804
+
1490
1805
  # Deletes the specified Directory Config object from AppStream 2.0. This
1491
1806
  # object includes the information required to join streaming instances
1492
1807
  # to an Active Directory domain.
@@ -1560,7 +1875,7 @@ module Aws::AppStream
1560
1875
  # resp.image.visibility #=> String, one of "PUBLIC", "PRIVATE", "SHARED"
1561
1876
  # resp.image.image_builder_supported #=> Boolean
1562
1877
  # resp.image.image_builder_name #=> String
1563
- # resp.image.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019"
1878
+ # resp.image.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1564
1879
  # resp.image.description #=> String
1565
1880
  # resp.image.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_BUILDER_NOT_AVAILABLE", "IMAGE_COPY_FAILURE"
1566
1881
  # resp.image.state_change_reason.message #=> String
@@ -1573,6 +1888,17 @@ module Aws::AppStream
1573
1888
  # resp.image.applications[0].enabled #=> Boolean
1574
1889
  # resp.image.applications[0].metadata #=> Hash
1575
1890
  # resp.image.applications[0].metadata["String"] #=> String
1891
+ # resp.image.applications[0].working_directory #=> String
1892
+ # resp.image.applications[0].description #=> String
1893
+ # resp.image.applications[0].arn #=> String
1894
+ # resp.image.applications[0].app_block_arn #=> String
1895
+ # resp.image.applications[0].icon_s3_location.s3_bucket #=> String
1896
+ # resp.image.applications[0].icon_s3_location.s3_key #=> String
1897
+ # resp.image.applications[0].platforms #=> Array
1898
+ # resp.image.applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1899
+ # resp.image.applications[0].instance_families #=> Array
1900
+ # resp.image.applications[0].instance_families[0] #=> String
1901
+ # resp.image.applications[0].created_time #=> Time
1576
1902
  # resp.image.created_time #=> Time
1577
1903
  # resp.image.public_base_image_released_date #=> Time
1578
1904
  # resp.image.appstream_agent_version #=> String
@@ -1619,7 +1945,7 @@ module Aws::AppStream
1619
1945
  # resp.image_builder.vpc_config.security_group_ids #=> Array
1620
1946
  # resp.image_builder.vpc_config.security_group_ids[0] #=> String
1621
1947
  # resp.image_builder.instance_type #=> String
1622
- # resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019"
1948
+ # resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1623
1949
  # resp.image_builder.iam_role_arn #=> String
1624
1950
  # resp.image_builder.state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
1625
1951
  # resp.image_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
@@ -1745,6 +2071,161 @@ module Aws::AppStream
1745
2071
  req.send_request(options)
1746
2072
  end
1747
2073
 
2074
+ # Retrieves a list that describes one or more app blocks.
2075
+ #
2076
+ # @option params [Array<String>] :arns
2077
+ # The ARNs of the app blocks.
2078
+ #
2079
+ # @option params [String] :next_token
2080
+ # The pagination token used to retrieve the next page of results for
2081
+ # this operation.
2082
+ #
2083
+ # @option params [Integer] :max_results
2084
+ # The maximum size of each page of results.
2085
+ #
2086
+ # @return [Types::DescribeAppBlocksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2087
+ #
2088
+ # * {Types::DescribeAppBlocksResult#app_blocks #app_blocks} => Array&lt;Types::AppBlock&gt;
2089
+ # * {Types::DescribeAppBlocksResult#next_token #next_token} => String
2090
+ #
2091
+ # @example Request syntax with placeholder values
2092
+ #
2093
+ # resp = client.describe_app_blocks({
2094
+ # arns: ["Arn"],
2095
+ # next_token: "String",
2096
+ # max_results: 1,
2097
+ # })
2098
+ #
2099
+ # @example Response structure
2100
+ #
2101
+ # resp.app_blocks #=> Array
2102
+ # resp.app_blocks[0].name #=> String
2103
+ # resp.app_blocks[0].arn #=> String
2104
+ # resp.app_blocks[0].description #=> String
2105
+ # resp.app_blocks[0].display_name #=> String
2106
+ # resp.app_blocks[0].source_s3_location.s3_bucket #=> String
2107
+ # resp.app_blocks[0].source_s3_location.s3_key #=> String
2108
+ # resp.app_blocks[0].setup_script_details.script_s3_location.s3_bucket #=> String
2109
+ # resp.app_blocks[0].setup_script_details.script_s3_location.s3_key #=> String
2110
+ # resp.app_blocks[0].setup_script_details.executable_path #=> String
2111
+ # resp.app_blocks[0].setup_script_details.executable_parameters #=> String
2112
+ # resp.app_blocks[0].setup_script_details.timeout_in_seconds #=> Integer
2113
+ # resp.app_blocks[0].created_time #=> Time
2114
+ # resp.next_token #=> String
2115
+ #
2116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlocks AWS API Documentation
2117
+ #
2118
+ # @overload describe_app_blocks(params = {})
2119
+ # @param [Hash] params ({})
2120
+ def describe_app_blocks(params = {}, options = {})
2121
+ req = build_request(:describe_app_blocks, params)
2122
+ req.send_request(options)
2123
+ end
2124
+
2125
+ # Retrieves a list that describes one or more application fleet
2126
+ # associations. Either ApplicationArn or FleetName must be specified.
2127
+ #
2128
+ # @option params [String] :fleet_name
2129
+ # The name of the fleet.
2130
+ #
2131
+ # @option params [String] :application_arn
2132
+ # The ARN of the application.
2133
+ #
2134
+ # @option params [Integer] :max_results
2135
+ # The maximum size of each page of results.
2136
+ #
2137
+ # @option params [String] :next_token
2138
+ # The pagination token used to retrieve the next page of results for
2139
+ # this operation.
2140
+ #
2141
+ # @return [Types::DescribeApplicationFleetAssociationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2142
+ #
2143
+ # * {Types::DescribeApplicationFleetAssociationsResult#application_fleet_associations #application_fleet_associations} => Array&lt;Types::ApplicationFleetAssociation&gt;
2144
+ # * {Types::DescribeApplicationFleetAssociationsResult#next_token #next_token} => String
2145
+ #
2146
+ # @example Request syntax with placeholder values
2147
+ #
2148
+ # resp = client.describe_application_fleet_associations({
2149
+ # fleet_name: "Name",
2150
+ # application_arn: "Arn",
2151
+ # max_results: 1,
2152
+ # next_token: "String",
2153
+ # })
2154
+ #
2155
+ # @example Response structure
2156
+ #
2157
+ # resp.application_fleet_associations #=> Array
2158
+ # resp.application_fleet_associations[0].fleet_name #=> String
2159
+ # resp.application_fleet_associations[0].application_arn #=> String
2160
+ # resp.next_token #=> String
2161
+ #
2162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeApplicationFleetAssociations AWS API Documentation
2163
+ #
2164
+ # @overload describe_application_fleet_associations(params = {})
2165
+ # @param [Hash] params ({})
2166
+ def describe_application_fleet_associations(params = {}, options = {})
2167
+ req = build_request(:describe_application_fleet_associations, params)
2168
+ req.send_request(options)
2169
+ end
2170
+
2171
+ # Retrieves a list that describes one or more applications.
2172
+ #
2173
+ # @option params [Array<String>] :arns
2174
+ # The ARNs for the applications.
2175
+ #
2176
+ # @option params [String] :next_token
2177
+ # The pagination token used to retrieve the next page of results for
2178
+ # this operation.
2179
+ #
2180
+ # @option params [Integer] :max_results
2181
+ # The maximum size of each page of results.
2182
+ #
2183
+ # @return [Types::DescribeApplicationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2184
+ #
2185
+ # * {Types::DescribeApplicationsResult#applications #applications} => Array&lt;Types::Application&gt;
2186
+ # * {Types::DescribeApplicationsResult#next_token #next_token} => String
2187
+ #
2188
+ # @example Request syntax with placeholder values
2189
+ #
2190
+ # resp = client.describe_applications({
2191
+ # arns: ["Arn"],
2192
+ # next_token: "String",
2193
+ # max_results: 1,
2194
+ # })
2195
+ #
2196
+ # @example Response structure
2197
+ #
2198
+ # resp.applications #=> Array
2199
+ # resp.applications[0].name #=> String
2200
+ # resp.applications[0].display_name #=> String
2201
+ # resp.applications[0].icon_url #=> String
2202
+ # resp.applications[0].launch_path #=> String
2203
+ # resp.applications[0].launch_parameters #=> String
2204
+ # resp.applications[0].enabled #=> Boolean
2205
+ # resp.applications[0].metadata #=> Hash
2206
+ # resp.applications[0].metadata["String"] #=> String
2207
+ # resp.applications[0].working_directory #=> String
2208
+ # resp.applications[0].description #=> String
2209
+ # resp.applications[0].arn #=> String
2210
+ # resp.applications[0].app_block_arn #=> String
2211
+ # resp.applications[0].icon_s3_location.s3_bucket #=> String
2212
+ # resp.applications[0].icon_s3_location.s3_key #=> String
2213
+ # resp.applications[0].platforms #=> Array
2214
+ # resp.applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
2215
+ # resp.applications[0].instance_families #=> Array
2216
+ # resp.applications[0].instance_families[0] #=> String
2217
+ # resp.applications[0].created_time #=> Time
2218
+ # resp.next_token #=> String
2219
+ #
2220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeApplications AWS API Documentation
2221
+ #
2222
+ # @overload describe_applications(params = {})
2223
+ # @param [Hash] params ({})
2224
+ def describe_applications(params = {}, options = {})
2225
+ req = build_request(:describe_applications, params)
2226
+ req.send_request(options)
2227
+ end
2228
+
1748
2229
  # Retrieves a list that describes one or more specified Directory Config
1749
2230
  # objects for AppStream 2.0, if the names for these objects are
1750
2231
  # provided. Otherwise, all Directory Config objects in the account are
@@ -1831,7 +2312,7 @@ module Aws::AppStream
1831
2312
  # resp.fleets[0].image_name #=> String
1832
2313
  # resp.fleets[0].image_arn #=> String
1833
2314
  # resp.fleets[0].instance_type #=> String
1834
- # resp.fleets[0].fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND"
2315
+ # resp.fleets[0].fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND", "ELASTIC"
1835
2316
  # resp.fleets[0].compute_capacity_status.desired #=> Integer
1836
2317
  # resp.fleets[0].compute_capacity_status.running #=> Integer
1837
2318
  # resp.fleets[0].compute_capacity_status.in_use #=> Integer
@@ -1853,6 +2334,10 @@ module Aws::AppStream
1853
2334
  # resp.fleets[0].idle_disconnect_timeout_in_seconds #=> Integer
1854
2335
  # resp.fleets[0].iam_role_arn #=> String
1855
2336
  # resp.fleets[0].stream_view #=> String, one of "APP", "DESKTOP"
2337
+ # resp.fleets[0].platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
2338
+ # resp.fleets[0].max_concurrent_sessions #=> Integer
2339
+ # resp.fleets[0].usb_device_filter_strings #=> Array
2340
+ # resp.fleets[0].usb_device_filter_strings[0] #=> String
1856
2341
  # resp.next_token #=> String
1857
2342
  #
1858
2343
  #
@@ -1910,7 +2395,7 @@ module Aws::AppStream
1910
2395
  # resp.image_builders[0].vpc_config.security_group_ids #=> Array
1911
2396
  # resp.image_builders[0].vpc_config.security_group_ids[0] #=> String
1912
2397
  # resp.image_builders[0].instance_type #=> String
1913
- # resp.image_builders[0].platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019"
2398
+ # resp.image_builders[0].platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1914
2399
  # resp.image_builders[0].iam_role_arn #=> String
1915
2400
  # resp.image_builders[0].state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
1916
2401
  # resp.image_builders[0].state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
@@ -2041,7 +2526,7 @@ module Aws::AppStream
2041
2526
  # resp.images[0].visibility #=> String, one of "PUBLIC", "PRIVATE", "SHARED"
2042
2527
  # resp.images[0].image_builder_supported #=> Boolean
2043
2528
  # resp.images[0].image_builder_name #=> String
2044
- # resp.images[0].platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019"
2529
+ # resp.images[0].platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
2045
2530
  # resp.images[0].description #=> String
2046
2531
  # resp.images[0].state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_BUILDER_NOT_AVAILABLE", "IMAGE_COPY_FAILURE"
2047
2532
  # resp.images[0].state_change_reason.message #=> String
@@ -2054,6 +2539,17 @@ module Aws::AppStream
2054
2539
  # resp.images[0].applications[0].enabled #=> Boolean
2055
2540
  # resp.images[0].applications[0].metadata #=> Hash
2056
2541
  # resp.images[0].applications[0].metadata["String"] #=> String
2542
+ # resp.images[0].applications[0].working_directory #=> String
2543
+ # resp.images[0].applications[0].description #=> String
2544
+ # resp.images[0].applications[0].arn #=> String
2545
+ # resp.images[0].applications[0].app_block_arn #=> String
2546
+ # resp.images[0].applications[0].icon_s3_location.s3_bucket #=> String
2547
+ # resp.images[0].applications[0].icon_s3_location.s3_key #=> String
2548
+ # resp.images[0].applications[0].platforms #=> Array
2549
+ # resp.images[0].applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
2550
+ # resp.images[0].applications[0].instance_families #=> Array
2551
+ # resp.images[0].applications[0].instance_families[0] #=> String
2552
+ # resp.images[0].applications[0].created_time #=> Time
2057
2553
  # resp.images[0].created_time #=> Time
2058
2554
  # resp.images[0].public_base_image_released_date #=> Time
2059
2555
  # resp.images[0].appstream_agent_version #=> String
@@ -2392,6 +2888,32 @@ module Aws::AppStream
2392
2888
  req.send_request(options)
2393
2889
  end
2394
2890
 
2891
+ # Disassociates the specified application from the fleet.
2892
+ #
2893
+ # @option params [required, String] :fleet_name
2894
+ # The name of the fleet.
2895
+ #
2896
+ # @option params [required, String] :application_arn
2897
+ # The ARN of the application.
2898
+ #
2899
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2900
+ #
2901
+ # @example Request syntax with placeholder values
2902
+ #
2903
+ # resp = client.disassociate_application_fleet({
2904
+ # fleet_name: "Name", # required
2905
+ # application_arn: "Arn", # required
2906
+ # })
2907
+ #
2908
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateApplicationFleet AWS API Documentation
2909
+ #
2910
+ # @overload disassociate_application_fleet(params = {})
2911
+ # @param [Hash] params ({})
2912
+ def disassociate_application_fleet(params = {}, options = {})
2913
+ req = build_request(:disassociate_application_fleet, params)
2914
+ req.send_request(options)
2915
+ end
2916
+
2395
2917
  # Disassociates the specified fleet from the specified stack.
2396
2918
  #
2397
2919
  # @option params [required, String] :fleet_name
@@ -2641,7 +3163,7 @@ module Aws::AppStream
2641
3163
  # resp.image_builder.vpc_config.security_group_ids #=> Array
2642
3164
  # resp.image_builder.vpc_config.security_group_ids[0] #=> String
2643
3165
  # resp.image_builder.instance_type #=> String
2644
- # resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019"
3166
+ # resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
2645
3167
  # resp.image_builder.iam_role_arn #=> String
2646
3168
  # resp.image_builder.state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
2647
3169
  # resp.image_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
@@ -2719,7 +3241,7 @@ module Aws::AppStream
2719
3241
  # resp.image_builder.vpc_config.security_group_ids #=> Array
2720
3242
  # resp.image_builder.vpc_config.security_group_ids[0] #=> String
2721
3243
  # resp.image_builder.instance_type #=> String
2722
- # resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019"
3244
+ # resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
2723
3245
  # resp.image_builder.iam_role_arn #=> String
2724
3246
  # resp.image_builder.state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
2725
3247
  # resp.image_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
@@ -2836,6 +3358,89 @@ module Aws::AppStream
2836
3358
  req.send_request(options)
2837
3359
  end
2838
3360
 
3361
+ # Updates the specified application.
3362
+ #
3363
+ # @option params [required, String] :name
3364
+ # The name of the application. This name is visible to users when
3365
+ # display name is not specified.
3366
+ #
3367
+ # @option params [String] :display_name
3368
+ # The display name of the application. This name is visible to users in
3369
+ # the application catalog.
3370
+ #
3371
+ # @option params [String] :description
3372
+ # The description of the application.
3373
+ #
3374
+ # @option params [Types::S3Location] :icon_s3_location
3375
+ # The icon S3 location of the application.
3376
+ #
3377
+ # @option params [String] :launch_path
3378
+ # The launch path of the application.
3379
+ #
3380
+ # @option params [String] :working_directory
3381
+ # The working directory of the application.
3382
+ #
3383
+ # @option params [String] :launch_parameters
3384
+ # The launch parameters of the application.
3385
+ #
3386
+ # @option params [String] :app_block_arn
3387
+ # The ARN of the app block.
3388
+ #
3389
+ # @option params [Array<String>] :attributes_to_delete
3390
+ # The attributes to delete for an application.
3391
+ #
3392
+ # @return [Types::UpdateApplicationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3393
+ #
3394
+ # * {Types::UpdateApplicationResult#application #application} => Types::Application
3395
+ #
3396
+ # @example Request syntax with placeholder values
3397
+ #
3398
+ # resp = client.update_application({
3399
+ # name: "Name", # required
3400
+ # display_name: "DisplayName",
3401
+ # description: "Description",
3402
+ # icon_s3_location: {
3403
+ # s3_bucket: "S3Bucket", # required
3404
+ # s3_key: "S3Key", # required
3405
+ # },
3406
+ # launch_path: "String",
3407
+ # working_directory: "String",
3408
+ # launch_parameters: "String",
3409
+ # app_block_arn: "Arn",
3410
+ # attributes_to_delete: ["LAUNCH_PARAMETERS"], # accepts LAUNCH_PARAMETERS, WORKING_DIRECTORY
3411
+ # })
3412
+ #
3413
+ # @example Response structure
3414
+ #
3415
+ # resp.application.name #=> String
3416
+ # resp.application.display_name #=> String
3417
+ # resp.application.icon_url #=> String
3418
+ # resp.application.launch_path #=> String
3419
+ # resp.application.launch_parameters #=> String
3420
+ # resp.application.enabled #=> Boolean
3421
+ # resp.application.metadata #=> Hash
3422
+ # resp.application.metadata["String"] #=> String
3423
+ # resp.application.working_directory #=> String
3424
+ # resp.application.description #=> String
3425
+ # resp.application.arn #=> String
3426
+ # resp.application.app_block_arn #=> String
3427
+ # resp.application.icon_s3_location.s3_bucket #=> String
3428
+ # resp.application.icon_s3_location.s3_key #=> String
3429
+ # resp.application.platforms #=> Array
3430
+ # resp.application.platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
3431
+ # resp.application.instance_families #=> Array
3432
+ # resp.application.instance_families[0] #=> String
3433
+ # resp.application.created_time #=> Time
3434
+ #
3435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateApplication AWS API Documentation
3436
+ #
3437
+ # @overload update_application(params = {})
3438
+ # @param [Hash] params ({})
3439
+ def update_application(params = {}, options = {})
3440
+ req = build_request(:update_application, params)
3441
+ req.send_request(options)
3442
+ end
3443
+
2839
3444
  # Updates the specified Directory Config object in AppStream 2.0. This
2840
3445
  # object includes the configuration information required to join fleets
2841
3446
  # and image builders to Microsoft Active Directory domains.
@@ -2887,11 +3492,25 @@ module Aws::AppStream
2887
3492
  # Updates the specified fleet.
2888
3493
  #
2889
3494
  # If the fleet is in the `STOPPED` state, you can update any attribute
2890
- # except the fleet name. If the fleet is in the `RUNNING` state, you can
2891
- # update the `DisplayName`, `ComputeCapacity`, `ImageARN`, `ImageName`,
2892
- # `IdleDisconnectTimeoutInSeconds`, and `DisconnectTimeoutInSeconds`
2893
- # attributes. If the fleet is in the `STARTING` or `STOPPING` state, you
2894
- # can't update it.
3495
+ # except the fleet name.
3496
+ #
3497
+ # If the fleet is in the `RUNNING` state, you can update the following
3498
+ # based on the fleet type:
3499
+ #
3500
+ # * Always-On and On-Demand fleet types
3501
+ #
3502
+ # You can update the `DisplayName`, `ComputeCapacity`, `ImageARN`,
3503
+ # `ImageName`, `IdleDisconnectTimeoutInSeconds`, and
3504
+ # `DisconnectTimeoutInSeconds` attributes.
3505
+ #
3506
+ # * Elastic fleet type
3507
+ #
3508
+ # You can update the `DisplayName`, `IdleDisconnectTimeoutInSeconds`,
3509
+ # `DisconnectTimeoutInSeconds`, `MaxConcurrentSessions`, and
3510
+ # `UsbDeviceFilterStrings` attributes.
3511
+ #
3512
+ # If the fleet is in the `STARTING` or `STOPPED` state, you can't
3513
+ # update it.
2895
3514
  #
2896
3515
  # @option params [String] :image_name
2897
3516
  # The name of the image used to create the fleet.
@@ -2972,11 +3591,20 @@ module Aws::AppStream
2972
3591
  #
2973
3592
  # * stream.graphics-pro.16xlarge
2974
3593
  #
3594
+ # The following instance types are available for Elastic fleets:
3595
+ #
3596
+ # * stream.standard.small
3597
+ #
3598
+ # * stream.standard.medium
3599
+ #
2975
3600
  # @option params [Types::ComputeCapacity] :compute_capacity
2976
- # The desired capacity for the fleet.
3601
+ # The desired capacity for the fleet. This is not allowed for Elastic
3602
+ # fleets.
2977
3603
  #
2978
3604
  # @option params [Types::VpcConfig] :vpc_config
2979
- # The VPC configuration for the fleet.
3605
+ # The VPC configuration for the fleet. This is required for Elastic
3606
+ # fleets, but not required for other fleet types. Elastic fleets require
3607
+ # that you specify at least two subnets in different availability zones.
2980
3608
  #
2981
3609
  # @option params [Integer] :max_user_duration_in_seconds
2982
3610
  # The maximum amount of time that a streaming session can remain active,
@@ -3068,6 +3696,18 @@ module Aws::AppStream
3068
3696
  #
3069
3697
  # The default value is `APP`.
3070
3698
  #
3699
+ # @option params [String] :platform
3700
+ # The platform of the fleet. WINDOWS\_SERVER\_2019 and AMAZON\_LINUX2
3701
+ # are supported for Elastic fleets.
3702
+ #
3703
+ # @option params [Integer] :max_concurrent_sessions
3704
+ # The maximum number of concurrent sessions for a fleet.
3705
+ #
3706
+ # @option params [Array<String>] :usb_device_filter_strings
3707
+ # The USB device filter strings that specify which USB devices a user
3708
+ # can redirect to the fleet streaming session, when using the Windows
3709
+ # native client. This is allowed but not required for Elastic fleets.
3710
+ #
3071
3711
  # @return [Types::UpdateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3072
3712
  #
3073
3713
  # * {Types::UpdateFleetResult#fleet #fleet} => Types::Fleet
@@ -3097,9 +3737,12 @@ module Aws::AppStream
3097
3737
  # organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
3098
3738
  # },
3099
3739
  # idle_disconnect_timeout_in_seconds: 1,
3100
- # attributes_to_delete: ["VPC_CONFIGURATION"], # accepts VPC_CONFIGURATION, VPC_CONFIGURATION_SECURITY_GROUP_IDS, DOMAIN_JOIN_INFO, IAM_ROLE_ARN
3740
+ # attributes_to_delete: ["VPC_CONFIGURATION"], # accepts VPC_CONFIGURATION, VPC_CONFIGURATION_SECURITY_GROUP_IDS, DOMAIN_JOIN_INFO, IAM_ROLE_ARN, USB_DEVICE_FILTER_STRINGS
3101
3741
  # iam_role_arn: "Arn",
3102
3742
  # stream_view: "APP", # accepts APP, DESKTOP
3743
+ # platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
3744
+ # max_concurrent_sessions: 1,
3745
+ # usb_device_filter_strings: ["UsbDeviceFilterString"],
3103
3746
  # })
3104
3747
  #
3105
3748
  # @example Response structure
@@ -3111,7 +3754,7 @@ module Aws::AppStream
3111
3754
  # resp.fleet.image_name #=> String
3112
3755
  # resp.fleet.image_arn #=> String
3113
3756
  # resp.fleet.instance_type #=> String
3114
- # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND"
3757
+ # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND", "ELASTIC"
3115
3758
  # resp.fleet.compute_capacity_status.desired #=> Integer
3116
3759
  # resp.fleet.compute_capacity_status.running #=> Integer
3117
3760
  # resp.fleet.compute_capacity_status.in_use #=> Integer
@@ -3133,6 +3776,10 @@ module Aws::AppStream
3133
3776
  # resp.fleet.idle_disconnect_timeout_in_seconds #=> Integer
3134
3777
  # resp.fleet.iam_role_arn #=> String
3135
3778
  # resp.fleet.stream_view #=> String, one of "APP", "DESKTOP"
3779
+ # resp.fleet.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
3780
+ # resp.fleet.max_concurrent_sessions #=> Integer
3781
+ # resp.fleet.usb_device_filter_strings #=> Array
3782
+ # resp.fleet.usb_device_filter_strings[0] #=> String
3136
3783
  #
3137
3784
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleet AWS API Documentation
3138
3785
  #
@@ -3317,7 +3964,7 @@ module Aws::AppStream
3317
3964
  params: params,
3318
3965
  config: config)
3319
3966
  context[:gem_name] = 'aws-sdk-appstream'
3320
- context[:gem_version] = '1.57.0'
3967
+ context[:gem_version] = '1.61.0'
3321
3968
  Seahorse::Client::Request.new(handlers, context)
3322
3969
  end
3323
3970