aws-sdk-appstream 1.58.0 → 1.59.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.
@@ -346,6 +346,40 @@ module Aws::AppStream
346
346
 
347
347
  # @!group API Operations
348
348
 
349
+ # Associates the specified application with the specified fleet. This is
350
+ # only supported for Elastic fleets.
351
+ #
352
+ # @option params [required, String] :fleet_name
353
+ # The name of the fleet.
354
+ #
355
+ # @option params [required, String] :application_arn
356
+ # The ARN of the application.
357
+ #
358
+ # @return [Types::AssociateApplicationFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
359
+ #
360
+ # * {Types::AssociateApplicationFleetResult#application_fleet_association #application_fleet_association} => Types::ApplicationFleetAssociation
361
+ #
362
+ # @example Request syntax with placeholder values
363
+ #
364
+ # resp = client.associate_application_fleet({
365
+ # fleet_name: "Name", # required
366
+ # application_arn: "Arn", # required
367
+ # })
368
+ #
369
+ # @example Response structure
370
+ #
371
+ # resp.application_fleet_association.fleet_name #=> String
372
+ # resp.application_fleet_association.application_arn #=> String
373
+ #
374
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateApplicationFleet AWS API Documentation
375
+ #
376
+ # @overload associate_application_fleet(params = {})
377
+ # @param [Hash] params ({})
378
+ def associate_application_fleet(params = {}, options = {})
379
+ req = build_request(:associate_application_fleet, params)
380
+ req.send_request(options)
381
+ end
382
+
349
383
  # Associates the specified fleet with the specified stack.
350
384
  #
351
385
  # @option params [required, String] :fleet_name
@@ -502,6 +536,191 @@ module Aws::AppStream
502
536
  req.send_request(options)
503
537
  end
504
538
 
