aws-sdk-emr 1.24.0 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f56f854611ded02ec8be6a54e646515a86badba8
4
- data.tar.gz: dc1ad869e3a30b1267c9d551b04d21690decc0f7
2
+ SHA256:
3
+ metadata.gz: 1bc429540019308bec8868576b4df89f48a27f73e5cc911257dd0996b469abe5
4
+ data.tar.gz: f3245930a91c047b1b4c29f4e48c75a3fd00b76487146a6574448bf40712eddd
5
5
  SHA512:
6
- metadata.gz: a0da4021037aeef2bcd6966de5f0f3e6b45534b8b26481a149df150ea5483342c63e2fc86cc273e2aa1454808575816d523b0d1e9a742815e4397d5d34338f28
7
- data.tar.gz: c3468c1750df2fe793431898263266e6205fe2e4e0a5c1a16f4475dea1d40a176b7d31ac0d9c6a2ecc44346177022771da8ae996f14798c51361c42e9c100bba
6
+ metadata.gz: e9e1fe989a4eb077facc5fcd1dc72dcee5c78d584cf6fca821a4b0155037f6d236568ce0e256b3abe66a2dfa7029b39b5127ab9adc526cd98a71e3bc5b08f0bc
7
+ data.tar.gz: 4d199973ed0919218a134666e89a0060d8f65707c3b113976ded2f4f67c7e436bd8887d569c263e579b5ded433b1d1fb591844b56fa8cd722a136d340c4806df
@@ -25,17 +25,20 @@ require_relative 'aws-sdk-emr/customizations'
25
25
  # methods each accept a hash of request parameters and return a response
26
26
  # structure.
27
27
  #
28
+ # emr = Aws::EMR::Client.new
29
+ # resp = emr.add_instance_fleet(params)
30
+ #
28
31
  # See {Client} for more information.
29
32
  #
30
33
  # # Errors
31
34
  #
32
- # Errors returned from Amazon Elastic MapReduce all
33
- # extend {Errors::ServiceError}.
35
+ # Errors returned from Amazon Elastic MapReduce are defined in the
36
+ # {Errors} module and all extend {Errors::ServiceError}.
34
37
  #
35
38
  # begin
36
39
  # # do stuff
37
40
  # rescue Aws::EMR::Errors::ServiceError
38
- # # rescues all service API errors
41
+ # # rescues all Amazon Elastic MapReduce API errors
39
42
  # end
40
43
  #
41
44
  # See {Errors} for more information.
@@ -43,6 +46,6 @@ require_relative 'aws-sdk-emr/customizations'
43
46
  # @service
44
47
  module Aws::EMR
45
48
 
46
- GEM_VERSION = '1.24.0'
49
+ GEM_VERSION = '1.29.0'
47
50
 
48
51
  end
@@ -30,6 +30,18 @@ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
30
30
  Aws::Plugins::GlobalConfiguration.add_identifier(:emr)
31
31
 
32
32
  module Aws::EMR
33
+ # An API client for EMR. To construct a client, you need to configure a `:region` and `:credentials`.
34
+ #
35
+ # client = Aws::EMR::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
+ #
41
+ # For details on configuring region and credentials see
42
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
43
+ #
44
+ # See {#initialize} for a full list of supported configuration options.
33
45
  class Client < Seahorse::Client::Base
34
46
 
35
47
  include Aws::ClientStubs
@@ -93,7 +105,7 @@ module Aws::EMR
93
105
  # @option options [required, String] :region
94
106
  # The AWS region to connect to. The configured `:region` is
95
107
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
108
+ # a default `:region` is searched for in the following locations:
97
109
  #
98
110
  # * `Aws.config[:region]`
99
111
  # * `ENV['AWS_REGION']`
@@ -108,6 +120,12 @@ module Aws::EMR
108
120
  # When set to `true`, a thread polling for endpoints will be running in
109
121
  # the background every 60 secs (default). Defaults to `false`.
110
122
  #
123
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
124
+ # Used only in `adaptive` retry mode. When true, the request will sleep
125
+ # until there is sufficent client side capacity to retry the request.
126
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
127
+ # not retry instead of sleeping.
128
+ #
111
129
  # @option options [Boolean] :client_side_monitoring (false)
112
130
  # When `true`, client-side metrics will be collected for all API requests from
113
131
  # this client.
@@ -132,6 +150,10 @@ module Aws::EMR
132
150
  # When `true`, an attempt is made to coerce request parameters into
133
151
  # the required types.
