aws-sdk-emr 1.25.0 → 1.26.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: 7364e48d023c82cfb9a9f961f09d829168eea374
4
- data.tar.gz: 0dd8ba8792ad46b4e8ab153d4586b40842e6ea67
2
+ SHA256:
3
+ metadata.gz: 29c230648d4beaedcfe0dc2194b50c2de504547f3b898d34afb9d110de5880d3
4
+ data.tar.gz: 4b1e025932579a7b5c44645e8c4679043f3f9f717064819ec1f5aa2eb8aaaf09
5
5
  SHA512:
6
- metadata.gz: 4d0b1d55201ae417a3218afc4c006b2ef85626a3a9596b7e5fb00a567da8b0f8528255577e894a4c6d752de80fe0ae5640fd063905ee45f9ff2a8123048f92f2
7
- data.tar.gz: 536897404c4377b53465a129e31906d5314e89395bed8ba4bda97c3bc3ea605a4ccf146cc671bede6759c70b58018724a3d68beefd0e96a30b0f0909194eddd1
6
+ metadata.gz: 99ac1ee4933e5b100accb396e3c22f7972c00e4e685ad79e6178254a944e483466642451641c4ad11e2cfd0e3facbdd26df25de71fd941911ed07b93307d8a84
7
+ data.tar.gz: f29f81f25703790f22c13ffb8398876a5e3ce4c0fe5baff82d74ce908a7e1215e2775ab3cacd0986be4b27619bf56556c937fd7751f5ab614b736ee0c68c9539
@@ -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.26.0'
50
50
 
51
51
  end
@@ -32,11 +32,11 @@ Aws::Plugins::GlobalConfiguration.add_identifier(:emr)
32
32
  module Aws::EMR
33
33
  # An API client for EMR. To construct a client, you need to configure a `:region` and `:credentials`.
34
34
  #
35
- # client = Aws::EMR::Client.new(
36
- # region: region_name,
37
- # credentials: credentials,
38
- # # ...
39
- # )
35
+ # client = Aws::EMR::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
40
  #
41
41
  # For details on configuring region and credentials see
42
42
  # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
@@ -229,15 +229,19 @@ module Aws::EMR
229
229
  #
230
230
  # @option options [String] :retry_mode ("legacy")
231
231
  # 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.
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
+ #
241
245
  #
242
246
  # @option options [String] :secret_access_key
243
247
  #
@@ -275,8 +279,7 @@ module Aws::EMR
275
279
  #
276
280
  # @option options [Integer] :http_read_timeout (60) The default
277
281
  # 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}.
282
+ # safely be set per-request on the session.
280
283
  #
281
284
  # @option options [Float] :http_idle_timeout (5) The number of
282
285
  # seconds a connection is allowed to sit idle before it is
@@ -288,7 +291,7 @@ module Aws::EMR
288
291
  # request body. This option has no effect unless the request has
289
292
  # "Expect" header set to "100-continue". Defaults to `nil` which
290
293
  # disables this behaviour. This value can safely be set per
291
- # request on the session yielded by {#session_for}.
294
+ # request on the session.
292
295
  #
293
296
  # @option options [Boolean] :http_wire_trace (false) When `true`,
294
297
  # HTTP debug output will be sent to the `:logger`.
@@ -816,8 +819,14 @@ module Aws::EMR
816
819
  # resp.cluster.kerberos_attributes.ad_domain_join_user #=> String
817
820
  # resp.cluster.kerberos_attributes.ad_domain_join_password #=> String
818
821
  # resp.cluster.cluster_arn #=> String
819
- # resp.cluster.step_concurrency_level #=> Integer
820
822
  # resp.cluster.outpost_arn #=> String
823
+ # resp.cluster.step_concurrency_level #=> Integer
824
+ #
825
+ #
826
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
827
+ #
828
+ # * cluster_running
829
+ # * cluster_terminated
821
830
  #
822
831
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster AWS API Documentation
823
832
  #
@@ -1027,6 +1036,11 @@ module Aws::EMR
1027
1036
  # resp.step.status.timeline.start_date_time #=> Time
1028
1037
  # resp.step.status.timeline.end_date_time #=> Time
1029
1038
  #
1039
+ #
1040
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1041
+ #
1042
+ # * step_complete
1043
+ #
1030
1044
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep AWS API Documentation
1031
1045
  #
1032
1046
  # @overload describe_step(params = {})
@@ -1068,6 +1082,38 @@ module Aws::EMR
1068
1082
  req.send_request(options)
1069
1083
  end
1070
1084
 
