aws-sdk-emr 1.25.0 → 1.30.1

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
- SHA1:
3
- metadata.gz: 7364e48d023c82cfb9a9f961f09d829168eea374
4
- data.tar.gz: 0dd8ba8792ad46b4e8ab153d4586b40842e6ea67
2
+ SHA256:
3
+ metadata.gz: c955f437bd27ac47c36c2800e14d46977feff17574b43afa411a9d93b1ad8396
4
+ data.tar.gz: beb7b58161d24fc25f1e998de484107553edd071c5140d048a3f50111cebb135
5
5
  SHA512:
6
- metadata.gz: 4d0b1d55201ae417a3218afc4c006b2ef85626a3a9596b7e5fb00a567da8b0f8528255577e894a4c6d752de80fe0ae5640fd063905ee45f9ff2a8123048f92f2
7
- data.tar.gz: 536897404c4377b53465a129e31906d5314e89395bed8ba4bda97c3bc3ea605a4ccf146cc671bede6759c70b58018724a3d68beefd0e96a30b0f0909194eddd1
6
+ metadata.gz: af4d3192d1bcf722ad1f91cccf35038dc6c01c741b97b5ceaf8e1fad1e14f887cb7a1f21e776294ed4235f7ee2cba9e00665f63a923242b609cf998ae1b3b7b8
7
+ data.tar.gz: 8d36a49c5b953de893e9e0dd4436f4ff8b44e0a2efff2a00edb0573bd070ca18bd2c4229f08beea6ca2e53dc8242b7af4b6ddd7eb46f5923885e61aefe7f7630
@@ -46,6 +46,6 @@ require_relative 'aws-sdk-emr/customizations'
46
46
  # @service
47
47
  module Aws::EMR
48
48
 
49
- GEM_VERSION = '1.25.0'
49
+ GEM_VERSION = '1.30.1'
50
50
 
51
51
  end
@@ -24,6 +24,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
30
 
@@ -32,11 +33,11 @@ Aws::Plugins::GlobalConfiguration.add_identifier(:emr)
32
33
  module Aws::EMR
33
34
  # An API client for EMR. To construct a client, you need to configure a `:region` and `:credentials`.
34
35
  #
35
- # client = Aws::EMR::Client.new(
36
- # region: region_name,
37
- # credentials: credentials,
38
- # # ...
39
- # )
36
+ # client = Aws::EMR::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
40
41
  #
41
42
  # For details on configuring region and credentials see
42
43
  # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
@@ -69,6 +70,7 @@ module Aws::EMR
69
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
72
74
  add_plugin(Aws::Plugins::SignatureV4)
73
75
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
74
76
 
@@ -105,7 +107,7 @@ module Aws::EMR
105
107
  # @option options [required, String] :region
106
108
  # The AWS region to connect to. The configured `:region` is
107
109
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
109
111
  #
110
112
  # * `Aws.config[:region]`
111
113
  # * `ENV['AWS_REGION']`
@@ -161,7 +163,7 @@ module Aws::EMR
161
163
  # @option options [String] :endpoint
162
164
  # The client endpoint is normally constructed from the `:region`
163
165
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
167
  #
166
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +178,7 @@ module Aws::EMR
176
178
  # requests fetching endpoints information. Defaults to 60 sec.
177
179
  #
178
180
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
182
  #
181
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
184
  # The log formatter.
@@ -229,15 +231,19 @@ module Aws::EMR
229
231
  #
230
232
  # @option options [String] :retry_mode ("legacy")
231
233
  # Specifies which retry algorithm to use. Values are:
232
- # * `legacy` - The pre-existing retry behavior. This is default value if
233
- # no retry mode is provided.
234
- # * `standard` - A standardized set of retry rules across the AWS SDKs.
235
- # This includes support for retry quotas, which limit the number of
236
- # unsuccessful retries a client can make.
237
- # * `adaptive` - An experimental retry mode that includes all the
238
- # functionality of `standard` mode along with automatic client side
239
- # throttling. This is a provisional mode that may change behavior
240
- # in the future.
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
241
247
  #
242
248
  # @option options [String] :secret_access_key
243
249
  #
@@ -275,8 +281,7 @@ module Aws::EMR
275
281
  #
276
282
  # @option options [Integer] :http_read_timeout (60) The default
277
283
  # number of seconds to wait for response data. This value can
278
- # safely be set
279
- # per-request on the session yielded by {#session_for}.
284
+ # safely be set per-request on the session.
280
285
  #
281
286
  # @option options [Float] :http_idle_timeout (5) The number of
282
287
  # seconds a connection is allowed to sit idle before it is
@@ -288,7 +293,7 @@ module Aws::EMR
288
293
  # request body. This option has no effect unless the request has
289
294
  # "Expect" header set to "100-continue". Defaults to `nil` which
290
295
  # disables this behaviour. This value can safely be set per
291
- # request on the session yielded by {#session_for}.
296
+ # request on the session.
292
297
  #
293
298
  # @option options [Boolean] :http_wire_trace (false) When `true`,
294
299
  # HTTP debug output will be sent to the `:logger`.
@@ -780,6 +785,7 @@ module Aws::EMR
780
785
  # resp.cluster.ec2_instance_attributes.additional_slave_security_groups[0] #=> String
781
786
  # resp.cluster.instance_collection_type #=> String, one of "INSTANCE_FLEET", "INSTANCE_GROUP"
782
787
  # resp.cluster.log_uri #=> String
788
+ # resp.cluster.log_encryption_kms_key_id #=> String
783
789
  # resp.cluster.requested_ami_version #=> String
784
790
  # resp.cluster.running_ami_version #=> String
785
791
  # resp.cluster.release_label #=> String
@@ -816,8 +822,14 @@ module Aws::EMR
816
822
  # resp.cluster.kerberos_attributes.ad_domain_join_user #=> String
817
823
  # resp.cluster.kerberos_attributes.ad_domain_join_password #=> String
818
824
  # resp.cluster.cluster_arn #=> String
819
- # resp.cluster.step_concurrency_level #=> Integer
820
825
  # resp.cluster.outpost_arn #=> String
826
+ # resp.cluster.step_concurrency_level #=> Integer
827
+ #
828
+ #
829
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
830
+ #
831
+ # * cluster_running
832
+ # * cluster_terminated
821
833
  #
822
834
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster AWS API Documentation
823
835
  #
@@ -881,6 +893,7 @@ module Aws::EMR
881
893
  # resp.job_flows[0].job_flow_id #=> String
882
894
  # resp.job_flows[0].name #=> String
883
895
  # resp.job_flows[0].log_uri #=> String
896
+ # resp.job_flows[0].log_encryption_kms_key_id #=> String
884
897
  # resp.job_flows[0].ami_version #=> String
885
898
  # resp.job_flows[0].execution_status_detail.state #=> String, one of "STARTING", "BOOTSTRAPPING", "RUNNING", "WAITING", "SHUTTING_DOWN", "TERMINATED", "COMPLETED", "FAILED"
