aws-sdk-emr 1.49.0 → 1.53.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58b6202840db551ffbc2db426ad53cd5c0d8ea37c7b4ee5b9eddf2d9e80a0236
4
- data.tar.gz: 40a513db905c24dba538f0a6e9b0076a70ca811329b89a229f7024fc8fcfc3a5
3
+ metadata.gz: de3cc7633b68dc35a308c0a9917ba5c166c40de6a487e19c96fb7987539a9380
4
+ data.tar.gz: 1174ecfe73c02727b088a05154a14e4a08a5f8232435b01914996d1982af69cf
5
5
  SHA512:
6
- metadata.gz: e70a536f9c709ae750bc90bca00b827830ca9d8e871b090bfb336075cf32c8d09afaaab926bc809e660887aaabf07e0078303a0bc7502838a92c059ab27b1d1f
7
- data.tar.gz: 7a3068ebf859c8eeff32579680a61855fcc97752489fb52588f348523909b799ddfdf45cbc6083294868042b582ce02b5734c0cbb4a9f2d8b35b6bc87d3e47d1
6
+ metadata.gz: 123d832bc29ad420a43ddeb10ece4db5bd545df377a292eec1c26ff8ddc4bd33c3ee679d52a19d88ee4d69bf9bb90b01896143562172178f7c00ede9f5ca95c8
7
+ data.tar.gz: dd46cb72eb908bb773455e9fe62b6135d4e40ad6eb2cbb6522368d6b83a14aa2a86d240d89cc667e30ff296868cab5f06011506c699792d9e3d2bca707476346
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.53.0 (2021-10-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.52.0 (2021-09-09)
10
+ ------------------
11
+
12
+ * Feature - This release enables customers to login to EMR Studio using AWS Identity and Access Management (IAM) identities or identities in their Identity Provider (IdP) via IAM.
13
+
14
+ 1.51.0 (2021-09-01)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.50.0 (2021-08-27)
20
+ ------------------
21
+
22
+ * Feature - Amazon EMR now supports auto-terminating idle EMR clusters. You can specify the idle timeout value when enabling auto-termination for both running and new clusters and Amazon EMR automatically terminates the cluster when idle timeout kicks in.
23
+
4
24
  1.49.0 (2021-08-13)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.49.0
1
+ 1.53.0
@@ -618,24 +618,24 @@ module Aws::EMR
618
618
  req.send_request(options)
619
619
  end
620
620
 
621
- # Adds tags to an Amazon EMR resource. Tags make it easier to associate
622
- # clusters in various ways, such as grouping clusters to track your
623
- # Amazon EMR resource allocation costs. For more information, see [Tag
624
- # Clusters][1].
621
+ # Adds tags to an Amazon EMR resource, such as a cluster or an Amazon
622
+ # EMR Studio. Tags make it easier to associate resources in various
623
+ # ways, such as grouping clusters to track your Amazon EMR resource
624
+ # allocation costs. For more information, see [Tag Clusters][1].
625
625
  #
626
626
  #
627
627
  #
628
628
  # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html
629
629
  #
630
630
  # @option params [required, String] :resource_id
631
- # The Amazon EMR resource identifier to which tags will be added. This
632
- # value must be a cluster identifier.
631
+ # The Amazon EMR resource identifier to which tags will be added. For
632
+ # example, a cluster identifier or an Amazon EMR Studio ID.
633
633
  #
634
634
  # @option params [required, Array<Types::Tag>] :tags
635
- # A list of tags to associate with a cluster and propagate to EC2
636
- # instances. Tags are user-defined key-value pairs that consist of a
637
- # required key string with a maximum of 128 characters, and an optional
638
- # value string with a maximum of 256 characters.
635
+ # A list of tags to associate with a resource. Tags are user-defined
636
+ # key-value pairs that consist of a required key string with a maximum
637
+ # of 128 characters, and an optional value string with a maximum of 256
638
+ # characters.
639
639
  #
640
640
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
641
641
  #
@@ -760,9 +760,8 @@ module Aws::EMR
760
760
  # A detailed description of the Amazon EMR Studio.
761
761
  #
762
762
  # @option params [required, String] :auth_mode
763
- # Specifies whether the Studio authenticates users using single sign-on
764
- # (SSO) or IAM. Amazon EMR Studio currently only supports SSO
765
- # authentication.
763
+ # Specifies whether the Studio authenticates users using IAM or Amazon
764
+ # Web Services SSO.
766
765
  #
767
766
  # @option params [required, String] :vpc_id
768
767
  # The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate
@@ -775,14 +774,16 @@ module Aws::EMR
775
774
  # the specified subnets.
776
775
  #
777
776
  # @option params [required, String] :service_role
778
- # The IAM role that will be assumed by the Amazon EMR Studio. The
779
- # service role provides a way for Amazon EMR Studio to interoperate with
780
- # other Amazon Web Services services.
777
+ # The IAM role that the Amazon EMR Studio assumes. The service role
778
+ # provides a way for Amazon EMR Studio to interoperate with other Amazon
779
+ # Web Services services.
781
780
  #
782
- # @option params [required, String] :user_role
783
- # The IAM user role that will be assumed by users and groups logged in
784
- # to an Amazon EMR Studio. The permissions attached to this IAM role can
785
- # be scoped down for each user or group using session policies.
781
+ # @option params [String] :user_role
782
+ # The IAM user role that users and groups assume when logged in to an
783
+ # Amazon EMR Studio. Only specify a `UserRole` when you use Amazon Web
784
+ # Services SSO authentication. The permissions attached to the
785
+ # `UserRole` can be scoped down for each user or group using session
786
+ # policies.
786
787
  #
787
788
  # @option params [required, String] :workspace_security_group_id
788
789
  # The ID of the Amazon EMR Studio Workspace security group. The
@@ -799,6 +800,20 @@ module Aws::EMR
799
800
  # The Amazon S3 location to back up Amazon EMR Studio Workspaces and
800
801
  # notebook files.
801
802
  #
803
+ # @option params [String] :idp_auth_url
804
+ # The authentication endpoint of your identity provider (IdP). Specify
805
+ # this value when you use IAM authentication and want to let federated
806
+ # users log in to a Studio with the Studio URL and credentials from your
807
+ # IdP. Amazon EMR Studio redirects users to this endpoint to enter
808
+ # credentials.
809
+ #
810
+ # @option params [String] :idp_relay_state_parameter_name
811
+ # The name that your identity provider (IdP) uses for its `RelayState`
812
+ # parameter. For example, `RelayState` or `TargetSource`. Specify this
813
+ # value when you use IAM authentication and want to let federated users
814
+ # log in to a Studio using the Studio URL. The `RelayState` parameter
815
+ # differs by IdP.
816
+ #
802
817
  # @option params [Array<Types::Tag>] :tags
803
818
  # A list of tags to associate with the Amazon EMR Studio. Tags are
804
819
  # user-defined key-value pairs that consist of a required key string
@@ -819,10 +834,12 @@ module Aws::EMR
819
834
  # vpc_id: "XmlStringMaxLen256", # required
820
835
  # subnet_ids: ["String"], # required
821
836
  # service_role: "XmlString", # required
822
- # user_role: "XmlString", # required
837
+ # user_role: "XmlString",
823
838
  # workspace_security_group_id: "XmlStringMaxLen256", # required
824
839
  # engine_security_group_id: "XmlStringMaxLen256", # required
825
840
  # default_s3_location: "XmlString", # required
841
+ # idp_auth_url: "XmlString",
842
+ # idp_relay_state_parameter_name: "XmlStringMaxLen256",
826
843
  # tags: [
827
844
  # {
828
845
  # key: "String",
@@ -847,7 +864,14 @@ module Aws::EMR
847
864
 
848
865
  # Maps a user or group to the Amazon EMR Studio specified by `StudioId`,
849
866
  # and applies a session policy to refine Studio permissions for that
850
- # user or group.
867
+ # user or group. Use `CreateStudioSessionMapping` to assign users to a
868
+ # Studio when you use Amazon Web Services SSO authentication. For
869
+ # instructions on how to assign users to a Studio when you use IAM
870
+ # authentication, see [Assign a user or group to your EMR Studio][1].
871
+ #
872
+ #
873
+ #
874
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-manage-users.html#emr-studio-assign-users-groups
851
875
  #
852
876
  # @option params [required, String] :studio_id
853
877
  # The ID of the Amazon EMR Studio to which the user or group will be
@@ -1445,6 +1469,8 @@ module Aws::EMR
1445
1469
  # resp.studio.url #=> String
1446
1470
  # resp.studio.creation_time #=> Time
1447
1471
  # resp.studio.default_s3_location #=> String
1472
+ # resp.studio.idp_auth_url #=> String
1473
+ # resp.studio.idp_relay_state_parameter_name #=> String
1448
1474
  # resp.studio.tags #=> Array
1449
1475
  # resp.studio.tags[0].key #=> String
1450
1476
  # resp.studio.tags[0].value #=> String
@@ -1458,10 +1484,39 @@ module Aws::EMR
1458
1484
  req.send_request(options)
1459
1485
  end
1460
1486
 
1487
+ # Returns the auto-termination policy for an Amazon EMR cluster.
1488
+ #
1489
+ # @option params [required, String] :cluster_id
1490
+ # Specifies the ID of the Amazon EMR cluster for which the
1491
+ # auto-termination policy will be fetched.
1492
+ #
1493
+ # @return [Types::GetAutoTerminationPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1494
+ #
1495
+ # * {Types::GetAutoTerminationPolicyOutput#auto_termination_policy #auto_termination_policy} => Types::AutoTerminationPolicy
1496
+ #
1497
+ # @example Request syntax with placeholder values
1498
+ #
1499
+ # resp = client.get_auto_termination_policy({
1500
+ # cluster_id: "ClusterId", # required
1501
+ # })
1502
+ #
1503
+ # @example Response structure
1504
+ #
1505
+ # resp.auto_termination_policy.idle_timeout #=> Integer
1506
+ #
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetAutoTerminationPolicy AWS API Documentation
1508
+ #
1509
+ # @overload get_auto_termination_policy(params = {})
1510
+ # @param [Hash] params ({})
1511
+ def get_auto_termination_policy(params = {}, options = {})
1512
+ req = build_request(:get_auto_termination_policy, params)
1513
+ req.send_request(options)
1514
+ end
1515
+
1461
1516
  # Returns the Amazon EMR block public access configuration for your
1462
- # account in the current Region. For more information see [Configure
1463
- # Block Public Access for Amazon EMR][1] in the *Amazon EMR Management
1464
- # Guide*.
1517
+ # Amazon Web Services account in the current Region. For more
1518
+ # information see [Configure Block Public Access for Amazon EMR][1] in
1519
+ # the *Amazon EMR Management Guide*.
1465
1520
  #
1466
1521
  #
1467
1522
  #
@@ -1628,12 +1683,12 @@ module Aws::EMR
1628
1683
  req.send_request(options)
1629
1684
  end
1630
1685
 
1631
- # Provides the status of all clusters visible to this account. Allows
1632
- # you to filter the list of clusters based on certain criteria; for
1633
- # example, filtering by cluster creation date and time or by status.
1634
- # This call returns a maximum of 50 clusters in unsorted order per call,
1635
- # but returns a marker to track the paging of the cluster list across
1636
- # multiple ListClusters calls.
1686
+ # Provides the status of all clusters visible to this Amazon Web
1687
+ # Services account. Allows you to filter the list of clusters based on
1688
+ # certain criteria; for example, filtering by cluster creation date and
1689
+ # time or by status. This call returns a maximum of 50 clusters in
1690
+ # unsorted order per call, but returns a marker to track the paging of
1691
+ # the cluster list across multiple ListClusters calls.
1637
1692
  #
1638
1693
  # @option params [Time,DateTime,Date,Integer,String] :created_after
1639
1694
  # The creation date and time beginning value filter for listing
@@ -2054,9 +2109,9 @@ module Aws::EMR
2054
2109
  # which is usually the case for the first request of ListReleaseLabels,
2055
2110
  # the first page of results are determined by other filtering parameters
2056
2111
  # or by the latest version. The `ListReleaseLabels` request fails if the
2057
- # identity (account ID) and all filtering parameters are different from
2058
- # the original request, or if the `NextToken` is expired or tampered
2059
- # with.
2112
+ # identity (Amazon Web Services account ID) and all filtering parameters
2113
+ # are different from the original request, or if the `NextToken` is
2114
+ # expired or tampered with.
2060
2115
  #
2061
2116
  # @option params [Integer] :max_results
2062
2117
  # Defines the maximum number of release labels to return in a single
@@ -2254,9 +2309,9 @@ module Aws::EMR
2254
2309
  req.send_request(options)
2255
2310
  end
2256
2311
 
2257
- # Returns a list of all Amazon EMR Studios associated with the account.
2258
- # The list includes details such as ID, Studio Access URL, and creation
2259
- # time for each Studio.
2312
+ # Returns a list of all Amazon EMR Studios associated with the Amazon
2313
+ # Web Services account. The list includes details such as ID, Studio
2314
+ # Access URL, and creation time for each Studio.
2260
2315
  #
2261
2316
  # @option params [String] :marker
2262
2317
  # The pagination token that indicates the set of results to retrieve.
@@ -2282,6 +2337,7 @@ module Aws::EMR
2282
2337
  # resp.studios[0].vpc_id #=> String
2283
2338
  # resp.studios[0].description #=> String
2284
2339
  # resp.studios[0].url #=> String
2340
+ # resp.studios[0].auth_mode #=> String, one of "SSO", "IAM"
2285
2341
  # resp.studios[0].creation_time #=> Time
2286
2342
  # resp.marker #=> String
2287
2343
  #
@@ -2530,10 +2586,47 @@ module Aws::EMR
2530
2586
  req.send_request(options)
2531
2587
  end
2532
2588
 
2589
+ # Creates or updates an auto-termination policy for an Amazon EMR
2590
+ # cluster. An auto-termination policy defines the amount of idle time in
2591
+ # seconds after which a cluster automatically terminates. For
2592
+ # alternative cluster termination options, see [Control cluster
2593
+ # termination][1].
2594
+ #
2595
+ #
2596
+ #
2597
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
2598
+ #
2599
+ # @option params [required, String] :cluster_id
2600
+ # Specifies the ID of the Amazon EMR cluster to which the
2601
+ # auto-termination policy will be attached.
2602
+ #
2603
+ # @option params [Types::AutoTerminationPolicy] :auto_termination_policy
2604
+ # Specifies the auto-termination policy to attach to the cluster.
2605
+ #
2606
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2607
+ #
2608
+ # @example Request syntax with placeholder values
2609
+ #
2610
+ # resp = client.put_auto_termination_policy({
2611
+ # cluster_id: "ClusterId", # required
2612
+ # auto_termination_policy: {
2613
+ # idle_timeout: 1,
2614
+ # },
2615
+ # })
2616
+ #
2617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoTerminationPolicy AWS API Documentation
2618
+ #
2619
+ # @overload put_auto_termination_policy(params = {})
2620
+ # @param [Hash] params ({})
2621
+ def put_auto_termination_policy(params = {}, options = {})
2622
+ req = build_request(:put_auto_termination_policy, params)
2623
+ req.send_request(options)
2624
+ end
2625
+
2533
2626
  # Creates or updates an Amazon EMR block public access configuration for
2534
- # your account in the current Region. For more information see
2535
- # [Configure Block Public Access for Amazon EMR][1] in the *Amazon EMR
2536
- # Management Guide*.
2627
+ # your Amazon Web Services account in the current Region. For more
2628
+ # information see [Configure Block Public Access for Amazon EMR][1] in
2629
+ # the *Amazon EMR Management Guide*.
2537
2630
  #
2538
2631
  #
2539
2632
  #
@@ -2653,6 +2746,29 @@ module Aws::EMR
2653
2746
  req.send_request(options)
2654
2747
  end
2655
2748
 
2749
+ # Removes an auto-termination policy from an Amazon EMR cluster.
2750
+ #
2751
+ # @option params [required, String] :cluster_id
2752
+ # Specifies the ID of the Amazon EMR cluster from which the
2753
+ # auto-termination policy will be removed.
2754
+ #
2755
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2756
+ #
2757
+ # @example Request syntax with placeholder values
2758
+ #
2759
+ # resp = client.remove_auto_termination_policy({
2760
+ # cluster_id: "ClusterId", # required
2761
+ # })
2762
+ #
2763
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoTerminationPolicy AWS API Documentation
2764
+ #
2765
+ # @overload remove_auto_termination_policy(params = {})
2766
+ # @param [Hash] params ({})
2767
+ def remove_auto_termination_policy(params = {}, options = {})
2768
+ req = build_request(:remove_auto_termination_policy, params)
2769
+ req.send_request(options)
2770
+ end
2771
+
2656
2772
  # Removes a managed scaling policy from a specified EMR cluster.
2657
2773
  #
2658
2774
  # @option params [required, String] :cluster_id
@@ -2676,10 +2792,10 @@ module Aws::EMR
2676
2792
  req.send_request(options)
2677
2793
  end
2678
2794
 
2679
- # Removes tags from an Amazon EMR resource. Tags make it easier to
2680
- # associate clusters in various ways, such as grouping clusters to track
2681
- # your Amazon EMR resource allocation costs. For more information, see
2682
- # [Tag Clusters][1].
2795
+ # Removes tags from an Amazon EMR resource, such as a cluster or Amazon
2796
+ # EMR Studio. Tags make it easier to associate resources in various
2797
+ # ways, such as grouping clusters to track your Amazon EMR resource
2798
+ # allocation costs. For more information, see [Tag Clusters][1].
2683
2799
  #
2684
2800
  # The following example removes the stack tag with value Prod from a
2685
2801
  # cluster:
@@ -2690,10 +2806,10 @@ module Aws::EMR
2690
2806
  #
2691
2807
  # @option params [required, String] :resource_id
2692
2808
  # The Amazon EMR resource identifier from which tags will be removed.
2693
- # This value must be a cluster identifier.
2809
+ # For example, a cluster identifier or an Amazon EMR Studio ID.
2694
2810
  #
2695
2811
  # @option params [required, Array<String>] :tag_keys
2696
- # A list of tag keys to remove from a resource.
2812
+ # A list of tag keys to remove from the resource.
2697
2813
  #
2698
2814
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2699
2815
  #
@@ -2865,17 +2981,18 @@ module Aws::EMR
2865
2981
  # supplied for the EMR cluster you are creating.
2866
2982
  #
2867
2983
  # @option params [Boolean] :visible_to_all_users
2868
- # Set this value to `true` so that IAM principals in the account
2869
- # associated with the cluster can perform EMR actions on the cluster
2870
- # that their IAM policies allow. This value defaults to `true` for
2871
- # clusters created using the EMR API or the CLI [create-cluster][1]
2872
- # command.
2984
+ # Set this value to `true` so that IAM principals in the Amazon Web
2985
+ # Services account associated with the cluster can perform EMR actions
2986
+ # on the cluster that their IAM policies allow. This value defaults to
2987
+ # `true` for clusters created using the EMR API or the CLI
2988
+ # [create-cluster][1] command.
2873
2989
  #
2874
2990
  # When set to `false`, only the IAM principal that created the cluster
2875
- # and the account root user can perform EMR actions for the cluster,
2876
- # regardless of the IAM permissions policies attached to other IAM
2877
- # principals. For more information, see [Understanding the EMR Cluster
2878
- # VisibleToAllUsers Setting][2] in the *Amazon EMRManagement Guide*.
2991
+ # and the Amazon Web Services account root user can perform EMR actions
2992
+ # for the cluster, regardless of the IAM permissions policies attached
2993
+ # to other IAM principals. For more information, see [Understanding the
2994
+ # EMR Cluster VisibleToAllUsers Setting][2] in the *Amazon EMRManagement
2995
+ # Guide*.
2879
2996
  #
2880
2997
  #
2881
2998
  #
@@ -2889,8 +3006,8 @@ module Aws::EMR
2889
3006
  # role, you must have already created it using the CLI or console.
2890
3007
  #
2891
3008
  # @option params [String] :service_role
2892
- # The IAM role that will be assumed by the Amazon EMR service to access
2893
- # Amazon Web Services resources on your behalf.
3009
+ # The IAM role that Amazon EMR assumes in order to access Amazon Web
3010
+ # Services resources on your behalf.
2894
3011
  #
2895
3012
  # @option params [Array<Types::Tag>] :tags
2896
3013
  # A list of tags to associate with a cluster and propagate to Amazon EC2
@@ -2973,6 +3090,16 @@ module Aws::EMR
2973
3090
  # @option params [Array<Types::PlacementGroupConfig>] :placement_group_configs
2974
3091
  # The specified placement group configuration for an Amazon EMR cluster.
2975
3092
  #
3093
+ # @option params [Types::AutoTerminationPolicy] :auto_termination_policy
3094
+ # An auto-termination policy for an Amazon EMR cluster. An
3095
+ # auto-termination policy defines the amount of idle time in seconds
3096
+ # after which a cluster automatically terminates. For alternative
3097
+ # cluster termination options, see [Control cluster termination][1].
3098
+ #
3099
+ #
3100
+ #
3101
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
3102
+ #
2976
3103
  # @return [Types::RunJobFlowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2977
3104
  #
2978
3105
  # * {Types::RunJobFlowOutput#job_flow_id #job_flow_id} => String
@@ -3229,6 +3356,9 @@ module Aws::EMR
3229
3356
  # placement_strategy: "SPREAD", # accepts SPREAD, PARTITION, CLUSTER, NONE
3230
3357
  # },
3231
3358
  # ],
3359
+ # auto_termination_policy: {
3360
+ # idle_timeout: 1,
3361
+ # },
3232
3362
  # })
3233
3363
  #
3234
3364
  # @example Response structure
@@ -3299,11 +3429,11 @@ module Aws::EMR
3299
3429
  end
3300
3430
 
3301
3431
  # Sets the Cluster$VisibleToAllUsers value for an EMR cluster. When
3302
- # `true`, IAM principals in the account can perform EMR cluster actions
3303
- # that their IAM policies allow. When `false`, only the IAM principal
3304
- # that created the cluster and the account root user can perform EMR
3305
- # actions on the cluster, regardless of IAM permissions policies
3306
- # attached to other IAM principals.
3432
+ # `true`, IAM principals in the Amazon Web Services account can perform
3433
+ # EMR cluster actions that their IAM policies allow. When `false`, only
3434
+ # the IAM principal that created the cluster and the Amazon Web Services
3435
+ # account root user can perform EMR actions on the cluster, regardless
3436
+ # of IAM permissions policies attached to other IAM principals.
3307
3437
  #
3308
3438
  # This action works on running clusters. When you create a cluster, use
3309
3439
  # the RunJobFlowInput$VisibleToAllUsers parameter.
@@ -3319,11 +3449,11 @@ module Aws::EMR
3319
3449
  # The unique identifier of the job flow (cluster).
3320
3450
  #
3321
3451
  # @option params [required, Boolean] :visible_to_all_users
3322
- # A value of `true` indicates that an IAM principal in the account can
3323
- # perform EMR actions on the cluster that the IAM policies attached to
3324
- # the principal allow. A value of `false` indicates that only the IAM
3325
- # principal that created the cluster and the Amazon Web Services root
3326
- # user can perform EMR actions on the cluster.
3452
+ # A value of `true` indicates that an IAM principal in the Amazon Web
3453
+ # Services account can perform EMR actions on the cluster that the IAM
3454
+ # policies attached to the principal allow. A value of `false` indicates
3455
+ # that only the IAM principal that created the cluster and the Amazon
3456
+ # Web Services root user can perform EMR actions on the cluster.
3327
3457
  #
3328
3458
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3329
3459
  #
@@ -3591,7 +3721,7 @@ module Aws::EMR
3591
3721
  params: params,
3592
3722
  config: config)