1085
+ # Fetches the attached managed scaling policy for an Amazon EMR cluster.
1086
+ #
1087
+ # @option params [required, String] :cluster_id
1088
+ # Specifies the ID of the cluster for which the managed scaling policy
1089
+ # will be fetched.
1090
+ #
1091
+ # @return [Types::GetManagedScalingPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1092
+ #
1093
+ # * {Types::GetManagedScalingPolicyOutput#managed_scaling_policy #managed_scaling_policy} => Types::ManagedScalingPolicy
1094
+ #
1095
+ # @example Request syntax with placeholder values
1096
+ #
1097
+ # resp = client.get_managed_scaling_policy({
1098
+ # cluster_id: "ClusterId", # required
1099
+ # })
1100
+ #
1101
+ # @example Response structure
1102
+ #
1103
+ # resp.managed_scaling_policy.compute_limits.unit_type #=> String, one of "InstanceFleetUnits", "Instances", "VCPU"
1104
+ # resp.managed_scaling_policy.compute_limits.minimum_capacity_units #=> Integer
1105
+ # resp.managed_scaling_policy.compute_limits.maximum_capacity_units #=> Integer
1106
+ # resp.managed_scaling_policy.compute_limits.maximum_on_demand_capacity_units #=> Integer
1107
+ #
1108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy AWS API Documentation
1109
+ #
1110
+ # @overload get_managed_scaling_policy(params = {})
1111
+ # @param [Hash] params ({})
1112
+ def get_managed_scaling_policy(params = {}, options = {})
1113
+ req = build_request(:get_managed_scaling_policy, params)
1114
+ req.send_request(options)
1115
+ end
1116
+
1071
1117
  # Provides information about the bootstrap actions associated with a
1072
1118
  # cluster.
1073
1119
  #
@@ -1083,6 +1129,8 @@ module Aws::EMR
1083
1129
  # * {Types::ListBootstrapActionsOutput#bootstrap_actions #bootstrap_actions} => Array<Types::Command>
1084
1130
  # * {Types::ListBootstrapActionsOutput#marker #marker} => String
1085
1131
  #
1132
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1133
+ #
1086
1134
  # @example Request syntax with placeholder values
1087
1135
  #
1088
1136
  # resp = client.list_bootstrap_actions({
@@ -1134,6 +1182,8 @@ module Aws::EMR
1134
1182
  # * {Types::ListClustersOutput#clusters #clusters} => Array<Types::ClusterSummary>
1135
1183
  # * {Types::ListClustersOutput#marker #marker} => String
1136
1184
  #
1185
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1186
+ #
1137
1187
  # @example Request syntax with placeholder values
1138
1188
  #
1139
1189
  # resp = client.list_clusters({
@@ -1187,6 +1237,8 @@ module Aws::EMR
1187
1237
  # * {Types::ListInstanceFleetsOutput#instance_fleets #instance_fleets} => Array<Types::InstanceFleet>
1188
1238
  # * {Types::ListInstanceFleetsOutput#marker #marker} => String
1189
1239
  #
1240
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1241
+ #
1190
1242
  # @example Request syntax with placeholder values
1191
1243
  #
1192
1244
  # resp = client.list_instance_fleets({
@@ -1254,6 +1306,8 @@ module Aws::EMR
1254
1306
  # * {Types::ListInstanceGroupsOutput#instance_groups #instance_groups} => Array<Types::InstanceGroup>
1255
1307
  # * {Types::ListInstanceGroupsOutput#marker #marker} => String
1256
1308
  #
1309
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1310
+ #
1257
1311
  # @example Request syntax with placeholder values
1258
1312
  #
1259
1313
  # resp = client.list_instance_groups({
@@ -1370,6 +1424,8 @@ module Aws::EMR
1370
1424
  # * {Types::ListInstancesOutput#instances #instances} => Array<Types::Instance>
1371
1425
  # * {Types::ListInstancesOutput#marker #marker} => String
1372
1426
  #
1427
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1428
+ #
1373
1429
  # @example Request syntax with placeholder values
1374
1430
  #
1375
1431
  # resp = client.list_instances({
@@ -1429,6 +1485,8 @@ module Aws::EMR
1429
1485
  # * {Types::ListSecurityConfigurationsOutput#security_configurations #security_configurations} => Array<Types::SecurityConfigurationSummary>
1430
1486
  # * {Types::ListSecurityConfigurationsOutput#marker #marker} => String
1431
1487
  #
1488
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1489
+ #
1432
1490
  # @example Request syntax with placeholder values
1433
1491
  #
1434
1492
  # resp = client.list_security_configurations({
@@ -1475,6 +1533,8 @@ module Aws::EMR
1475
1533
  # * {Types::ListStepsOutput#steps #steps} => Array<Types::StepSummary>
1476
1534
  # * {Types::ListStepsOutput#marker #marker} => String
1477
1535
  #
1536
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1537
+ #
1478
1538
  # @example Request syntax with placeholder values
1479
1539
  #