886
899
  # resp.job_flows[0].execution_status_detail.creation_date_time #=> Time
@@ -1027,6 +1040,11 @@ module Aws::EMR
1027
1040
  # resp.step.status.timeline.start_date_time #=> Time
1028
1041
  # resp.step.status.timeline.end_date_time #=> Time
1029
1042
  #
1043
+ #
1044
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1045
+ #
1046
+ # * step_complete
1047
+ #
1030
1048
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep AWS API Documentation
1031
1049
  #
1032
1050
  # @overload describe_step(params = {})
@@ -1068,6 +1086,38 @@ module Aws::EMR
1068
1086
  req.send_request(options)
1069
1087
  end
1070
1088
 
1089
+ # Fetches the attached managed scaling policy for an Amazon EMR cluster.
1090
+ #
1091
+ # @option params [required, String] :cluster_id
1092
+ # Specifies the ID of the cluster for which the managed scaling policy
1093
+ # will be fetched.
1094
+ #
1095
+ # @return [Types::GetManagedScalingPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1096
+ #
1097
+ # * {Types::GetManagedScalingPolicyOutput#managed_scaling_policy #managed_scaling_policy} => Types::ManagedScalingPolicy
1098
+ #
1099
+ # @example Request syntax with placeholder values
1100
+ #
1101
+ # resp = client.get_managed_scaling_policy({
1102
+ # cluster_id: "ClusterId", # required
1103
+ # })
1104
+ #
1105
+ # @example Response structure
1106
+ #
1107
+ # resp.managed_scaling_policy.compute_limits.unit_type #=> String, one of "InstanceFleetUnits", "Instances", "VCPU"
1108
+ # resp.managed_scaling_policy.compute_limits.minimum_capacity_units #=> Integer
1109
+ # resp.managed_scaling_policy.compute_limits.maximum_capacity_units #=> Integer
1110
+ # resp.managed_scaling_policy.compute_limits.maximum_on_demand_capacity_units #=> Integer
1111
+ #
1112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy AWS API Documentation
1113
+ #
1114
+ # @overload get_managed_scaling_policy(params = {})
1115
+ # @param [Hash] params ({})
1116
+ def get_managed_scaling_policy(params = {}, options = {})
1117
+ req = build_request(:get_managed_scaling_policy, params)
1118
+ req.send_request(options)
1119
+ end
1120
+
1071
1121
  # Provides information about the bootstrap actions associated with a
1072
1122
  # cluster.
1073
1123
  #
@@ -1083,6 +1133,8 @@ module Aws::EMR
1083
1133
  # * {Types::ListBootstrapActionsOutput#bootstrap_actions #bootstrap_actions} => Array<Types::Command>
1084
1134
  # * {Types::ListBootstrapActionsOutput#marker #marker} => String
1085
1135
  #
1136
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1137
+ #
1086
1138
  # @example Request syntax with placeholder values
1087
1139
  #
1088
1140
  # resp = client.list_bootstrap_actions({
@@ -1134,6 +1186,8 @@ module Aws::EMR
1134
1186
  # * {Types::ListClustersOutput#clusters #clusters} => Array<Types::ClusterSummary>
1135
1187
  # * {Types::ListClustersOutput#marker #marker} => String
1136
1188
  #
1189
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1190
+ #
1137
1191
  # @example Request syntax with placeholder values
1138
1192
  #
1139
1193
  # resp = client.list_clusters({
@@ -1187,6 +1241,8 @@ module Aws::EMR
1187
1241
  # * {Types::ListInstanceFleetsOutput#instance_fleets #instance_fleets} => Array<Types::InstanceFleet>
1188
1242
  # * {Types::ListInstanceFleetsOutput#marker #marker} => String
1189
1243
  #
1244
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1245
+ #
1190
1246
  # @example Request syntax with placeholder values
1191
1247
  #
1192
1248
  # resp = client.list_instance_fleets({
@@ -1254,6 +1310,8 @@ module Aws::EMR
1254
1310
  # * {Types::ListInstanceGroupsOutput#instance_groups #instance_groups} => Array<Types::InstanceGroup>
1255
1311
  # * {Types::ListInstanceGroupsOutput#marker #marker} => String
1256
1312
  #
1313
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1314
+ #
1257
1315
  # @example Request syntax with placeholder values
1258
1316
  #
1259
1317
  # resp = client.list_instance_groups({
@@ -1370,6 +1428,8 @@ module Aws::EMR
1370
1428
  # * {Types::ListInstancesOutput#instances #instances} => Array<Types::Instance>
1371
1429
  # * {Types::ListInstancesOutput#marker #marker} => String
1372
1430
  #
1431
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1432
+ #
1373
1433
  # @example Request syntax with placeholder values
1374
1434
  #
1375
1435
  # resp = client.list_instances({
@@ -1429,6 +1489,8 @@ module Aws::EMR
1429
1489
  # * {Types::ListSecurityConfigurationsOutput#security_configurations #security_configurations} => Array<Types::SecurityConfigurationSummary>
1430
1490
  # * {Types::ListSecurityConfigurationsOutput#marker #marker} => String
1431
1491
  #
1492
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1493
+ #
1432
1494
  # @example Request syntax with placeholder values
1433
1495
  #
1434
1496
  # resp = client.list_security_configurations({
@@ -1475,6 +1537,8 @@ module Aws::EMR
1475
1537
  # * {Types::ListStepsOutput#steps #steps} => Array<Types::StepSummary>
1476
1538
  # * {Types::ListStepsOutput#marker #marker} => String
1477
1539
  #
1540
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1541
+ #
1478
1542
  # @example Request syntax with placeholder values
1479
1543
  #
1480
1544
  # resp = client.list_steps({
@@ -1771,6 +1835,14 @@ module Aws::EMR
1771
1835
  # this by updating `BlockPublicSecurityGroupRules` to remove the
1772
1836
  # exception.
1773
1837
  #
1838
+ # <note markdown="1"> For accounts that created clusters in a Region before November 25,
1839
+ # 2019, block public access is disabled by default in that Region. To
1840
+ # use this feature, you must manually enable and configure it. For
1841
+ # accounts that did not create an EMR cluster in a Region before this
1842
+ # date, block public access is enabled by default in that Region.
1843
+ #
1844
+ # </note>
1845
+ #
1774
1846
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1775
1847
  #
1776
1848
  # @example Request syntax with placeholder values
@@ -1796,6 +1868,44 @@ module Aws::EMR
1796
1868
  req.send_request(options)
1797
1869
  end
1798
1870
 
