aws-sdk-appstream 1.73.0 → 1.74.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.
@@ -383,6 +383,40 @@ module Aws::AppStream
383
383
 
384
384
  # @!group API Operations
385
385
 
386
+ # Associates the specified app block builder with the specified app
387
+ # block.
388
+ #
389
+ # @option params [required, String] :app_block_arn
390
+ # The ARN of the app block.
391
+ #
392
+ # @option params [required, String] :app_block_builder_name
393
+ # The name of the app block builder.
394
+ #
395
+ # @return [Types::AssociateAppBlockBuilderAppBlockResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
396
+ #
397
+ # * {Types::AssociateAppBlockBuilderAppBlockResult#app_block_builder_app_block_association #app_block_builder_app_block_association} => Types::AppBlockBuilderAppBlockAssociation
398
+ #
399
+ # @example Request syntax with placeholder values
400
+ #
401
+ # resp = client.associate_app_block_builder_app_block({
402
+ # app_block_arn: "Arn", # required
403
+ # app_block_builder_name: "Name", # required
404
+ # })
405
+ #
406
+ # @example Response structure
407
+ #
408
+ # resp.app_block_builder_app_block_association.app_block_arn #=> String
409
+ # resp.app_block_builder_app_block_association.app_block_builder_name #=> String
410
+ #
411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateAppBlockBuilderAppBlock AWS API Documentation
412
+ #
413
+ # @overload associate_app_block_builder_app_block(params = {})
414
+ # @param [Hash] params ({})
415
+ def associate_app_block_builder_app_block(params = {}, options = {})
416
+ req = build_request(:associate_app_block_builder_app_block, params)
417
+ req.send_request(options)
418
+ end
419
+
386
420
  # Associates the specified application with the specified fleet. This is
387
421
  # only supported for Elastic fleets.
388
422
  #
@@ -626,12 +660,20 @@ module Aws::AppStream
626
660
  # @option params [required, Types::S3Location] :source_s3_location
627
661
  # The source S3 location of the app block.
628
662
  #
629
- # @option params [required, Types::ScriptDetails] :setup_script_details
630
- # The setup script details of the app block.
663
+ # @option params [Types::ScriptDetails] :setup_script_details
664
+ # The setup script details of the app block. This must be provided for
665
+ # the `CUSTOM` PackagingType.
631
666
  #
632
667
  # @option params [Hash<String,String>] :tags
633
668
  # The tags assigned to the app block.
634
669
  #
670
+ # @option params [Types::ScriptDetails] :post_setup_script_details
671
+ # The post setup script details of the app block. This can only be
672
+ # provided for the `APPSTREAM2` PackagingType.
673
+ #
674
+ # @option params [String] :packaging_type
675
+ # The packaging type of the app block.
676
+ #
635
677
  # @return [Types::CreateAppBlockResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
636
678
  #
637
679
  # * {Types::CreateAppBlockResult#app_block #app_block} => Types::AppBlock
@@ -644,12 +686,12 @@ module Aws::AppStream
644
686
  # display_name: "DisplayName",
645
687
  # source_s3_location: { # required
646
688
  # s3_bucket: "S3Bucket", # required
647
- # s3_key: "S3Key", # required
689
+ # s3_key: "S3Key",
648
690
  # },
649
- # setup_script_details: { # required
691
+ # setup_script_details: {
650
692
  # script_s3_location: { # required
651
693
  # s3_bucket: "S3Bucket", # required
652
- # s3_key: "S3Key", # required
694
+ # s3_key: "S3Key",
653
695
  # },
654
696
  # executable_path: "String", # required
655
697
  # executable_parameters: "String",
@@ -658,6 +700,16 @@ module Aws::AppStream
658
700
  # tags: {
659
701
  # "TagKey" => "TagValue",
660
702
  # },
703
+ # post_setup_script_details: {
704
+ # script_s3_location: { # required
705
+ # s3_bucket: "S3Bucket", # required
706
+ # s3_key: "S3Key",
707
+ # },
708
+ # executable_path: "String", # required
709
+ # executable_parameters: "String",
710
+ # timeout_in_seconds: 1, # required
711
+ # },
712
+ # packaging_type: "CUSTOM", # accepts CUSTOM, APPSTREAM2
661
713
  # })
662
714
  #
663
715
  # @example Response structure
@@ -674,6 +726,16 @@ module Aws::AppStream
674
726
  # resp.app_block.setup_script_details.executable_parameters #=> String
675
727
  # resp.app_block.setup_script_details.timeout_in_seconds #=> Integer
676
728
  # resp.app_block.created_time #=> Time