3593
3723
  context[:gem_name] = 'aws-sdk-emr'
3594
- context[:gem_version] = '1.49.0'
3724
+ context[:gem_version] = '1.53.0'
3595
3725
  Seahorse::Client::Request.new(handlers, context)
3596
3726
  end
3597
3727
 
@@ -33,6 +33,7 @@ module Aws::EMR
33
33
  AutoScalingPolicyStateChangeReason = Shapes::StructureShape.new(name: 'AutoScalingPolicyStateChangeReason')
34
34
  AutoScalingPolicyStateChangeReasonCode = Shapes::StringShape.new(name: 'AutoScalingPolicyStateChangeReasonCode')
35
35
  AutoScalingPolicyStatus = Shapes::StructureShape.new(name: 'AutoScalingPolicyStatus')
36
+ AutoTerminationPolicy = Shapes::StructureShape.new(name: 'AutoTerminationPolicy')
36
37
  BlockPublicAccessConfiguration = Shapes::StructureShape.new(name: 'BlockPublicAccessConfiguration')
37
38
  BlockPublicAccessConfigurationMetadata = Shapes::StructureShape.new(name: 'BlockPublicAccessConfigurationMetadata')
38
39
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
@@ -103,6 +104,8 @@ module Aws::EMR
103
104
  ExecutionEngineConfig = Shapes::StructureShape.new(name: 'ExecutionEngineConfig')