1871
+ # Creates or updates a managed scaling policy for an Amazon EMR cluster.
1872
+ # The managed scaling policy defines the limits for resources, such as
1873
+ # EC2 instances that can be added or terminated from a cluster. The
1874
+ # policy only applies to the core and task nodes. The master node cannot
1875
+ # be scaled after initial configuration.
1876
+ #
1877
+ # @option params [required, String] :cluster_id
1878
+ # Specifies the ID of an EMR cluster where the managed scaling policy is
1879
+ # attached.
1880
+ #
1881
+ # @option params [required, Types::ManagedScalingPolicy] :managed_scaling_policy
1882
+ # Specifies the constraints for the managed scaling policy.
1883
+ #
1884
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1885
+ #
1886
+ # @example Request syntax with placeholder values
1887
+ #
1888
+ # resp = client.put_managed_scaling_policy({
1889
+ # cluster_id: "ClusterId", # required
1890
+ # managed_scaling_policy: { # required
1891
+ # compute_limits: {
1892
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
1893
+ # minimum_capacity_units: 1, # required
1894
+ # maximum_capacity_units: 1, # required
1895
+ # maximum_on_demand_capacity_units: 1,
1896
+ # },
1897
+ # },
1898
+ # })
1899
+ #
1900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy AWS API Documentation
1901
+ #
1902
+ # @overload put_managed_scaling_policy(params = {})
1903
+ # @param [Hash] params ({})
1904
+ def put_managed_scaling_policy(params = {}, options = {})
1905
+ req = build_request(:put_managed_scaling_policy, params)
1906
+ req.send_request(options)
1907
+ end
1908
+
1799
1909
  # Removes an automatic scaling policy from a specified instance group
1800
1910
  # within an EMR cluster.
1801
1911
  #
@@ -1825,6 +1935,29 @@ module Aws::EMR
1825
1935
  req.send_request(options)
1826
1936
  end
1827
1937
 
1938
+ # Removes a managed scaling policy from a specified EMR cluster.
1939
+ #
1940
+ # @option params [required, String] :cluster_id
1941
+ # Specifies the ID of the cluster from which the managed scaling policy
1942
+ # will be removed.
1943
+ #
1944
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1945
+ #
1946
+ # @example Request syntax with placeholder values
1947
+ #
1948
+ # resp = client.remove_managed_scaling_policy({
1949
+ # cluster_id: "ClusterId", # required
1950
+ # })
1951
+ #
1952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy AWS API Documentation
1953
+ #
1954
+ # @overload remove_managed_scaling_policy(params = {})
1955
+ # @param [Hash] params ({})
1956
+ def remove_managed_scaling_policy(params = {}, options = {})
1957
+ req = build_request(:remove_managed_scaling_policy, params)
1958
+ req.send_request(options)
1959
+ end
1960
+
1828
1961
  # Removes tags from an Amazon EMR resource. Tags make it easier to
1829
1962
  # associate clusters in various ways, such as grouping clusters to track
1830
1963
  # your Amazon EMR resource allocation costs. For more information, see
@@ -1906,6 +2039,12 @@ module Aws::EMR
1906
2039
  # The location in Amazon S3 to write the log files of the job flow. If a
1907
2040
  # value is not provided, logs are not created.
1908
2041
  #
2042
+ # @option params [String] :log_encryption_kms_key_id
2043
+ # The AWS KMS customer master key (CMK) used for encrypting log files.
2044
+ # If a value is not provided, the logs will remain encrypted by AES-256.
2045
+ # This attribute is only available with EMR version 5.30.0 and later,
2046
+ # excluding EMR 6.0.0.
2047
+ #
1909
2048
  # @option params [String] :additional_info
1910
2049
  # A JSON string for selecting additional features.
1911
2050
  #
@@ -2099,6 +2238,9 @@ module Aws::EMR
2099
2238
  # Specifies the number of steps that can be executed concurrently. The
2100
2239
  # default value is `1`. The maximum value is `256`.
2101
2240
  #
2241
+ # @option params [Types::ManagedScalingPolicy] :managed_scaling_policy
2242
+ # The specified managed scaling policy for an Amazon EMR cluster.
2243
+ #
2102
2244
  # @return [Types::RunJobFlowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2103
2245
  #
2104
2246
  # * {Types::RunJobFlowOutput#job_flow_id #job_flow_id} => String
@@ -2109,6 +2251,7 @@ module Aws::EMR
2109
2251
  # resp = client.run_job_flow({
2110
2252
  # name: "XmlStringMaxLen256", # required
2111
2253
  # log_uri: "XmlString",
2254
+ # log_encryption_kms_key_id: "XmlString",
2112
2255
  # additional_info: "XmlString",
2113
2256
  # ami_version: "XmlStringMaxLen256",
2114
2257
  # release_label: "XmlStringMaxLen256",
@@ -2328,6 +2471,14 @@ module Aws::EMR
2328
2471
  # ad_domain_join_password: "XmlStringMaxLen256",
2329
2472
  # },
2330
2473
  # step_concurrency_level: 1,
2474
+ # managed_scaling_policy: {
2475
+ # compute_limits: {
2476
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
2477
+ # minimum_capacity_units: 1, # required
2478
+ # maximum_capacity_units: 1, # required
2479
+ # maximum_on_demand_capacity_units: 1,
2480
+ # },
2481
+ # },
2331
2482
  # })
2332
2483
  #
2333
2484
  # @example Response structure
@@ -2480,7 +2631,7 @@ module Aws::EMR
2480
2631
  params: params,
2481
2632
  config: config)
2482
2633
  context[:gem_name] = 'aws-sdk-emr'
2483
- context[:gem_version] = '1.25.0'
2634
+ context[:gem_version] = '1.30.1'
2484
2635
  Seahorse::Client::Request.new(handlers, context)
2485
2636
  end
2486
2637
 
@@ -2546,11 +2697,11 @@ module Aws::EMR
2546
2697
  # The following table lists the valid waiter names, the operations they call,
2547
2698
  # and the default `:delay` and `:max_attempts` values.
2548
2699
  #
2549
- # | waiter_name | params | :delay | :max_attempts |
2550
- # | ------------------ | ------------------- | -------- | ------------- |
2551
- # | cluster_running | {#describe_cluster} | 30 | 60 |
2552
- # | cluster_terminated | {#describe_cluster} | 30 | 60 |
2553
- # | step_complete | {#describe_step} | 30 | 60 |
2700
+ # | waiter_name | params | :delay | :max_attempts |
2701
+ # | ------------------ | ------------------------- | -------- | ------------- |
2702
+ # | cluster_running | {Client#describe_cluster} | 30 | 60 |
2703
+ # | cluster_terminated | {Client#describe_cluster} | 30 | 60 |
2704
+ # | step_complete | {Client#describe_step} | 30 | 60 |
2554
2705
  #
2555
2706
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
2556
2707
  # because the waiter has entered a state that it will not transition
@@ -57,6 +57,8 @@ module Aws::EMR
57
57
  Command = Shapes::StructureShape.new(name: 'Command')
58
58
  CommandList = Shapes::ListShape.new(name: 'CommandList')
59
59
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
60
+ ComputeLimits = Shapes::StructureShape.new(name: 'ComputeLimits')
61
+ ComputeLimitsUnitType = Shapes::StringShape.new(name: 'ComputeLimitsUnitType')
60
62
  Configuration = Shapes::StructureShape.new(name: 'Configuration')