539
+ # Creates an app block.
540
+ #
541
+ # App blocks are an Amazon AppStream 2.0 resource that stores the
542
+ # details about the virtual hard disk in an S3 bucket. It also stores
543
+ # the setup script with details about how to mount the virtual hard
544
+ # disk. The virtual hard disk includes the application binaries and
545
+ # other files necessary to launch your applications. Multiple
546
+ # applications can be assigned to a single app block.
547
+ #
548
+ # This is only supported for Elastic fleets.
549
+ #
550
+ # @option params [required, String] :name
551
+ # The name of the app block.
552
+ #
553
+ # @option params [String] :description
554
+ # The description of the app block.
555
+ #
556
+ # @option params [String] :display_name
557
+ # The display name of the app block. This is not displayed to the user.
558
+ #
559
+ # @option params [required, Types::S3Location] :source_s3_location
560
+ # The source S3 location of the app block.
561
+ #
562
+ # @option params [required, Types::ScriptDetails] :setup_script_details
563
+ # The setup script details of the app block.
564
+ #
565
+ # @option params [Hash<String,String>] :tags
566
+ # The tags assigned to the app block.
567
+ #
568
+ # @return [Types::CreateAppBlockResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
569
+ #
570
+ # * {Types::CreateAppBlockResult#app_block #app_block} => Types::AppBlock
571
+ #
572
+ # @example Request syntax with placeholder values
573
+ #
574
+ # resp = client.create_app_block({
575
+ # name: "Name", # required
576
+ # description: "Description",
577
+ # display_name: "DisplayName",
578
+ # source_s3_location: { # required
579
+ # s3_bucket: "S3Bucket", # required
580
+ # s3_key: "S3Key", # required
581
+ # },
582
+ # setup_script_details: { # required
583
+ # script_s3_location: { # required
584
+ # s3_bucket: "S3Bucket", # required
585
+ # s3_key: "S3Key", # required
586
+ # },
587
+ # executable_path: "String", # required
588
+ # executable_parameters: "String",
589
+ # timeout_in_seconds: 1, # required
590
+ # },
591
+ # tags: {
592
+ # "TagKey" => "TagValue",
593
+ # },
594
+ # })
595
+ #
596
+ # @example Response structure
597
+ #
598
+ # resp.app_block.name #=> String
599
+ # resp.app_block.arn #=> String
600
+ # resp.app_block.description #=> String
601
+ # resp.app_block.display_name #=> String
602
+ # resp.app_block.source_s3_location.s3_bucket #=> String
603
+ # resp.app_block.source_s3_location.s3_key #=> String
604
+ # resp.app_block.setup_script_details.script_s3_location.s3_bucket #=> String
605
+ # resp.app_block.setup_script_details.script_s3_location.s3_key #=> String
606
+ # resp.app_block.setup_script_details.executable_path #=> String
607
+ # resp.app_block.setup_script_details.executable_parameters #=> String
608
+ # resp.app_block.setup_script_details.timeout_in_seconds #=> Integer
609
+ # resp.app_block.created_time #=> Time
610
+ #
611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlock AWS API Documentation
612
+ #
613
+ # @overload create_app_block(params = {})
614
+ # @param [Hash] params ({})
615
+ def create_app_block(params = {}, options = {})
616
+ req = build_request(:create_app_block, params)
617
+ req.send_request(options)
618
+ end
619
+
620
+ # Creates an application.
621
+ #
622
+ # Applications are an Amazon AppStream 2.0 resource that stores the
623
+ # details about how to launch applications on Elastic fleet streaming
624
+ # instances. An application consists of the launch details, icon, and
625
+ # display name. Applications are associated with an app block that
626
+ # contains the application binaries and other files. The applications
627
+ # assigned to an Elastic fleet are the applications users can launch.
628
+ #
629
+ # This is only supported for Elastic fleets.
630
+ #
631
+ # @option params [required, String] :name
632
+ # The name of the application. This name is visible to users when
633
+ # display name is not specified.
634
+ #
635
+ # @option params [String] :display_name
636
+ # The display name of the application. This name is visible to users in
637
+ # the application catalog.
638
+ #
639
+ # @option params [String] :description
640
+ # The description of the application.
641
+ #
642
+ # @option params [required, Types::S3Location] :icon_s3_location
643
+ # The location in S3 of the application icon.
644
+ #
645
+ # @option params [required, String] :launch_path
646
+ # The launch path of the application.
647
+ #
648
+ # @option params [String] :working_directory
649
+ # The working directory of the application.
650
+ #
651
+ # @option params [String] :launch_parameters
652
+ # The launch parameters of the application.
653
+ #
654
+ # @option params [required, Array<String>] :platforms
655
+ # The platforms the application supports. WINDOWS\_SERVER\_2019 and
656
+ # AMAZON\_LINUX2 are supported for Elastic fleets.
657
+ #
658
+ # @option params [required, Array<String>] :instance_families
659
+ # The instance families the application supports. Valid values are
660
+ # GENERAL\_PURPOSE and GRAPHICS\_G4.
661
+ #
662
+ # @option params [required, String] :app_block_arn
663
+ # The app block ARN to which the application should be associated
664
+ #
665
+ # @option params [Hash<String,String>] :tags
666
+ # The tags assigned to the application.
667
+ #
668
+ # @return [Types::CreateApplicationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
669
+ #
670
+ # * {Types::CreateApplicationResult#application #application} => Types::Application
671
+ #
672
+ # @example Request syntax with placeholder values
673
+ #
674
+ # resp = client.create_application({
675
+ # name: "Name", # required
676
+ # display_name: "DisplayName",
677
+ # description: "Description",
678
+ # icon_s3_location: { # required
679
+ # s3_bucket: "S3Bucket", # required
680
+ # s3_key: "S3Key", # required
681
+ # },
682
+ # launch_path: "String", # required
683
+ # working_directory: "String",
684
+ # launch_parameters: "String",
685
+ # platforms: ["WINDOWS"], # required, accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
686
+ # instance_families: ["String"], # required
687
+ # app_block_arn: "Arn", # required
688
+ # tags: {
689
+ # "TagKey" => "TagValue",
690
+ # },
691
+ # })
692
+ #
693
+ # @example Response structure
694
+ #
695
+ # resp.application.name #=> String
696
+ # resp.application.display_name #=> String
697
+ # resp.application.icon_url #=> String
698
+ # resp.application.launch_path #=> String
699
+ # resp.application.launch_parameters #=> String
700
+ # resp.application.enabled #=> Boolean
701
+ # resp.application.metadata #=> Hash
702
+ # resp.application.metadata["String"] #=> String
703
+ # resp.application.working_directory #=> String
704
+ # resp.application.description #=> String
705
+ # resp.application.arn #=> String
706
+ # resp.application.app_block_arn #=> String
707
+ # resp.application.icon_s3_location.s3_bucket #=> String
708
+ # resp.application.icon_s3_location.s3_key #=> String
709
+ # resp.application.platforms #=> Array
710
+ # resp.application.platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
711
+ # resp.application.instance_families #=> Array
712
+ # resp.application.instance_families[0] #=> String
713
+ # resp.application.created_time #=> Time
714
+ #
715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateApplication AWS API Documentation
716
+ #
717
+ # @overload create_application(params = {})
718
+ # @param [Hash] params ({})
719
+ def create_application(params = {}, options = {})
720
+ req = build_request(:create_application, params)
721
+ req.send_request(options)
722
+ end
723
+
505
724
  # Creates a Directory Config object in AppStream 2.0. This object
506
725
  # includes the configuration information required to join fleets and
507
726
  # image builders to Microsoft Active Directory domains.
@@ -552,7 +771,7 @@ module Aws::AppStream
552
771
  end
553
772
 
554
773
  # Creates a fleet. A fleet consists of streaming instances that run a
555
- # specified image.
774
+ # specified image when using Always-On or On-Demand.
556
775
  #
557
776
  # @option params [required, String] :name
558
777
  # A unique name for the fleet.
@@ -633,6 +852,12 @@ module Aws::AppStream
633
852
  #
634
853
  # * stream.graphics-pro.16xlarge
635
854
  #
