aws-sdk-emr 1.47.0 → 1.51.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: ba908c3684463cb7e20e4765d7b72b93e52acb25614054a0fcb67df58054b2a6
4
- data.tar.gz: bf3243c9b67bb2e1a1d801118181aea57be692580c5e29f32d4c54faf34eeb52
3
+ metadata.gz: 3ed693aacc3d4a96059288bcfc308229b347a3156e07b6dfc575d9eba5ca9fb5
4
+ data.tar.gz: dcadb3f2e1c2a534177c8bfbccb4093656f79b34b18e22e762f68d9997f6619f
5
5
  SHA512:
6
- metadata.gz: ab6bfd0b7aeaa9af35d01e3f7a631f3c56b52a924bfe842cf6ade8b75194c6d89d251436d2cad5d1ba5014b6f88bc1b85cb4fe5b732837ff240d7af252052c80
7
- data.tar.gz: 04c9a3b14b5c5ac79f8454a726682367022a819d30efb03364bbf85591d747ff53884a5b502f246f884dae8484392353c3bbde9bea25e936ed072d4298a43c27
6
+ metadata.gz: 891ef1c6c0f9aaecfcdb33f40612689ea143da87ddf606aec65ee5bc172bcae6108b33faa0e5eb924a7b9d8b66a1bc669e61cf0b28e8b70cded6df3f9ac5d93d
7
+ data.tar.gz: c7f3148a45d46a59c22fe284e8dc06a4c60f6f8beb949f0f119b67b0d17968f314d75e66b556fcad87766dfd7ee6b8b77a0011004339614324bbc4a92fc4d82d
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.51.0 (2021-09-01)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.50.0 (2021-08-27)
10
+ ------------------
11
+
12
+ * 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.
13
+
14
+ 1.49.0 (2021-08-13)
15
+ ------------------
16
+
17
+ * Feature - Amazon EMR customers can now specify custom AMIs at the instance level in their clusters. This allows using custom AMIs in clusters that have instances with different instruction set architectures, e.g. m5.xlarge (x86) and m6g.xlarge (ARM).
18
+
19
+ 1.48.0 (2021-07-30)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.47.0 (2021-07-28)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.47.0
1
+ 1.51.0
@@ -395,6 +395,7 @@ module Aws::EMR
395
395
  # },
396
396
  # },
397
397
  # ],
398
+ # custom_ami_id: "XmlStringMaxLen256",
398
399
  # },
399
400
  # ],
400
401
  # launch_specifications: {
@@ -518,6 +519,7 @@ module Aws::EMR
518
519
  # },
519
520
  # ],
520
521
  # },
522
+ # custom_ami_id: "XmlStringMaxLen256",
521
523
  # },
522
524
  # ],
523
525
  # job_flow_id: "XmlStringMaxLen256", # required
@@ -856,7 +858,7 @@ module Aws::EMR
856
858
  # Amazon Web Services SSO Identity Store. For more information, see
857
859
  # [UserId][1] and [GroupId][2] in the *Amazon Web Services SSO Identity
858
860
  # Store API Reference*. Either `IdentityName` or `IdentityId` must be
859
- # specified.
861
+ # specified, but not both.
860
862
  #
861
863
  #
862
864
  #
@@ -867,7 +869,7 @@ module Aws::EMR
867
869
  # The name of the user or group. For more information, see [UserName][1]
868
870
  # and [DisplayName][2] in the *Amazon Web Services SSO Identity Store
869
871
  # API Reference*. Either `IdentityName` or `IdentityId` must be
870
- # specified.
872
+ # specified, but not both.
871
873
  #
872
874
  #
873
875
  #
@@ -1187,6 +1189,7 @@ module Aws::EMR
1187
1189
  # resp.job_flows[0].instances.instance_groups[0].start_date_time #=> Time
1188
1190
  # resp.job_flows[0].instances.instance_groups[0].ready_date_time #=> Time
1189
1191
  # resp.job_flows[0].instances.instance_groups[0].end_date_time #=> Time
1192
+ # resp.job_flows[0].instances.instance_groups[0].custom_ami_id #=> String
1190
1193
  # resp.job_flows[0].instances.normalized_instance_hours #=> Integer
1191
1194
  # resp.job_flows[0].instances.ec2_key_name #=> String
1192
1195
  # resp.job_flows[0].instances.ec2_subnet_id #=> String
@@ -1455,10 +1458,39 @@ module Aws::EMR
1455
1458
  req.send_request(options)
1456
1459
  end
1457
1460
 
1461
+ # Returns the auto-termination policy for an Amazon EMR cluster.
1462
+ #
1463
+ # @option params [required, String] :cluster_id
1464
+ # Specifies the ID of the Amazon EMR cluster for which the
1465
+ # auto-termination policy will be fetched.
1466
+ #
1467
+ # @return [Types::GetAutoTerminationPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1468
+ #
1469
+ # * {Types::GetAutoTerminationPolicyOutput#auto_termination_policy #auto_termination_policy} => Types::AutoTerminationPolicy
1470
+ #
1471
+ # @example Request syntax with placeholder values
1472
+ #
1473
+ # resp = client.get_auto_termination_policy({
1474
+ # cluster_id: "ClusterId", # required
1475
+ # })
1476
+ #
1477
+ # @example Response structure
1478
+ #
1479
+ # resp.auto_termination_policy.idle_timeout #=> Integer
1480
+ #
1481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetAutoTerminationPolicy AWS API Documentation
1482
+ #
1483
+ # @overload get_auto_termination_policy(params = {})
1484
+ # @param [Hash] params ({})
1485
+ def get_auto_termination_policy(params = {}, options = {})
1486
+ req = build_request(:get_auto_termination_policy, params)
1487
+ req.send_request(options)
1488
+ end
1489
+
1458
1490
  # Returns the Amazon EMR block public access configuration for your
1459
- # account in the current Region. For more information see [Configure
1460
- # Block Public Access for Amazon EMR][1] in the *Amazon EMR Management
1461
- # Guide*.
1491
+ # Amazon Web Services account in the current Region. For more
1492
+ # information see [Configure Block Public Access for Amazon EMR][1] in
1493
+ # the *Amazon EMR Management Guide*.
1462
1494
  #
1463
1495
  #
1464
1496
  #
@@ -1625,12 +1657,12 @@ module Aws::EMR
1625
1657
  req.send_request(options)
1626
1658
  end
1627
1659
 
1628
- # Provides the status of all clusters visible to this account. Allows
1629
- # you to filter the list of clusters based on certain criteria; for
1630
- # example, filtering by cluster creation date and time or by status.
1631
- # This call returns a maximum of 50 clusters in unsorted order per call,
1632
- # but returns a marker to track the paging of the cluster list across
1633
- # multiple ListClusters calls.
1660
+ # Provides the status of all clusters visible to this Amazon Web
1661
+ # Services account. Allows you to filter the list of clusters based on
1662
+ # certain criteria; for example, filtering by cluster creation date and
1663
+ # time or by status. This call returns a maximum of 50 clusters in
1664
+ # unsorted order per call, but returns a marker to track the paging of
1665
+ # the cluster list across multiple ListClusters calls.
1634
1666
  #