134
152
  #
153
+ # @option options [Boolean] :correct_clock_skew (true)
154
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
155
+ # a clock skew correction and retry requests with skewed client clocks.
156
+ #
135
157
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
158
  # Set to true to disable SDK automatically adding host prefix
137
159
  # to default service endpoint when available.
@@ -139,7 +161,7 @@ module Aws::EMR
139
161
  # @option options [String] :endpoint
140
162
  # The client endpoint is normally constructed from the `:region`
141
163
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
164
+ # to test endpoints. This should be a valid HTTP(S) URI.
143
165
  #
144
166
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
167
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +176,7 @@ module Aws::EMR
154
176
  # requests fetching endpoints information. Defaults to 60 sec.
155
177
  #
156
178
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
179
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
180
  #
159
181
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
182
  # The log formatter.
@@ -166,15 +188,29 @@ module Aws::EMR
166
188
  # The Logger instance to send log messages to. If this option
167
189
  # is not set, logging will be disabled.
168
190
  #
191
+ # @option options [Integer] :max_attempts (3)
192
+ # An integer representing the maximum number attempts that will be made for
193
+ # a single request, including the initial attempt. For example,
194
+ # setting this value to 5 will result in a request being retried up to
195
+ # 4 times. Used in `standard` and `adaptive` retry modes.
196
+ #
169
197
  # @option options [String] :profile ("default")
170
198
  # Used when loading credentials from the shared credentials file
171
199
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
200
  #
201
+ # @option options [Proc] :retry_backoff
202
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
203
+ # This option is only used in the `legacy` retry mode.
204
+ #
173
205
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
206
+ # The base delay in seconds used by the default backoff function. This option
207
+ # is only used in the `legacy` retry mode.
175
208
  #
176
209
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
210
+ # A delay randomiser function used by the default backoff function.
211
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
212
+ # otherwise a Proc that takes and returns a number. This option is only used
213
+ # in the `legacy` retry mode.
178
214
  #
179
215
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
216
  #
@@ -182,11 +218,30 @@ module Aws::EMR
182
218
  # The maximum number of times to retry failed requests. Only
183
219
  # ~ 500 level server errors and certain ~ 400 level client errors
184
220
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
221
+ # checksum errors, networking errors, timeout errors, auth errors,
222
+ # endpoint discovery, and errors from expired credentials.
223
+ # This option is only used in the `legacy` retry mode.
187
224
  #
188
225
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
226
+ # The maximum number of seconds to delay between retries (0 for no limit)
227
+ # used by the default backoff function. This option is only used in the
228
+ # `legacy` retry mode.
229
+ #
230
+ # @option options [String] :retry_mode ("legacy")
231
+ # Specifies which retry algorithm to use. Values are:
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
190
245
  #
191
246
  # @option options [String] :secret_access_key
192
247
  #
@@ -219,16 +274,15 @@ module Aws::EMR
219
274
  # requests through. Formatted like 'http://proxy.com:123'.
220
275
  #
221
276
  # @option options [Float] :http_open_timeout (15) The number of
222
- # seconds to wait when opening a HTTP session before rasing a
277
+ # seconds to wait when opening a HTTP session before raising a
223
278
  # `Timeout::Error`.
224
279
  #
225
280
  # @option options [Integer] :http_read_timeout (60) The default
226
281
  # number of seconds to wait for response data. This value can
227
- # safely be set
228
- # per-request on the session yeidled by {#session_for}.
282
+ # safely be set per-request on the session.
229
283
  #
230
284
  # @option options [Float] :http_idle_timeout (5) The number of
231
- # seconds a connection is allowed to sit idble before it is
285
+ # seconds a connection is allowed to sit idle before it is
232
286
  # considered stale. Stale connections are closed and removed
233
287
  # from the pool before making a request.
234
288
  #
@@ -237,7 +291,7 @@ module Aws::EMR
237
291
  # request body. This option has no effect unless the request has
238
292
  # "Expect" header set to "100-continue". Defaults to `nil` which
239
293
  # disables this behaviour. This value can safely be set per
240
- # request on the session yeidled by {#session_for}.
294
+ # request on the session.
241
295
  #
242
296
  # @option options [Boolean] :http_wire_trace (false) When `true`,
243
297
  # HTTP debug output will be sent to the `:logger`.
@@ -729,6 +783,7 @@ module Aws::EMR
729
783
  # resp.cluster.ec2_instance_attributes.additional_slave_security_groups[0] #=> String
