aws-sdk-emr 1.49.0 → 1.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  - - ">="