1635
1667
  # @option params [Time,DateTime,Date,Integer,String] :created_after
1636
1668
  # The creation date and time beginning value filter for listing
@@ -1749,6 +1781,7 @@ module Aws::EMR
1749
1781
  # resp.instance_fleets[0].instance_type_specifications[0].ebs_block_devices[0].volume_specification.size_in_gb #=> Integer
1750
1782
  # resp.instance_fleets[0].instance_type_specifications[0].ebs_block_devices[0].device #=> String
1751
1783
  # resp.instance_fleets[0].instance_type_specifications[0].ebs_optimized #=> Boolean
1784
+ # resp.instance_fleets[0].instance_type_specifications[0].custom_ami_id #=> String
1752
1785
  # resp.instance_fleets[0].launch_specifications.spot_specification.timeout_duration_minutes #=> Integer
1753
1786
  # resp.instance_fleets[0].launch_specifications.spot_specification.timeout_action #=> String, one of "SWITCH_TO_ON_DEMAND", "TERMINATE_CLUSTER"
1754
1787
  # resp.instance_fleets[0].launch_specifications.spot_specification.block_duration_minutes #=> Integer
@@ -1855,6 +1888,7 @@ module Aws::EMR
1855
1888
  # resp.instance_groups[0].auto_scaling_policy.rules[0].trigger.cloud_watch_alarm_definition.dimensions #=> Array
1856
1889
  # resp.instance_groups[0].auto_scaling_policy.rules[0].trigger.cloud_watch_alarm_definition.dimensions[0].key #=> String
1857
1890
  # resp.instance_groups[0].auto_scaling_policy.rules[0].trigger.cloud_watch_alarm_definition.dimensions[0].value #=> String
1891
+ # resp.instance_groups[0].custom_ami_id #=> String
1858
1892
  # resp.marker #=> String
1859
1893
  #
1860
1894
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups AWS API Documentation
@@ -2049,9 +2083,9 @@ module Aws::EMR
2049
2083
  # which is usually the case for the first request of ListReleaseLabels,
2050
2084
  # the first page of results are determined by other filtering parameters
2051
2085
  # or by the latest version. The `ListReleaseLabels` request fails if the
2052
- # identity (AWS AccountID) and all filtering parameters are different
2053
- # from the original request, or if the `NextToken` is expired or
2054
- # tampered with.
2086
+ # identity (Amazon Web Services account ID) and all filtering parameters
2087
+ # are different from the original request, or if the `NextToken` is
2088
+ # expired or tampered with.
2055
2089
  #
2056
2090
  # @option params [Integer] :max_results
2057
2091
  # Defines the maximum number of release labels to return in a single
@@ -2249,9 +2283,9 @@ module Aws::EMR
2249
2283
  req.send_request(options)
2250
2284
  end
2251
2285
 
2252
- # Returns a list of all Amazon EMR Studios associated with the account.
2253
- # The list includes details such as ID, Studio Access URL, and creation
2254
- # time for each Studio.
2286
+ # Returns a list of all Amazon EMR Studios associated with the Amazon
2287
+ # Web Services account. The list includes details such as ID, Studio
2288
+ # Access URL, and creation time for each Studio.
2255
2289
  #
2256
2290
  # @option params [String] :marker
2257
2291
  # The pagination token that indicates the set of results to retrieve.
@@ -2525,10 +2559,47 @@ module Aws::EMR
2525
2559
  req.send_request(options)
2526
2560
  end
2527
2561
 
2562
+ # Creates or updates an auto-termination policy for an Amazon EMR
2563
+ # cluster. An auto-termination policy defines the amount of idle time in
2564
+ # seconds after which a cluster automatically terminates. For
2565
+ # alternative cluster termination options, see [Control cluster
2566
+ # termination][1].
2567
+ #
2568
+ #
2569
+ #
2570
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
2571
+ #
2572
+ # @option params [required, String] :cluster_id
2573
+ # Specifies the ID of the Amazon EMR cluster to which the
2574
+ # auto-termination policy will be attached.
2575
+ #
2576
+ # @option params [Types::AutoTerminationPolicy] :auto_termination_policy
2577
+ # Specifies the auto-termination policy to attach to the cluster.
2578
+ #
2579
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2580
+ #
2581
+ # @example Request syntax with placeholder values
2582
+ #
2583
+ # resp = client.put_auto_termination_policy({
2584
+ # cluster_id: "ClusterId", # required
2585
+ # auto_termination_policy: {
2586
+ # idle_timeout: 1,
2587
+ # },
2588
+ # })
2589
+ #
2590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoTerminationPolicy AWS API Documentation
2591
+ #
2592
+ # @overload put_auto_termination_policy(params = {})
2593
+ # @param [Hash] params ({})
2594
+ def put_auto_termination_policy(params = {}, options = {})
2595
+ req = build_request(:put_auto_termination_policy, params)
2596
+ req.send_request(options)
2597
+ end
2598
+
2528
2599
  # Creates or updates an Amazon EMR block public access configuration for
2529
- # your account in the current Region. For more information see
2530
- # [Configure Block Public Access for Amazon EMR][1] in the *Amazon EMR
2531
- # Management Guide*.
2600
+ # your Amazon Web Services account in the current Region. For more
2601
+ # information see [Configure Block Public Access for Amazon EMR][1] in
2602
+ # the *Amazon EMR Management Guide*.
2532
2603
  #
2533
2604
  #
2534
2605
  #
@@ -2648,6 +2719,29 @@ module Aws::EMR
2648
2719
  req.send_request(options)
2649
2720
  end
2650
2721
 
2722
+ # Removes an auto-termination policy from an Amazon EMR cluster.
2723
+ #
2724
+ # @option params [required, String] :cluster_id
2725
+ # Specifies the ID of the Amazon EMR cluster from which the
2726
+ # auto-termination policy will be removed.
2727
+ #
2728
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2729
+ #
2730
+ # @example Request syntax with placeholder values
2731
+ #
2732
+ # resp = client.remove_auto_termination_policy({
2733
+ # cluster_id: "ClusterId", # required
2734
+ # })
2735
+ #
2736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoTerminationPolicy AWS API Documentation
2737
+ #
2738
+ # @overload remove_auto_termination_policy(params = {})
2739
+ # @param [Hash] params ({})
2740
+ def remove_auto_termination_policy(params = {}, options = {})
2741
+ req = build_request(:remove_auto_termination_policy, params)
2742
+ req.send_request(options)
2743
+ end
2744
+
2651
2745
  # Removes a managed scaling policy from a specified EMR cluster.
2652
2746
  #
2653
2747
  # @option params [required, String] :cluster_id
@@ -2860,17 +2954,18 @@ module Aws::EMR
2860
2954
  # supplied for the EMR cluster you are creating.
2861
2955
  #
2862
2956
  # @option params [Boolean] :visible_to_all_users