730
784
  # resp.cluster.instance_collection_type #=> String, one of "INSTANCE_FLEET", "INSTANCE_GROUP"
731
785
  # resp.cluster.log_uri #=> String
786
+ # resp.cluster.log_encryption_kms_key_id #=> String
732
787
  # resp.cluster.requested_ami_version #=> String
733
788
  # resp.cluster.running_ami_version #=> String
734
789
  # resp.cluster.release_label #=> String
@@ -765,8 +820,14 @@ module Aws::EMR
765
820
  # resp.cluster.kerberos_attributes.ad_domain_join_user #=> String
766
821
  # resp.cluster.kerberos_attributes.ad_domain_join_password #=> String
767
822
  # resp.cluster.cluster_arn #=> String
768
- # resp.cluster.step_concurrency_level #=> Integer
769
823
  # resp.cluster.outpost_arn #=> String
824
+ # resp.cluster.step_concurrency_level #=> Integer
825
+ #
826
+ #
827
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
828
+ #
829
+ # * cluster_running
830
+ # * cluster_terminated
770
831
  #
771
832
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster AWS API Documentation
772
833
  #
@@ -830,6 +891,7 @@ module Aws::EMR
830
891
  # resp.job_flows[0].job_flow_id #=> String
831
892
  # resp.job_flows[0].name #=> String
832
893
  # resp.job_flows[0].log_uri #=> String
894
+ # resp.job_flows[0].log_encryption_kms_key_id #=> String
833
895
  # resp.job_flows[0].ami_version #=> String
834
896
  # resp.job_flows[0].execution_status_detail.state #=> String, one of "STARTING", "BOOTSTRAPPING", "RUNNING", "WAITING", "SHUTTING_DOWN", "TERMINATED", "COMPLETED", "FAILED"
835
897
  # resp.job_flows[0].execution_status_detail.creation_date_time #=> Time
@@ -976,6 +1038,11 @@ module Aws::EMR
976
1038
  # resp.step.status.timeline.start_date_time #=> Time
977
1039
  # resp.step.status.timeline.end_date_time #=> Time
978
1040
  #
1041
+ #
1042
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1043
+ #
1044
+ # * step_complete
1045
+ #
979
1046
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep AWS API Documentation
980
1047
  #
981
1048
  # @overload describe_step(params = {})
@@ -1017,6 +1084,38 @@ module Aws::EMR
1017
1084
  req.send_request(options)
1018
1085
  end
1019
1086
 
1087
+ # Fetches the attached managed scaling policy for an Amazon EMR cluster.
1088
+ #
1089
+ # @option params [required, String] :cluster_id
1090
+ # Specifies the ID of the cluster for which the managed scaling policy
1091
+ # will be fetched.
1092
+ #
1093
+ # @return [Types::GetManagedScalingPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1094
+ #
1095
+ # * {Types::GetManagedScalingPolicyOutput#managed_scaling_policy #managed_scaling_policy} => Types::ManagedScalingPolicy
1096
+ #
1097
+ # @example Request syntax with placeholder values
1098
+ #
1099
+ # resp = client.get_managed_scaling_policy({
1100
+ # cluster_id: "ClusterId", # required
1101
+ # })
1102
+ #
1103
+ # @example Response structure
1104
+ #
1105
+ # resp.managed_scaling_policy.compute_limits.unit_type #=> String, one of "InstanceFleetUnits", "Instances", "VCPU"
1106
+ # resp.managed_scaling_policy.compute_limits.minimum_capacity_units #=> Integer
1107
+ # resp.managed_scaling_policy.compute_limits.maximum_capacity_units #=> Integer
1108
+ # resp.managed_scaling_policy.compute_limits.maximum_on_demand_capacity_units #=> Integer
1109
+ #
1110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy AWS API Documentation
1111
+ #
1112
+ # @overload get_managed_scaling_policy(params = {})
1113
+ # @param [Hash] params ({})
1114
+ def get_managed_scaling_policy(params = {}, options = {})
1115
+ req = build_request(:get_managed_scaling_policy, params)
1116
+ req.send_request(options)
1117
+ end
1118
+
1020
1119
  # Provides information about the bootstrap actions associated with a
1021
1120
  # cluster.
1022
1121
  #
@@ -1032,6 +1131,8 @@ module Aws::EMR
1032
1131
  # * {Types::ListBootstrapActionsOutput#bootstrap_actions #bootstrap_actions} => Array&lt;Types::Command&gt;
1033
1132
  # * {Types::ListBootstrapActionsOutput#marker #marker} => String