104
105
  ExecutionEngineType = Shapes::StringShape.new(name: 'ExecutionEngineType')
105
106
  FailureDetails = Shapes::StructureShape.new(name: 'FailureDetails')
107
+ GetAutoTerminationPolicyInput = Shapes::StructureShape.new(name: 'GetAutoTerminationPolicyInput')
108
+ GetAutoTerminationPolicyOutput = Shapes::StructureShape.new(name: 'GetAutoTerminationPolicyOutput')
106
109
  GetBlockPublicAccessConfigurationInput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationInput')
107
110
  GetBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationOutput')
108
111
  GetManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyInput')
@@ -227,6 +230,8 @@ module Aws::EMR
227
230
  PortRanges = Shapes::ListShape.new(name: 'PortRanges')
228
231
  PutAutoScalingPolicyInput = Shapes::StructureShape.new(name: 'PutAutoScalingPolicyInput')
229
232
  PutAutoScalingPolicyOutput = Shapes::StructureShape.new(name: 'PutAutoScalingPolicyOutput')
233
+ PutAutoTerminationPolicyInput = Shapes::StructureShape.new(name: 'PutAutoTerminationPolicyInput')
234
+ PutAutoTerminationPolicyOutput = Shapes::StructureShape.new(name: 'PutAutoTerminationPolicyOutput')
230
235
  PutBlockPublicAccessConfigurationInput = Shapes::StructureShape.new(name: 'PutBlockPublicAccessConfigurationInput')