61
63
  ConfigurationList = Shapes::ListShape.new(name: 'ConfigurationList')
62
64
  CreateSecurityConfigurationInput = Shapes::StructureShape.new(name: 'CreateSecurityConfigurationInput')
@@ -87,6 +89,8 @@ module Aws::EMR
87
89
  FailureDetails = Shapes::StructureShape.new(name: 'FailureDetails')
88
90
  GetBlockPublicAccessConfigurationInput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationInput')
89
91
  GetBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationOutput')
92
+ GetManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyInput')
93
+ GetManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyOutput')
90
94
  HadoopJarStepConfig = Shapes::StructureShape.new(name: 'HadoopJarStepConfig')
91
95
  HadoopStepConfig = Shapes::StructureShape.new(name: 'HadoopStepConfig')
92
96
  Instance = Shapes::StructureShape.new(name: 'Instance')
@@ -165,6 +169,7 @@ module Aws::EMR
165
169
  ListStepsInput = Shapes::StructureShape.new(name: 'ListStepsInput')
166
170
  ListStepsOutput = Shapes::StructureShape.new(name: 'ListStepsOutput')
167
171
  Long = Shapes::IntegerShape.new(name: 'Long')
172
+ ManagedScalingPolicy = Shapes::StructureShape.new(name: 'ManagedScalingPolicy')
168
173
  Marker = Shapes::StringShape.new(name: 'Marker')
169
174
  MarketType = Shapes::StringShape.new(name: 'MarketType')
170
175
  MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
@@ -184,8 +189,12 @@ module Aws::EMR
184
189
  PutAutoScalingPolicyOutput = Shapes::StructureShape.new(name: 'PutAutoScalingPolicyOutput')
185
190
  PutBlockPublicAccessConfigurationInput = Shapes::StructureShape.new(name: 'PutBlockPublicAccessConfigurationInput')
186
191
  PutBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'PutBlockPublicAccessConfigurationOutput')
192
+ PutManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'PutManagedScalingPolicyInput')
193
+ PutManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'PutManagedScalingPolicyOutput')
187
194
  RemoveAutoScalingPolicyInput = Shapes::StructureShape.new(name: 'RemoveAutoScalingPolicyInput')
188
195
  RemoveAutoScalingPolicyOutput = Shapes::StructureShape.new(name: 'RemoveAutoScalingPolicyOutput')
196
+ RemoveManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'RemoveManagedScalingPolicyInput')
197
+ RemoveManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'RemoveManagedScalingPolicyOutput')
189
198
  RemoveTagsInput = Shapes::StructureShape.new(name: 'RemoveTagsInput')
190
199
  RemoveTagsOutput = Shapes::StructureShape.new(name: 'RemoveTagsOutput')
191
200
  RepoUpgradeOnBoot = Shapes::StringShape.new(name: 'RepoUpgradeOnBoot')
@@ -350,6 +359,7 @@ module Aws::EMR
350
359
  Cluster.add_member(:ec2_instance_attributes, Shapes::ShapeRef.new(shape: Ec2InstanceAttributes, location_name: "Ec2InstanceAttributes"))
351
360
  Cluster.add_member(:instance_collection_type, Shapes::ShapeRef.new(shape: InstanceCollectionType, location_name: "InstanceCollectionType"))
352
361
  Cluster.add_member(:log_uri, Shapes::ShapeRef.new(shape: String, location_name: "LogUri"))
362
+ Cluster.add_member(:log_encryption_kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "LogEncryptionKmsKeyId"))
353
363
  Cluster.add_member(:requested_ami_version, Shapes::ShapeRef.new(shape: String, location_name: "RequestedAmiVersion"))
354
364
  Cluster.add_member(:running_ami_version, Shapes::ShapeRef.new(shape: String, location_name: "RunningAmiVersion"))
355
365
  Cluster.add_member(:release_label, Shapes::ShapeRef.new(shape: String, location_name: "ReleaseLabel"))
@@ -370,8 +380,8 @@ module Aws::EMR
370
380
  Cluster.add_member(:repo_upgrade_on_boot, Shapes::ShapeRef.new(shape: RepoUpgradeOnBoot, location_name: "RepoUpgradeOnBoot"))
371
381
  Cluster.add_member(:kerberos_attributes, Shapes::ShapeRef.new(shape: KerberosAttributes, location_name: "KerberosAttributes"))
372
382
  Cluster.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "ClusterArn"))
373
- Cluster.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
374
383
  Cluster.add_member(:outpost_arn, Shapes::ShapeRef.new(shape: OptionalArnType, location_name: "OutpostArn"))
384
+ Cluster.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
375
385
  Cluster.struct_class = Types::Cluster
376
386
 
377
387
  ClusterStateChangeReason.add_member(:code, Shapes::ShapeRef.new(shape: ClusterStateChangeReasonCode, location_name: "Code"))
@@ -407,6 +417,12 @@ module Aws::EMR
407
417
 
408
418
  CommandList.member = Shapes::ShapeRef.new(shape: Command)
409
419
 
420
+ ComputeLimits.add_member(:unit_type, Shapes::ShapeRef.new(shape: ComputeLimitsUnitType, required: true, location_name: "UnitType"))
421
+ ComputeLimits.add_member(:minimum_capacity_units, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "MinimumCapacityUnits"))
422
+ ComputeLimits.add_member(:maximum_capacity_units, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "MaximumCapacityUnits"))
423
+ ComputeLimits.add_member(:maximum_on_demand_capacity_units, Shapes::ShapeRef.new(shape: Integer, location_name: "MaximumOnDemandCapacityUnits"))
424
+ ComputeLimits.struct_class = Types::ComputeLimits
425
+
410
426
  Configuration.add_member(:classification, Shapes::ShapeRef.new(shape: String, location_name: "Classification"))
411
427
  Configuration.add_member(:configurations, Shapes::ShapeRef.new(shape: ConfigurationList, location_name: "Configurations"))
412
428
  Configuration.add_member(:properties, Shapes::ShapeRef.new(shape: StringMap, location_name: "Properties"))
@@ -507,6 +523,12 @@ module Aws::EMR
507
523
  GetBlockPublicAccessConfigurationOutput.add_member(:block_public_access_configuration_metadata, Shapes::ShapeRef.new(shape: BlockPublicAccessConfigurationMetadata, required: true, location_name: "BlockPublicAccessConfigurationMetadata"))
508
524
  GetBlockPublicAccessConfigurationOutput.struct_class = Types::GetBlockPublicAccessConfigurationOutput
509
525
 
526
+ GetManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
527
+ GetManagedScalingPolicyInput.struct_class = Types::GetManagedScalingPolicyInput
528
+
529
+ GetManagedScalingPolicyOutput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
530
+ GetManagedScalingPolicyOutput.struct_class = Types::GetManagedScalingPolicyOutput
531
+
510
532
  HadoopJarStepConfig.add_member(:properties, Shapes::ShapeRef.new(shape: KeyValueList, location_name: "Properties"))