855
+ # The following instance types are available for Elastic fleets:
856
+ #
857
+ # * stream.standard.small
858
+ #
859
+ # * stream.standard.medium
860
+ #
636
861
  # @option params [String] :fleet_type
637
862
  # The fleet type.
638
863
  #
@@ -649,11 +874,14 @@ module Aws::AppStream
649
874
  # when users are connected and a small hourly fee for instances that
650
875
  # are not streaming apps.
651
876
  #
652
- # @option params [required, Types::ComputeCapacity] :compute_capacity
653
- # The desired capacity for the fleet.
877
+ # @option params [Types::ComputeCapacity] :compute_capacity
878
+ # The desired capacity for the fleet. This is not allowed for Elastic
879
+ # fleets. For Elastic fleets, specify MaxConcurrentSessions instead.
654
880
  #
655
881
  # @option params [Types::VpcConfig] :vpc_config
656
- # The VPC configuration for the fleet.
882
+ # The VPC configuration for the fleet. This is required for Elastic
883
+ # fleets, but not required for other fleet types. Elastic fleets require
884
+ # that you specify at least two subnets in different availability zones.
657
885
  #
658
886
  # @option params [Integer] :max_user_duration_in_seconds
659
887
  # The maximum amount of time that a streaming session can remain active,
@@ -684,7 +912,8 @@ module Aws::AppStream
684
912
  #
685
913
  # @option params [Types::DomainJoinInfo] :domain_join_info
686
914
  # The name of the directory and organizational unit (OU) to use to join
687
- # the fleet to a Microsoft Active Directory domain.
915
+ # the fleet to a Microsoft Active Directory domain. This is not allowed
916
+ # for Elastic fleets.
688
917
  #
689
918
  # @option params [Hash<String,String>] :tags
690
919
  # The tags to associate with the fleet. A tag is a key-value pair, and
@@ -758,6 +987,19 @@ module Aws::AppStream
758
987
  #
759
988
  # The default value is `APP`.
760
989
  #
990
+ # @option params [String] :platform
991
+ # The fleet platform. WINDOWS\_SERVER\_2019 and AMAZON\_LINUX2 are
992
+ # supported for Elastic fleets.
993
+ #
994
+ # @option params [Integer] :max_concurrent_sessions
995
+ # The maximum concurrent sessions of the Elastic fleet. This is required
996
+ # for Elastic fleets, and not allowed for other fleet types.
997
+ #
998
+ # @option params [Array<String>] :usb_device_filter_strings
999
+ # The USB device filter strings that specify which USB devices a user
1000
+ # can redirect to the fleet streaming session, when using the Windows
1001
+ # native client. This is allowed but not required for Elastic fleets.
1002
+ #
761
1003
  # @return [Types::CreateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
762
1004
  #
763
1005
  # * {Types::CreateFleetResult#fleet #fleet} => Types::Fleet
@@ -769,8 +1011,8 @@ module Aws::AppStream
769
1011
  # image_name: "String",
770
1012
  # image_arn: "Arn",
771
1013
  # instance_type: "String", # required
772
- # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND
773
- # compute_capacity: { # required
1014
+ # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND, ELASTIC
1015
+ # compute_capacity: {
774
1016
  # desired_instances: 1, # required
775
1017
  # },
776
1018
  # vpc_config: {
@@ -792,6 +1034,9 @@ module Aws::AppStream
792
1034
  # idle_disconnect_timeout_in_seconds: 1,
793
1035
  # iam_role_arn: "Arn",
794
1036
  # stream_view: "APP", # accepts APP, DESKTOP
1037
+ # platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
1038
+ # max_concurrent_sessions: 1,
1039
+ # usb_device_filter_strings: ["UsbDeviceFilterString"],
795
1040
  # })
796
1041
  #
797
1042
  # @example Response structure
@@ -803,7 +1048,7 @@ module Aws::AppStream
803
1048
  # resp.fleet.image_name #=> String
804
1049
  # resp.fleet.image_arn #=> String
805
1050
  # resp.fleet.instance_type #=> String
806
- # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND"
1051
+ # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND", "ELASTIC"
807
1052
  # resp.fleet.compute_capacity_status.desired #=> Integer
808
1053
  # resp.fleet.compute_capacity_status.running #=> Integer
809
1054
  # resp.fleet.compute_capacity_status.in_use #=> Integer
@@ -825,6 +1070,10 @@ module Aws::AppStream
825
1070
  # resp.fleet.idle_disconnect_timeout_in_seconds #=> Integer
826
1071
  # resp.fleet.iam_role_arn #=> String
827
1072
  # resp.fleet.stream_view #=> String, one of "APP", "DESKTOP"
1073
+ # resp.fleet.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1074
+ # resp.fleet.max_concurrent_sessions #=> Integer
1075
+ # resp.fleet.usb_device_filter_strings #=> Array
1076
+ # resp.fleet.usb_device_filter_strings[0] #=> String
828
1077
  #
829
1078
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleet AWS API Documentation
830
1079
  #
@@ -1391,6 +1640,17 @@ module Aws::AppStream
1391
1640
  # resp.image.applications[0].enabled #=> Boolean