2863
- # Set this value to `true` so that IAM principals in the account
2864
- # associated with the cluster can perform EMR actions on the cluster
2865
- # that their IAM policies allow. This value defaults to `false` for
2866
- # clusters created using the EMR API or the CLI [create-cluster][1]
2867
- # command.
2957
+ # Set this value to `true` so that IAM principals in the Amazon Web
2958
+ # Services account associated with the cluster can perform EMR actions
2959
+ # on the cluster that their IAM policies allow. This value defaults to
2960
+ # `true` for clusters created using the EMR API or the CLI
2961
+ # [create-cluster][1] command.
2868
2962
  #
2869
2963
  # When set to `false`, only the IAM principal that created the cluster
2870
- # and the account root user can perform EMR actions for the cluster,
2871
- # regardless of the IAM permissions policies attached to other IAM
2872
- # principals. For more information, see [Understanding the EMR Cluster
2873
- # VisibleToAllUsers Setting][2] in the *Amazon EMR Management Guide*.
2964
+ # and the Amazon Web Services account root user can perform EMR actions
2965
+ # for the cluster, regardless of the IAM permissions policies attached
2966
+ # to other IAM principals. For more information, see [Understanding the
2967
+ # EMR Cluster VisibleToAllUsers Setting][2] in the *Amazon EMRManagement
2968
+ # Guide*.
2874
2969
  #
2875
2970
  #
2876
2971
  #
@@ -2968,6 +3063,16 @@ module Aws::EMR
2968
3063
  # @option params [Array<Types::PlacementGroupConfig>] :placement_group_configs
2969
3064
  # The specified placement group configuration for an Amazon EMR cluster.
2970
3065
  #
3066
+ # @option params [Types::AutoTerminationPolicy] :auto_termination_policy
3067
+ # An auto-termination policy for an Amazon EMR cluster. An
3068
+ # auto-termination policy defines the amount of idle time in seconds
3069
+ # after which a cluster automatically terminates. For alternative
3070
+ # cluster termination options, see [Control cluster termination][1].
3071
+ #
3072
+ #
3073
+ #
3074
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
3075
+ #
2971
3076
  # @return [Types::RunJobFlowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2972
3077
  #
2973
3078
  # * {Types::RunJobFlowOutput#job_flow_id #job_flow_id} => String
@@ -3056,6 +3161,7 @@ module Aws::EMR
3056
3161
  # },
3057
3162
  # ],
3058
3163
  # },
3164
+ # custom_ami_id: "XmlStringMaxLen256",
3059
3165
  # },
3060
3166
  # ],
3061
3167
  # instance_fleets: [
@@ -3094,6 +3200,7 @@ module Aws::EMR
3094
3200
  # },
3095
3201
  # },
3096
3202
  # ],
3203
+ # custom_ami_id: "XmlStringMaxLen256",
3097
3204
  # },
3098
3205
  # ],
3099
3206
  # launch_specifications: {
@@ -3222,6 +3329,9 @@ module Aws::EMR
3222
3329
  # placement_strategy: "SPREAD", # accepts SPREAD, PARTITION, CLUSTER, NONE
3223
3330
  # },
3224
3331
  # ],
3332
+ # auto_termination_policy: {
3333
+ # idle_timeout: 1,
3334
+ # },
3225
3335
  # })
3226
3336
  #
3227
3337
  # @example Response structure
@@ -3292,17 +3402,17 @@ module Aws::EMR
3292
3402
  end
3293
3403
 
3294
3404
  # Sets the Cluster$VisibleToAllUsers value for an EMR cluster. When
3295
- # `true`, IAM principals in the account can perform EMR cluster actions
3296
- # that their IAM policies allow. When `false`, only the IAM principal
3297
- # that created the cluster and the account root user can perform EMR
3298
- # actions on the cluster, regardless of IAM permissions policies
3299
- # attached to other IAM principals.
3405
+ # `true`, IAM principals in the Amazon Web Services account can perform
3406
+ # EMR cluster actions that their IAM policies allow. When `false`, only
3407
+ # the IAM principal that created the cluster and the Amazon Web Services
3408
+ # account root user can perform EMR actions on the cluster, regardless
3409
+ # of IAM permissions policies attached to other IAM principals.
3300
3410
  #
3301
3411
  # This action works on running clusters. When you create a cluster, use
3302
3412
  # the RunJobFlowInput$VisibleToAllUsers parameter.
3303
3413
  #
3304
3414
  # For more information, see [Understanding the EMR Cluster
3305
- # VisibleToAllUsers Setting][1] in the *Amazon EMR Management Guide*.
3415
+ # VisibleToAllUsers Setting][1] in the *Amazon EMRManagement Guide*.
3306
3416
  #
3307
3417
  #
3308
3418
  #
@@ -3312,11 +3422,11 @@ module Aws::EMR
3312
3422
  # The unique identifier of the job flow (cluster).
3313
3423
  #
3314
3424
  # @option params [required, Boolean] :visible_to_all_users
3315
- # A value of `true` indicates that an IAM principal in the account can
3316
- # perform EMR actions on the cluster that the IAM policies attached to
3317
- # the principal allow. A value of `false` indicates that only the IAM
3318
- # principal that created the cluster and the Amazon Web Services root
3319
- # user can perform EMR actions on the cluster.
3425
+ # A value of `true` indicates that an IAM principal in the Amazon Web
3426
+ # Services account can perform EMR actions on the cluster that the IAM
3427
+ # policies attached to the principal allow. A value of `false` indicates
3428
+ # that only the IAM principal that created the cluster and the Amazon
3429
+ # Web Services root user can perform EMR actions on the cluster.
3320
3430
  #
3321
3431
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3322
3432
  #
@@ -3584,7 +3694,7 @@ module Aws::EMR
3584
3694
  params: params,
3585
3695
  config: config)
3586
3696
  context[:gem_name] = 'aws-sdk-emr'
3587
- context[:gem_version] = '1.47.0'
3697
+ context[:gem_version] = '1.51.0'
3588
3698
  Seahorse::Client::Request.new(handlers, context)
3589
3699
  end
3590
3700
 
@@ -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
@@ -635,6 +645,12 @@ module Aws::EMR
635
645
  FailureDetails.add_member(:log_file, Shapes::ShapeRef.new(shape: String, location_name: "LogFile"))
636
646
  FailureDetails.struct_class = Types::FailureDetails
637
647
 
648
+ GetAutoTerminationPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
649
+ GetAutoTerminationPolicyInput.struct_class = Types::GetAutoTerminationPolicyInput
650
+
651
+ GetAutoTerminationPolicyOutput.add_member(:auto_termination_policy, Shapes::ShapeRef.new(shape: AutoTerminationPolicy, location_name: "AutoTerminationPolicy"))
652
+ GetAutoTerminationPolicyOutput.struct_class = Types::GetAutoTerminationPolicyOutput
653
+
638
654
  GetBlockPublicAccessConfigurationInput.struct_class = Types::GetBlockPublicAccessConfigurationInput
639
655
 