729
+ # resp.app_block.post_setup_script_details.script_s3_location.s3_bucket #=> String
730
+ # resp.app_block.post_setup_script_details.script_s3_location.s3_key #=> String
731
+ # resp.app_block.post_setup_script_details.executable_path #=> String
732
+ # resp.app_block.post_setup_script_details.executable_parameters #=> String
733
+ # resp.app_block.post_setup_script_details.timeout_in_seconds #=> Integer
734
+ # resp.app_block.packaging_type #=> String, one of "CUSTOM", "APPSTREAM2"
735
+ # resp.app_block.state #=> String, one of "INACTIVE", "ACTIVE"
736
+ # resp.app_block.app_block_errors #=> Array
737
+ # resp.app_block.app_block_errors[0].error_code #=> String
738
+ # resp.app_block.app_block_errors[0].error_message #=> String
677
739
  #
678
740
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlock AWS API Documentation
679
741
  #
@@ -684,6 +746,185 @@ module Aws::AppStream
684
746
  req.send_request(options)
685
747
  end
686
748
 
749
+ # Creates an app block builder.
750
+ #
751
+ # @option params [required, String] :name
752
+ # The unique name for the app block builder.
753
+ #
754
+ # @option params [String] :description
755
+ # The description of the app block builder.
756
+ #
757
+ # @option params [String] :display_name
758
+ # The display name of the app block builder.
759
+ #
760
+ # @option params [Hash<String,String>] :tags
761
+ # The tags to associate with the app block builder. A tag is a key-value
762
+ # pair, and the value is optional. For example, Environment=Test. If you
763
+ # do not specify a value, Environment=.
764
+ #
765
+ # If you do not specify a value, the value is set to an empty string.
766
+ #
767
+ # Generally allowed characters are: letters, numbers, and spaces
768
+ # representable in UTF-8, and the following special characters:
769
+ #
770
+ # \_ . : / = + \\ - @
771
+ #
772
+ # For more information, see [Tagging Your Resources][1] in the *Amazon
773
+ # AppStream 2.0 Administration Guide*.
774
+ #
775
+ #
776
+ #
777
+ # [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html
778
+ #
779
+ # @option params [required, String] :platform
780
+ # The platform of the app block builder.
781
+ #
782
+ # `WINDOWS_SERVER_2019` is the only valid value.
783
+ #
784
+ # @option params [required, String] :instance_type
785
+ # The instance type to use when launching the app block builder. The
786
+ # following instance types are available:
787
+ #
788
+ # * stream.standard.small
789
+ #
790
+ # * stream.standard.medium
791
+ #
792
+ # * stream.standard.large
793
+ #
794
+ # * stream.standard.xlarge
795
+ #
796
+ # * stream.standard.2xlarge
797
+ #
798
+ # @option params [required, Types::VpcConfig] :vpc_config
799
+ # The VPC configuration for the app block builder.
800
+ #
801
+ # App block builders require that you specify at least two subnets in
802
+ # different availability zones.
803
+ #
804
+ # @option params [Boolean] :enable_default_internet_access
805
+ # Enables or disables default internet access for the app block builder.
806
+ #
807
+ # @option params [String] :iam_role_arn
808
+ # The Amazon Resource Name (ARN) of the IAM role to apply to the app
809
+ # block builder. To assume a role, the app block builder calls the AWS
810
+ # Security Token Service (STS) `AssumeRole` API operation and passes the
811
+ # ARN of the role to use. The operation creates a new session with
812
+ # temporary credentials. AppStream 2.0 retrieves the temporary
813
+ # credentials and creates the **appstream\_machine\_role** credential
814
+ # profile on the instance.
815
+ #
816
+ # For more information, see [Using an IAM Role to Grant Permissions to
817
+ # Applications and Scripts Running on AppStream 2.0 Streaming
818
+ # Instances][1] in the *Amazon AppStream 2.0 Administration Guide*.
819
+ #
820
+ #
821
+ #
822
+ # [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html
823
+ #
824
+ # @option params [Array<Types::AccessEndpoint>] :access_endpoints
825
+ # The list of interface VPC endpoint (interface endpoint) objects.
826
+ # Administrators can connect to the app block builder only through the
827
+ # specified endpoints.
828
+ #
829
+ # @return [Types::CreateAppBlockBuilderResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
830
+ #
831
+ # * {Types::CreateAppBlockBuilderResult#app_block_builder #app_block_builder} => Types::AppBlockBuilder
832
+ #
833
+ # @example Request syntax with placeholder values
834
+ #
835
+ # resp = client.create_app_block_builder({
836
+ # name: "Name", # required
837
+ # description: "Description",
838
+ # display_name: "DisplayName",
839
+ # tags: {
840
+ # "TagKey" => "TagValue",
841
+ # },
842
+ # platform: "WINDOWS_SERVER_2019", # required, accepts WINDOWS_SERVER_2019
843
+ # instance_type: "String", # required
844
+ # vpc_config: { # required
845
+ # subnet_ids: ["String"],
846
+ # security_group_ids: ["String"],
847
+ # },
848
+ # enable_default_internet_access: false,
849
+ # iam_role_arn: "Arn",
850
+ # access_endpoints: [
851
+ # {
852
+ # endpoint_type: "STREAMING", # required, accepts STREAMING
853
+ # vpce_id: "String",
854
+ # },
855
+ # ],
856
+ # })
857
+ #
858
+ # @example Response structure
859
+ #
860
+ # resp.app_block_builder.arn #=> String
861
+ # resp.app_block_builder.name #=> String
862
+ # resp.app_block_builder.display_name #=> String
863
+ # resp.app_block_builder.description #=> String
864
+ # resp.app_block_builder.platform #=> String, one of "WINDOWS_SERVER_2019"
865
+ # resp.app_block_builder.instance_type #=> String
866
+ # resp.app_block_builder.enable_default_internet_access #=> Boolean
867
+ # resp.app_block_builder.iam_role_arn #=> String
868
+ # resp.app_block_builder.vpc_config.subnet_ids #=> Array
869
+ # resp.app_block_builder.vpc_config.subnet_ids[0] #=> String
870
+ # resp.app_block_builder.vpc_config.security_group_ids #=> Array
871
+ # resp.app_block_builder.vpc_config.security_group_ids[0] #=> String
872
+ # resp.app_block_builder.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
873
+ # resp.app_block_builder.created_time #=> Time
874
+ # resp.app_block_builder.app_block_builder_errors #=> Array
875
+ # resp.app_block_builder.app_block_builder_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
876
+ # resp.app_block_builder.app_block_builder_errors[0].error_message #=> String
877
+ # resp.app_block_builder.app_block_builder_errors[0].error_timestamp #=> Time
878
+ # resp.app_block_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR"
879
+ # resp.app_block_builder.state_change_reason.message #=> String
880
+ # resp.app_block_builder.access_endpoints #=> Array
881
+ # resp.app_block_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
882
+ # resp.app_block_builder.access_endpoints[0].vpce_id #=> String
883
+ #
884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlockBuilder AWS API Documentation
885
+ #
886
+ # @overload create_app_block_builder(params = {})
887
+ # @param [Hash] params ({})
888
+ def create_app_block_builder(params = {}, options = {})
889
+ req = build_request(:create_app_block_builder, params)
890
+ req.send_request(options)
891
+ end
892
+
893
+ # Creates a URL to start a create app block builder streaming session.
894
+ #
895
+ # @option params [required, String] :app_block_builder_name
896
+ # The name of the app block builder.
897
+ #
898
+ # @option params [Integer] :validity
899
+ # The time that the streaming URL will be valid, in seconds. Specify a
900
+ # value between 1 and 604800 seconds. The default is 3600 seconds.
901
+ #
902
+ # @return [Types::CreateAppBlockBuilderStreamingURLResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
903
+ #
904
+ # * {Types::CreateAppBlockBuilderStreamingURLResult#streaming_url #streaming_url} => String
905
+ # * {Types::CreateAppBlockBuilderStreamingURLResult#expires #expires} => Time
906
+ #
907
+ # @example Request syntax with placeholder values
908
+ #
909
+ # resp = client.create_app_block_builder_streaming_url({
910
+ # app_block_builder_name: "Name", # required
911
+ # validity: 1,
912
+ # })
913
+ #
914
+ # @example Response structure
915
+ #
916
+ # resp.streaming_url #=> String
917
+ # resp.expires #=> Time
918
+ #
919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateAppBlockBuilderStreamingURL AWS API Documentation
920
+ #
921
+ # @overload create_app_block_builder_streaming_url(params = {})
922
+ # @param [Hash] params ({})
923
+ def create_app_block_builder_streaming_url(params = {}, options = {})
924
+ req = build_request(:create_app_block_builder_streaming_url, params)
925
+ req.send_request(options)
926
+ end
927
+
687
928
  # Creates an application.