1392
1641
  # resp.image.applications[0].metadata #=> Hash
1393
1642
  # resp.image.applications[0].metadata["String"] #=> String
1643
+ # resp.image.applications[0].working_directory #=> String
1644
+ # resp.image.applications[0].description #=> String
1645
+ # resp.image.applications[0].arn #=> String
1646
+ # resp.image.applications[0].app_block_arn #=> String
1647
+ # resp.image.applications[0].icon_s3_location.s3_bucket #=> String
1648
+ # resp.image.applications[0].icon_s3_location.s3_key #=> String
1649
+ # resp.image.applications[0].platforms #=> Array
1650
+ # resp.image.applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1651
+ # resp.image.applications[0].instance_families #=> Array
1652
+ # resp.image.applications[0].instance_families[0] #=> String
1653
+ # resp.image.applications[0].created_time #=> Time
1394
1654
  # resp.image.created_time #=> Time
1395
1655
  # resp.image.public_base_image_released_date #=> Time
1396
1656
  # resp.image.appstream_agent_version #=> String
@@ -1487,6 +1747,50 @@ module Aws::AppStream
1487
1747
  req.send_request(options)
1488
1748
  end
1489
1749
 
1750
+ # Deletes an app block.
1751
+ #
1752
+ # @option params [required, String] :name
1753
+ # The name of the app block.
1754
+ #
1755
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1756
+ #
1757
+ # @example Request syntax with placeholder values
1758
+ #
1759
+ # resp = client.delete_app_block({
1760
+ # name: "Name", # required
1761
+ # })
1762
+ #
1763
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteAppBlock AWS API Documentation
1764
+ #
1765
+ # @overload delete_app_block(params = {})
1766
+ # @param [Hash] params ({})
1767
+ def delete_app_block(params = {}, options = {})
1768
+ req = build_request(:delete_app_block, params)
1769
+ req.send_request(options)
1770
+ end
1771
+
1772
+ # Deletes an application.
1773
+ #
1774
+ # @option params [required, String] :name
1775
+ # The name of the application.
1776
+ #
1777
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1778
+ #
1779
+ # @example Request syntax with placeholder values
1780
+ #
1781
+ # resp = client.delete_application({
1782
+ # name: "Name", # required
1783
+ # })
1784
+ #
1785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteApplication AWS API Documentation
1786
+ #
1787
+ # @overload delete_application(params = {})
1788
+ # @param [Hash] params ({})
1789
+ def delete_application(params = {}, options = {})
1790
+ req = build_request(:delete_application, params)
1791
+ req.send_request(options)
1792
+ end
1793
+
1490
1794
  # Deletes the specified Directory Config object from AppStream 2.0. This
1491
1795
  # object includes the information required to join streaming instances
1492
1796
  # to an Active Directory domain.
@@ -1573,6 +1877,17 @@ module Aws::AppStream
1573
1877
  # resp.image.applications[0].enabled #=> Boolean
1574
1878
  # resp.image.applications[0].metadata #=> Hash
1575
1879
  # resp.image.applications[0].metadata["String"] #=> String
1880
+ # resp.image.applications[0].working_directory #=> String
1881
+ # resp.image.applications[0].description #=> String
1882
+ # resp.image.applications[0].arn #=> String
1883
+ # resp.image.applications[0].app_block_arn #=> String
1884
+ # resp.image.applications[0].icon_s3_location.s3_bucket #=> String
1885
+ # resp.image.applications[0].icon_s3_location.s3_key #=> String
1886
+ # resp.image.applications[0].platforms #=> Array
1887
+ # resp.image.applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
1888
+ # resp.image.applications[0].instance_families #=> Array
1889
+ # resp.image.applications[0].instance_families[0] #=> String
1890
+ # resp.image.applications[0].created_time #=> Time
1576
1891
  # resp.image.created_time #=> Time
1577
1892
  # resp.image.public_base_image_released_date #=> Time
1578
1893
  # resp.image.appstream_agent_version #=> String
@@ -1745,6 +2060,161 @@ module Aws::AppStream
1745
2060
  req.send_request(options)
1746
2061
  end
1747
2062
 