511
533
  HadoopJarStepConfig.add_member(:jar, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Jar"))
512
534
  HadoopJarStepConfig.add_member(:main_class, Shapes::ShapeRef.new(shape: XmlString, location_name: "MainClass"))
@@ -714,6 +736,7 @@ module Aws::EMR
714
736
  JobFlowDetail.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "JobFlowId"))
715
737
  JobFlowDetail.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "Name"))
716
738
  JobFlowDetail.add_member(:log_uri, Shapes::ShapeRef.new(shape: XmlString, location_name: "LogUri"))
739
+ JobFlowDetail.add_member(:log_encryption_kms_key_id, Shapes::ShapeRef.new(shape: XmlString, location_name: "LogEncryptionKmsKeyId"))
717
740
  JobFlowDetail.add_member(:ami_version, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "AmiVersion"))
718
741
  JobFlowDetail.add_member(:execution_status_detail, Shapes::ShapeRef.new(shape: JobFlowExecutionStatusDetail, required: true, location_name: "ExecutionStatusDetail"))
719
742
  JobFlowDetail.add_member(:instances, Shapes::ShapeRef.new(shape: JobFlowInstancesDetail, required: true, location_name: "Instances"))
@@ -850,6 +873,9 @@ module Aws::EMR
850
873
  ListStepsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
851
874
  ListStepsOutput.struct_class = Types::ListStepsOutput
852
875
 
876
+ ManagedScalingPolicy.add_member(:compute_limits, Shapes::ShapeRef.new(shape: ComputeLimits, location_name: "ComputeLimits"))
877
+ ManagedScalingPolicy.struct_class = Types::ManagedScalingPolicy
878
+
853
879
  MetricDimension.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "Key"))
854
880
  MetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "Value"))
855
881
  MetricDimension.struct_class = Types::MetricDimension
@@ -899,12 +925,23 @@ module Aws::EMR
899
925
 
900
926
  PutBlockPublicAccessConfigurationOutput.struct_class = Types::PutBlockPublicAccessConfigurationOutput
901
927
 
928
+ PutManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
929
+ PutManagedScalingPolicyInput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, required: true, location_name: "ManagedScalingPolicy"))
930
+ PutManagedScalingPolicyInput.struct_class = Types::PutManagedScalingPolicyInput
931
+
932
+ PutManagedScalingPolicyOutput.struct_class = Types::PutManagedScalingPolicyOutput
933
+
902
934
  RemoveAutoScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
903
935
  RemoveAutoScalingPolicyInput.add_member(:instance_group_id, Shapes::ShapeRef.new(shape: InstanceGroupId, required: true, location_name: "InstanceGroupId"))
904
936
  RemoveAutoScalingPolicyInput.struct_class = Types::RemoveAutoScalingPolicyInput
905
937
 
906
938
  RemoveAutoScalingPolicyOutput.struct_class = Types::RemoveAutoScalingPolicyOutput
907
939
 
940
+ RemoveManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
941
+ RemoveManagedScalingPolicyInput.struct_class = Types::RemoveManagedScalingPolicyInput
942
+
943
+ RemoveManagedScalingPolicyOutput.struct_class = Types::RemoveManagedScalingPolicyOutput
944
+
908
945
  RemoveTagsInput.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
909
946
  RemoveTagsInput.add_member(:tag_keys, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "TagKeys"))
910
947
  RemoveTagsInput.struct_class = Types::RemoveTagsInput
@@ -913,6 +950,7 @@ module Aws::EMR
913
950
 
914
951
  RunJobFlowInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "Name"))
915
952
  RunJobFlowInput.add_member(:log_uri, Shapes::ShapeRef.new(shape: XmlString, location_name: "LogUri"))
953
+ RunJobFlowInput.add_member(:log_encryption_kms_key_id, Shapes::ShapeRef.new(shape: XmlString, location_name: "LogEncryptionKmsKeyId"))
916
954
  RunJobFlowInput.add_member(:additional_info, Shapes::ShapeRef.new(shape: XmlString, location_name: "AdditionalInfo"))
917
955
  RunJobFlowInput.add_member(:ami_version, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "AmiVersion"))
918
956
  RunJobFlowInput.add_member(:release_label, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "ReleaseLabel"))
@@ -935,6 +973,7 @@ module Aws::EMR
935
973
  RunJobFlowInput.add_member(:repo_upgrade_on_boot, Shapes::ShapeRef.new(shape: RepoUpgradeOnBoot, location_name: "RepoUpgradeOnBoot"))
936
974
  RunJobFlowInput.add_member(:kerberos_attributes, Shapes::ShapeRef.new(shape: KerberosAttributes, location_name: "KerberosAttributes"))
937
975
  RunJobFlowInput.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
976
+ RunJobFlowInput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
938
977
  RunJobFlowInput.struct_class = Types::RunJobFlowInput
939
978
 
940
979
  RunJobFlowOutput.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "JobFlowId"))
@@ -1215,6 +1254,14 @@ module Aws::EMR
1215
1254
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1216
1255
  end)
1217
1256
 
1257
+ api.add_operation(:get_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1258
+ o.name = "GetManagedScalingPolicy"
1259
+ o.http_method = "POST"
1260
+ o.http_request_uri = "/"
1261
+ o.input = Shapes::ShapeRef.new(shape: GetManagedScalingPolicyInput)
1262
+ o.output = Shapes::ShapeRef.new(shape: GetManagedScalingPolicyOutput)
1263
+ end)
1264
+
1218
1265
  api.add_operation(:list_bootstrap_actions, Seahorse::Model::Operation.new.tap do |o|
1219
1266
  o.name = "ListBootstrapActions"
1220
1267
  o.http_method = "POST"
@@ -1367,6 +1414,14 @@ module Aws::EMR
1367
1414
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1368
1415
  end)
1369
1416
 
1417
+ api.add_operation(:put_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1418
+ o.name = "PutManagedScalingPolicy"
1419
+ o.http_method = "POST"
1420
+ o.http_request_uri = "/"
1421
+ o.input = Shapes::ShapeRef.new(shape: PutManagedScalingPolicyInput)
1422
+ o.output = Shapes::ShapeRef.new(shape: PutManagedScalingPolicyOutput)
1423
+ end)
1424
+
1370
1425
  api.add_operation(:remove_auto_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1371
1426
  o.name = "RemoveAutoScalingPolicy"
1372
1427
  o.http_method = "POST"
@@ -1375,6 +1430,14 @@ module Aws::EMR
1375
1430
  o.output = Shapes::ShapeRef.new(shape: RemoveAutoScalingPolicyOutput)
1376
1431
  end)
1377
1432
 