231
236
  PutBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'PutBlockPublicAccessConfigurationOutput')
232
237
  PutManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'PutManagedScalingPolicyInput')
@@ -234,6 +239,8 @@ module Aws::EMR
234
239
  ReleaseLabelFilter = Shapes::StructureShape.new(name: 'ReleaseLabelFilter')
235
240
  RemoveAutoScalingPolicyInput = Shapes::StructureShape.new(name: 'RemoveAutoScalingPolicyInput')
236
241
  RemoveAutoScalingPolicyOutput = Shapes::StructureShape.new(name: 'RemoveAutoScalingPolicyOutput')
242
+ RemoveAutoTerminationPolicyInput = Shapes::StructureShape.new(name: 'RemoveAutoTerminationPolicyInput')
243
+ RemoveAutoTerminationPolicyOutput = Shapes::StructureShape.new(name: 'RemoveAutoTerminationPolicyOutput')
237
244
  RemoveManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'RemoveManagedScalingPolicyInput')
238
245
  RemoveManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'RemoveManagedScalingPolicyOutput')
239
246
  RemoveTagsInput = Shapes::StructureShape.new(name: 'RemoveTagsInput')
@@ -364,6 +371,9 @@ module Aws::EMR
364
371
  AutoScalingPolicyStatus.add_member(:state_change_reason, Shapes::ShapeRef.new(shape: AutoScalingPolicyStateChangeReason, location_name: "StateChangeReason"))
365
372
  AutoScalingPolicyStatus.struct_class = Types::AutoScalingPolicyStatus
366
373
 
374
+ AutoTerminationPolicy.add_member(:idle_timeout, Shapes::ShapeRef.new(shape: Long, location_name: "IdleTimeout"))
375
+ AutoTerminationPolicy.struct_class = Types::AutoTerminationPolicy
376
+
367
377
  BlockPublicAccessConfiguration.add_member(:block_public_security_group_rules, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "BlockPublicSecurityGroupRules"))
368
378
  BlockPublicAccessConfiguration.add_member(:permitted_public_security_group_rule_ranges, Shapes::ShapeRef.new(shape: PortRanges, location_name: "PermittedPublicSecurityGroupRuleRanges"))
369
379
  BlockPublicAccessConfiguration.struct_class = Types::BlockPublicAccessConfiguration
@@ -502,10 +512,12 @@ module Aws::EMR
502
512
  CreateStudioInput.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "VpcId"))
503
513
  CreateStudioInput.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "SubnetIds"))
504
514
  CreateStudioInput.add_member(:service_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "ServiceRole"))
505
- CreateStudioInput.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "UserRole"))
515
+ CreateStudioInput.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, location_name: "UserRole"))
506
516
  CreateStudioInput.add_member(:workspace_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "WorkspaceSecurityGroupId"))
507
517
  CreateStudioInput.add_member(:engine_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "EngineSecurityGroupId"))
508
518
  CreateStudioInput.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "DefaultS3Location"))
519
+ CreateStudioInput.add_member(:idp_auth_url, Shapes::ShapeRef.new(shape: XmlString, location_name: "IdpAuthUrl"))
520
+ CreateStudioInput.add_member(:idp_relay_state_parameter_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdpRelayStateParameterName"))
509
521
  CreateStudioInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
510
522
  CreateStudioInput.struct_class = Types::CreateStudioInput
511
523
 
@@ -635,6 +647,12 @@ module Aws::EMR
635
647
  FailureDetails.add_member(:log_file, Shapes::ShapeRef.new(shape: String, location_name: "LogFile"))
636
648
  FailureDetails.struct_class = Types::FailureDetails
637
649
 
650
+ GetAutoTerminationPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
651
+ GetAutoTerminationPolicyInput.struct_class = Types::GetAutoTerminationPolicyInput
652
+
653
+ GetAutoTerminationPolicyOutput.add_member(:auto_termination_policy, Shapes::ShapeRef.new(shape: AutoTerminationPolicy, location_name: "AutoTerminationPolicy"))
654
+ GetAutoTerminationPolicyOutput.struct_class = Types::GetAutoTerminationPolicyOutput
655
+
638
656
  GetBlockPublicAccessConfigurationInput.struct_class = Types::GetBlockPublicAccessConfigurationInput
639
657
 
640
658
  GetBlockPublicAccessConfigurationOutput.add_member(:block_public_access_configuration, Shapes::ShapeRef.new(shape: BlockPublicAccessConfiguration, required: true, location_name: "BlockPublicAccessConfiguration"))
@@ -1129,6 +1147,12 @@ module Aws::EMR
1129
1147
  PutAutoScalingPolicyOutput.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "ClusterArn"))
1130
1148
  PutAutoScalingPolicyOutput.struct_class = Types::PutAutoScalingPolicyOutput
1131
1149
 
1150
+ PutAutoTerminationPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
1151
+ PutAutoTerminationPolicyInput.add_member(:auto_termination_policy, Shapes::ShapeRef.new(shape: AutoTerminationPolicy, location_name: "AutoTerminationPolicy"))
1152
+ PutAutoTerminationPolicyInput.struct_class = Types::PutAutoTerminationPolicyInput
1153
+
1154
+ PutAutoTerminationPolicyOutput.struct_class = Types::PutAutoTerminationPolicyOutput
1155
+
1132
1156
  PutBlockPublicAccessConfigurationInput.add_member(:block_public_access_configuration, Shapes::ShapeRef.new(shape: BlockPublicAccessConfiguration, required: true, location_name: "BlockPublicAccessConfiguration"))
