aws-sdk-appstream 1.57.0 → 1.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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