1433
+ api.add_operation(:remove_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1434
+ o.name = "RemoveManagedScalingPolicy"
1435
+ o.http_method = "POST"
1436
+ o.http_request_uri = "/"
1437
+ o.input = Shapes::ShapeRef.new(shape: RemoveManagedScalingPolicyInput)
1438
+ o.output = Shapes::ShapeRef.new(shape: RemoveManagedScalingPolicyOutput)
1439
+ end)
1440
+
1378
1441
  api.add_operation(:remove_tags, Seahorse::Model::Operation.new.tap do |o|
1379
1442
  o.name = "RemoveTags"
1380
1443
  o.http_method = "POST"
@@ -6,13 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EMR
9
- # This class provides a resource oriented interface for EMR.
10
- # To create a resource object:
11
- # resource = Aws::EMR::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::EMR::Client.new(region: 'us-west-2')
15
- # resource = Aws::EMR::Resource.new(client: client)
9
+
16
10
  class Resource
17
11
 
18
12
  # @param options ({})
@@ -819,6 +819,12 @@ module Aws::EMR
819
819
  # stored.
820
820
  # @return [String]
821
821
  #
822
+ # @!attribute [rw] log_encryption_kms_key_id
823
+ # The AWS KMS customer master key (CMK) used for encrypting log files.
824
+ # This attribute is only available with EMR version 5.30.0 and later,
825
+ # excluding EMR 6.0.0.
826
+ # @return [String]
827
+ #
822
828
  # @!attribute [rw] requested_ami_version
823
829
  # The AMI version requested for this cluster.
824
830
  # @return [String]
@@ -959,15 +965,15 @@ module Aws::EMR
959
965
  # The Amazon Resource Name of the cluster.
960
966
  # @return [String]
961
967
  #
962
- # @!attribute [rw] step_concurrency_level
963
- # Specifies the number of steps that can be executed concurrently.
964
- # @return [Integer]
965
- #
966
968
  # @!attribute [rw] outpost_arn
967
969
  # The Amazon Resource Name (ARN) of the Outpost where the cluster is
968
970
  # launched.
969
971
  # @return [String]
970
972
  #
973
+ # @!attribute [rw] step_concurrency_level
974
+ # Specifies the number of steps that can be executed concurrently.
975
+ # @return [Integer]
976
+ #
971
977
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/Cluster AWS API Documentation
972
978
  #
973
979
  class Cluster < Struct.new(
@@ -977,6 +983,7 @@ module Aws::EMR
977
983
  :ec2_instance_attributes,
978
984
  :instance_collection_type,
979
985
  :log_uri,
986
+ :log_encryption_kms_key_id,
980
987
  :requested_ami_version,
981
988
  :running_ami_version,
982
989
  :release_label,
@@ -997,8 +1004,8 @@ module Aws::EMR
997
1004
  :repo_upgrade_on_boot,
998
1005
  :kerberos_attributes,
999
1006
  :cluster_arn,
1000
- :step_concurrency_level,
1001
- :outpost_arn)
1007
+ :outpost_arn,
1008
+ :step_concurrency_level)
1002
1009
  include Aws::Structure
1003
1010
  end
1004
1011
 
@@ -1135,6 +1142,60 @@ module Aws::EMR
1135
1142
  include Aws::Structure
1136
1143
  end
1137
1144
 
1145
+ # The EC2 unit limits for a managed scaling policy. The managed scaling
1146
+ # activity of a cluster can not be above or below these limits. The
1147
+ # limit only applies to the core and task nodes. The master node cannot
1148
+ # be scaled after initial configuration.
1149
+ #
1150
+ # @note When making an API call, you may pass ComputeLimits
1151
+ # data as a hash:
1152
+ #
1153
+ # {
1154
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
1155
+ # minimum_capacity_units: 1, # required
1156
+ # maximum_capacity_units: 1, # required
1157
+ # maximum_on_demand_capacity_units: 1,
1158
+ # }
1159
+ #
1160
+ # @!attribute [rw] unit_type
1161
+ # The unit type used for specifying a managed scaling policy.
1162
+ # @return [String]
1163
+ #
1164
+ # @!attribute [rw] minimum_capacity_units
1165
+ # The lower boundary of EC2 units. It is measured through VCPU cores
1166
+ # or instances for instance groups and measured through units for
1167
+ # instance fleets. Managed scaling activities are not allowed beyond
1168
+ # this boundary. The limit only applies to the core and task nodes.
1169
+ # The master node cannot be scaled after initial configuration.
1170
+ # @return [Integer]
1171
+ #
1172
+ # @!attribute [rw] maximum_capacity_units
1173
+ # The upper boundary of EC2 units. It is measured through VCPU cores
1174
+ # or instances for instance groups and measured through units for
1175
+ # instance fleets. Managed scaling activities are not allowed beyond
1176
+ # this boundary. The limit only applies to the core and task nodes.
1177
+ # The master node cannot be scaled after initial configuration.
1178
+ # @return [Integer]
1179
+ #
1180
+ # @!attribute [rw] maximum_on_demand_capacity_units
1181
+ # The upper boundary of on-demand EC2 units. It is measured through
1182
+ # VCPU cores or instances for instance groups and measured through
1183
+ # units for instance fleets. The on-demand units are not allowed to
1184
+ # scale beyond this boundary. The limit only applies to the core and
1185
+ # task nodes. The master node cannot be scaled after initial
1186
+ # configuration.
1187
+ # @return [Integer]
1188
+ #
1189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ComputeLimits AWS API Documentation
1190
+ #
1191
+ class ComputeLimits < Struct.new(
1192
+ :unit_type,
1193
+ :minimum_capacity_units,
1194
+ :maximum_capacity_units,
1195
+ :maximum_on_demand_capacity_units)
1196
+ include Aws::Structure
1197
+ end
1198
+
1138
1199
  # <note markdown="1"> Amazon EMR releases 4.x or later.
1139
1200
  #
1140
1201
  # </note>
@@ -1675,6 +1736,14 @@ module Aws::EMR
1675
1736
  # exception, and public access is allowed on this port. You can change
1676
1737
  # this by updating the block public access configuration to remove the
1677
1738
  # exception.
1739
+ #
1740
+ # <note markdown="1"> For accounts that created clusters in a Region before November 25,
1741
+ # 2019, block public access is disabled by default in that Region. To
1742
+ # use this feature, you must manually enable and configure it. For
1743
+ # accounts that did not create an EMR cluster in a Region before this
1744
+ # date, block public access is enabled by default in that Region.
1745
+ #
1746
+ # </note>
1678
1747
  # @return [Types::BlockPublicAccessConfiguration]
1679
1748
  #
1680
1749
  # @!attribute [rw] block_public_access_configuration_metadata
@@ -1694,6 +1763,37 @@ module Aws::EMR
1694
1763
  include Aws::Structure
1695
1764
  end
1696
1765
 