1480
1540
  # resp = client.list_steps({
@@ -1771,6 +1831,14 @@ module Aws::EMR
1771
1831
  # this by updating `BlockPublicSecurityGroupRules` to remove the
1772
1832
  # exception.
1773
1833
  #
1834
+ # <note markdown="1"> For accounts that created clusters in a Region before November 25,
1835
+ # 2019, block public access is disabled by default in that Region. To
1836
+ # use this feature, you must manually enable and configure it. For
1837
+ # accounts that did not create an EMR cluster in a Region before this
1838
+ # date, block public access is enabled by default in that Region.
1839
+ #
1840
+ # </note>
1841
+ #
1774
1842
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1775
1843
  #
1776
1844
  # @example Request syntax with placeholder values
@@ -1796,6 +1864,44 @@ module Aws::EMR
1796
1864
  req.send_request(options)
1797
1865
  end
1798
1866
 
1867
+ # Creates or updates a managed scaling policy for an Amazon EMR cluster.
1868
+ # The managed scaling policy defines the limits for resources, such as
1869
+ # EC2 instances that can be added or terminated from a cluster. The
1870
+ # policy only applies to the core and task nodes. The master node cannot
1871
+ # be scaled after initial configuration.
1872
+ #
1873
+ # @option params [required, String] :cluster_id
1874
+ # Specifies the ID of an EMR cluster where the managed scaling policy is
1875
+ # attached.
1876
+ #
1877
+ # @option params [required, Types::ManagedScalingPolicy] :managed_scaling_policy
1878
+ # Specifies the constraints for the managed scaling policy.
1879
+ #
1880
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1881
+ #
1882
+ # @example Request syntax with placeholder values
1883
+ #
1884
+ # resp = client.put_managed_scaling_policy({
1885
+ # cluster_id: "ClusterId", # required
1886
+ # managed_scaling_policy: { # required
1887
+ # compute_limits: {
1888
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
1889
+ # minimum_capacity_units: 1, # required
1890
+ # maximum_capacity_units: 1, # required
1891
+ # maximum_on_demand_capacity_units: 1,
1892
+ # },
1893
+ # },
1894
+ # })
1895
+ #
1896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy AWS API Documentation
1897
+ #
1898
+ # @overload put_managed_scaling_policy(params = {})
1899
+ # @param [Hash] params ({})
1900
+ def put_managed_scaling_policy(params = {}, options = {})
1901
+ req = build_request(:put_managed_scaling_policy, params)
1902
+ req.send_request(options)
1903
+ end
1904
+
1799
1905
  # Removes an automatic scaling policy from a specified instance group
1800
1906
  # within an EMR cluster.
1801
1907
  #
@@ -1825,6 +1931,29 @@ module Aws::EMR
1825
1931
  req.send_request(options)
1826
1932
  end
1827
1933
 
1934
+ # Removes a managed scaling policy from a specified EMR cluster.
1935
+ #
1936
+ # @option params [required, String] :cluster_id
1937
+ # Specifies the ID of the cluster from which the managed scaling policy
1938
+ # will be removed.
1939
+ #
1940
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1941
+ #
1942
+ # @example Request syntax with placeholder values
1943
+ #
1944
+ # resp = client.remove_managed_scaling_policy({
1945
+ # cluster_id: "ClusterId", # required
1946
+ # })
1947
+ #
1948
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy AWS API Documentation
1949
+ #
1950
+ # @overload remove_managed_scaling_policy(params = {})
1951
+ # @param [Hash] params ({})
1952
+ def remove_managed_scaling_policy(params = {}, options = {})
1953
+ req = build_request(:remove_managed_scaling_policy, params)
1954
+ req.send_request(options)
1955
+ end
1956
+
1828
1957
  # Removes tags from an Amazon EMR resource. Tags make it easier to
1829
1958
  # associate clusters in various ways, such as grouping clusters to track
1830
1959
  # your Amazon EMR resource allocation costs. For more information, see
@@ -2099,6 +2228,9 @@ module Aws::EMR
2099
2228
  # Specifies the number of steps that can be executed concurrently. The
2100
2229
  # default value is `1`. The maximum value is `256`.
2101
2230
  #
2231
+ # @option params [Types::ManagedScalingPolicy] :managed_scaling_policy
2232
+ # The specified managed scaling policy for an Amazon EMR cluster.
2233
+ #
2102
2234
  # @return [Types::RunJobFlowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2103
2235
  #
2104
2236
  # * {Types::RunJobFlowOutput#job_flow_id #job_flow_id} => String
@@ -2328,6 +2460,14 @@ module Aws::EMR
2328
2460
  # ad_domain_join_password: "XmlStringMaxLen256",
2329
2461
  # },
2330
2462
  # step_concurrency_level: 1,