640
656
  GetBlockPublicAccessConfigurationOutput.add_member(:block_public_access_configuration, Shapes::ShapeRef.new(shape: BlockPublicAccessConfiguration, required: true, location_name: "BlockPublicAccessConfiguration"))
@@ -746,6 +762,7 @@ module Aws::EMR
746
762
  InstanceGroup.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EbsOptimized"))
747
763
  InstanceGroup.add_member(:shrink_policy, Shapes::ShapeRef.new(shape: ShrinkPolicy, location_name: "ShrinkPolicy"))
748
764
  InstanceGroup.add_member(:auto_scaling_policy, Shapes::ShapeRef.new(shape: AutoScalingPolicyDescription, location_name: "AutoScalingPolicy"))
765
+ InstanceGroup.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
749
766
  InstanceGroup.struct_class = Types::InstanceGroup
750
767
 
751
768
  InstanceGroupConfig.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
@@ -757,6 +774,7 @@ module Aws::EMR
757
774
  InstanceGroupConfig.add_member(:configurations, Shapes::ShapeRef.new(shape: ConfigurationList, location_name: "Configurations"))
758
775
  InstanceGroupConfig.add_member(:ebs_configuration, Shapes::ShapeRef.new(shape: EbsConfiguration, location_name: "EbsConfiguration"))
759
776
  InstanceGroupConfig.add_member(:auto_scaling_policy, Shapes::ShapeRef.new(shape: AutoScalingPolicy, location_name: "AutoScalingPolicy"))
777
+ InstanceGroupConfig.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
760
778
  InstanceGroupConfig.struct_class = Types::InstanceGroupConfig
761
779
 
762
780
  InstanceGroupConfigList.member = Shapes::ShapeRef.new(shape: InstanceGroupConfig)
@@ -775,6 +793,7 @@ module Aws::EMR
775
793
  InstanceGroupDetail.add_member(:start_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "StartDateTime"))
776
794
  InstanceGroupDetail.add_member(:ready_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "ReadyDateTime"))
777
795
  InstanceGroupDetail.add_member(:end_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "EndDateTime"))
796
+ InstanceGroupDetail.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
778
797
  InstanceGroupDetail.struct_class = Types::InstanceGroupDetail
779
798
 
780
799
  InstanceGroupDetailList.member = Shapes::ShapeRef.new(shape: InstanceGroupDetail)
@@ -837,6 +856,7 @@ module Aws::EMR
837
856
  InstanceTypeConfig.add_member(:bid_price_as_percentage_of_on_demand_price, Shapes::ShapeRef.new(shape: NonNegativeDouble, location_name: "BidPriceAsPercentageOfOnDemandPrice"))
838
857
  InstanceTypeConfig.add_member(:ebs_configuration, Shapes::ShapeRef.new(shape: EbsConfiguration, location_name: "EbsConfiguration"))
839
858
  InstanceTypeConfig.add_member(:configurations, Shapes::ShapeRef.new(shape: ConfigurationList, location_name: "Configurations"))
859
+ InstanceTypeConfig.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
840
860
  InstanceTypeConfig.struct_class = Types::InstanceTypeConfig
841
861
 
842
862
  InstanceTypeConfigList.member = Shapes::ShapeRef.new(shape: InstanceTypeConfig)
@@ -848,6 +868,7 @@ module Aws::EMR
848
868
  InstanceTypeSpecification.add_member(:configurations, Shapes::ShapeRef.new(shape: ConfigurationList, location_name: "Configurations"))
849
869
  InstanceTypeSpecification.add_member(:ebs_block_devices, Shapes::ShapeRef.new(shape: EbsBlockDeviceList, location_name: "EbsBlockDevices"))
850
870
  InstanceTypeSpecification.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EbsOptimized"))
871
+ InstanceTypeSpecification.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
851
872
  InstanceTypeSpecification.struct_class = Types::InstanceTypeSpecification
852
873
 
853
874
  InstanceTypeSpecificationList.member = Shapes::ShapeRef.new(shape: InstanceTypeSpecification)
@@ -1124,6 +1145,12 @@ module Aws::EMR
1124
1145
  PutAutoScalingPolicyOutput.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "ClusterArn"))
1125
1146
  PutAutoScalingPolicyOutput.struct_class = Types::PutAutoScalingPolicyOutput
1126
1147
 
1148
+ PutAutoTerminationPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
1149
+ PutAutoTerminationPolicyInput.add_member(:auto_termination_policy, Shapes::ShapeRef.new(shape: AutoTerminationPolicy, location_name: "AutoTerminationPolicy"))
1150
+ PutAutoTerminationPolicyInput.struct_class = Types::PutAutoTerminationPolicyInput
1151
+
1152
+ PutAutoTerminationPolicyOutput.struct_class = Types::PutAutoTerminationPolicyOutput
1153
+
1127
1154
  PutBlockPublicAccessConfigurationInput.add_member(:block_public_access_configuration, Shapes::ShapeRef.new(shape: BlockPublicAccessConfiguration, required: true, location_name: "BlockPublicAccessConfiguration"))
1128
1155
  PutBlockPublicAccessConfigurationInput.struct_class = Types::PutBlockPublicAccessConfigurationInput
1129
1156
 
@@ -1145,6 +1172,11 @@ module Aws::EMR
1145
1172
 
1146
1173
  RemoveAutoScalingPolicyOutput.struct_class = Types::RemoveAutoScalingPolicyOutput
1147
1174
 
1175
+ RemoveAutoTerminationPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
1176
+ RemoveAutoTerminationPolicyInput.struct_class = Types::RemoveAutoTerminationPolicyInput
1177
+
1178
+ RemoveAutoTerminationPolicyOutput.struct_class = Types::RemoveAutoTerminationPolicyOutput
1179
+
1148
1180
  RemoveManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
1149
1181
  RemoveManagedScalingPolicyInput.struct_class = Types::RemoveManagedScalingPolicyInput
1150
1182
 
@@ -1183,6 +1215,7 @@ module Aws::EMR
1183
1215
  RunJobFlowInput.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
1184
1216
  RunJobFlowInput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
1185
1217
  RunJobFlowInput.add_member(:placement_group_configs, Shapes::ShapeRef.new(shape: PlacementGroupConfigList, location_name: "PlacementGroupConfigs"))
1218
+ RunJobFlowInput.add_member(:auto_termination_policy, Shapes::ShapeRef.new(shape: AutoTerminationPolicy, location_name: "AutoTerminationPolicy"))
1186
1219
  RunJobFlowInput.struct_class = Types::RunJobFlowInput
1187
1220
 
1188
1221
  RunJobFlowOutput.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "JobFlowId"))
@@ -1423,7 +1456,7 @@ module Aws::EMR
1423
1456
  "jsonVersion" => "1.1",
1424
1457
  "protocol" => "json",
1425
1458
  "serviceAbbreviation" => "Amazon EMR",
1426
- "serviceFullName" => "Amazon Elastic MapReduce",
1459
+ "serviceFullName" => "Amazon EMR",
1427
1460
  "serviceId" => "EMR",
