aws-sdk-appstream 1.73.0 → 1.74.0

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