2463
+ # managed_scaling_policy: {
2464
+ # compute_limits: {
2465
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
2466
+ # minimum_capacity_units: 1, # required
2467
+ # maximum_capacity_units: 1, # required
2468
+ # maximum_on_demand_capacity_units: 1,
2469
+ # },
2470
+ # },
2331
2471
  # })
2332
2472
  #
2333
2473
  # @example Response structure
@@ -2480,7 +2620,7 @@ module Aws::EMR
2480
2620
  params: params,
2481
2621
  config: config)
2482
2622
  context[:gem_name] = 'aws-sdk-emr'
2483
- context[:gem_version] = '1.25.0'
2623
+ context[:gem_version] = '1.26.0'
2484
2624
  Seahorse::Client::Request.new(handlers, context)
2485
2625
  end
2486
2626
 
@@ -2546,11 +2686,11 @@ module Aws::EMR
2546
2686
  # The following table lists the valid waiter names, the operations they call,
2547
2687
  # and the default `:delay` and `:max_attempts` values.
2548
2688
  #
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 |
2689
+ # | waiter_name | params | :delay | :max_attempts |
2690
+ # | ------------------ | ------------------------- | -------- | ------------- |
2691
+ # | cluster_running | {Client#describe_cluster} | 30 | 60 |
2692
+ # | cluster_terminated | {Client#describe_cluster} | 30 | 60 |
2693
+ # | step_complete | {Client#describe_step} | 30 | 60 |
2554
2694
  #
2555
2695
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
2556
2696
  # 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')
@@ -370,8 +379,8 @@ module Aws::EMR
370
379
  Cluster.add_member(:repo_upgrade_on_boot, Shapes::ShapeRef.new(shape: RepoUpgradeOnBoot, location_name: "RepoUpgradeOnBoot"))
371
380
  Cluster.add_member(:kerberos_attributes, Shapes::ShapeRef.new(shape: KerberosAttributes, location_name: "KerberosAttributes"))
372
381
  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
382
  Cluster.add_member(:outpost_arn, Shapes::ShapeRef.new(shape: OptionalArnType, location_name: "OutpostArn"))
383
+ Cluster.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
375
384
  Cluster.struct_class = Types::Cluster
376
385
 
377
386
  ClusterStateChangeReason.add_member(:code, Shapes::ShapeRef.new(shape: ClusterStateChangeReasonCode, location_name: "Code"))
@@ -407,6 +416,12 @@ module Aws::EMR
407
416
 
408
417
  CommandList.member = Shapes::ShapeRef.new(shape: Command)
409
418
 
419
+ ComputeLimits.add_member(:unit_type, Shapes::ShapeRef.new(shape: ComputeLimitsUnitType, required: true, location_name: "UnitType"))
420
+ ComputeLimits.add_member(:minimum_capacity_units, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "MinimumCapacityUnits"))
421
+ ComputeLimits.add_member(:maximum_capacity_units, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "MaximumCapacityUnits"))
422
+ ComputeLimits.add_member(:maximum_on_demand_capacity_units, Shapes::ShapeRef.new(shape: Integer, location_name: "MaximumOnDemandCapacityUnits"))
423
+ ComputeLimits.struct_class = Types::ComputeLimits
424
+
410
425
  Configuration.add_member(:classification, Shapes::ShapeRef.new(shape: String, location_name: "Classification"))
411
426
  Configuration.add_member(:configurations, Shapes::ShapeRef.new(shape: ConfigurationList, location_name: "Configurations"))
412
427
  Configuration.add_member(:properties, Shapes::ShapeRef.new(shape: StringMap, location_name: "Properties"))
@@ -507,6 +522,12 @@ module Aws::EMR
507
522
  GetBlockPublicAccessConfigurationOutput.add_member(:block_public_access_configuration_metadata, Shapes::ShapeRef.new(shape: BlockPublicAccessConfigurationMetadata, required: true, location_name: "BlockPublicAccessConfigurationMetadata"))
508
523
  GetBlockPublicAccessConfigurationOutput.struct_class = Types::GetBlockPublicAccessConfigurationOutput
509
524
 
525
+ GetManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
526
+ GetManagedScalingPolicyInput.struct_class = Types::GetManagedScalingPolicyInput
527
+
528
+ GetManagedScalingPolicyOutput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
529
+ GetManagedScalingPolicyOutput.struct_class = Types::GetManagedScalingPolicyOutput
530
+
510
531
  HadoopJarStepConfig.add_member(:properties, Shapes::ShapeRef.new(shape: KeyValueList, location_name: "Properties"))