1428
1461
  "signatureVersion" => "v4",
1429
1462
  "targetPrefix" => "ElasticMapReduce",
@@ -1608,6 +1641,14 @@ module Aws::EMR
1608
1641
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1609
1642
  end)
1610
1643
 
1644
+ api.add_operation(:get_auto_termination_policy, Seahorse::Model::Operation.new.tap do |o|
1645
+ o.name = "GetAutoTerminationPolicy"
1646
+ o.http_method = "POST"
1647
+ o.http_request_uri = "/"
1648
+ o.input = Shapes::ShapeRef.new(shape: GetAutoTerminationPolicyInput)
1649
+ o.output = Shapes::ShapeRef.new(shape: GetAutoTerminationPolicyOutput)
1650
+ end)
1651
+
1611
1652
  api.add_operation(:get_block_public_access_configuration, Seahorse::Model::Operation.new.tap do |o|
1612
1653
  o.name = "GetBlockPublicAccessConfiguration"
1613
1654
  o.http_method = "POST"
@@ -1839,6 +1880,14 @@ module Aws::EMR
1839
1880
  o.output = Shapes::ShapeRef.new(shape: PutAutoScalingPolicyOutput)
1840
1881
  end)
1841
1882
 
1883
+ api.add_operation(:put_auto_termination_policy, Seahorse::Model::Operation.new.tap do |o|
1884
+ o.name = "PutAutoTerminationPolicy"
1885
+ o.http_method = "POST"
1886
+ o.http_request_uri = "/"
1887
+ o.input = Shapes::ShapeRef.new(shape: PutAutoTerminationPolicyInput)
1888
+ o.output = Shapes::ShapeRef.new(shape: PutAutoTerminationPolicyOutput)
1889
+ end)
1890
+
1842
1891
  api.add_operation(:put_block_public_access_configuration, Seahorse::Model::Operation.new.tap do |o|
1843
1892
  o.name = "PutBlockPublicAccessConfiguration"
1844
1893
  o.http_method = "POST"
@@ -1865,6 +1914,14 @@ module Aws::EMR
1865
1914
  o.output = Shapes::ShapeRef.new(shape: RemoveAutoScalingPolicyOutput)
1866
1915
  end)
1867
1916
 
1917
+ api.add_operation(:remove_auto_termination_policy, Seahorse::Model::Operation.new.tap do |o|
1918
+ o.name = "RemoveAutoTerminationPolicy"
1919
+ o.http_method = "POST"
1920
+ o.http_request_uri = "/"
1921
+ o.input = Shapes::ShapeRef.new(shape: RemoveAutoTerminationPolicyInput)
1922
+ o.output = Shapes::ShapeRef.new(shape: RemoveAutoTerminationPolicyOutput)
1923
+ end)
1924
+
1868
1925
  api.add_operation(:remove_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1869
1926
  o.name = "RemoveManagedScalingPolicy"
1870
1927
  o.http_method = "POST"
@@ -50,6 +50,7 @@ module Aws::EMR
50
50
  # },
51
51
  # },
52
52
  # ],
53
+ # custom_ami_id: "XmlStringMaxLen256",
53
54
  # },
54
55
  # ],
55
56
  # launch_specifications: {
@@ -186,6 +187,7 @@ module Aws::EMR
186
187
  # },
187
188
  # ],
188
189
  # },
190
+ # custom_ami_id: "XmlStringMaxLen256",
189
191
  # },
190
192
  # ],
191
193
  # job_flow_id: "XmlStringMaxLen256", # required
@@ -531,6 +533,36 @@ module Aws::EMR
531
533
  include Aws::Structure
532
534
  end
533
535
 
536
+ # An auto-termination policy for an Amazon EMR cluster. An
537
+ # auto-termination policy defines the amount of idle time in seconds
538
+ # after which a cluster automatically terminates. For alternative
539
+ # cluster termination options, see [Control cluster termination][1].
540
+ #
541
+ #
542
+ #
543
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
544
+ #
545
+ # @note When making an API call, you may pass AutoTerminationPolicy
546
+ # data as a hash:
547
+ #
548
+ # {
549
+ # idle_timeout: 1,
550
+ # }
551
+ #
552
+ # @!attribute [rw] idle_timeout
553
+ # Specifies the amount of idle time in seconds after which the cluster
554
+ # automatically terminates. You can specify a minimum of 60 seconds
555
+ # and a maximum of 604800 seconds (seven days).
556
+ # @return [Integer]
557
+ #
558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AutoTerminationPolicy AWS API Documentation
559
+ #
560
+ class AutoTerminationPolicy < Struct.new(
561
+ :idle_timeout)
562
+ SENSITIVE = []
563
+ include Aws::Structure
564
+ end
565
+
534
566
  # A configuration for Amazon EMR block public access. When
535
567
  # `BlockPublicSecurityGroupRules` is set to `true`, Amazon EMR prevents
536
568
  # cluster creation if one of the cluster's security groups has a rule
@@ -892,21 +924,22 @@ module Aws::EMR
892
924
  #
893
925
  # @!attribute [rw] visible_to_all_users
894
926
  # Indicates whether the cluster is visible to IAM principals in the
895
- # account associated with the cluster. When `true`, IAM principals in
896
- # the account can perform EMR cluster actions on the cluster that
897
- # their IAM policies allow. When `false`, only the IAM principal that
898
- # created the cluster and the account root user can perform EMR
927
+ # Amazon Web Services account associated with the cluster. When
928
+ # `true`, IAM principals in the Amazon Web Services account can
929
+ # perform EMR cluster actions on the cluster that their IAM policies
930
+ # allow. When `false`, only the IAM principal that created the cluster
931
+ # and the Amazon Web Services account root user can perform EMR
899
932
  # actions, regardless of IAM permissions policies attached to other
900
933
  # IAM principals.
901
934
  #
902
- # The default value is `false` if a value is not provided when
903
- # creating a cluster using the EMR API RunJobFlow command or the CLI
904
- # [create-cluster][1] command. The default value is `true` when a
905
- # cluster is created using the Management Console. IAM principals that
906
- # are allowed to perform actions on the cluster can use the
907
- # SetVisibleToAllUsers action to change the value on a running
908
- # cluster. For more information, see [Understanding the EMR Cluster
909
- # VisibleToAllUsers Setting][2] in the *Amazon EMR Management Guide*.
935
+ # The default value is `true` if a value is not provided when creating
936
+ # a cluster using the EMR API RunJobFlow command, the CLI
937
+ # [create-cluster][1] command, or the Amazon Web Services Management
938
+ # Console. IAM principals that are allowed to perform actions on the
939
+ # cluster can use the SetVisibleToAllUsers action to change the value
940
+ # on a running cluster. For more information, see [Understanding the
941
+ # EMR Cluster VisibleToAllUsers Setting][2] in the *Amazon
942
+ # EMRManagement Guide*.
910
943
  #
911
944
  #
912
945
  #
@@ -1509,7 +1542,7 @@ module Aws::EMR
1509
1542
  # Amazon Web Services SSO Identity Store. For more information, see
1510
1543
  # [UserId][1] and [GroupId][2] in the *Amazon Web Services SSO
1511
1544
  # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
1512
- # must be specified.
1545
+ # must be specified, but not both.
1513
1546
  #
1514
1547
  #
1515
1548
  #
@@ -1521,7 +1554,7 @@ module Aws::EMR
1521
1554
  # The name of the user or group. For more information, see
1522
1555
  # [UserName][1] and [DisplayName][2] in the *Amazon Web Services SSO
1523
1556
  # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
1524
- # must be specified.
1557
+ # must be specified, but not both.
1525
1558
  #
1526
1559
  #
1527
1560
  #
@@ -2224,6 +2257,39 @@ module Aws::EMR
2224
2257
  include Aws::Structure
2225
2258
  end
2226
2259
 
2260
+ # @note When making an API call, you may pass GetAutoTerminationPolicyInput
2261
+ # data as a hash:
2262
+ #
2263
+ # {
2264
+ # cluster_id: "ClusterId", # required
2265
+ # }
2266
+ #
2267
+ # @!attribute [rw] cluster_id
2268
+ # Specifies the ID of the Amazon EMR cluster for which the
2269
+ # auto-termination policy will be fetched.
2270
+ # @return [String]
2271
+ #
2272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetAutoTerminationPolicyInput AWS API Documentation
2273
+ #
2274
+ class GetAutoTerminationPolicyInput < Struct.new(
2275
+ :cluster_id)
2276
+ SENSITIVE = []
2277
+ include Aws::Structure
2278
+ end
2279
+
2280
+ # @!attribute [rw] auto_termination_policy
2281
+ # Specifies the auto-termination policy that is attached to an Amazon
2282
+ # EMR cluster.
2283
+ # @return [Types::AutoTerminationPolicy]
2284
+ #
2285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetAutoTerminationPolicyOutput AWS API Documentation
2286
+ #
2287
+ class GetAutoTerminationPolicyOutput < Struct.new(
2288
+ :auto_termination_policy)
2289
+ SENSITIVE = []
2290
+ include Aws::Structure
2291
+ end
2292
+
2227
2293
  # @api private
2228
2294
  #
2229
2295
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfigurationInput AWS API Documentation
@@ -2690,6 +2756,7 @@ module Aws::EMR
2690
2756
  # },
2691
2757
  # },
2692
2758
  # ],
2759
+ # custom_ami_id: "XmlStringMaxLen256",
2693
2760
  # },
2694
2761
  # ],
2695
2762
  # launch_specifications: {
@@ -3086,6 +3153,10 @@ module Aws::EMR
3086
3153
  # PutAutoScalingPolicy.
3087
3154
  # @return [Types::AutoScalingPolicyDescription]
3088
3155
  #
3156
+ # @!attribute [rw] custom_ami_id
3157
+ # The custom AMI ID to use for the provisioned instance group.
3158
+ # @return [String]
3159
+ #
3089
3160
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceGroup AWS API Documentation
3090
3161
  #
3091
3162
  class InstanceGroup < Struct.new(
@@ -3105,7 +3176,8 @@ module Aws::EMR
3105
3176
  :ebs_block_devices,
3106
3177
  :ebs_optimized,
3107
3178
  :shrink_policy,
3108
- :auto_scaling_policy)
3179
+ :auto_scaling_policy,
3180
+ :custom_ami_id)
3109
3181
  SENSITIVE = []