1133
1157
  PutBlockPublicAccessConfigurationInput.struct_class = Types::PutBlockPublicAccessConfigurationInput
1134
1158
 
@@ -1150,6 +1174,11 @@ module Aws::EMR
1150
1174
 
1151
1175
  RemoveAutoScalingPolicyOutput.struct_class = Types::RemoveAutoScalingPolicyOutput
1152
1176
 
1177
+ RemoveAutoTerminationPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
1178
+ RemoveAutoTerminationPolicyInput.struct_class = Types::RemoveAutoTerminationPolicyInput
1179
+
1180
+ RemoveAutoTerminationPolicyOutput.struct_class = Types::RemoveAutoTerminationPolicyOutput
1181
+
1153
1182
  RemoveManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
1154
1183
  RemoveManagedScalingPolicyInput.struct_class = Types::RemoveManagedScalingPolicyInput
1155
1184
 
@@ -1188,6 +1217,7 @@ module Aws::EMR
1188
1217
  RunJobFlowInput.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
1189
1218
  RunJobFlowInput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
1190
1219
  RunJobFlowInput.add_member(:placement_group_configs, Shapes::ShapeRef.new(shape: PlacementGroupConfigList, location_name: "PlacementGroupConfigs"))
1220
+ RunJobFlowInput.add_member(:auto_termination_policy, Shapes::ShapeRef.new(shape: AutoTerminationPolicy, location_name: "AutoTerminationPolicy"))
1191
1221
  RunJobFlowInput.struct_class = Types::RunJobFlowInput
1192
1222
 
1193
1223
  RunJobFlowOutput.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "JobFlowId"))
@@ -1363,6 +1393,8 @@ module Aws::EMR
1363
1393
  Studio.add_member(:url, Shapes::ShapeRef.new(shape: XmlString, location_name: "Url"))
1364
1394
  Studio.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1365
1395
  Studio.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, location_name: "DefaultS3Location"))
1396
+ Studio.add_member(:idp_auth_url, Shapes::ShapeRef.new(shape: XmlString, location_name: "IdpAuthUrl"))
1397
+ Studio.add_member(:idp_relay_state_parameter_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdpRelayStateParameterName"))
1366
1398
  Studio.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
1367
1399
  Studio.struct_class = Types::Studio
1368
1400
 
@@ -1371,6 +1403,7 @@ module Aws::EMR
1371
1403
  StudioSummary.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "VpcId"))
1372
1404
  StudioSummary.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1373
1405
  StudioSummary.add_member(:url, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Url"))
1406
+ StudioSummary.add_member(:auth_mode, Shapes::ShapeRef.new(shape: AuthMode, location_name: "AuthMode"))
1374
1407
  StudioSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1375
1408
  StudioSummary.struct_class = Types::StudioSummary
1376
1409
 
@@ -1613,6 +1646,14 @@ module Aws::EMR
1613
1646
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1614
1647
  end)
1615
1648
 
1649
+ api.add_operation(:get_auto_termination_policy, Seahorse::Model::Operation.new.tap do |o|
1650
+ o.name = "GetAutoTerminationPolicy"
1651
+ o.http_method = "POST"
1652
+ o.http_request_uri = "/"
1653
+ o.input = Shapes::ShapeRef.new(shape: GetAutoTerminationPolicyInput)
1654
+ o.output = Shapes::ShapeRef.new(shape: GetAutoTerminationPolicyOutput)
1655
+ end)
1656
+
1616
1657
  api.add_operation(:get_block_public_access_configuration, Seahorse::Model::Operation.new.tap do |o|
1617
1658
  o.name = "GetBlockPublicAccessConfiguration"
1618
1659
  o.http_method = "POST"
@@ -1844,6 +1885,14 @@ module Aws::EMR
1844
1885
  o.output = Shapes::ShapeRef.new(shape: PutAutoScalingPolicyOutput)
1845
1886
  end)
1846
1887
 
1888
+ api.add_operation(:put_auto_termination_policy, Seahorse::Model::Operation.new.tap do |o|
1889
+ o.name = "PutAutoTerminationPolicy"
1890
+ o.http_method = "POST"
1891
+ o.http_request_uri = "/"
1892
+ o.input = Shapes::ShapeRef.new(shape: PutAutoTerminationPolicyInput)
1893
+ o.output = Shapes::ShapeRef.new(shape: PutAutoTerminationPolicyOutput)
1894
+ end)
1895
+
1847
1896
  api.add_operation(:put_block_public_access_configuration, Seahorse::Model::Operation.new.tap do |o|
1848
1897
  o.name = "PutBlockPublicAccessConfiguration"
1849
1898
  o.http_method = "POST"
@@ -1870,6 +1919,14 @@ module Aws::EMR
1870
1919
  o.output = Shapes::ShapeRef.new(shape: RemoveAutoScalingPolicyOutput)
1871
1920
  end)
1872
1921
 