1034
1133
  #
1134
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1135
+ #
1035
1136
  # @example Request syntax with placeholder values
1036
1137
  #
1037
1138
  # resp = client.list_bootstrap_actions({
@@ -1083,6 +1184,8 @@ module Aws::EMR
1083
1184
  # * {Types::ListClustersOutput#clusters #clusters} => Array&lt;Types::ClusterSummary&gt;
1084
1185
  # * {Types::ListClustersOutput#marker #marker} => String
1085
1186
  #
1187
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1188
+ #
1086
1189
  # @example Request syntax with placeholder values
1087
1190
  #
1088
1191
  # resp = client.list_clusters({
@@ -1136,6 +1239,8 @@ module Aws::EMR
1136
1239
  # * {Types::ListInstanceFleetsOutput#instance_fleets #instance_fleets} => Array&lt;Types::InstanceFleet&gt;
1137
1240
  # * {Types::ListInstanceFleetsOutput#marker #marker} => String
1138
1241
  #
1242
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1243
+ #
1139
1244
  # @example Request syntax with placeholder values
1140
1245
  #
1141
1246
  # resp = client.list_instance_fleets({
@@ -1203,6 +1308,8 @@ module Aws::EMR
1203
1308
  # * {Types::ListInstanceGroupsOutput#instance_groups #instance_groups} => Array&lt;Types::InstanceGroup&gt;
1204
1309
  # * {Types::ListInstanceGroupsOutput#marker #marker} => String
1205
1310
  #
1311
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1312
+ #
1206
1313
  # @example Request syntax with placeholder values
1207
1314
  #
1208
1315
  # resp = client.list_instance_groups({
@@ -1319,6 +1426,8 @@ module Aws::EMR
1319
1426
  # * {Types::ListInstancesOutput#instances #instances} => Array&lt;Types::Instance&gt;
1320
1427
  # * {Types::ListInstancesOutput#marker #marker} => String
1321
1428
  #
1429
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1430
+ #
1322
1431
  # @example Request syntax with placeholder values
1323
1432
  #
1324
1433
  # resp = client.list_instances({
@@ -1378,6 +1487,8 @@ module Aws::EMR
1378
1487
  # * {Types::ListSecurityConfigurationsOutput#security_configurations #security_configurations} => Array&lt;Types::SecurityConfigurationSummary&gt;
1379
1488
  # * {Types::ListSecurityConfigurationsOutput#marker #marker} => String
1380
1489
  #
1490
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1491
+ #
1381
1492
  # @example Request syntax with placeholder values
1382
1493
  #
1383
1494
  # resp = client.list_security_configurations({
@@ -1424,6 +1535,8 @@ module Aws::EMR
1424
1535
  # * {Types::ListStepsOutput#steps #steps} => Array&lt;Types::StepSummary&gt;
1425
1536
  # * {Types::ListStepsOutput#marker #marker} => String
1426
1537
  #
1538
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1539
+ #
1427
1540
  # @example Request syntax with placeholder values
1428
1541
  #
1429
1542
  # resp = client.list_steps({
@@ -1720,6 +1833,14 @@ module Aws::EMR
1720
1833
  # this by updating `BlockPublicSecurityGroupRules` to remove the
1721
1834
  # exception.
1722
1835
  #
1836
+ # <note markdown="1"> For accounts that created clusters in a Region before November 25,
1837
+ # 2019, block public access is disabled by default in that Region. To
1838
+ # use this feature, you must manually enable and configure it. For
1839
+ # accounts that did not create an EMR cluster in a Region before this
1840
+ # date, block public access is enabled by default in that Region.
1841
+ #
1842
+ # </note>
1843
+ #
1723
1844
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1724
1845
  #
1725
1846
  # @example Request syntax with placeholder values
@@ -1745,6 +1866,44 @@ module Aws::EMR
1745
1866
  req.send_request(options)
1746
1867
  end
1747
1868
 