1766
+ # @note When making an API call, you may pass GetManagedScalingPolicyInput
1767
+ # data as a hash:
1768
+ #
1769
+ # {
1770
+ # cluster_id: "ClusterId", # required
1771
+ # }
1772
+ #
1773
+ # @!attribute [rw] cluster_id
1774
+ # Specifies the ID of the cluster for which the managed scaling policy
1775
+ # will be fetched.
1776
+ # @return [String]
1777
+ #
1778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicyInput AWS API Documentation
1779
+ #
1780
+ class GetManagedScalingPolicyInput < Struct.new(
1781
+ :cluster_id)
1782
+ include Aws::Structure
1783
+ end
1784
+
1785
+ # @!attribute [rw] managed_scaling_policy
1786
+ # Specifies the managed scaling policy that is attached to an Amazon
1787
+ # EMR cluster.
1788
+ # @return [Types::ManagedScalingPolicy]
1789
+ #
1790
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicyOutput AWS API Documentation
1791
+ #
1792
+ class GetManagedScalingPolicyOutput < Struct.new(
1793
+ :managed_scaling_policy)
1794
+ include Aws::Structure
1795
+ end
1796
+
1697
1797
  # A job flow step consisting of a JAR file whose main function will be
1698
1798
  # executed. The main function submits a job for Hadoop to execute and
1699
1799
  # waits for the job to finish or fail.
@@ -3047,6 +3147,12 @@ module Aws::EMR
3047
3147
  # The location in Amazon S3 where log files for the job are stored.
3048
3148
  # @return [String]
3049
3149
  #
3150
+ # @!attribute [rw] log_encryption_kms_key_id
3151
+ # The AWS KMS customer master key (CMK) used for encrypting log files.
3152
+ # This attribute is only available with EMR version 5.30.0 and later,
3153
+ # excluding EMR 6.0.0.
3154
+ # @return [String]
3155
+ #
3050
3156
  # @!attribute [rw] ami_version
3051
3157
  # Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR
3052
3158
  # releases 4.0 and later, `ReleaseLabel` is used. To specify a custom
@@ -3127,6 +3233,7 @@ module Aws::EMR
3127
3233
  :job_flow_id,
3128
3234
  :name,
3129
3235
  :log_uri,
3236
+ :log_encryption_kms_key_id,
3130
3237
  :ami_version,
3131
3238
  :execution_status_detail,
3132
3239
  :instances,
@@ -3998,6 +4105,37 @@ module Aws::EMR
3998
4105
  include Aws::Structure
3999
4106
  end
4000
4107
 
4108
+ # Managed scaling policy for an Amazon EMR cluster. The policy specifies
4109
+ # the limits for resources that can be added or terminated from a
4110
+ # cluster. The policy only applies to the core and task nodes. The
4111
+ # master node cannot be scaled after initial configuration.
4112
+ #
4113
+ # @note When making an API call, you may pass ManagedScalingPolicy
4114
+ # data as a hash:
4115
+ #
4116
+ # {
4117
+ # compute_limits: {
4118
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
4119
+ # minimum_capacity_units: 1, # required
4120
+ # maximum_capacity_units: 1, # required
4121
+ # maximum_on_demand_capacity_units: 1,
4122
+ # },
4123
+ # }
4124
+ #
4125
+ # @!attribute [rw] compute_limits
4126
+ # The EC2 unit limits for a managed scaling policy. The managed
4127
+ # scaling activity of a cluster is not allowed to go above or below
4128
+ # these limits. The limit only applies to the core and task nodes. The
4129
+ # master node cannot be scaled after initial configuration.
4130
+ # @return [Types::ComputeLimits]
4131
+ #
4132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ManagedScalingPolicy AWS API Documentation
4133
+ #
4134
+ class ManagedScalingPolicy < Struct.new(
4135
+ :compute_limits)
4136
+ include Aws::Structure
4137
+ end
4138
+
4001
4139
  # A CloudWatch dimension, which is specified using a `Key` (known as a
4002
4140
  # `Name` in CloudWatch), `Value` pair. By default, Amazon EMR uses one
4003
4141
  # dimension whose `Key` is `JobFlowID` and `Value` is a variable
@@ -4333,6 +4471,14 @@ module Aws::EMR
4333
4471
  # exception, and public access is allowed on this port. You can change
4334
4472
  # this by updating `BlockPublicSecurityGroupRules` to remove the
4335
4473
  # exception.
4474
+ #
4475
+ # <note markdown="1"> For accounts that created clusters in a Region before November 25,
4476
+ # 2019, block public access is disabled by default in that Region. To
4477
+ # use this feature, you must manually enable and configure it. For
4478
+ # accounts that did not create an EMR cluster in a Region before this
4479
+ # date, block public access is enabled by default in that Region.
4480
+ #
4481
+ # </note>
4336
4482
  # @return [Types::BlockPublicAccessConfiguration]
4337
4483
  #
4338
4484
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfigurationInput AWS API Documentation
@@ -4346,6 +4492,42 @@ module Aws::EMR
4346
4492
  #
4347
4493
  class PutBlockPublicAccessConfigurationOutput < Aws::EmptyStructure; end
4348
4494
 
4495
+ # @note When making an API call, you may pass PutManagedScalingPolicyInput
4496
+ # data as a hash:
4497
+ #
4498
+ # {
4499
+ # cluster_id: "ClusterId", # required
4500
+ # managed_scaling_policy: { # required
4501
+ # compute_limits: {
4502
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
4503
+ # minimum_capacity_units: 1, # required
4504
+ # maximum_capacity_units: 1, # required
4505
+ # maximum_on_demand_capacity_units: 1,
4506
+ # },
4507
+ # },
4508
+ # }
4509
+ #
4510
+ # @!attribute [rw] cluster_id
4511
+ # Specifies the ID of an EMR cluster where the managed scaling policy
4512
+ # is attached.
4513
+ # @return [String]
4514
+ #
4515
+ # @!attribute [rw] managed_scaling_policy
4516
+ # Specifies the constraints for the managed scaling policy.
4517
+ # @return [Types::ManagedScalingPolicy]
4518
+ #
4519
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicyInput AWS API Documentation
4520
+ #
4521
+ class PutManagedScalingPolicyInput < Struct.new(
4522
+ :cluster_id,
4523
+ :managed_scaling_policy)
4524
+ include Aws::Structure
4525
+ end
4526
+
4527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicyOutput AWS API Documentation
4528
+ #
4529
+ class PutManagedScalingPolicyOutput < Aws::EmptyStructure; end
4530
+
4349
4531
  # @note When making an API call, you may pass RemoveAutoScalingPolicyInput
4350
4532
  # data as a hash:
4351
4533
  #
@@ -4376,6 +4558,29 @@ module Aws::EMR
4376
4558
  #
4377
4559
  class RemoveAutoScalingPolicyOutput < Aws::EmptyStructure; end
4378
4560
 
4561
+ # @note When making an API call, you may pass RemoveManagedScalingPolicyInput
4562
+ # data as a hash:
4563
+ #
4564
+ # {
4565
+ # cluster_id: "ClusterId", # required
4566
+ # }
4567
+ #
4568
+ # @!attribute [rw] cluster_id
4569
+ # Specifies the ID of the cluster from which the managed scaling
4570
+ # policy will be removed.
4571
+ # @return [String]
4572
+ #
4573
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicyInput AWS API Documentation
4574
+ #
4575
+ class RemoveManagedScalingPolicyInput < Struct.new(
4576
+ :cluster_id)
4577
+ include Aws::Structure
4578
+ end
4579
+
4580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicyOutput AWS API Documentation
4581
+ #
4582
+ class RemoveManagedScalingPolicyOutput < Aws::EmptyStructure; end
4583
+
4379
4584
  # This input identifies a cluster and a list of tags to remove.