688
929
  #
689
930
  # Applications are an Amazon AppStream 2.0 resource that stores the
@@ -744,7 +985,7 @@ module Aws::AppStream
744
985
  # description: "Description",
745
986
  # icon_s3_location: { # required
746
987
  # s3_bucket: "S3Bucket", # required
747
- # s3_key: "S3Key", # required
988
+ # s3_key: "S3Key",
748
989
  # },
749
990
  # launch_path: "String", # required
750
991
  # working_directory: "String",
@@ -1170,7 +1411,7 @@ module Aws::AppStream
1170
1411
  #
1171
1412
  # resp = client.create_fleet({
1172
1413
  # name: "Name", # required
1173
- # image_name: "String",
1414
+ # image_name: "Name",
1174
1415
  # image_arn: "Arn",
1175
1416
  # instance_type: "String", # required
1176
1417
  # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND, ELASTIC
@@ -1201,7 +1442,7 @@ module Aws::AppStream
1201
1442
  # usb_device_filter_strings: ["UsbDeviceFilterString"],
1202
1443
  # session_script_s3_location: {
1203
1444
  # s3_bucket: "S3Bucket", # required
1204
- # s3_key: "S3Key", # required
1445
+ # s3_key: "S3Key",
1205
1446
  # },
1206
1447
  # })