2063
+ # Retrieves a list that describes one or more app blocks.
2064
+ #
2065
+ # @option params [Array<String>] :arns
2066
+ # The ARNs of the app blocks.
2067
+ #
2068
+ # @option params [String] :next_token
2069
+ # The pagination token used to retrieve the next page of results for
2070
+ # this operation.
2071
+ #
2072
+ # @option params [Integer] :max_results
2073
+ # The maximum size of each page of results.
2074
+ #
2075
+ # @return [Types::DescribeAppBlocksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2076
+ #
2077
+ # * {Types::DescribeAppBlocksResult#app_blocks #app_blocks} => Array&lt;Types::AppBlock&gt;
2078
+ # * {Types::DescribeAppBlocksResult#next_token #next_token} => String
2079
+ #
2080
+ # @example Request syntax with placeholder values
2081
+ #
2082
+ # resp = client.describe_app_blocks({
2083
+ # arns: ["Arn"],
2084
+ # next_token: "String",
2085
+ # max_results: 1,
2086
+ # })
2087
+ #
2088
+ # @example Response structure
2089
+ #
2090
+ # resp.app_blocks #=> Array
2091
+ # resp.app_blocks[0].name #=> String
2092
+ # resp.app_blocks[0].arn #=> String
2093
+ # resp.app_blocks[0].description #=> String
2094
+ # resp.app_blocks[0].display_name #=> String
2095
+ # resp.app_blocks[0].source_s3_location.s3_bucket #=> String
2096
+ # resp.app_blocks[0].source_s3_location.s3_key #=> String
2097
+ # resp.app_blocks[0].setup_script_details.script_s3_location.s3_bucket #=> String
2098
+ # resp.app_blocks[0].setup_script_details.script_s3_location.s3_key #=> String
2099
+ # resp.app_blocks[0].setup_script_details.executable_path #=> String
2100
+ # resp.app_blocks[0].setup_script_details.executable_parameters #=> String
2101
+ # resp.app_blocks[0].setup_script_details.timeout_in_seconds #=> Integer
2102
+ # resp.app_blocks[0].created_time #=> Time
2103
+ # resp.next_token #=> String
2104
+ #
2105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlocks AWS API Documentation
2106
+ #
2107
+ # @overload describe_app_blocks(params = {})
2108
+ # @param [Hash] params ({})
2109
+ def describe_app_blocks(params = {}, options = {})
2110
+ req = build_request(:describe_app_blocks, params)
2111
+ req.send_request(options)
2112
+ end
2113
+
2114
+ # Retrieves a list that describes one or more application fleet
2115
+ # associations. Either ApplicationArn or FleetName must be specified.
2116
+ #
2117
+ # @option params [String] :fleet_name
2118
+ # The name of the fleet.
2119
+ #
2120
+ # @option params [String] :application_arn
2121
+ # The ARN of the application.
2122
+ #
2123
+ # @option params [Integer] :max_results
2124
+ # The maximum size of each page of results.
2125
+ #
2126
+ # @option params [String] :next_token
2127
+ # The pagination token used to retrieve the next page of results for
2128
+ # this operation.
2129
+ #
2130
+ # @return [Types::DescribeApplicationFleetAssociationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2131
+ #
2132
+ # * {Types::DescribeApplicationFleetAssociationsResult#application_fleet_associations #application_fleet_associations} => Array&lt;Types::ApplicationFleetAssociation&gt;
2133
+ # * {Types::DescribeApplicationFleetAssociationsResult#next_token #next_token} => String
2134
+ #
2135
+ # @example Request syntax with placeholder values
2136
+ #
2137
+ # resp = client.describe_application_fleet_associations({
2138
+ # fleet_name: "Name",
2139
+ # application_arn: "Arn",
2140
+ # max_results: 1,
2141
+ # next_token: "String",
2142
+ # })
2143
+ #
2144
+ # @example Response structure
2145
+ #
2146
+ # resp.application_fleet_associations #=> Array
2147
+ # resp.application_fleet_associations[0].fleet_name #=> String
2148
+ # resp.application_fleet_associations[0].application_arn #=> String
2149
+ # resp.next_token #=> String
2150
+ #
2151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeApplicationFleetAssociations AWS API Documentation
2152
+ #
2153
+ # @overload describe_application_fleet_associations(params = {})
2154
+ # @param [Hash] params ({})
2155
+ def describe_application_fleet_associations(params = {}, options = {})
2156
+ req = build_request(:describe_application_fleet_associations, params)
2157
+ req.send_request(options)
2158
+ end
2159
+
2160
+ # Retrieves a list that describes one or more applications.
2161
+ #
2162
+ # @option params [Array<String>] :arns
2163
+ # The ARNs for the applications.
2164
+ #
2165
+ # @option params [String] :next_token
2166
+ # The pagination token used to retrieve the next page of results for
2167
+ # this operation.
2168
+ #
2169
+ # @option params [Integer] :max_results
2170
+ # The maximum size of each page of results.
2171
+ #
2172
+ # @return [Types::DescribeApplicationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2173
+ #
2174
+ # * {Types::DescribeApplicationsResult#applications #applications} => Array&lt;Types::Application&gt;
2175
+ # * {Types::DescribeApplicationsResult#next_token #next_token} => String
2176
+ #
2177
+ # @example Request syntax with placeholder values
2178
+ #
2179
+ # resp = client.describe_applications({
2180
+ # arns: ["Arn"],
2181
+ # next_token: "String",
2182
+ # max_results: 1,
2183
+ # })
2184
+ #
2185
+ # @example Response structure
2186
+ #
2187
+ # resp.applications #=> Array
2188
+ # resp.applications[0].name #=> String
2189
+ # resp.applications[0].display_name #=> String
2190
+ # resp.applications[0].icon_url #=> String
2191
+ # resp.applications[0].launch_path #=> String
2192
+ # resp.applications[0].launch_parameters #=> String
2193
+ # resp.applications[0].enabled #=> Boolean
2194
+ # resp.applications[0].metadata #=> Hash
2195
+ # resp.applications[0].metadata["String"] #=> String
2196
+ # resp.applications[0].working_directory #=> String
2197
+ # resp.applications[0].description #=> String
2198
+ # resp.applications[0].arn #=> String
2199
+ # resp.applications[0].app_block_arn #=> String
2200
+ # resp.applications[0].icon_s3_location.s3_bucket #=> String
2201
+ # resp.applications[0].icon_s3_location.s3_key #=> String
2202
+ # resp.applications[0].platforms #=> Array
2203
+ # resp.applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
2204
+ # resp.applications[0].instance_families #=> Array
2205
+ # resp.applications[0].instance_families[0] #=> String
2206
+ # resp.applications[0].created_time #=> Time
2207
+ # resp.next_token #=> String
2208
+ #
2209
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeApplications AWS API Documentation
2210
+ #
2211
+ # @overload describe_applications(params = {})
2212
+ # @param [Hash] params ({})
2213
+ def describe_applications(params = {}, options = {})
2214
+ req = build_request(:describe_applications, params)
2215
+ req.send_request(options)
2216
+ end
2217
+
1748
2218
  # Retrieves a list that describes one or more specified Directory Config