1869
+ # Creates or updates a managed scaling policy for an Amazon EMR cluster.
1870
+ # The managed scaling policy defines the limits for resources, such as
1871
+ # EC2 instances that can be added or terminated from a cluster. The
1872
+ # policy only applies to the core and task nodes. The master node cannot
1873
+ # be scaled after initial configuration.
1874
+ #
1875
+ # @option params [required, String] :cluster_id
1876
+ # Specifies the ID of an EMR cluster where the managed scaling policy is
1877
+ # attached.
1878
+ #
1879
+ # @option params [required, Types::ManagedScalingPolicy] :managed_scaling_policy
1880
+ # Specifies the constraints for the managed scaling policy.
1881
+ #
1882
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1883
+ #
1884
+ # @example Request syntax with placeholder values
1885
+ #
1886
+ # resp = client.put_managed_scaling_policy({
1887
+ # cluster_id: "ClusterId", # required
1888
+ # managed_scaling_policy: { # required
1889
+ # compute_limits: {
1890
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
1891
+ # minimum_capacity_units: 1, # required
1892
+ # maximum_capacity_units: 1, # required
1893
+ # maximum_on_demand_capacity_units: 1,
1894
+ # },
1895
+ # },
1896
+ # })
1897
+ #
1898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy AWS API Documentation
1899
+ #
1900
+ # @overload put_managed_scaling_policy(params = {})
1901
+ # @param [Hash] params ({})
1902
+ def put_managed_scaling_policy(params = {}, options = {})
1903
+ req = build_request(:put_managed_scaling_policy, params)
1904
+ req.send_request(options)
1905
+ end
1906
+
1748
1907
  # Removes an automatic scaling policy from a specified instance group
1749
1908
  # within an EMR cluster.
1750
1909
  #
@@ -1774,6 +1933,29 @@ module Aws::EMR
1774
1933
  req.send_request(options)
1775
1934
  end
1776
1935
 
1936
+ # Removes a managed scaling policy from a specified EMR cluster.
1937
+ #
1938
+ # @option params [required, String] :cluster_id
1939
+ # Specifies the ID of the cluster from which the managed scaling policy
1940
+ # will be removed.
1941
+ #
1942
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1943
+ #
1944
+ # @example Request syntax with placeholder values
1945
+ #
1946
+ # resp = client.remove_managed_scaling_policy({
1947
+ # cluster_id: "ClusterId", # required
1948
+ # })
1949
+ #
1950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy AWS API Documentation
1951
+ #
1952
+ # @overload remove_managed_scaling_policy(params = {})
1953
+ # @param [Hash] params ({})
1954
+ def remove_managed_scaling_policy(params = {}, options = {})
1955
+ req = build_request(:remove_managed_scaling_policy, params)
1956
+ req.send_request(options)
1957
+ end
1958
+
1777
1959
  # Removes tags from an Amazon EMR resource. Tags make it easier to
1778
1960
  # associate clusters in various ways, such as grouping clusters to track
1779
1961
  # your Amazon EMR resource allocation costs. For more information, see
@@ -1855,6 +2037,12 @@ module Aws::EMR
1855
2037
  # The location in Amazon S3 to write the log files of the job flow. If a
1856
2038
  # value is not provided, logs are not created.
1857
2039
  #
2040
+ # @option params [String] :log_encryption_kms_key_id
2041
+ # The AWS KMS customer master key (CMK) used for encrypting log files.
2042
+ # If a value is not provided, the logs will remain encrypted by AES-256.
2043
+ # This attribute is only available with EMR version 5.30.0 and later,
2044
+ # excluding EMR 6.0.0.
2045
+ #
1858
2046
  # @option params [String] :additional_info
1859
2047
  # A JSON string for selecting additional features.
1860
2048
  #
@@ -2048,6 +2236,9 @@ module Aws::EMR
2048
2236
  # Specifies the number of steps that can be executed concurrently. The
2049
2237
  # default value is `1`. The maximum value is `256`.
2050
2238
  #
2239
+ # @option params [Types::ManagedScalingPolicy] :managed_scaling_policy
2240
+ # The specified managed scaling policy for an Amazon EMR cluster.
2241
+ #
2051
2242
  # @return [Types::RunJobFlowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2052
2243
  #
2053
2244
  # * {Types::RunJobFlowOutput#job_flow_id #job_flow_id} => String
@@ -2058,6 +2249,7 @@ module Aws::EMR
2058
2249
  # resp = client.run_job_flow({
2059
2250
  # name: "XmlStringMaxLen256", # required
2060
2251
  # log_uri: "XmlString",
2252
+ # log_encryption_kms_key_id: "XmlString",
2061
2253
  # additional_info: "XmlString",
2062
2254
  # ami_version: "XmlStringMaxLen256",
2063
2255
  # release_label: "XmlStringMaxLen256",
@@ -2277,6 +2469,14 @@ module Aws::EMR
2277
2469
  # ad_domain_join_password: "XmlStringMaxLen256",
2278
2470
  # },