1207
1448
  #
@@ -1945,6 +2186,31 @@ module Aws::AppStream
1945
2186
  req.send_request(options)
1946
2187
  end
1947
2188
 
2189
+ # Deletes an app block builder.
2190
+ #
2191
+ # An app block builder can only be deleted when it has no association
2192
+ # with an app block.
2193
+ #
2194
+ # @option params [required, String] :name
2195
+ # The name of the app block builder.
2196
+ #
2197
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2198
+ #
2199
+ # @example Request syntax with placeholder values
2200
+ #
2201
+ # resp = client.delete_app_block_builder({
2202
+ # name: "Name", # required
2203
+ # })
2204
+ #
2205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteAppBlockBuilder AWS API Documentation
2206
+ #
2207
+ # @overload delete_app_block_builder(params = {})
2208
+ # @param [Hash] params ({})
2209
+ def delete_app_block_builder(params = {}, options = {})
2210
+ req = build_request(:delete_app_block_builder, params)
2211
+ req.send_request(options)
2212
+ end
2213
+
1948
2214
  # Deletes an application.
1949
2215
  #
1950
2216
  # @option params [required, String] :name
@@ -2262,6 +2528,118 @@ module Aws::AppStream
2262
2528
  req.send_request(options)
2263
2529
  end
2264
2530
 
2531
+ # Retrieves a list that describes one or more app block builder
2532
+ # associations.
2533
+ #
2534
+ # @option params [String] :app_block_arn
2535
+ # The ARN of the app block.
2536
+ #
2537
+ # @option params [String] :app_block_builder_name
2538
+ # The name of the app block builder.
2539
+ #
2540
+ # @option params [Integer] :max_results
2541
+ # The maximum size of each page of results.
2542
+ #
2543
+ # @option params [String] :next_token
2544
+ # The pagination token used to retrieve the next page of results for
2545
+ # this operation.
2546
+ #
2547
+ # @return [Types::DescribeAppBlockBuilderAppBlockAssociationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2548
+ #
2549
+ # * {Types::DescribeAppBlockBuilderAppBlockAssociationsResult#app_block_builder_app_block_associations #app_block_builder_app_block_associations} => Array&lt;Types::AppBlockBuilderAppBlockAssociation&gt;
2550
+ # * {Types::DescribeAppBlockBuilderAppBlockAssociationsResult#next_token #next_token} => String
2551
+ #
2552
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2553
+ #
2554
+ # @example Request syntax with placeholder values
2555
+ #
2556
+ # resp = client.describe_app_block_builder_app_block_associations({
2557
+ # app_block_arn: "Arn",
2558
+ # app_block_builder_name: "Name",
2559
+ # max_results: 1,
2560
+ # next_token: "String",
2561
+ # })
2562
+ #
2563
+ # @example Response structure
2564
+ #
2565
+ # resp.app_block_builder_app_block_associations #=> Array
2566
+ # resp.app_block_builder_app_block_associations[0].app_block_arn #=> String
2567
+ # resp.app_block_builder_app_block_associations[0].app_block_builder_name #=> String
2568
+ # resp.next_token #=> String
2569
+ #
2570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlockBuilderAppBlockAssociations AWS API Documentation
2571
+ #
2572
+ # @overload describe_app_block_builder_app_block_associations(params = {})
2573
+ # @param [Hash] params ({})
2574
+ def describe_app_block_builder_app_block_associations(params = {}, options = {})
2575
+ req = build_request(:describe_app_block_builder_app_block_associations, params)
2576
+ req.send_request(options)
2577
+ end
2578
+
2579
+ # Retrieves a list that describes one or more app block builders.
2580
+ #
2581
+ # @option params [Array<String>] :names
2582
+ # The names of the app block builders.
2583
+ #
2584
+ # @option params [String] :next_token
2585
+ # The pagination token used to retrieve the next page of results for
2586
+ # this operation.
2587
+ #
2588
+ # @option params [Integer] :max_results
2589
+ # The maximum size of each page of results. The maximum value is 25.
2590
+ #
2591
+ # @return [Types::DescribeAppBlockBuildersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2592
+ #
2593
+ # * {Types::DescribeAppBlockBuildersResult#app_block_builders #app_block_builders} => Array&lt;Types::AppBlockBuilder&gt;
2594
+ # * {Types::DescribeAppBlockBuildersResult#next_token #next_token} => String
2595
+ #
2596
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2597
+ #
2598
+ # @example Request syntax with placeholder values
2599
+ #
2600
+ # resp = client.describe_app_block_builders({
2601
+ # names: ["String"],
2602
+ # next_token: "String",
2603
+ # max_results: 1,
2604
+ # })
2605
+ #
2606
+ # @example Response structure
2607
+ #
2608
+ # resp.app_block_builders #=> Array
2609
+ # resp.app_block_builders[0].arn #=> String
2610
+ # resp.app_block_builders[0].name #=> String
2611
+ # resp.app_block_builders[0].display_name #=> String
2612
+ # resp.app_block_builders[0].description #=> String
2613
+ # resp.app_block_builders[0].platform #=> String, one of "WINDOWS_SERVER_2019"
2614
+ # resp.app_block_builders[0].instance_type #=> String
2615
+ # resp.app_block_builders[0].enable_default_internet_access #=> Boolean
2616
+ # resp.app_block_builders[0].iam_role_arn #=> String
2617
+ # resp.app_block_builders[0].vpc_config.subnet_ids #=> Array
2618
+ # resp.app_block_builders[0].vpc_config.subnet_ids[0] #=> String
2619
+ # resp.app_block_builders[0].vpc_config.security_group_ids #=> Array
2620
+ # resp.app_block_builders[0].vpc_config.security_group_ids[0] #=> String
2621
+ # resp.app_block_builders[0].state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
2622
+ # resp.app_block_builders[0].created_time #=> Time
2623
+ # resp.app_block_builders[0].app_block_builder_errors #=> Array
2624
+ # resp.app_block_builders[0].app_block_builder_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
2625
+ # resp.app_block_builders[0].app_block_builder_errors[0].error_message #=> String
2626
+ # resp.app_block_builders[0].app_block_builder_errors[0].error_timestamp #=> Time
2627
+ # resp.app_block_builders[0].state_change_reason.code #=> String, one of "INTERNAL_ERROR"
2628
+ # resp.app_block_builders[0].state_change_reason.message #=> String
2629
+ # resp.app_block_builders[0].access_endpoints #=> Array
2630
+ # resp.app_block_builders[0].access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
2631
+ # resp.app_block_builders[0].access_endpoints[0].vpce_id #=> String
2632
+ # resp.next_token #=> String
2633
+ #
2634
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlockBuilders AWS API Documentation
2635
+ #
2636
+ # @overload describe_app_block_builders(params = {})
2637
+ # @param [Hash] params ({})
2638
+ def describe_app_block_builders(params = {}, options = {})
2639
+ req = build_request(:describe_app_block_builders, params)
2640
+ req.send_request(options)
2641
+ end
2642
+
2265
2643
  # Retrieves a list that describes one or more app blocks.