1749
2219
  # objects for AppStream 2.0, if the names for these objects are
1750
2220
  # provided. Otherwise, all Directory Config objects in the account are
@@ -1831,7 +2301,7 @@ module Aws::AppStream
1831
2301
  # resp.fleets[0].image_name #=> String
1832
2302
  # resp.fleets[0].image_arn #=> String
1833
2303
  # resp.fleets[0].instance_type #=> String
1834
- # resp.fleets[0].fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND"
2304
+ # resp.fleets[0].fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND", "ELASTIC"
1835
2305
  # resp.fleets[0].compute_capacity_status.desired #=> Integer
1836
2306
  # resp.fleets[0].compute_capacity_status.running #=> Integer
1837
2307
  # resp.fleets[0].compute_capacity_status.in_use #=> Integer
@@ -1853,6 +2323,10 @@ module Aws::AppStream
1853
2323
  # resp.fleets[0].idle_disconnect_timeout_in_seconds #=> Integer
1854
2324
  # resp.fleets[0].iam_role_arn #=> String
1855
2325
  # resp.fleets[0].stream_view #=> String, one of "APP", "DESKTOP"
2326
+ # resp.fleets[0].platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
2327
+ # resp.fleets[0].max_concurrent_sessions #=> Integer
2328
+ # resp.fleets[0].usb_device_filter_strings #=> Array
2329
+ # resp.fleets[0].usb_device_filter_strings[0] #=> String
1856
2330
  # resp.next_token #=> String
1857
2331
  #
1858
2332
  #
@@ -2054,6 +2528,17 @@ module Aws::AppStream
2054
2528
  # resp.images[0].applications[0].enabled #=> Boolean
2055
2529
  # resp.images[0].applications[0].metadata #=> Hash
2056
2530
  # resp.images[0].applications[0].metadata["String"] #=> String
2531
+ # resp.images[0].applications[0].working_directory #=> String
2532
+ # resp.images[0].applications[0].description #=> String
2533
+ # resp.images[0].applications[0].arn #=> String
2534
+ # resp.images[0].applications[0].app_block_arn #=> String
2535
+ # resp.images[0].applications[0].icon_s3_location.s3_bucket #=> String
2536
+ # resp.images[0].applications[0].icon_s3_location.s3_key #=> String
2537
+ # resp.images[0].applications[0].platforms #=> Array
2538
+ # resp.images[0].applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
2539
+ # resp.images[0].applications[0].instance_families #=> Array
2540
+ # resp.images[0].applications[0].instance_families[0] #=> String
2541
+ # resp.images[0].applications[0].created_time #=> Time
2057
2542
  # resp.images[0].created_time #=> Time
2058
2543
  # resp.images[0].public_base_image_released_date #=> Time
2059
2544
  # resp.images[0].appstream_agent_version #=> String
@@ -2392,6 +2877,32 @@ module Aws::AppStream
2392
2877
  req.send_request(options)
2393
2878
  end
2394
2879
 
2880
+ # Disassociates the specified application from the fleet.
2881
+ #
2882
+ # @option params [required, String] :fleet_name
2883
+ # The name of the fleet.
2884
+ #
2885
+ # @option params [required, String] :application_arn
2886
+ # The ARN of the application.
2887
+ #
2888
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2889
+ #
2890
+ # @example Request syntax with placeholder values
2891
+ #
2892
+ # resp = client.disassociate_application_fleet({
2893
+ # fleet_name: "Name", # required
2894
+ # application_arn: "Arn", # required
2895
+ # })
2896
+ #
2897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateApplicationFleet AWS API Documentation
2898
+ #
2899
+ # @overload disassociate_application_fleet(params = {})
2900
+ # @param [Hash] params ({})
2901
+ def disassociate_application_fleet(params = {}, options = {})
2902
+ req = build_request(:disassociate_application_fleet, params)
2903
+ req.send_request(options)
2904
+ end
2905
+
2395
2906
  # Disassociates the specified fleet from the specified stack.