1922
+ api.add_operation(:remove_auto_termination_policy, Seahorse::Model::Operation.new.tap do |o|
1923
+ o.name = "RemoveAutoTerminationPolicy"
1924
+ o.http_method = "POST"
1925
+ o.http_request_uri = "/"
1926
+ o.input = Shapes::ShapeRef.new(shape: RemoveAutoTerminationPolicyInput)
1927
+ o.output = Shapes::ShapeRef.new(shape: RemoveAutoTerminationPolicyOutput)
1928
+ end)
1929
+
1873
1930
  api.add_operation(:remove_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1874
1931
  o.name = "RemoveManagedScalingPolicy"
1875
1932
  o.http_method = "POST"
@@ -292,7 +292,8 @@ module Aws::EMR
292
292
  include Aws::Structure
293
293
  end
294
294
 
295
- # This input identifies a cluster and a list of tags to attach.
295
+ # This input identifies an Amazon EMR resource and a list of tags to
296
+ # attach.
296
297
  #
297
298
  # @note When making an API call, you may pass AddTagsInput
298
299
  # data as a hash:
@@ -308,15 +309,15 @@ module Aws::EMR
308
309
  # }
309
310
  #
310
311
  # @!attribute [rw] resource_id
311
- # The Amazon EMR resource identifier to which tags will be added. This
312
- # value must be a cluster identifier.
312
+ # The Amazon EMR resource identifier to which tags will be added. For
313
+ # example, a cluster identifier or an Amazon EMR Studio ID.
313
314
  # @return [String]
314
315
  #
315
316
  # @!attribute [rw] tags
316
- # A list of tags to associate with a cluster and propagate to EC2
317
- # instances. Tags are user-defined key-value pairs that consist of a
318
- # required key string with a maximum of 128 characters, and an
319
- # optional value string with a maximum of 256 characters.
317
+ # A list of tags to associate with a resource. Tags are user-defined
318
+ # key-value pairs that consist of a required key string with a maximum
319
+ # of 128 characters, and an optional value string with a maximum of
320
+ # 256 characters.
320
321
  # @return [Array<Types::Tag>]
321
322
  #
322
323
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTagsInput AWS API Documentation
@@ -533,6 +534,36 @@ module Aws::EMR
533
534
  include Aws::Structure
534
535
  end
535
536
 
537
+ # An auto-termination policy for an Amazon EMR cluster. An
538
+ # auto-termination policy defines the amount of idle time in seconds
539
+ # after which a cluster automatically terminates. For alternative
540
+ # cluster termination options, see [Control cluster termination][1].
541
+ #
542
+ #
543
+ #
544
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
545
+ #
546
+ # @note When making an API call, you may pass AutoTerminationPolicy
547
+ # data as a hash:
548
+ #
549
+ # {
550
+ # idle_timeout: 1,
551
+ # }
552
+ #
553
+ # @!attribute [rw] idle_timeout
554
+ # Specifies the amount of idle time in seconds after which the cluster
555
+ # automatically terminates. You can specify a minimum of 60 seconds
556
+ # and a maximum of 604800 seconds (seven days).
557
+ # @return [Integer]
558
+ #
559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AutoTerminationPolicy AWS API Documentation
560
+ #
561
+ class AutoTerminationPolicy < Struct.new(
562
+ :idle_timeout)
563
+ SENSITIVE = []
564
+ include Aws::Structure
565
+ end
566
+
536
567
  # A configuration for Amazon EMR block public access. When
537
568
  # `BlockPublicSecurityGroupRules` is set to `true`, Amazon EMR prevents
538
569
  # cluster creation if one of the cluster's security groups has a rule
@@ -894,20 +925,22 @@ module Aws::EMR
894
925
  #
895
926
  # @!attribute [rw] visible_to_all_users
896
927
  # Indicates whether the cluster is visible to IAM principals in the
897
- # account associated with the cluster. When `true`, IAM principals in
898
- # the account can perform EMR cluster actions on the cluster that
899
- # their IAM policies allow. When `false`, only the IAM principal that
900
- # created the cluster and the account root user can perform EMR
928
+ # Amazon Web Services account associated with the cluster. When
929
+ # `true`, IAM principals in the Amazon Web Services account can
930
+ # perform EMR cluster actions on the cluster that their IAM policies
931
+ # allow. When `false`, only the IAM principal that created the cluster
932
+ # and the Amazon Web Services account root user can perform EMR
901
933
  # actions, regardless of IAM permissions policies attached to other
902
934
  # IAM principals.
903
935
  #
904
936
  # The default value is `true` if a value is not provided when creating
905
937
  # a cluster using the EMR API RunJobFlow command, the CLI
906
- # [create-cluster][1] command, or the Management Console. IAM
907
- # principals that are allowed to perform actions on the cluster can
908
- # use the SetVisibleToAllUsers action to change the value on a running
909
- # cluster. For more information, see [Understanding the EMR Cluster
910
- # VisibleToAllUsers Setting][2] in the *Amazon EMRManagement Guide*.
938
+ # [create-cluster][1] command, or the Amazon Web Services Management
939
+ # Console. IAM principals that are allowed to perform actions on the
940
+ # cluster can use the SetVisibleToAllUsers action to change the value
941
+ # on a running cluster. For more information, see [Understanding the
942
+ # EMR Cluster VisibleToAllUsers Setting][2] in the *Amazon
943
+ # EMRManagement Guide*.
911
944
  #
912
945
  #
913
946
  #
@@ -924,8 +957,8 @@ module Aws::EMR
924
957
  # @return [Array<Types::Tag>]
925
958
  #
926
959
  # @!attribute [rw] service_role
927
- # The IAM role that will be assumed by the Amazon EMR service to
928
- # access Amazon Web Services resources on your behalf.
960
+ # The IAM role that Amazon EMR assumes in order to access Amazon Web
961
+ # Services resources on your behalf.
929
962
  # @return [String]
930
963
  #
931
964
  # @!attribute [rw] normalized_instance_hours
@@ -1379,10 +1412,12 @@ module Aws::EMR
1379
1412
  # vpc_id: "XmlStringMaxLen256", # required
1380
1413
  # subnet_ids: ["String"], # required
1381
1414
  # service_role: "XmlString", # required
1382
- # user_role: "XmlString", # required
1415
+ # user_role: "XmlString",
1383
1416
  # workspace_security_group_id: "XmlStringMaxLen256", # required
1384
1417
  # engine_security_group_id: "XmlStringMaxLen256", # required
1385
1418
  # default_s3_location: "XmlString", # required
1419
+ # idp_auth_url: "XmlString",
1420
+ # idp_relay_state_parameter_name: "XmlStringMaxLen256",
1386
1421
  # tags: [
1387
1422
  # {
1388
1423
  # key: "String",
@@ -1400,9 +1435,8 @@ module Aws::EMR
1400
1435
  # @return [String]
1401
1436
  #
1402
1437
  # @!attribute [rw] auth_mode
1403
- # Specifies whether the Studio authenticates users using single
1404
- # sign-on (SSO) or IAM. Amazon EMR Studio currently only supports SSO
1405
- # authentication.
1438
+ # Specifies whether the Studio authenticates users using IAM or Amazon
1439
+ # Web Services SSO.
1406
1440
  # @return [String]
1407
1441
  #
1408
1442
  # @!attribute [rw] vpc_id
@@ -1418,15 +1452,17 @@ module Aws::EMR
1418
1452
  # @return [Array<String>]
1419
1453
  #
1420
1454
  # @!attribute [rw] service_role
1421
- # The IAM role that will be assumed by the Amazon EMR Studio. The
1422
- # service role provides a way for Amazon EMR Studio to interoperate
1423
- # with other Amazon Web Services services.
1455
+ # The IAM role that the Amazon EMR Studio assumes. The service role
1456
+ # provides a way for Amazon EMR Studio to interoperate with other
1457
+ # Amazon Web Services services.
1424
1458
  # @return [String]
1425
1459
  #
1426
1460
  # @!attribute [rw] user_role
1427
- # The IAM user role that will be assumed by users and groups logged in
1428
- # to an Amazon EMR Studio. The permissions attached to this IAM role
1429
- # can be scoped down for each user or group using session policies.
1461
+ # The IAM user role that users and groups assume when logged in to an
1462
+ # Amazon EMR Studio. Only specify a `UserRole` when you use Amazon Web
1463
+ # Services SSO authentication. The permissions attached to the
1464
+ # `UserRole` can be scoped down for each user or group using session
1465
+ # policies.
1430
1466
  # @return [String]
1431
1467
  #
1432
1468
  # @!attribute [rw] workspace_security_group_id
@@ -1447,6 +1483,22 @@ module Aws::EMR
1447
1483
  # notebook files.
1448
1484
  # @return [String]
1449
1485
  #
1486
+ # @!attribute [rw] idp_auth_url
1487
+ # The authentication endpoint of your identity provider (IdP). Specify
1488
+ # this value when you use IAM authentication and want to let federated
1489
+ # users log in to a Studio with the Studio URL and credentials from
1490
+ # your IdP. Amazon EMR Studio redirects users to this endpoint to
1491
+ # enter credentials.
1492
+ # @return [String]
1493
+ #
1494
+ # @!attribute [rw] idp_relay_state_parameter_name
1495
+ # The name that your identity provider (IdP) uses for its `RelayState`
1496
+ # parameter. For example, `RelayState` or `TargetSource`. Specify this
1497
+ # value when you use IAM authentication and want to let federated
1498
+ # users log in to a Studio using the Studio URL. The `RelayState`
1499
+ # parameter differs by IdP.
1500
+ # @return [String]
1501
+ #
1450
1502
  # @!attribute [rw] tags
1451
1503
  # A list of tags to associate with the Amazon EMR Studio. Tags are
1452
1504
  # user-defined key-value pairs that consist of a required key string
@@ -1467,6 +1519,8 @@ module Aws::EMR
1467
1519
  :workspace_security_group_id,
1468
1520
  :engine_security_group_id,
1469
1521
  :default_s3_location,
1522
+ :idp_auth_url,
1523
+ :idp_relay_state_parameter_name,
1470
1524
  :tags)
1471
1525
  SENSITIVE = []
1472
1526
  include Aws::Structure
@@ -2225,6 +2279,39 @@ module Aws::EMR
2225
2279
  include Aws::Structure
2226
2280
  end
2227
2281
 
2282
+ # @note When making an API call, you may pass GetAutoTerminationPolicyInput
2283
+ # data as a hash:
2284
+ #
2285
+ # {
2286
+ # cluster_id: "ClusterId", # required
2287
+ # }
2288
+ #
2289
+ # @!attribute [rw] cluster_id
2290
+ # Specifies the ID of the Amazon EMR cluster for which the
2291
+ # auto-termination policy will be fetched.
2292
+ # @return [String]
2293
+ #
2294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetAutoTerminationPolicyInput AWS API Documentation
2295
+ #
2296
+ class GetAutoTerminationPolicyInput < Struct.new(
2297
+ :cluster_id)
2298
+ SENSITIVE = []
2299
+ include Aws::Structure
2300
+ end
2301
+
2302
+ # @!attribute [rw] auto_termination_policy
2303
+ # Specifies the auto-termination policy that is attached to an Amazon
2304
+ # EMR cluster.
2305
+ # @return [Types::AutoTerminationPolicy]
2306
+ #
2307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetAutoTerminationPolicyOutput AWS API Documentation
2308
+ #
2309
+ class GetAutoTerminationPolicyOutput < Struct.new(
2310
+ :auto_termination_policy)
2311
+ SENSITIVE = []
2312
+ include Aws::Structure
2313
+ end
2314
+
2228
2315
  # @api private