2266
2644
  #
2267
2645
  # @option params [Array<String>] :arns
@@ -2302,6 +2680,16 @@ module Aws::AppStream
2302
2680
  # resp.app_blocks[0].setup_script_details.executable_parameters #=> String
2303
2681
  # resp.app_blocks[0].setup_script_details.timeout_in_seconds #=> Integer
2304
2682
  # resp.app_blocks[0].created_time #=> Time
2683
+ # resp.app_blocks[0].post_setup_script_details.script_s3_location.s3_bucket #=> String
2684
+ # resp.app_blocks[0].post_setup_script_details.script_s3_location.s3_key #=> String
2685
+ # resp.app_blocks[0].post_setup_script_details.executable_path #=> String
2686
+ # resp.app_blocks[0].post_setup_script_details.executable_parameters #=> String
2687
+ # resp.app_blocks[0].post_setup_script_details.timeout_in_seconds #=> Integer
2688
+ # resp.app_blocks[0].packaging_type #=> String, one of "CUSTOM", "APPSTREAM2"
2689
+ # resp.app_blocks[0].state #=> String, one of "INACTIVE", "ACTIVE"
2690
+ # resp.app_blocks[0].app_block_errors #=> Array
2691
+ # resp.app_blocks[0].app_block_errors[0].error_code #=> String
2692
+ # resp.app_blocks[0].app_block_errors[0].error_message #=> String
2305
2693
  # resp.next_token #=> String
2306
2694
  #
2307
2695
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeAppBlocks AWS API Documentation
@@ -3136,6 +3524,33 @@ module Aws::AppStream
3136
3524
  req.send_request(options)
3137
3525
  end
3138
3526
 
3527
+ # Disassociates a specified app block builder from a specified app
3528
+ # block.
3529
+ #
3530
+ # @option params [required, String] :app_block_arn
3531
+ # The ARN of the app block.
3532
+ #
3533
+ # @option params [required, String] :app_block_builder_name
3534
+ # The name of the app block builder.
3535
+ #
3536
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3537
+ #
3538
+ # @example Request syntax with placeholder values
3539
+ #
3540
+ # resp = client.disassociate_app_block_builder_app_block({
3541
+ # app_block_arn: "Arn", # required
3542
+ # app_block_builder_name: "Name", # required
3543
+ # })
3544
+ #
3545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateAppBlockBuilderAppBlock AWS API Documentation
3546
+ #
3547
+ # @overload disassociate_app_block_builder_app_block(params = {})
3548
+ # @param [Hash] params ({})
3549
+ def disassociate_app_block_builder_app_block(params = {}, options = {})
3550
+ req = build_request(:disassociate_app_block_builder_app_block, params)
3551
+ req.send_request(options)
3552
+ end
3553
+
3139
3554
  # Disassociates the specified application from the fleet.