2279
2471
  # step_concurrency_level: 1,
2472
+ # managed_scaling_policy: {
2473
+ # compute_limits: {
2474
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
2475
+ # minimum_capacity_units: 1, # required
2476
+ # maximum_capacity_units: 1, # required
2477
+ # maximum_on_demand_capacity_units: 1,
2478
+ # },
2479
+ # },
2280
2480
  # })
2281
2481
  #
2282
2482
  # @example Response structure
@@ -2429,7 +2629,7 @@ module Aws::EMR
2429
2629
  params: params,
2430
2630
  config: config)
2431
2631
  context[:gem_name] = 'aws-sdk-emr'
2432
- context[:gem_version] = '1.24.0'
2632
+ context[:gem_version] = '1.29.0'
2433
2633
  Seahorse::Client::Request.new(handlers, context)
2434
2634
  end
2435
2635
 
@@ -2495,11 +2695,11 @@ module Aws::EMR
2495
2695
  # The following table lists the valid waiter names, the operations they call,
2496
2696
  # and the default `:delay` and `:max_attempts` values.
2497
2697
  #
2498
- # | waiter_name | params | :delay | :max_attempts |
2499
- # | ------------------ | ------------------- | -------- | ------------- |
2500
- # | cluster_running | {#describe_cluster} | 30 | 60 |
2501
- # | cluster_terminated | {#describe_cluster} | 30 | 60 |
2502
- # | step_complete | {#describe_step} | 30 | 60 |
2698
+ # | waiter_name | params | :delay | :max_attempts |
2699
+ # | ------------------ | ------------------------- | -------- | ------------- |
2700
+ # | cluster_running | {Client#describe_cluster} | 30 | 60 |
2701
+ # | cluster_terminated | {Client#describe_cluster} | 30 | 60 |
2702
+ # | step_complete | {Client#describe_step} | 30 | 60 |
2503
2703
  #
2504
2704
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
2505
2705
  # 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"))
@@ -702,6 +724,8 @@ module Aws::EMR
702
724
 
703
725
  InstanceTypeSpecificationList.member = Shapes::ShapeRef.new(shape: InstanceTypeSpecification)
704
726
 
727
+ InternalServerError.struct_class = Types::InternalServerError
728
+
705
729
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
706
730
  InternalServerException.struct_class = Types::InternalServerException
707
731
 
@@ -712,6 +736,7 @@ module Aws::EMR
712
736
  JobFlowDetail.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "JobFlowId"))
713
737
  JobFlowDetail.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "Name"))
714
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"))
715
740
  JobFlowDetail.add_member(:ami_version, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "AmiVersion"))
716
741
  JobFlowDetail.add_member(:execution_status_detail, Shapes::ShapeRef.new(shape: JobFlowExecutionStatusDetail, required: true, location_name: "ExecutionStatusDetail"))
717
742
  JobFlowDetail.add_member(:instances, Shapes::ShapeRef.new(shape: JobFlowInstancesDetail, required: true, location_name: "Instances"))
@@ -848,6 +873,9 @@ module Aws::EMR
848
873
  ListStepsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
849
874
  ListStepsOutput.struct_class = Types::ListStepsOutput
850
875
 
876
+ ManagedScalingPolicy.add_member(:compute_limits, Shapes::ShapeRef.new(shape: ComputeLimits, location_name: "ComputeLimits"))
877
+ ManagedScalingPolicy.struct_class = Types::ManagedScalingPolicy
878
+
851
879
  MetricDimension.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "Key"))
852
880
  MetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "Value"))
853
881
  MetricDimension.struct_class = Types::MetricDimension
@@ -897,12 +925,23 @@ module Aws::EMR
897
925
 
898
926
  PutBlockPublicAccessConfigurationOutput.struct_class = Types::PutBlockPublicAccessConfigurationOutput
899
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
+
900
934
  RemoveAutoScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
901
935
  RemoveAutoScalingPolicyInput.add_member(:instance_group_id, Shapes::ShapeRef.new(shape: InstanceGroupId, required: true, location_name: "InstanceGroupId"))
902
936
  RemoveAutoScalingPolicyInput.struct_class = Types::RemoveAutoScalingPolicyInput
903
937
 
904
938
  RemoveAutoScalingPolicyOutput.struct_class = Types::RemoveAutoScalingPolicyOutput
905
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
+
906
945
  RemoveTagsInput.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
907
946
  RemoveTagsInput.add_member(:tag_keys, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "TagKeys"))