2229
2316
  #
2230
2317
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfigurationInput AWS API Documentation
@@ -3854,19 +3941,22 @@ module Aws::EMR
3854
3941
  #
3855
3942
  # @!attribute [rw] visible_to_all_users
3856
3943
  # Indicates whether the cluster is visible to IAM principals in the
3857
- # account associated with the cluster. When `true`, IAM principals in
3858
- # the account can perform EMR cluster actions that their IAM policies
3859
- # allow. When `false`, only the IAM principal that created the cluster
3860
- # and the account root user can perform EMR actions, regardless of IAM
3861
- # permissions policies attached to other IAM principals.
3944
+ # Amazon Web Services account associated with the cluster. When
3945
+ # `true`, IAM principals in the Amazon Web Services account can
3946
+ # perform EMR cluster actions that their IAM policies allow. When
3947
+ # `false`, only the IAM principal that created the cluster and the
3948
+ # Amazon Web Services account root user can perform EMR actions,
3949
+ # regardless of IAM permissions policies attached to other IAM
3950
+ # principals.
3862
3951
  #
3863
3952
  # The default value is `true` if a value is not provided when creating
3864
3953
  # a cluster using the EMR API RunJobFlow command, the CLI
3865
- # [create-cluster][1] command, or the Management Console. IAM
3866
- # principals that are authorized to perform actions on the cluster can
3867
- # use the SetVisibleToAllUsers action to change the value on a running
3868
- # cluster. For more information, see [Understanding the EMR Cluster
3869
- # VisibleToAllUsers Setting][2] in the *Amazon EMRManagement Guide*.
3954
+ # [create-cluster][1] command, or the Amazon Web Services Management
3955
+ # Console. IAM principals that are authorized to perform actions on
3956
+ # the cluster can use the SetVisibleToAllUsers action to change the
3957
+ # value on a running cluster. For more information, see [Understanding
3958
+ # the EMR Cluster VisibleToAllUsers Setting][2] in the *Amazon
3959
+ # EMRManagement Guide*.
3870
3960
  #
3871
3961
  #
3872
3962
  #
@@ -4844,9 +4934,10 @@ module Aws::EMR
4844
4934
  # which is usually the case for the first request of
4845
4935
  # ListReleaseLabels, the first page of results are determined by other
4846
4936
  # filtering parameters or by the latest version. The
4847
- # `ListReleaseLabels` request fails if the identity (account ID) and
4848
- # all filtering parameters are different from the original request, or
4849
- # if the `NextToken` is expired or tampered with.
4937
+ # `ListReleaseLabels` request fails if the identity (Amazon Web
4938
+ # Services account ID) and all filtering parameters are different from
4939
+ # the original request, or if the `NextToken` is expired or tampered
4940
+ # with.
4850
4941
  # @return [String]
4851
4942
  #
4852
4943
  # @!attribute [rw] max_results
@@ -5755,6 +5846,38 @@ module Aws::EMR
5755
5846
  include Aws::Structure
5756
5847
  end
5757
5848
 
5849
+ # @note When making an API call, you may pass PutAutoTerminationPolicyInput
5850
+ # data as a hash:
5851
+ #
5852
+ # {
5853
+ # cluster_id: "ClusterId", # required
5854
+ # auto_termination_policy: {
5855
+ # idle_timeout: 1,
5856
+ # },
5857
+ # }
5858
+ #
5859
+ # @!attribute [rw] cluster_id
5860
+ # Specifies the ID of the Amazon EMR cluster to which the
5861
+ # auto-termination policy will be attached.
5862
+ # @return [String]
5863
+ #
5864
+ # @!attribute [rw] auto_termination_policy
5865
+ # Specifies the auto-termination policy to attach to the cluster.
5866
+ # @return [Types::AutoTerminationPolicy]
5867
+ #
5868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoTerminationPolicyInput AWS API Documentation
5869
+ #
5870
+ class PutAutoTerminationPolicyInput < Struct.new(
5871
+ :cluster_id,
5872
+ :auto_termination_policy)
5873
+ SENSITIVE = []
5874
+ include Aws::Structure
5875
+ end
5876
+
5877
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoTerminationPolicyOutput AWS API Documentation
5878
+ #
5879
+ class PutAutoTerminationPolicyOutput < Aws::EmptyStructure; end
5880
+
5758
5881
  # @note When making an API call, you may pass PutBlockPublicAccessConfigurationInput
5759
5882
  # data as a hash:
5760
5883
  #
@@ -5902,6 +6025,30 @@ module Aws::EMR
5902
6025
  #
5903
6026
  class RemoveAutoScalingPolicyOutput < Aws::EmptyStructure; end
5904
6027
 
6028
+ # @note When making an API call, you may pass RemoveAutoTerminationPolicyInput
6029
+ # data as a hash:
6030
+ #
6031
+ # {
6032
+ # cluster_id: "ClusterId", # required
6033
+ # }
6034
+ #
6035
+ # @!attribute [rw] cluster_id
6036
+ # Specifies the ID of the Amazon EMR cluster from which the
6037
+ # auto-termination policy will be removed.
6038
+ # @return [String]
6039
+ #
6040
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoTerminationPolicyInput AWS API Documentation
6041
+ #
6042
+ class RemoveAutoTerminationPolicyInput < Struct.new(
6043
+ :cluster_id)
6044
+ SENSITIVE = []
6045
+ include Aws::Structure
6046
+ end
6047
+
6048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoTerminationPolicyOutput AWS API Documentation
6049
+ #
6050
+ class RemoveAutoTerminationPolicyOutput < Aws::EmptyStructure; end
6051
+
5905
6052
  # @note When making an API call, you may pass RemoveManagedScalingPolicyInput
5906
6053
  # data as a hash:
5907
6054
  #
@@ -5926,7 +6073,8 @@ module Aws::EMR
5926
6073
  #
5927
6074
  class RemoveManagedScalingPolicyOutput < Aws::EmptyStructure; end
5928
6075
 
5929
- # This input identifies a cluster and a list of tags to remove.
6076
+ # This input identifies an Amazon EMR resource and a list of tags to
6077
+ # remove.
5930
6078
  #
5931
6079
  # @note When making an API call, you may pass RemoveTagsInput
5932
6080
  # data as a hash:
@@ -5938,11 +6086,11 @@ module Aws::EMR
5938
6086
  #
5939
6087
  # @!attribute [rw] resource_id
5940
6088
  # The Amazon EMR resource identifier from which tags will be removed.
5941
- # This value must be a cluster identifier.
6089
+ # For example, a cluster identifier or an Amazon EMR Studio ID.
5942
6090
  # @return [String]
5943
6091
  #
5944
6092
  # @!attribute [rw] tag_keys
5945
- # A list of tag keys to remove from a resource.
6093
+ # A list of tag keys to remove from the resource.
5946
6094
  # @return [Array<String>]
5947
6095
  #
5948
6096
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTagsInput AWS API Documentation
@@ -5954,7 +6102,7 @@ module Aws::EMR
5954
6102
  include Aws::Structure
5955
6103
  end
5956
6104
 
5957
- # This output indicates the result of removing tags from a resource.
6105
+ # This output indicates the result of removing tags from the resource.
5958
6106
  #
5959
6107
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTagsOutput AWS API Documentation
5960
6108
  #
@@ -6214,6 +6362,9 @@ module Aws::EMR
6214
6362
  # placement_strategy: "SPREAD", # accepts SPREAD, PARTITION, CLUSTER, NONE
6215
6363
  # },
6216
6364
  # ],