3140
3555
  #
3141
3556
  # @option params [required, String] :fleet_name
@@ -3430,6 +3845,63 @@ module Aws::AppStream
3430
3845
  req.send_request(options)
3431
3846
  end
3432
3847
 
3848
+ # Starts an app block builder.
3849
+ #
3850
+ # An app block builder can only be started when it's associated with an
3851
+ # app block.
3852
+ #
3853
+ # Starting an app block builder starts a new instance, which is
3854
+ # equivalent to an elastic fleet instance with application builder
3855
+ # assistance functionality.
3856
+ #
3857
+ # @option params [required, String] :name
3858
+ # The name of the app block builder.
3859
+ #
3860
+ # @return [Types::StartAppBlockBuilderResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3861
+ #
3862
+ # * {Types::StartAppBlockBuilderResult#app_block_builder #app_block_builder} => Types::AppBlockBuilder
3863
+ #
3864
+ # @example Request syntax with placeholder values
3865
+ #
3866
+ # resp = client.start_app_block_builder({
3867
+ # name: "Name", # required
3868
+ # })
3869
+ #
3870
+ # @example Response structure
3871
+ #
3872
+ # resp.app_block_builder.arn #=> String
3873
+ # resp.app_block_builder.name #=> String
3874
+ # resp.app_block_builder.display_name #=> String
3875
+ # resp.app_block_builder.description #=> String
3876
+ # resp.app_block_builder.platform #=> String, one of "WINDOWS_SERVER_2019"
3877
+ # resp.app_block_builder.instance_type #=> String
3878
+ # resp.app_block_builder.enable_default_internet_access #=> Boolean
3879
+ # resp.app_block_builder.iam_role_arn #=> String
3880
+ # resp.app_block_builder.vpc_config.subnet_ids #=> Array
3881
+ # resp.app_block_builder.vpc_config.subnet_ids[0] #=> String
3882
+ # resp.app_block_builder.vpc_config.security_group_ids #=> Array
3883
+ # resp.app_block_builder.vpc_config.security_group_ids[0] #=> String
3884
+ # resp.app_block_builder.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
3885
+ # resp.app_block_builder.created_time #=> Time
3886
+ # resp.app_block_builder.app_block_builder_errors #=> Array
3887
+ # resp.app_block_builder.app_block_builder_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
3888
+ # resp.app_block_builder.app_block_builder_errors[0].error_message #=> String
3889
+ # resp.app_block_builder.app_block_builder_errors[0].error_timestamp #=> Time
3890
+ # resp.app_block_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR"
3891
+ # resp.app_block_builder.state_change_reason.message #=> String
3892
+ # resp.app_block_builder.access_endpoints #=> Array
3893
+ # resp.app_block_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
3894
+ # resp.app_block_builder.access_endpoints[0].vpce_id #=> String
3895
+ #
3896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartAppBlockBuilder AWS API Documentation
3897
+ #
3898
+ # @overload start_app_block_builder(params = {})
3899
+ # @param [Hash] params ({})
3900
+ def start_app_block_builder(params = {}, options = {})
3901
+ req = build_request(:start_app_block_builder, params)
3902
+ req.send_request(options)
3903
+ end
3904
+
3433
3905
  # Starts the specified fleet.
3434
3906
  #
3435
3907
  # @option params [required, String] :name
@@ -3514,6 +3986,59 @@ module Aws::AppStream
3514
3986
  req.send_request(options)
3515
3987
  end
3516
3988
 
3989
+ # Stops an app block builder.
3990
+ #
3991
+ # Stopping an app block builder terminates the instance, and the
3992
+ # instance state is not persisted.
3993
+ #
3994
+ # @option params [required, String] :name
3995
+ # The name of the app block builder.
3996
+ #
3997
+ # @return [Types::StopAppBlockBuilderResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3998
+ #
3999
+ # * {Types::StopAppBlockBuilderResult#app_block_builder #app_block_builder} => Types::AppBlockBuilder
4000
+ #
4001
+ # @example Request syntax with placeholder values
4002
+ #
4003
+ # resp = client.stop_app_block_builder({
4004
+ # name: "Name", # required
4005
+ # })
4006
+ #
4007
+ # @example Response structure
4008
+ #
4009
+ # resp.app_block_builder.arn #=> String
4010
+ # resp.app_block_builder.name #=> String
4011
+ # resp.app_block_builder.display_name #=> String
4012
+ # resp.app_block_builder.description #=> String
4013
+ # resp.app_block_builder.platform #=> String, one of "WINDOWS_SERVER_2019"
4014
+ # resp.app_block_builder.instance_type #=> String
4015
+ # resp.app_block_builder.enable_default_internet_access #=> Boolean
4016
+ # resp.app_block_builder.iam_role_arn #=> String
4017
+ # resp.app_block_builder.vpc_config.subnet_ids #=> Array
4018
+ # resp.app_block_builder.vpc_config.subnet_ids[0] #=> String
4019
+ # resp.app_block_builder.vpc_config.security_group_ids #=> Array
4020
+ # resp.app_block_builder.vpc_config.security_group_ids[0] #=> String
4021
+ # resp.app_block_builder.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
4022
+ # resp.app_block_builder.created_time #=> Time
4023
+ # resp.app_block_builder.app_block_builder_errors #=> Array
4024
+ # resp.app_block_builder.app_block_builder_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
4025
+ # resp.app_block_builder.app_block_builder_errors[0].error_message #=> String
4026
+ # resp.app_block_builder.app_block_builder_errors[0].error_timestamp #=> Time
4027
+ # resp.app_block_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR"
4028
+ # resp.app_block_builder.state_change_reason.message #=> String
4029
+ # resp.app_block_builder.access_endpoints #=> Array
4030
+ # resp.app_block_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
4031
+ # resp.app_block_builder.access_endpoints[0].vpce_id #=> String
4032
+ #
4033
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopAppBlockBuilder AWS API Documentation
4034
+ #
4035
+ # @overload stop_app_block_builder(params = {})
4036
+ # @param [Hash] params ({})
4037
+ def stop_app_block_builder(params = {}, options = {})
4038
+ req = build_request(:stop_app_block_builder, params)
4039
+ req.send_request(options)
4040
+ end
4041
+
3517
4042
  # Stops the specified fleet.
