aws-sdk-emr 1.25.0 → 1.26.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- 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