2396
2907
  #
2397
2908
  # @option params [required, String] :fleet_name
@@ -2836,6 +3347,89 @@ module Aws::AppStream
2836
3347
  req.send_request(options)
2837
3348
  end
2838
3349
 
3350
+ # Updates the specified application.
3351
+ #
3352
+ # @option params [required, String] :name
3353
+ # The name of the application. This name is visible to users when
3354
+ # display name is not specified.
3355
+ #
3356
+ # @option params [String] :display_name
3357
+ # The display name of the application. This name is visible to users in
3358
+ # the application catalog.
3359
+ #
3360
+ # @option params [String] :description
3361
+ # The description of the application.
3362
+ #
3363
+ # @option params [Types::S3Location] :icon_s3_location
3364
+ # The icon S3 location of the application.
3365
+ #
3366
+ # @option params [String] :launch_path
3367
+ # The launch path of the application.
3368
+ #
3369
+ # @option params [String] :working_directory
3370
+ # The working directory of the application.
3371
+ #
3372
+ # @option params [String] :launch_parameters
3373
+ # The launch parameters of the application.
3374
+ #
3375
+ # @option params [String] :app_block_arn
3376
+ # The ARN of the app block.
3377
+ #
3378
+ # @option params [Array<String>] :attributes_to_delete
3379
+ # The attributes to delete for an application.
3380
+ #
3381
+ # @return [Types::UpdateApplicationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3382
+ #
3383
+ # * {Types::UpdateApplicationResult#application #application} => Types::Application
3384
+ #
3385
+ # @example Request syntax with placeholder values
3386
+ #
3387
+ # resp = client.update_application({
3388
+ # name: "Name", # required
3389
+ # display_name: "DisplayName",
3390
+ # description: "Description",
3391
+ # icon_s3_location: {
3392
+ # s3_bucket: "S3Bucket", # required
3393
+ # s3_key: "S3Key", # required
3394
+ # },
3395
+ # launch_path: "String",
3396
+ # working_directory: "String",
3397
+ # launch_parameters: "String",
3398
+ # app_block_arn: "Arn",
3399
+ # attributes_to_delete: ["LAUNCH_PARAMETERS"], # accepts LAUNCH_PARAMETERS, WORKING_DIRECTORY
3400
+ # })
3401
+ #
3402
+ # @example Response structure
3403
+ #
3404
+ # resp.application.name #=> String
3405
+ # resp.application.display_name #=> String
3406
+ # resp.application.icon_url #=> String
3407
+ # resp.application.launch_path #=> String
3408
+ # resp.application.launch_parameters #=> String
3409
+ # resp.application.enabled #=> Boolean
3410
+ # resp.application.metadata #=> Hash
3411
+ # resp.application.metadata["String"] #=> String
3412
+ # resp.application.working_directory #=> String
3413
+ # resp.application.description #=> String
3414
+ # resp.application.arn #=> String
3415
+ # resp.application.app_block_arn #=> String
3416
+ # resp.application.icon_s3_location.s3_bucket #=> String
3417
+ # resp.application.icon_s3_location.s3_key #=> String
3418
+ # resp.application.platforms #=> Array
3419
+ # resp.application.platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
3420
+ # resp.application.instance_families #=> Array
3421
+ # resp.application.instance_families[0] #=> String
3422
+ # resp.application.created_time #=> Time
3423
+ #
3424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateApplication AWS API Documentation
3425
+ #
3426
+ # @overload update_application(params = {})
3427
+ # @param [Hash] params ({})
3428
+ def update_application(params = {}, options = {})
3429
+ req = build_request(:update_application, params)
3430
+ req.send_request(options)
3431
+ end
3432
+
2839
3433
  # Updates the specified Directory Config object in AppStream 2.0. This
2840
3434
  # object includes the configuration information required to join fleets
2841
3435
  # and image builders to Microsoft Active Directory domains.
@@ -2887,11 +3481,25 @@ module Aws::AppStream
2887
3481
  # Updates the specified fleet.
2888
3482
  #
2889
3483
  # 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.
3484
+ # except the fleet name.
3485
+ #
3486
+ # If the fleet is in the `RUNNING` state, you can update the following
3487
+ # based on the fleet type:
3488
+ #
3489
+ # * Always-On and On-Demand fleet types
3490
+ #
3491
+ # You can update the `DisplayName`, `ComputeCapacity`, `ImageARN`,
3492
+ # `ImageName`, `IdleDisconnectTimeoutInSeconds`, and
3493
+ # `DisconnectTimeoutInSeconds` attributes.
3494
+ #
3495
+ # * Elastic fleet type
3496
+ #
3497
+ # You can update the `DisplayName`, `IdleDisconnectTimeoutInSeconds`,
3498
+ # `DisconnectTimeoutInSeconds`, `MaxConcurrentSessions`, and
3499
+ # `UsbDeviceFilterStrings` attributes.
3500
+ #
3501
+ # If the fleet is in the `STARTING` or `STOPPED` state, you can't
3502
+ # update it.
2895
3503
  #