511
532
  HadoopJarStepConfig.add_member(:jar, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Jar"))
512
533
  HadoopJarStepConfig.add_member(:main_class, Shapes::ShapeRef.new(shape: XmlString, location_name: "MainClass"))
@@ -850,6 +871,9 @@ module Aws::EMR
850
871
  ListStepsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
851
872
  ListStepsOutput.struct_class = Types::ListStepsOutput
852
873
 
874
+ ManagedScalingPolicy.add_member(:compute_limits, Shapes::ShapeRef.new(shape: ComputeLimits, location_name: "ComputeLimits"))
875
+ ManagedScalingPolicy.struct_class = Types::ManagedScalingPolicy
876
+
853
877
  MetricDimension.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "Key"))
854
878
  MetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "Value"))
855
879
  MetricDimension.struct_class = Types::MetricDimension
@@ -899,12 +923,23 @@ module Aws::EMR
899
923
 
900
924
  PutBlockPublicAccessConfigurationOutput.struct_class = Types::PutBlockPublicAccessConfigurationOutput
901
925
 
926
+ PutManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
927
+ PutManagedScalingPolicyInput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, required: true, location_name: "ManagedScalingPolicy"))
928
+ PutManagedScalingPolicyInput.struct_class = Types::PutManagedScalingPolicyInput
929
+
930
+ PutManagedScalingPolicyOutput.struct_class = Types::PutManagedScalingPolicyOutput
931
+
902
932
  RemoveAutoScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
903
933
  RemoveAutoScalingPolicyInput.add_member(:instance_group_id, Shapes::ShapeRef.new(shape: InstanceGroupId, required: true, location_name: "InstanceGroupId"))
904
934
  RemoveAutoScalingPolicyInput.struct_class = Types::RemoveAutoScalingPolicyInput
905
935
 
906
936
  RemoveAutoScalingPolicyOutput.struct_class = Types::RemoveAutoScalingPolicyOutput
907
937
 
938
+ RemoveManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
939
+ RemoveManagedScalingPolicyInput.struct_class = Types::RemoveManagedScalingPolicyInput
940
+
941
+ RemoveManagedScalingPolicyOutput.struct_class = Types::RemoveManagedScalingPolicyOutput
942
+
908
943
  RemoveTagsInput.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
909
944
  RemoveTagsInput.add_member(:tag_keys, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "TagKeys"))
910
945
  RemoveTagsInput.struct_class = Types::RemoveTagsInput
@@ -935,6 +970,7 @@ module Aws::EMR
935
970
  RunJobFlowInput.add_member(:repo_upgrade_on_boot, Shapes::ShapeRef.new(shape: RepoUpgradeOnBoot, location_name: "RepoUpgradeOnBoot"))
936
971
  RunJobFlowInput.add_member(:kerberos_attributes, Shapes::ShapeRef.new(shape: KerberosAttributes, location_name: "KerberosAttributes"))
937
972
  RunJobFlowInput.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
973
+ RunJobFlowInput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
938
974
  RunJobFlowInput.struct_class = Types::RunJobFlowInput
939
975
 
940
976
  RunJobFlowOutput.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "JobFlowId"))
@@ -1215,6 +1251,14 @@ module Aws::EMR
1215
1251
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1216
1252
  end)
1217
1253
 
1254
+ api.add_operation(:get_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1255
+ o.name = "GetManagedScalingPolicy"
1256
+ o.http_method = "POST"
1257
+ o.http_request_uri = "/"
1258
+ o.input = Shapes::ShapeRef.new(shape: GetManagedScalingPolicyInput)
1259
+ o.output = Shapes::ShapeRef.new(shape: GetManagedScalingPolicyOutput)
1260
+ end)
1261
+
1218
1262
  api.add_operation(:list_bootstrap_actions, Seahorse::Model::Operation.new.tap do |o|
1219
1263
  o.name = "ListBootstrapActions"
1220
1264
  o.http_method = "POST"
@@ -1367,6 +1411,14 @@ module Aws::EMR
1367
1411
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1368
1412
  end)
1369
1413
 
1414
+ api.add_operation(:put_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1415
+ o.name = "PutManagedScalingPolicy"
1416
+ o.http_method = "POST"
1417
+ o.http_request_uri = "/"
1418
+ o.input = Shapes::ShapeRef.new(shape: PutManagedScalingPolicyInput)
1419
+ o.output = Shapes::ShapeRef.new(shape: PutManagedScalingPolicyOutput)
1420
+ end)
1421
+
1370
1422
  api.add_operation(:remove_auto_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1371
1423
  o.name = "RemoveAutoScalingPolicy"
1372
1424
  o.http_method = "POST"
@@ -1375,6 +1427,14 @@ module Aws::EMR
1375
1427
  o.output = Shapes::ShapeRef.new(shape: RemoveAutoScalingPolicyOutput)
1376
1428
  end)
1377
1429
 