908
947
  RemoveTagsInput.struct_class = Types::RemoveTagsInput
@@ -911,6 +950,7 @@ module Aws::EMR
911
950
 
912
951
  RunJobFlowInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "Name"))
913
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"))
914
954
  RunJobFlowInput.add_member(:additional_info, Shapes::ShapeRef.new(shape: XmlString, location_name: "AdditionalInfo"))
915
955
  RunJobFlowInput.add_member(:ami_version, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "AmiVersion"))
916
956
  RunJobFlowInput.add_member(:release_label, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "ReleaseLabel"))
@@ -933,6 +973,7 @@ module Aws::EMR
933
973
  RunJobFlowInput.add_member(:repo_upgrade_on_boot, Shapes::ShapeRef.new(shape: RepoUpgradeOnBoot, location_name: "RepoUpgradeOnBoot"))
934
974
  RunJobFlowInput.add_member(:kerberos_attributes, Shapes::ShapeRef.new(shape: KerberosAttributes, location_name: "KerberosAttributes"))
935
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"))
936
977
  RunJobFlowInput.struct_class = Types::RunJobFlowInput
937
978
 
938
979
  RunJobFlowOutput.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "JobFlowId"))
@@ -1213,6 +1254,14 @@ module Aws::EMR
1213
1254
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1214
1255
  end)
1215
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
+
1216
1265
  api.add_operation(:list_bootstrap_actions, Seahorse::Model::Operation.new.tap do |o|
1217
1266
  o.name = "ListBootstrapActions"
1218
1267
  o.http_method = "POST"
@@ -1365,6 +1414,14 @@ module Aws::EMR
1365
1414
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1366
1415
  end)
1367
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
+
1368
1425
  api.add_operation(:remove_auto_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1369
1426
  o.name = "RemoveAutoScalingPolicy"
1370
1427
  o.http_method = "POST"
@@ -1373,6 +1430,14 @@ module Aws::EMR
1373
1430
  o.output = Shapes::ShapeRef.new(shape: RemoveAutoScalingPolicyOutput)
1374
1431
  end)