3110
3182
  include Aws::Structure
3111
3183
  end
@@ -3184,6 +3256,7 @@ module Aws::EMR
3184
3256
  # },
3185
3257
  # ],
3186
3258
  # },
3259
+ # custom_ami_id: "XmlStringMaxLen256",
3187
3260
  # }
3188
3261
  #
3189
3262
  # @!attribute [rw] name
@@ -3236,6 +3309,10 @@ module Aws::EMR
3236
3309
  # PutAutoScalingPolicy.
3237
3310
  # @return [Types::AutoScalingPolicy]
3238
3311
  #
3312
+ # @!attribute [rw] custom_ami_id
3313
+ # The custom AMI ID to use for the provisioned instance group.
3314
+ # @return [String]
3315
+ #
3239
3316
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceGroupConfig AWS API Documentation
3240
3317
  #
3241
3318
  class InstanceGroupConfig < Struct.new(
@@ -3247,7 +3324,8 @@ module Aws::EMR
3247
3324
  :instance_count,
3248
3325
  :configurations,
3249
3326
  :ebs_configuration,
3250
- :auto_scaling_policy)
3327
+ :auto_scaling_policy,
3328
+ :custom_ami_id)
3251
3329
  SENSITIVE = []
3252
3330
  include Aws::Structure
3253
3331
  end
@@ -3314,6 +3392,10 @@ module Aws::EMR
3314
3392
  # The date/time the instance group was terminated.
3315
3393
  # @return [Time]
3316
3394
  #
3395
+ # @!attribute [rw] custom_ami_id
3396
+ # The custom AMI ID to use for the provisioned instance group.
3397
+ # @return [String]
3398
+ #
3317
3399
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceGroupDetail AWS API Documentation
3318
3400
  #
3319
3401
  class InstanceGroupDetail < Struct.new(
@@ -3330,7 +3412,8 @@ module Aws::EMR
3330
3412
  :creation_date_time,
3331
3413
  :start_date_time,
3332
3414
  :ready_date_time,
3333
- :end_date_time)
3415
+ :end_date_time,
3416
+ :custom_ami_id)
3334
3417
  SENSITIVE = []
3335
3418
  include Aws::Structure
3336
3419
  end
@@ -3621,6 +3704,7 @@ module Aws::EMR
3621
3704
  # },
3622
3705
  # },
3623
3706
  # ],
3707
+ # custom_ami_id: "XmlStringMaxLen256",
3624
3708
  # }
3625
3709
  #
3626
3710
  # @!attribute [rw] instance_type
@@ -3661,6 +3745,10 @@ module Aws::EMR
3661
3745
  # and software that run on the cluster.
3662
3746
  # @return [Array<Types::Configuration>]
3663
3747
  #
3748
+ # @!attribute [rw] custom_ami_id
3749
+ # The custom AMI ID to use for the instance type.
3750
+ # @return [String]
3751
+ #
3664
3752
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceTypeConfig AWS API Documentation
3665
3753
  #
3666
3754
  class InstanceTypeConfig < Struct.new(
@@ -3669,7 +3757,8 @@ module Aws::EMR
3669
3757
  :bid_price,
3670
3758
  :bid_price_as_percentage_of_on_demand_price,
3671
3759
  :ebs_configuration,
3672
- :configurations)
3760
+ :configurations,
3761
+ :custom_ami_id)
3673
3762
  SENSITIVE = []
3674
3763
  include Aws::Structure
3675
3764
  end
@@ -3721,6 +3810,10 @@ module Aws::EMR
3721
3810
  # EBS-optimized.
3722
3811
  # @return [Boolean]
3723
3812
  #