1430
+ api.add_operation(:remove_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1431
+ o.name = "RemoveManagedScalingPolicy"
1432
+ o.http_method = "POST"
1433
+ o.http_request_uri = "/"
1434
+ o.input = Shapes::ShapeRef.new(shape: RemoveManagedScalingPolicyInput)
1435
+ o.output = Shapes::ShapeRef.new(shape: RemoveManagedScalingPolicyOutput)
1436
+ end)
1437
+
1378
1438
  api.add_operation(:remove_tags, Seahorse::Model::Operation.new.tap do |o|
1379
1439
  o.name = "RemoveTags"
1380
1440
  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 ({})
@@ -959,15 +959,15 @@ module Aws::EMR
959
959
  # The Amazon Resource Name of the cluster.
960
960
  # @return [String]
961
961
  #
962
- # @!attribute [rw] step_concurrency_level
963
- # Specifies the number of steps that can be executed concurrently.
964
- # @return [Integer]
965
- #
966
962
  # @!attribute [rw] outpost_arn
967
963
  # The Amazon Resource Name (ARN) of the Outpost where the cluster is
968
964
  # launched.
969
965
  # @return [String]
970
966
  #
967
+ # @!attribute [rw] step_concurrency_level
968
+ # Specifies the number of steps that can be executed concurrently.
969
+ # @return [Integer]
970
+ #
971
971
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/Cluster AWS API Documentation
972
972
  #
973
973
  class Cluster < Struct.new(
@@ -997,8 +997,8 @@ module Aws::EMR
997
997
  :repo_upgrade_on_boot,
998
998
  :kerberos_attributes,
999
999
  :cluster_arn,
1000
- :step_concurrency_level,
1001
- :outpost_arn)
1000
+ :outpost_arn,
1001
+ :step_concurrency_level)
1002
1002
  include Aws::Structure
1003
1003
  end
1004
1004
 
@@ -1135,6 +1135,60 @@ module Aws::EMR
1135
1135
  include Aws::Structure
1136
1136
  end
1137
1137
 
1138
+ # The EC2 unit limits for a managed scaling policy. The managed scaling
1139
+ # activity of a cluster can not be above or below these limits. The
1140
+ # limit only applies to the core and task nodes. The master node cannot
1141
+ # be scaled after initial configuration.
1142
+ #
1143
+ # @note When making an API call, you may pass ComputeLimits
1144
+ # data as a hash:
1145
+ #
1146
+ # {
1147
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
1148
+ # minimum_capacity_units: 1, # required
1149
+ # maximum_capacity_units: 1, # required
1150
+ # maximum_on_demand_capacity_units: 1,
1151
+ # }
1152
+ #
1153
+ # @!attribute [rw] unit_type
1154
+ # The unit type used for specifying a managed scaling policy.
1155
+ # @return [String]
1156
+ #
1157
+ # @!attribute [rw] minimum_capacity_units
1158
+ # The lower boundary of EC2 units. It is measured through VCPU cores
1159
+ # or instances for instance groups and measured through units for
1160
+ # instance fleets. Managed scaling activities are not allowed beyond
1161
+ # this boundary. The limit only applies to the core and task nodes.
1162
+ # The master node cannot be scaled after initial configuration.
1163
+ # @return [Integer]
1164
+ #
1165
+ # @!attribute [rw] maximum_capacity_units
1166
+ # The upper boundary of EC2 units. It is measured through VCPU cores
1167
+ # or instances for instance groups and measured through units for
1168
+ # instance fleets. Managed scaling activities are not allowed beyond
1169
+ # this boundary. The limit only applies to the core and task nodes.
1170
+ # The master node cannot be scaled after initial configuration.
1171
+ # @return [Integer]
1172
+ #
1173
+ # @!attribute [rw] maximum_on_demand_capacity_units
1174
+ # The upper boundary of on-demand EC2 units. It is measured through
1175
+ # VCPU cores or instances for instance groups and measured through
1176
+ # units for instance fleets. The on-demand units are not allowed to
1177
+ # scale beyond this boundary. The limit only applies to the core and
1178
+ # task nodes. The master node cannot be scaled after initial
1179
+ # configuration.
1180
+ # @return [Integer]
1181
+ #
1182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ComputeLimits AWS API Documentation
1183
+ #
1184
+ class ComputeLimits < Struct.new(
1185
+ :unit_type,
1186
+ :minimum_capacity_units,
1187
+ :maximum_capacity_units,
1188
+ :maximum_on_demand_capacity_units)
1189
+ include Aws::Structure
1190
+ end
1191
+
1138
1192
  # <note markdown="1"> Amazon EMR releases 4.x or later.
1139
1193
  #
1140
1194
  # </note>
@@ -1675,6 +1729,14 @@ module Aws::EMR
1675
1729
  # exception, and public access is allowed on this port. You can change
1676
1730
  # this by updating the block public access configuration to remove the