4380
4585
  #
4381
4586
  # @note When making an API call, you may pass RemoveTagsInput
@@ -4417,6 +4622,7 @@ module Aws::EMR
4417
4622
  # {
4418
4623
  # name: "XmlStringMaxLen256", # required
4419
4624
  # log_uri: "XmlString",
4625
+ # log_encryption_kms_key_id: "XmlString",
4420
4626
  # additional_info: "XmlString",
4421
4627
  # ami_version: "XmlStringMaxLen256",
4422
4628
  # release_label: "XmlStringMaxLen256",
@@ -4636,6 +4842,14 @@ module Aws::EMR
4636
4842
  # ad_domain_join_password: "XmlStringMaxLen256",
4637
4843
  # },
4638
4844
  # step_concurrency_level: 1,
4845
+ # managed_scaling_policy: {
4846
+ # compute_limits: {
4847
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
4848
+ # minimum_capacity_units: 1, # required
4849
+ # maximum_capacity_units: 1, # required
4850
+ # maximum_on_demand_capacity_units: 1,
4851
+ # },
4852
+ # },
4639
4853
  # }
4640
4854
  #
4641
4855
  # @!attribute [rw] name
@@ -4647,6 +4861,13 @@ module Aws::EMR
4647
4861
  # a value is not provided, logs are not created.
4648
4862
  # @return [String]
4649
4863
  #
4864
+ # @!attribute [rw] log_encryption_kms_key_id
4865
+ # The AWS KMS customer master key (CMK) used for encrypting log files.
4866
+ # If a value is not provided, the logs will remain encrypted by
4867
+ # AES-256. This attribute is only available with EMR version 5.30.0
4868
+ # and later, excluding EMR 6.0.0.
4869
+ # @return [String]
4870
+ #
4650
4871
  # @!attribute [rw] additional_info
4651
4872
  # A JSON string for selecting additional features.
4652
4873
  # @return [String]
@@ -4863,11 +5084,16 @@ module Aws::EMR
4863
5084
  # default value is `1`. The maximum value is `256`.
4864
5085
  # @return [Integer]
4865
5086
  #
5087
+ # @!attribute [rw] managed_scaling_policy
5088
+ # The specified managed scaling policy for an Amazon EMR cluster.
5089
+ # @return [Types::ManagedScalingPolicy]
5090
+ #
4866
5091
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowInput AWS API Documentation
4867
5092
  #
4868
5093
  class RunJobFlowInput < Struct.new(
4869
5094
  :name,
4870
5095
  :log_uri,
5096
+ :log_encryption_kms_key_id,
4871
5097
  :additional_info,
4872
5098
  :ami_version,
4873
5099
  :release_label,
@@ -4889,7 +5115,8 @@ module Aws::EMR
4889
5115
  :ebs_root_volume_size,
4890
5116
  :repo_upgrade_on_boot,
4891
5117
  :kerberos_attributes,
4892
- :step_concurrency_level)
5118
+ :step_concurrency_level,
5119
+ :managed_scaling_policy)
4893
5120
  include Aws::Structure
4894
5121
  end
4895
5122
 
@@ -8,6 +8,69 @@
8
8
  require 'aws-sdk-core/waiters'
9
9
 
10
10
  module Aws::EMR
11
+ # Waiters are utility methods that poll for a particular state to occur
12
+ # on a client. Waiters can fail after a number of attempts at a polling
13
+ # interval defined for the service client.
14
+ #
15
+ # For a list of operations that can be waited for and the
16
+ # client methods called for each operation, see the table below or the
17
+ # {Client#wait_until} field documentation for the {Client}.
18
+ #
19
+ # # Invoking a Waiter
20
+ # To invoke a waiter, call #wait_until on a {Client}. The first parameter
21
+ # is the waiter name, which is specific to the service client and indicates
22
+ # which operation is being waited for. The second parameter is a hash of
23
+ # parameters that are passed to the client method called by the waiter,
24
+ # which varies according to the waiter name.
25
+ #
26
+ # # Wait Failures
27
+ # To catch errors in a waiter, use WaiterFailed,
28
+ # as shown in the following example.
29
+ #
30
+ # rescue rescue Aws::Waiters::Errors::WaiterFailed => error
31
+ # puts "failed waiting for instance running: #{error.message}
32
+ # end
33
+ #
34
+ # # Configuring a Waiter
35
+ # Each waiter has a default polling interval and a maximum number of
36
+ # attempts it will make before returning control to your program.
37
+ # To set these values, use the `max_attempts` and `delay` parameters
38
+ # in your `#wait_until` call.
39
+ # The following example waits for up to 25 seconds, polling every five seconds.
40
+ #
41
+ # client.wait_until(...) do |w|
42
+ # w.max_attempts = 5
43
+ # w.delay = 5
44
+ # end
45
+ #
46
+ # To disable wait failures, set the value of either of these parameters
47
+ # to `nil`.
48
+ #
49
+ # # Extending a Waiter
50
+ # To modify the behavior of waiters, you can register callbacks that are
51
+ # triggered before each polling attempt and before waiting.
52
+ #
53
+ # The following example implements an exponential backoff in a waiter
54
+ # by doubling the amount of time to wait on every attempt.
55
+ #
56
+ # client.wait_until(...) do |w|
57
+ # w.interval = 0 # disable normal sleep
58
+ # w.before_wait do |n, resp|
59
+ # sleep(n ** 2)
60
+ # end
61
+ # end
62
+ #
63
+ # # Available Waiters
64
+ #
65
+ # The following table lists the valid waiter names, the operations they call,
66
+ # and the default `:delay` and `:max_attempts` values.
67
+ #
68
+ # | waiter_name | params | :delay | :max_attempts |
69
+ # | ------------------ | ------------------------- | -------- | ------------- |
70
+ # | cluster_running | {Client#describe_cluster} | 30 | 60 |
71
+ # | cluster_terminated | {Client#describe_cluster} | 30 | 60 |
72
+ # | step_complete | {Client#describe_step} | 30 | 60 |
73
+ #
11
74
  module Waiters
12
75
 
13
76
  class ClusterRunning
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.25.0
4
+ version: 1.30.1
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: 2020-03-09 00:00:00.000000000 Z
11
+ date: 2020-06-11 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.71.0
22
+ version: 3.99.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.71.0
32
+ version: 3.99.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  version: '0'
83
83
  requirements: []
84
84
  rubyforge_project:
85
- rubygems_version: 2.5.2.3
85
+ rubygems_version: 2.7.6.2
86
86
  signing_key:
87
87
  specification_version: 4
88
88
  summary: AWS SDK for Ruby - Amazon EMR