aws-sdk-appstream 1.58.0 → 1.59.0

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