1677
1731
  # exception.
1732
+ #
1733
+ # <note markdown="1"> For accounts that created clusters in a Region before November 25,
1734
+ # 2019, block public access is disabled by default in that Region. To
1735
+ # use this feature, you must manually enable and configure it. For
1736
+ # accounts that did not create an EMR cluster in a Region before this
1737
+ # date, block public access is enabled by default in that Region.
1738
+ #
1739
+ # </note>
1678
1740
  # @return [Types::BlockPublicAccessConfiguration]
1679
1741
  #
1680
1742
  # @!attribute [rw] block_public_access_configuration_metadata
@@ -1694,6 +1756,37 @@ module Aws::EMR
1694
1756
  include Aws::Structure
1695
1757
  end
1696
1758
 
1759
+ # @note When making an API call, you may pass GetManagedScalingPolicyInput
1760
+ # data as a hash:
1761
+ #
1762
+ # {
1763
+ # cluster_id: "ClusterId", # required
1764
+ # }
1765
+ #
1766
+ # @!attribute [rw] cluster_id
1767
+ # Specifies the ID of the cluster for which the managed scaling policy
1768
+ # will be fetched.
1769
+ # @return [String]
1770
+ #
1771
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicyInput AWS API Documentation
1772
+ #
1773
+ class GetManagedScalingPolicyInput < Struct.new(
1774
+ :cluster_id)
1775
+ include Aws::Structure
1776
+ end
1777
+
1778
+ # @!attribute [rw] managed_scaling_policy
1779
+ # Specifies the managed scaling policy that is attached to an Amazon
1780
+ # EMR cluster.
1781
+ # @return [Types::ManagedScalingPolicy]
1782
+ #
1783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicyOutput AWS API Documentation
1784
+ #
1785
+ class GetManagedScalingPolicyOutput < Struct.new(
1786
+ :managed_scaling_policy)
1787
+ include Aws::Structure
1788
+ end
1789
+
1697
1790
  # A job flow step consisting of a JAR file whose main function will be
1698
1791
  # executed. The main function submits a job for Hadoop to execute and
1699
1792
  # waits for the job to finish or fail.
@@ -3998,6 +4091,37 @@ module Aws::EMR
3998
4091
  include Aws::Structure
3999
4092
  end
4000
4093
 
4094
+ # Managed scaling policy for an Amazon EMR cluster. The policy specifies
4095
+ # the limits for resources that can be added or terminated from a
4096
+ # cluster. The policy only applies to the core and task nodes. The
4097
+ # master node cannot be scaled after initial configuration.
4098
+ #
4099
+ # @note When making an API call, you may pass ManagedScalingPolicy
4100
+ # data as a hash:
4101
+ #
4102
+ # {
4103
+ # compute_limits: {
4104
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
4105
+ # minimum_capacity_units: 1, # required
4106
+ # maximum_capacity_units: 1, # required
4107
+ # maximum_on_demand_capacity_units: 1,
4108
+ # },
4109
+ # }
4110
+ #
4111
+ # @!attribute [rw] compute_limits
4112
+ # The EC2 unit limits for a managed scaling policy. The managed
4113
+ # scaling activity of a cluster is not allowed to go above or below
4114
+ # these limits. The limit only applies to the core and task nodes. The
4115
+ # master node cannot be scaled after initial configuration.
4116
+ # @return [Types::ComputeLimits]
4117
+ #
4118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ManagedScalingPolicy AWS API Documentation
4119
+ #
4120
+ class ManagedScalingPolicy < Struct.new(
4121
+ :compute_limits)
4122
+ include Aws::Structure
4123
+ end
4124
+
4001
4125
  # A CloudWatch dimension, which is specified using a `Key` (known as a
4002
4126
  # `Name` in CloudWatch), `Value` pair. By default, Amazon EMR uses one
4003
4127
  # dimension whose `Key` is `JobFlowID` and `Value` is a variable
@@ -4333,6 +4457,14 @@ module Aws::EMR
4333
4457
  # exception, and public access is allowed on this port. You can change
4334
4458
  # this by updating `BlockPublicSecurityGroupRules` to remove the
4335
4459
  # exception.
4460
+ #
4461
+ # <note markdown="1"> For accounts that created clusters in a Region before November 25,
4462
+ # 2019, block public access is disabled by default in that Region. To
4463
+ # use this feature, you must manually enable and configure it. For
4464
+ # accounts that did not create an EMR cluster in a Region before this
4465
+ # date, block public access is enabled by default in that Region.
4466
+ #
4467
+ # </note>
4336
4468
  # @return [Types::BlockPublicAccessConfiguration]
4337
4469
  #
4338
4470
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfigurationInput AWS API Documentation
@@ -4346,6 +4478,42 @@ module Aws::EMR
4346
4478
  #