3813
+ # @!attribute [rw] custom_ami_id
3814
+ # The custom AMI ID to use for the instance type.
3815
+ # @return [String]
3816
+ #
3724
3817
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceTypeSpecification AWS API Documentation
3725
3818
  #
3726
3819
  class InstanceTypeSpecification < Struct.new(
@@ -3730,7 +3823,8 @@ module Aws::EMR
3730
3823
  :bid_price_as_percentage_of_on_demand_price,
3731
3824
  :configurations,
3732
3825
  :ebs_block_devices,
3733
- :ebs_optimized)
3826
+ :ebs_optimized,
3827
+ :custom_ami_id)
3734
3828
  SENSITIVE = []
3735
3829
  include Aws::Structure
3736
3830
  end
@@ -3825,20 +3919,22 @@ module Aws::EMR
3825
3919
  #
3826
3920
  # @!attribute [rw] visible_to_all_users
3827
3921
  # Indicates whether the cluster is visible to IAM principals in the
3828
- # account associated with the cluster. When `true`, IAM principals in
3829
- # the account can perform EMR cluster actions that their IAM policies
3830
- # allow. When `false`, only the IAM principal that created the cluster
3831
- # and the account root user can perform EMR actions, regardless of IAM
3832
- # permissions policies attached to other IAM principals.
3922
+ # Amazon Web Services account associated with the cluster. When
3923
+ # `true`, IAM principals in the Amazon Web Services account can
3924
+ # perform EMR cluster actions that their IAM policies allow. When
3925
+ # `false`, only the IAM principal that created the cluster and the
3926
+ # Amazon Web Services account root user can perform EMR actions,
3927
+ # regardless of IAM permissions policies attached to other IAM
3928
+ # principals.
3833
3929
  #
3834
- # The default value is `false` if a value is not provided when
3835
- # creating a cluster using the EMR API RunJobFlow command or the CLI
3836
- # [create-cluster][1] command. The default value is `true` when a
3837
- # cluster is created using the Management Console. IAM principals that
3838
- # are authorized to perform actions on the cluster can use the
3839
- # SetVisibleToAllUsers action to change the value on a running
3840
- # cluster. For more information, see [Understanding the EMR Cluster
3841
- # VisibleToAllUsers Setting][2] in the *Amazon EMR Management Guide*.
3930
+ # The default value is `true` if a value is not provided when creating
3931
+ # a cluster using the EMR API RunJobFlow command, the CLI
3932
+ # [create-cluster][1] command, or the Amazon Web Services Management
3933
+ # Console. IAM principals that are authorized to perform actions on
3934
+ # the cluster can use the SetVisibleToAllUsers action to change the
3935
+ # value on a running cluster. For more information, see [Understanding
3936
+ # the EMR Cluster VisibleToAllUsers Setting][2] in the *Amazon
3937
+ # EMRManagement Guide*.
3842
3938
  #
3843
3939
  #
3844
3940
  #
@@ -4026,6 +4122,7 @@ module Aws::EMR
4026
4122
  # },
4027
4123
  # ],
4028
4124
  # },
4125
+ # custom_ami_id: "XmlStringMaxLen256",
4029
4126
  # },
4030
4127
  # ],
4031
4128
  # instance_fleets: [
@@ -4064,6 +4161,7 @@ module Aws::EMR
4064
4161
  # },
4065
4162
  # },
4066
4163
  # ],
4164
+ # custom_ami_id: "XmlStringMaxLen256",
4067
4165
  # },
4068
4166
  # ],
4069
4167
  # launch_specifications: {
@@ -4814,9 +4912,10 @@ module Aws::EMR
4814
4912
  # which is usually the case for the first request of
4815
4913
  # ListReleaseLabels, the first page of results are determined by other
4816
4914
  # filtering parameters or by the latest version. The
4817
- # `ListReleaseLabels` request fails if the identity (AWS AccountID)
4818
- # and all filtering parameters are different from the original
4819
- # request, or if the `NextToken` is expired or tampered with.
4915
+ # `ListReleaseLabels` request fails if the identity (Amazon Web
4916
+ # Services account ID) and all filtering parameters are different from
4917
+ # the original request, or if the `NextToken` is expired or tampered
4918
+ # with.
4820
4919
  # @return [String]
4821
4920
  #
4822
4921
  # @!attribute [rw] max_results
@@ -5725,6 +5824,38 @@ module Aws::EMR
5725
5824
  include Aws::Structure
5726
5825
  end
5727
5826
 
5827
+ # @note When making an API call, you may pass PutAutoTerminationPolicyInput
5828
+ # data as a hash:
5829
+ #
5830
+ # {
5831
+ # cluster_id: "ClusterId", # required
5832
+ # auto_termination_policy: {
5833
+ # idle_timeout: 1,
5834
+ # },
5835
+ # }
5836
+ #
5837
+ # @!attribute [rw] cluster_id
5838
+ # Specifies the ID of the Amazon EMR cluster to which the
5839
+ # auto-termination policy will be attached.
5840
+ # @return [String]
5841
+ #
5842
+ # @!attribute [rw] auto_termination_policy
5843
+ # Specifies the auto-termination policy to attach to the cluster.
5844
+ # @return [Types::AutoTerminationPolicy]
5845
+ #
5846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoTerminationPolicyInput AWS API Documentation
5847
+ #
5848
+ class PutAutoTerminationPolicyInput < Struct.new(
5849
+ :cluster_id,
5850
+ :auto_termination_policy)
5851
+ SENSITIVE = []
5852
+ include Aws::Structure
5853
+ end
5854
+
5855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoTerminationPolicyOutput AWS API Documentation
5856
+ #
5857
+ class PutAutoTerminationPolicyOutput < Aws::EmptyStructure; end
5858
+
5728
5859
  # @note When making an API call, you may pass PutBlockPublicAccessConfigurationInput
5729
5860
  # data as a hash:
5730
5861
  #
@@ -5872,6 +6003,30 @@ module Aws::EMR
5872
6003
  #
5873
6004
  class RemoveAutoScalingPolicyOutput < Aws::EmptyStructure; end
5874
6005
 
6006
+ # @note When making an API call, you may pass RemoveAutoTerminationPolicyInput
6007
+ # data as a hash:
6008
+ #
6009
+ # {
6010
+ # cluster_id: "ClusterId", # required
6011
+ # }
6012
+ #
6013
+ # @!attribute [rw] cluster_id
6014
+ # Specifies the ID of the Amazon EMR cluster from which the
6015
+ # auto-termination policy will be removed.
6016
+ # @return [String]
6017
+ #
6018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoTerminationPolicyInput AWS API Documentation
6019
+ #
6020
+ class RemoveAutoTerminationPolicyInput < Struct.new(
6021
+ :cluster_id)
6022
+ SENSITIVE = []
6023
+ include Aws::Structure
6024
+ end
6025
+
6026
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoTerminationPolicyOutput AWS API Documentation
6027
+ #
6028
+ class RemoveAutoTerminationPolicyOutput < Aws::EmptyStructure; end
6029
+
5875
6030
  # @note When making an API call, you may pass RemoveManagedScalingPolicyInput