3518
4043
  #
3519
4044
  # @option params [required, String] :name
@@ -3680,6 +4205,138 @@ module Aws::AppStream
3680
4205
  req.send_request(options)
3681
4206
  end
3682
4207
 
4208
+ # Updates an app block builder.
4209
+ #
4210
+ # If the app block builder is in the `STARTING` or `STOPPING` state, you
4211
+ # can't update it. If the app block builder is in the `RUNNING` state,
4212
+ # you can only update the DisplayName and Description. If the app block
4213
+ # builder is in the `STOPPED` state, you can update any attribute except
4214
+ # the Name.
4215
+ #
4216
+ # @option params [required, String] :name
4217
+ # The unique name for the app block builder.
4218
+ #
4219
+ # @option params [String] :description
4220
+ # The description of the app block builder.
4221
+ #
4222
+ # @option params [String] :display_name
4223
+ # The display name of the app block builder.
4224
+ #
4225
+ # @option params [String] :platform
4226
+ # The platform of the app block builder.
4227
+ #
4228
+ # `WINDOWS_SERVER_2019` is the only valid value.
4229
+ #
4230
+ # @option params [String] :instance_type
4231
+ # The instance type to use when launching the app block builder. The
4232
+ # following instance types are available:
4233
+ #
4234
+ # * stream.standard.small
4235
+ #
4236
+ # * stream.standard.medium
4237
+ #
4238
+ # * stream.standard.large
4239
+ #
4240
+ # * stream.standard.xlarge
4241
+ #
4242
+ # * stream.standard.2xlarge
4243
+ #
4244
+ # @option params [Types::VpcConfig] :vpc_config
4245
+ # The VPC configuration for the app block builder.
4246
+ #
4247
+ # App block builders require that you specify at least two subnets in
4248
+ # different availability zones.
4249
+ #
4250
+ # @option params [Boolean] :enable_default_internet_access
4251
+ # Enables or disables default internet access for the app block builder.
4252
+ #
4253
+ # @option params [String] :iam_role_arn
4254
+ # The Amazon Resource Name (ARN) of the IAM role to apply to the app
4255
+ # block builder. To assume a role, the app block builder calls the AWS
4256
+ # Security Token Service (STS) `AssumeRole` API operation and passes the
4257
+ # ARN of the role to use. The operation creates a new session with
4258
+ # temporary credentials. AppStream 2.0 retrieves the temporary
4259
+ # credentials and creates the **appstream\_machine\_role** credential
4260
+ # profile on the instance.
4261
+ #
4262
+ # For more information, see [Using an IAM Role to Grant Permissions to
4263
+ # Applications and Scripts Running on AppStream 2.0 Streaming
4264
+ # Instances][1] in the *Amazon AppStream 2.0 Administration Guide*.
4265
+ #
4266
+ #
4267
+ #
4268
+ # [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html
4269
+ #
4270
+ # @option params [Array<Types::AccessEndpoint>] :access_endpoints
4271
+ # The list of interface VPC endpoint (interface endpoint) objects.
4272
+ # Administrators can connect to the app block builder only through the
4273
+ # specified endpoints.
4274
+ #
4275
+ # @option params [Array<String>] :attributes_to_delete
4276
+ # The attributes to delete from the app block builder.
4277
+ #
4278
+ # @return [Types::UpdateAppBlockBuilderResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4279
+ #
4280
+ # * {Types::UpdateAppBlockBuilderResult#app_block_builder #app_block_builder} => Types::AppBlockBuilder
4281
+ #
4282
+ # @example Request syntax with placeholder values
4283
+ #
4284
+ # resp = client.update_app_block_builder({
4285
+ # name: "Name", # required
4286
+ # description: "Description",
4287
+ # display_name: "DisplayName",
4288
+ # platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
4289
+ # instance_type: "String",
4290
+ # vpc_config: {
4291
+ # subnet_ids: ["String"],
4292
+ # security_group_ids: ["String"],
4293
+ # },
4294
+ # enable_default_internet_access: false,
4295
+ # iam_role_arn: "Arn",
4296
+ # access_endpoints: [
4297
+ # {
4298
+ # endpoint_type: "STREAMING", # required, accepts STREAMING
4299
+ # vpce_id: "String",
4300
+ # },
4301
+ # ],
4302
+ # attributes_to_delete: ["IAM_ROLE_ARN"], # accepts IAM_ROLE_ARN, ACCESS_ENDPOINTS, VPC_CONFIGURATION_SECURITY_GROUP_IDS
4303
+ # })
4304
+ #
4305
+ # @example Response structure
4306
+ #
4307
+ # resp.app_block_builder.arn #=> String
4308
+ # resp.app_block_builder.name #=> String
4309
+ # resp.app_block_builder.display_name #=> String
4310
+ # resp.app_block_builder.description #=> String
4311
+ # resp.app_block_builder.platform #=> String, one of "WINDOWS_SERVER_2019"
4312
+ # resp.app_block_builder.instance_type #=> String
4313
+ # resp.app_block_builder.enable_default_internet_access #=> Boolean
4314
+ # resp.app_block_builder.iam_role_arn #=> String
4315
+ # resp.app_block_builder.vpc_config.subnet_ids #=> Array
4316
+ # resp.app_block_builder.vpc_config.subnet_ids[0] #=> String
4317
+ # resp.app_block_builder.vpc_config.security_group_ids #=> Array
4318
+ # resp.app_block_builder.vpc_config.security_group_ids[0] #=> String
4319
+ # resp.app_block_builder.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
4320
+ # resp.app_block_builder.created_time #=> Time
4321
+ # resp.app_block_builder.app_block_builder_errors #=> Array
4322
+ # resp.app_block_builder.app_block_builder_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
4323
+ # resp.app_block_builder.app_block_builder_errors[0].error_message #=> String
4324
+ # resp.app_block_builder.app_block_builder_errors[0].error_timestamp #=> Time
4325
+ # resp.app_block_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR"
4326
+ # resp.app_block_builder.state_change_reason.message #=> String
4327
+ # resp.app_block_builder.access_endpoints #=> Array
4328
+ # resp.app_block_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
4329
+ # resp.app_block_builder.access_endpoints[0].vpce_id #=> String
4330
+ #
4331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateAppBlockBuilder AWS API Documentation
4332
+ #
4333
+ # @overload update_app_block_builder(params = {})
4334
+ # @param [Hash] params ({})
4335
+ def update_app_block_builder(params = {}, options = {})
4336
+ req = build_request(:update_app_block_builder, params)
4337
+ req.send_request(options)
4338
+ end
4339
+
3683
4340
  # Updates the specified application.