2896
3504
  # @option params [String] :image_name
2897
3505
  # The name of the image used to create the fleet.
@@ -2972,11 +3580,20 @@ module Aws::AppStream
2972
3580
  #
2973
3581
  # * stream.graphics-pro.16xlarge
2974
3582
  #
3583
+ # The following instance types are available for Elastic fleets:
3584
+ #
3585
+ # * stream.standard.small
3586
+ #
3587
+ # * stream.standard.medium
3588
+ #
2975
3589
  # @option params [Types::ComputeCapacity] :compute_capacity
2976
- # The desired capacity for the fleet.
3590
+ # The desired capacity for the fleet. This is not allowed for Elastic
3591
+ # fleets.
2977
3592
  #
2978
3593
  # @option params [Types::VpcConfig] :vpc_config
2979
- # The VPC configuration for the fleet.
3594
+ # The VPC configuration for the fleet. This is required for Elastic
3595
+ # fleets, but not required for other fleet types. Elastic fleets require
3596
+ # that you specify at least two subnets in different availability zones.
2980
3597
  #
2981
3598
  # @option params [Integer] :max_user_duration_in_seconds
2982
3599
  # The maximum amount of time that a streaming session can remain active,
@@ -3068,6 +3685,18 @@ module Aws::AppStream
3068
3685
  #
3069
3686
  # The default value is `APP`.
3070
3687
  #
3688
+ # @option params [String] :platform
3689
+ # The platform of the fleet. WINDOWS\_SERVER\_2019 and AMAZON\_LINUX2
3690
+ # are supported for Elastic fleets.
3691
+ #
3692
+ # @option params [Integer] :max_concurrent_sessions
3693
+ # The maximum number of concurrent sessions for a fleet.
3694
+ #
3695
+ # @option params [Array<String>] :usb_device_filter_strings
3696
+ # The USB device filter strings that specify which USB devices a user
3697
+ # can redirect to the fleet streaming session, when using the Windows
3698
+ # native client. This is allowed but not required for Elastic fleets.
3699
+ #
3071
3700
  # @return [Types::UpdateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3072
3701
  #
3073
3702
  # * {Types::UpdateFleetResult#fleet #fleet} => Types::Fleet
@@ -3097,9 +3726,12 @@ module Aws::AppStream
3097
3726
  # organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
3098
3727
  # },
3099
3728
  # 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
3729
+ # attributes_to_delete: ["VPC_CONFIGURATION"], # accepts VPC_CONFIGURATION, VPC_CONFIGURATION_SECURITY_GROUP_IDS, DOMAIN_JOIN_INFO, IAM_ROLE_ARN, USB_DEVICE_FILTER_STRINGS
3101
3730
  # iam_role_arn: "Arn",
3102
3731
  # stream_view: "APP", # accepts APP, DESKTOP
3732
+ # platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
3733
+ # max_concurrent_sessions: 1,
3734
+ # usb_device_filter_strings: ["UsbDeviceFilterString"],
3103
3735
  # })
3104
3736
  #
3105
3737
  # @example Response structure
@@ -3111,7 +3743,7 @@ module Aws::AppStream
3111
3743
  # resp.fleet.image_name #=> String
3112
3744
  # resp.fleet.image_arn #=> String
3113
3745
  # resp.fleet.instance_type #=> String
3114
- # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND"
3746
+ # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND", "ELASTIC"
3115
3747
  # resp.fleet.compute_capacity_status.desired #=> Integer
3116
3748
  # resp.fleet.compute_capacity_status.running #=> Integer
3117
3749
  # resp.fleet.compute_capacity_status.in_use #=> Integer
@@ -3133,6 +3765,10 @@ module Aws::AppStream
3133
3765
  # resp.fleet.idle_disconnect_timeout_in_seconds #=> Integer
3134
3766
  # resp.fleet.iam_role_arn #=> String
3135
3767
  # resp.fleet.stream_view #=> String, one of "APP", "DESKTOP"
3768
+ # resp.fleet.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
3769
+ # resp.fleet.max_concurrent_sessions #=> Integer
3770
+ # resp.fleet.usb_device_filter_strings #=> Array
3771
+ # resp.fleet.usb_device_filter_strings[0] #=> String
3136
3772
  #
3137
3773
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleet AWS API Documentation
3138
3774
  #
@@ -3317,7 +3953,7 @@ module Aws::AppStream
3317
3953
  params: params,
3318
3954
  config: config)
3319
3955
  context[:gem_name] = 'aws-sdk-appstream'
3320
- context[:gem_version] = '1.58.0'
3956
+ context[:gem_version] = '1.59.0'
3321
3957
  Seahorse::Client::Request.new(handlers, context)
3322
3958
  end
3323
3959