1375
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
+
1376
1441
  api.add_operation(:remove_tags, Seahorse::Model::Operation.new.tap do |o|
1377
1442
  o.name = "RemoveTags"
1378
1443
  o.http_method = "POST"
@@ -6,10 +6,45 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EMR
9
+
10
+ # When EMR returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::EMR::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all EMR errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::EMR::Errors::ServiceError
18
+ # # rescues all EMR API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {InternalServerError}
29
+ # * {InternalServerException}
30
+ # * {InvalidRequestException}
31
+ #
32
+ # Additionally, error classes are dynamically generated for service errors based on the error code
33
+ # if they are not defined above.
9
34
  module Errors
10
35
 
11
36
  extend Aws::Errors::DynamicErrors
12
37
 
38
+ class InternalServerError < ServiceError
39
+
40
+ # @param [Seahorse::Client::RequestContext] context
41
+ # @param [String] message
42
+ # @param [Aws::EMR::Types::InternalServerError] data
43
+ def initialize(context, message, data = Aws::EmptyStructure.new)
44
+ super(context, message, data)
45
+ end
46
+ end
47
+
13
48
  class InternalServerException < ServiceError
14
49
 
15
50
  # @param [Seahorse::Client::RequestContext] context
@@ -23,7 +58,6 @@ module Aws::EMR
23
58
  def message
24
59
  @message || @data[:message]
25
60
  end
26
-
27
61
  end
28
62
 
29
63
  class InvalidRequestException < ServiceError
@@ -44,7 +78,6 @@ module Aws::EMR
44
78
  def message
45
79
  @message || @data[:message]
46
80
  end
47
-
48
81
  end
49
82
 
50
83
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EMR
9
+
9
10
  class Resource
10
11
 
11
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.
@@ -2994,6 +3094,13 @@ module Aws::EMR
2994
3094
  include Aws::Structure
2995
3095
  end
2996
3096
 
3097
+ # Indicates that an error occurred while processing the request and that
3098
+ # the request was not completed.
3099
+ #
3100
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InternalServerError AWS API Documentation
3101
+ #
3102
+ class InternalServerError < Aws::EmptyStructure; end
3103
+
2997
3104
  # This exception occurs when there is an internal failure in the EMR
2998
3105
  # service.
2999
3106
  #
@@ -3040,6 +3147,12 @@ module Aws::EMR
3040
3147
  # The location in Amazon S3 where log files for the job are stored.
3041
3148
  # @return [String]
3042
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
+ #
3043
3156
  # @!attribute [rw] ami_version
3044
3157
  # Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR
3045
3158
  # releases 4.0 and later, `ReleaseLabel` is used. To specify a custom
@@ -3120,6 +3233,7 @@ module Aws::EMR
3120
3233
  :job_flow_id,
3121
3234
  :name,
3122
3235
  :log_uri,
3236
+ :log_encryption_kms_key_id,
3123
3237
  :ami_version,
3124
3238
  :execution_status_detail,
3125
3239
  :instances,
@@ -3991,6 +4105,37 @@ module Aws::EMR
3991
4105
  include Aws::Structure
3992
4106
  end
3993
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
+
3994
4139
  # A CloudWatch dimension, which is specified using a `Key` (known as a
3995
4140
  # `Name` in CloudWatch), `Value` pair. By default, Amazon EMR uses one
3996
4141
  # dimension whose `Key` is `JobFlowID` and `Value` is a variable
@@ -4326,6 +4471,14 @@ module Aws::EMR
4326
4471
  # exception, and public access is allowed on this port. You can change
4327
4472
  # this by updating `BlockPublicSecurityGroupRules` to remove the
4328
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>
4329
4482
  # @return [Types::BlockPublicAccessConfiguration]
4330
4483
  #
4331
4484
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfigurationInput AWS API Documentation
@@ -4339,6 +4492,42 @@ module Aws::EMR
4339
4492
  #
4340
4493
  class PutBlockPublicAccessConfigurationOutput < Aws::EmptyStructure; end
4341
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
+
4342
4531
  # @note When making an API call, you may pass RemoveAutoScalingPolicyInput
4343
4532
  # data as a hash:
4344
4533
  #
@@ -4369,6 +4558,29 @@ module Aws::EMR
4369
4558
  #
4370
4559
  class RemoveAutoScalingPolicyOutput < Aws::EmptyStructure; end
4371
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
+
4372
4584
  # This input identifies a cluster and a list of tags to remove.
4373
4585
  #
4374
4586
  # @note When making an API call, you may pass RemoveTagsInput
@@ -4410,6 +4622,7 @@ module Aws::EMR
4410
4622
  # {
4411
4623
  # name: "XmlStringMaxLen256", # required
4412
4624
  # log_uri: "XmlString",
4625
+ # log_encryption_kms_key_id: "XmlString",
4413
4626
  # additional_info: "XmlString",
4414
4627
  # ami_version: "XmlStringMaxLen256",
4415
4628
  # release_label: "XmlStringMaxLen256",
@@ -4629,6 +4842,14 @@ module Aws::EMR
4629
4842
  # ad_domain_join_password: "XmlStringMaxLen256",
4630
4843
  # },
4631
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
+ # },
4632
4853
  # }
4633
4854
  #
4634
4855
  # @!attribute [rw] name
@@ -4640,6 +4861,13 @@ module Aws::EMR
4640
4861
  # a value is not provided, logs are not created.
4641
4862
  # @return [String]
4642
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
+ #
4643
4871
  # @!attribute [rw] additional_info
4644
4872
  # A JSON string for selecting additional features.
4645
4873
  # @return [String]
@@ -4856,11 +5084,16 @@ module Aws::EMR
4856
5084
  # default value is `1`. The maximum value is `256`.
4857
5085
  # @return [Integer]
4858
5086
  #
5087
+ # @!attribute [rw] managed_scaling_policy
5088
+ # The specified managed scaling policy for an Amazon EMR cluster.
5089
+ # @return [Types::ManagedScalingPolicy]
5090
+ #
4859
5091
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowInput AWS API Documentation
4860
5092
  #
4861
5093
  class RunJobFlowInput < Struct.new(
4862
5094
  :name,
4863
5095
  :log_uri,
5096
+ :log_encryption_kms_key_id,
4864
5097
  :additional_info,
4865
5098
  :ami_version,
4866
5099
  :release_label,
@@ -4882,7 +5115,8 @@ module Aws::EMR
4882
5115
  :ebs_root_volume_size,
4883
5116
  :repo_upgrade_on_boot,
4884
5117
  :kerberos_attributes,
4885
- :step_concurrency_level)
5118
+ :step_concurrency_level,
5119
+ :managed_scaling_policy)
4886
5120
  include Aws::Structure
4887
5121
  end
4888
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.24.0
4
+ version: 1.29.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: 2019-11-22 00:00:00.000000000 Z
11
+ date: 2020-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -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