3684
4341
  #
3685
4342
  # @option params [required, String] :name
@@ -3723,7 +4380,7 @@ module Aws::AppStream
3723
4380
  # description: "Description",
3724
4381
  # icon_s3_location: {
3725
4382
  # s3_bucket: "S3Bucket", # required
3726
- # s3_key: "S3Key", # required
4383
+ # s3_key: "S3Key",
3727
4384
  # },
3728
4385
  # launch_path: "String",
3729
4386
  # working_directory: "String",
@@ -4020,7 +4677,7 @@ module Aws::AppStream
4020
4677
  # open documents before being disconnected. After this time elapses, the
4021
4678
  # instance is terminated and replaced by a new instance.
4022
4679
  #
4023
- # Specify a value between 600 and 360000.
4680
+ # Specify a value between 600 and 432000.
4024
4681
  #
4025
4682
  # @option params [Integer] :disconnect_timeout_in_seconds
4026
4683
  # The amount of time that a streaming session remains active after users
@@ -4156,7 +4813,7 @@ module Aws::AppStream
4156
4813
  # usb_device_filter_strings: ["UsbDeviceFilterString"],
4157
4814
  # session_script_s3_location: {
4158
4815
  # s3_bucket: "S3Bucket", # required
4159
- # s3_key: "S3Key", # required
4816
+ # s3_key: "S3Key",
4160
4817
  # },
4161
4818
  # })
4162
4819
  #
@@ -4389,7 +5046,7 @@ module Aws::AppStream
4389
5046
  params: params,
4390
5047
  config: config)
4391
5048
  context[:gem_name] = 'aws-sdk-appstream'
4392
- context[:gem_version] = '1.73.0'
5049
+ context[:gem_version] = '1.74.0'
4393
5050
  Seahorse::Client::Request.new(handlers, context)
4394
5051
  end
4395
5052