5876
6031
  # data as a hash:
5877
6032
  #
@@ -6016,6 +6171,7 @@ module Aws::EMR
6016
6171
  # },
6017
6172
  # ],
6018
6173
  # },
6174
+ # custom_ami_id: "XmlStringMaxLen256",
6019
6175
  # },
6020
6176
  # ],
6021
6177
  # instance_fleets: [
@@ -6054,6 +6210,7 @@ module Aws::EMR
6054
6210
  # },
6055
6211
  # },
6056
6212
  # ],
6213
+ # custom_ami_id: "XmlStringMaxLen256",
6057
6214
  # },
6058
6215
  # ],
6059
6216
  # launch_specifications: {
@@ -6182,6 +6339,9 @@ module Aws::EMR
6182
6339
  # placement_strategy: "SPREAD", # accepts SPREAD, PARTITION, CLUSTER, NONE
6183
6340
  # },
6184
6341
  # ],
6342
+ # auto_termination_policy: {
6343
+ # idle_timeout: 1,
6344
+ # },
6185
6345
  # }
6186
6346
  #
6187
6347
  # @!attribute [rw] name
@@ -6313,17 +6473,18 @@ module Aws::EMR
6313
6473
  # @return [Array<Types::Configuration>]
6314
6474
  #
6315
6475
  # @!attribute [rw] visible_to_all_users
6316
- # Set this value to `true` so that IAM principals in the account
6317
- # associated with the cluster can perform EMR actions on the cluster
6318
- # that their IAM policies allow. This value defaults to `false` for
6319
- # clusters created using the EMR API or the CLI [create-cluster][1]
6320
- # command.
6476
+ # Set this value to `true` so that IAM principals in the Amazon Web
6477
+ # Services account associated with the cluster can perform EMR actions
6478
+ # on the cluster that their IAM policies allow. This value defaults to
6479
+ # `true` for clusters created using the EMR API or the CLI
6480
+ # [create-cluster][1] command.
6321
6481
  #
6322
6482
  # When set to `false`, only the IAM principal that created the cluster
6323
- # and the account root user can perform EMR actions for the cluster,
6324
- # regardless of the IAM permissions policies attached to other IAM
6325
- # principals. For more information, see [Understanding the EMR Cluster
6326
- # VisibleToAllUsers Setting][2] in the *Amazon EMR Management Guide*.
6483
+ # and the Amazon Web Services account root user can perform EMR
6484
+ # actions for the cluster, regardless of the IAM permissions policies
6485
+ # attached to other IAM principals. For more information, see
6486
+ # [Understanding the EMR Cluster VisibleToAllUsers Setting][2] in the
6487
+ # *Amazon EMRManagement Guide*.
6327
6488
  #
6328
6489
  #
6329
6490
  #
@@ -6438,6 +6599,17 @@ module Aws::EMR
6438
6599
  # cluster.
6439
6600
  # @return [Array<Types::PlacementGroupConfig>]
6440
6601
  #
6602
+ # @!attribute [rw] auto_termination_policy
6603
+ # An auto-termination policy for an Amazon EMR cluster. An
6604
+ # auto-termination policy defines the amount of idle time in seconds
6605
+ # after which a cluster automatically terminates. For alternative
6606
+ # cluster termination options, see [Control cluster termination][1].
6607
+ #
6608
+ #
6609
+ #
6610
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
6611
+ # @return [Types::AutoTerminationPolicy]
6612
+ #
6441
6613
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowInput AWS API Documentation
6442
6614
  #
6443
6615
  class RunJobFlowInput < Struct.new(
@@ -6467,7 +6639,8 @@ module Aws::EMR
6467
6639
  :kerberos_attributes,
6468
6640
  :step_concurrency_level,
6469
6641
  :managed_scaling_policy,
6470
- :placement_group_configs)
6642
+ :placement_group_configs,
6643
+ :auto_termination_policy)
6471
6644
  SENSITIVE = []
6472
6645
  include Aws::Structure
6473
6646
  end
@@ -6864,11 +7037,12 @@ module Aws::EMR
6864
7037
  # @return [Array<String>]
6865
7038
  #
6866
7039
  # @!attribute [rw] visible_to_all_users
6867
- # A value of `true` indicates that an IAM principal in the account can
6868
- # perform EMR actions on the cluster that the IAM policies attached to
6869
- # the principal allow. A value of `false` indicates that only the IAM
6870
- # principal that created the cluster and the Amazon Web Services root
6871
- # user can perform EMR actions on the cluster.
7040
+ # A value of `true` indicates that an IAM principal in the Amazon Web
7041
+ # Services account can perform EMR actions on the cluster that the IAM
7042
+ # policies attached to the principal allow. A value of `false`
7043
+ # indicates that only the IAM principal that created the cluster and
7044
+ # the Amazon Web Services root user can perform EMR actions on the
7045
+ # cluster.
6872
7046
  # @return [Boolean]
6873
7047
  #
6874
7048
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsersInput AWS API Documentation
data/lib/aws-sdk-emr.rb CHANGED
@@ -19,7 +19,7 @@ require_relative 'aws-sdk-emr/waiters'
19
19
  require_relative 'aws-sdk-emr/resource'
20
20
  require_relative 'aws-sdk-emr/customizations'
21
21
 
22
- # This module provides support for Amazon Elastic MapReduce. This module is available in the
22
+ # This module provides support for Amazon EMR. This module is available in the
23
23
  # `aws-sdk-emr` gem.
24
24
  #
25
25
  # # Client
@@ -35,13 +35,13 @@ require_relative 'aws-sdk-emr/customizations'
35
35
  #
36
36
  # # Errors
37
37
  #
38
- # Errors returned from Amazon Elastic MapReduce are defined in the
38
+ # Errors returned from Amazon EMR are defined in the
39
39
  # {Errors} module and all extend {Errors::ServiceError}.
40
40
  #
41
41
  # begin
42
42
  # # do stuff
43
43
  # rescue Aws::EMR::Errors::ServiceError
44
- # # rescues all Amazon Elastic MapReduce API errors
44
+ # # rescues all Amazon EMR API errors
45
45
  # end
46
46
  #
47
47
  # See {Errors} for more information.
@@ -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.47.0'
52
+ GEM_VERSION = '1.51.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.47.0
4
+ version: 1.51.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-07-28 00:00:00.000000000 Z
11
+ date: 2021-09-01 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.118.0
22
+ version: 3.120.0
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.118.0
32
+ version: 3.120.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -44,8 +44,8 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.1'
47
- description: Official AWS Ruby gem for Amazon Elastic MapReduce (Amazon EMR). This
48
- gem is part of the AWS SDK for Ruby.
47
+ description: Official AWS Ruby gem for Amazon EMR. This gem is part of the AWS SDK
48
+ for Ruby.
49
49
  email:
50
50
  - aws-dr-rubygems@amazon.com
51
51
  executables: []
@@ -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
  - - ">="