6365
+ # auto_termination_policy: {
6366
+ # idle_timeout: 1,
6367
+ # },
6217
6368
  # }
6218
6369
  #
6219
6370
  # @!attribute [rw] name
@@ -6345,17 +6496,18 @@ module Aws::EMR
6345
6496
  # @return [Array<Types::Configuration>]
6346
6497
  #
6347
6498
  # @!attribute [rw] visible_to_all_users
6348
- # Set this value to `true` so that IAM principals in the account
6349
- # associated with the cluster can perform EMR actions on the cluster
6350
- # that their IAM policies allow. This value defaults to `true` for
6351
- # clusters created using the EMR API or the CLI [create-cluster][1]
6352
- # command.
6499
+ # Set this value to `true` so that IAM principals in the Amazon Web
6500
+ # Services account associated with the cluster can perform EMR actions
6501
+ # on the cluster that their IAM policies allow. This value defaults to
6502
+ # `true` for clusters created using the EMR API or the CLI
6503
+ # [create-cluster][1] command.
6353
6504
  #
6354
6505
  # When set to `false`, only the IAM principal that created the cluster
6355
- # and the account root user can perform EMR actions for the cluster,
6356
- # regardless of the IAM permissions policies attached to other IAM
6357
- # principals. For more information, see [Understanding the EMR Cluster
6358
- # VisibleToAllUsers Setting][2] in the *Amazon EMRManagement Guide*.
6506
+ # and the Amazon Web Services account root user can perform EMR
6507
+ # actions for the cluster, regardless of the IAM permissions policies
6508
+ # attached to other IAM principals. For more information, see
6509
+ # [Understanding the EMR Cluster VisibleToAllUsers Setting][2] in the
6510
+ # *Amazon EMRManagement Guide*.
6359
6511
  #
6360
6512
  #
6361
6513
  #
@@ -6371,8 +6523,8 @@ module Aws::EMR
6371
6523
  # @return [String]
6372
6524
  #
6373
6525
  # @!attribute [rw] service_role
6374
- # The IAM role that will be assumed by the Amazon EMR service to
6375
- # access Amazon Web Services resources on your behalf.
6526
+ # The IAM role that Amazon EMR assumes in order to access Amazon Web
6527
+ # Services resources on your behalf.
6376
6528
  # @return [String]
6377
6529
  #
6378
6530
  # @!attribute [rw] tags
@@ -6470,6 +6622,17 @@ module Aws::EMR
6470
6622
  # cluster.
6471
6623
  # @return [Array<Types::PlacementGroupConfig>]
6472
6624
  #
6625
+ # @!attribute [rw] auto_termination_policy
6626
+ # An auto-termination policy for an Amazon EMR cluster. An
6627
+ # auto-termination policy defines the amount of idle time in seconds
6628
+ # after which a cluster automatically terminates. For alternative
6629
+ # cluster termination options, see [Control cluster termination][1].
6630
+ #
6631
+ #
6632
+ #
6633
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
6634
+ # @return [Types::AutoTerminationPolicy]
6635
+ #
6473
6636
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowInput AWS API Documentation
6474
6637
  #
6475
6638
  class RunJobFlowInput < Struct.new(
@@ -6499,7 +6662,8 @@ module Aws::EMR
6499
6662
  :kerberos_attributes,
6500
6663
  :step_concurrency_level,
6501
6664
  :managed_scaling_policy,
6502
- :placement_group_configs)
6665
+ :placement_group_configs,
6666
+ :auto_termination_policy)
6503
6667
  SENSITIVE = []
6504
6668
  include Aws::Structure
6505
6669
  end
@@ -6896,11 +7060,12 @@ module Aws::EMR
6896
7060
  # @return [Array<String>]
6897
7061
  #
6898
7062
  # @!attribute [rw] visible_to_all_users
6899
- # A value of `true` indicates that an IAM principal in the account can
6900
- # perform EMR actions on the cluster that the IAM policies attached to
6901
- # the principal allow. A value of `false` indicates that only the IAM
6902
- # principal that created the cluster and the Amazon Web Services root
6903
- # user can perform EMR actions on the cluster.
7063
+ # A value of `true` indicates that an IAM principal in the Amazon Web
7064
+ # Services account can perform EMR actions on the cluster that the IAM
7065
+ # policies attached to the principal allow. A value of `false`
7066
+ # indicates that only the IAM principal that created the cluster and
7067
+ # the Amazon Web Services root user can perform EMR actions on the
7068
+ # cluster.
6904
7069
  # @return [Boolean]
6905
7070
  #
6906
7071
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsersInput AWS API Documentation
@@ -7512,7 +7677,7 @@ module Aws::EMR
7512
7677
  #
7513
7678
  # @!attribute [rw] auth_mode
7514
7679
  # Specifies whether the Amazon EMR Studio authenticates users using
7515
- # single sign-on (SSO) or IAM.
7680
+ # IAM or Amazon Web Services SSO.
7516
7681
  # @return [String]
7517
7682
  #
7518
7683
  # @!attribute [rw] vpc_id
@@ -7530,7 +7695,8 @@ module Aws::EMR
7530
7695
  #
7531
7696
  # @!attribute [rw] user_role
7532
7697
  # The name of the IAM role assumed by users logged in to the Amazon
7533
- # EMR Studio.
7698
+ # EMR Studio. A Studio only requires a `UserRole` when you use IAM
7699
+ # authentication.
7534
7700
  # @return [String]
7535
7701
  #
7536
7702
  # @!attribute [rw] workspace_security_group_id
@@ -7559,6 +7725,16 @@ module Aws::EMR
7559
7725
  # notebook files.
7560
7726
  # @return [String]
7561
7727
  #
7728
+ # @!attribute [rw] idp_auth_url
7729
+ # Your identity provider's authentication endpoint. Amazon EMR Studio
7730
+ # redirects federated users to this endpoint for authentication when
7731
+ # logging in to a Studio with the Studio URL.
7732
+ # @return [String]
7733
+ #
7734
+ # @!attribute [rw] idp_relay_state_parameter_name
7735
+ # The name of your identity provider's `RelayState` parameter.
7736
+ # @return [String]
7737
+ #
7562
7738
  # @!attribute [rw] tags
7563
7739
  # A list of tags associated with the Amazon EMR Studio.
7564
7740
  # @return [Array<Types::Tag>]
@@ -7580,6 +7756,8 @@ module Aws::EMR
7580
7756
  :url,
7581
7757
  :creation_time,
7582
7758
  :default_s3_location,
7759
+ :idp_auth_url,
7760
+ :idp_relay_state_parameter_name,
7583
7761
  :tags)
7584
7762
  SENSITIVE = []
7585
7763
  include Aws::Structure
@@ -7610,6 +7788,11 @@ module Aws::EMR
7610
7788
  # The unique access URL of the Amazon EMR Studio.
7611
7789
  # @return [String]
7612
7790
  #
7791
+ # @!attribute [rw] auth_mode
7792
+ # Specifies whether the Studio authenticates users using IAM or Amazon
7793
+ # Web Services SSO.
7794
+ # @return [String]
7795
+ #
7613
7796
  # @!attribute [rw] creation_time
7614
7797
  # The time when the Amazon EMR Studio was created.
7615
7798
  # @return [Time]
@@ -7622,6 +7805,7 @@ module Aws::EMR
7622
7805
  :vpc_id,
7623
7806
  :description,
7624
7807
  :url,
7808
+ :auth_mode,
7625
7809
  :creation_time)
7626
7810
  SENSITIVE = []
7627
7811
  include Aws::Structure
data/lib/aws-sdk-emr.rb CHANGED
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-emr/customizations'
49
49
  # @!group service
50
50
  module Aws::EMR
51
51
 
52
- GEM_VERSION = '1.49.0'
52
+ GEM_VERSION = '1.53.0'
53
53
 
54
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-emr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.49.0
4
+ version: 1.53.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-13 00:00:00.000000000 Z
11
+ date: 2021-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.119.0
22
+ version: 3.121.2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.119.0
32
+ version: 3.121.2
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -77,7 +77,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
- version: '0'
80
+ version: '2.3'
81
81
  required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - ">="