4347
4479
  class PutBlockPublicAccessConfigurationOutput < Aws::EmptyStructure; end
4348
4480
 
4481
+ # @note When making an API call, you may pass PutManagedScalingPolicyInput
4482
+ # data as a hash:
4483
+ #
4484
+ # {
4485
+ # cluster_id: "ClusterId", # required
4486
+ # managed_scaling_policy: { # required
4487
+ # compute_limits: {
4488
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
4489
+ # minimum_capacity_units: 1, # required
4490
+ # maximum_capacity_units: 1, # required
4491
+ # maximum_on_demand_capacity_units: 1,
4492
+ # },
4493
+ # },
4494
+ # }
4495
+ #
4496
+ # @!attribute [rw] cluster_id
4497
+ # Specifies the ID of an EMR cluster where the managed scaling policy
4498
+ # is attached.
4499
+ # @return [String]
4500
+ #
4501
+ # @!attribute [rw] managed_scaling_policy
4502
+ # Specifies the constraints for the managed scaling policy.
4503
+ # @return [Types::ManagedScalingPolicy]
4504
+ #
4505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicyInput AWS API Documentation
4506
+ #
4507
+ class PutManagedScalingPolicyInput < Struct.new(
4508
+ :cluster_id,
4509
+ :managed_scaling_policy)
4510
+ include Aws::Structure
4511
+ end
4512
+
4513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicyOutput AWS API Documentation
4514
+ #
4515
+ class PutManagedScalingPolicyOutput < Aws::EmptyStructure; end
4516
+
4349
4517
  # @note When making an API call, you may pass RemoveAutoScalingPolicyInput
4350
4518
  # data as a hash:
4351
4519
  #
@@ -4376,6 +4544,29 @@ module Aws::EMR
4376
4544
  #
4377
4545
  class RemoveAutoScalingPolicyOutput < Aws::EmptyStructure; end
4378
4546
 
4547
+ # @note When making an API call, you may pass RemoveManagedScalingPolicyInput
4548
+ # data as a hash:
4549
+ #
4550
+ # {
4551
+ # cluster_id: "ClusterId", # required
4552
+ # }
4553
+ #
4554
+ # @!attribute [rw] cluster_id
4555
+ # Specifies the ID of the cluster from which the managed scaling
4556
+ # policy will be removed.
4557
+ # @return [String]
4558
+ #
4559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicyInput AWS API Documentation
4560
+ #
4561
+ class RemoveManagedScalingPolicyInput < Struct.new(
4562
+ :cluster_id)
4563
+ include Aws::Structure
4564
+ end
4565
+
4566
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicyOutput AWS API Documentation
4567
+ #
4568
+ class RemoveManagedScalingPolicyOutput < Aws::EmptyStructure; end
4569
+
4379
4570
  # This input identifies a cluster and a list of tags to remove.
4380
4571
  #
4381
4572
  # @note When making an API call, you may pass RemoveTagsInput
@@ -4636,6 +4827,14 @@ module Aws::EMR
4636
4827
  # ad_domain_join_password: "XmlStringMaxLen256",
4637
4828
  # },
4638
4829
  # step_concurrency_level: 1,
4830
+ # managed_scaling_policy: {
4831
+ # compute_limits: {
4832
+ # unit_type: "InstanceFleetUnits", # required, accepts InstanceFleetUnits, Instances, VCPU
4833
+ # minimum_capacity_units: 1, # required
4834
+ # maximum_capacity_units: 1, # required
4835
+ # maximum_on_demand_capacity_units: 1,
4836
+ # },
4837
+ # },
4639
4838
  # }
4640
4839
  #
4641
4840
  # @!attribute [rw] name
@@ -4863,6 +5062,10 @@ module Aws::EMR
4863
5062
  # default value is `1`. The maximum value is `256`.
4864
5063
  # @return [Integer]
4865
5064
  #
5065
+ # @!attribute [rw] managed_scaling_policy
5066
+ # The specified managed scaling policy for an Amazon EMR cluster.
5067
+ # @return [Types::ManagedScalingPolicy]
5068
+ #
4866
5069
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowInput AWS API Documentation
4867
5070
  #
4868
5071
  class RunJobFlowInput < Struct.new(
@@ -4889,7 +5092,8 @@ module Aws::EMR
4889
5092
  :ebs_root_volume_size,
4890
5093
  :repo_upgrade_on_boot,
4891
5094
  :kerberos_attributes,
4892
- :step_concurrency_level)
5095
+ :step_concurrency_level,
5096
+ :managed_scaling_policy)
4893
5097
  include Aws::Structure
4894
5098
  end
4895
5099
 
@@ -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.26.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: 2020-03-09 00:00:00.000000000 Z
11
+ date: 2020-04-21 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