aws-sdk-emr 1.23.0 → 1.28.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.
@@ -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,14 +169,18 @@ 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')
171
176
  MetricDimensionList = Shapes::ListShape.new(name: 'MetricDimensionList')
177
+ ModifyClusterInput = Shapes::StructureShape.new(name: 'ModifyClusterInput')
178
+ ModifyClusterOutput = Shapes::StructureShape.new(name: 'ModifyClusterOutput')
172
179
  ModifyInstanceFleetInput = Shapes::StructureShape.new(name: 'ModifyInstanceFleetInput')
173
180
  ModifyInstanceGroupsInput = Shapes::StructureShape.new(name: 'ModifyInstanceGroupsInput')
174
181
  NewSupportedProductsList = Shapes::ListShape.new(name: 'NewSupportedProductsList')
175
182
  NonNegativeDouble = Shapes::FloatShape.new(name: 'NonNegativeDouble')
183
+ OptionalArnType = Shapes::StringShape.new(name: 'OptionalArnType')
176
184
  PlacementType = Shapes::StructureShape.new(name: 'PlacementType')
177
185
  Port = Shapes::IntegerShape.new(name: 'Port')
178
186
  PortRange = Shapes::StructureShape.new(name: 'PortRange')
@@ -181,8 +189,12 @@ module Aws::EMR
181
189
  PutAutoScalingPolicyOutput = Shapes::StructureShape.new(name: 'PutAutoScalingPolicyOutput')
182
190
  PutBlockPublicAccessConfigurationInput = Shapes::StructureShape.new(name: 'PutBlockPublicAccessConfigurationInput')
183
191
  PutBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'PutBlockPublicAccessConfigurationOutput')
192
+ PutManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'PutManagedScalingPolicyInput')
193
+ PutManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'PutManagedScalingPolicyOutput')
184
194
  RemoveAutoScalingPolicyInput = Shapes::StructureShape.new(name: 'RemoveAutoScalingPolicyInput')
185
195
  RemoveAutoScalingPolicyOutput = Shapes::StructureShape.new(name: 'RemoveAutoScalingPolicyOutput')
196
+ RemoveManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'RemoveManagedScalingPolicyInput')
197
+ RemoveManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'RemoveManagedScalingPolicyOutput')
186
198
  RemoveTagsInput = Shapes::StructureShape.new(name: 'RemoveTagsInput')
187
199
  RemoveTagsOutput = Shapes::StructureShape.new(name: 'RemoveTagsOutput')
188
200
  RepoUpgradeOnBoot = Shapes::StringShape.new(name: 'RepoUpgradeOnBoot')
@@ -207,6 +219,7 @@ module Aws::EMR
207
219
  SpotProvisioningTimeoutAction = Shapes::StringShape.new(name: 'SpotProvisioningTimeoutAction')
208
220
  Statistic = Shapes::StringShape.new(name: 'Statistic')
209
221
  Step = Shapes::StructureShape.new(name: 'Step')
222
+ StepCancellationOption = Shapes::StringShape.new(name: 'StepCancellationOption')
210
223
  StepConfig = Shapes::StructureShape.new(name: 'StepConfig')
211
224
  StepConfigList = Shapes::ListShape.new(name: 'StepConfigList')
212
225
  StepDetail = Shapes::StructureShape.new(name: 'StepDetail')
@@ -321,8 +334,9 @@ module Aws::EMR
321
334
 
322
335
  CancelStepsInfoList.member = Shapes::ShapeRef.new(shape: CancelStepsInfo)
323
336
 
324
- CancelStepsInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "ClusterId"))
325
- CancelStepsInput.add_member(:step_ids, Shapes::ShapeRef.new(shape: StepIdsList, location_name: "StepIds"))
337
+ CancelStepsInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "ClusterId"))
338
+ CancelStepsInput.add_member(:step_ids, Shapes::ShapeRef.new(shape: StepIdsList, required: true, location_name: "StepIds"))
339
+ CancelStepsInput.add_member(:step_cancellation_option, Shapes::ShapeRef.new(shape: StepCancellationOption, location_name: "StepCancellationOption"))
326
340
  CancelStepsInput.struct_class = Types::CancelStepsInput
327
341
 
328
342
  CancelStepsOutput.add_member(:cancel_steps_info_list, Shapes::ShapeRef.new(shape: CancelStepsInfoList, location_name: "CancelStepsInfoList"))
@@ -365,6 +379,8 @@ module Aws::EMR
365
379
  Cluster.add_member(:repo_upgrade_on_boot, Shapes::ShapeRef.new(shape: RepoUpgradeOnBoot, location_name: "RepoUpgradeOnBoot"))
366
380
  Cluster.add_member(:kerberos_attributes, Shapes::ShapeRef.new(shape: KerberosAttributes, location_name: "KerberosAttributes"))
367
381
  Cluster.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "ClusterArn"))
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"))
368
384
  Cluster.struct_class = Types::Cluster
369
385
 
370
386
  ClusterStateChangeReason.add_member(:code, Shapes::ShapeRef.new(shape: ClusterStateChangeReasonCode, location_name: "Code"))
@@ -383,6 +399,7 @@ module Aws::EMR
383
399
  ClusterSummary.add_member(:status, Shapes::ShapeRef.new(shape: ClusterStatus, location_name: "Status"))
384
400
  ClusterSummary.add_member(:normalized_instance_hours, Shapes::ShapeRef.new(shape: Integer, location_name: "NormalizedInstanceHours"))
385
401
  ClusterSummary.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "ClusterArn"))
402
+ ClusterSummary.add_member(:outpost_arn, Shapes::ShapeRef.new(shape: OptionalArnType, location_name: "OutpostArn"))
386
403
  ClusterSummary.struct_class = Types::ClusterSummary
387
404
 
388
405
  ClusterSummaryList.member = Shapes::ShapeRef.new(shape: ClusterSummary)
@@ -399,6 +416,12 @@ module Aws::EMR
399
416
 
400
417
  CommandList.member = Shapes::ShapeRef.new(shape: Command)
401
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
+
402
425
  Configuration.add_member(:classification, Shapes::ShapeRef.new(shape: String, location_name: "Classification"))
403
426
  Configuration.add_member(:configurations, Shapes::ShapeRef.new(shape: ConfigurationList, location_name: "Configurations"))
404
427
  Configuration.add_member(:properties, Shapes::ShapeRef.new(shape: StringMap, location_name: "Properties"))
@@ -499,6 +522,12 @@ module Aws::EMR
499
522
  GetBlockPublicAccessConfigurationOutput.add_member(:block_public_access_configuration_metadata, Shapes::ShapeRef.new(shape: BlockPublicAccessConfigurationMetadata, required: true, location_name: "BlockPublicAccessConfigurationMetadata"))
500
523
  GetBlockPublicAccessConfigurationOutput.struct_class = Types::GetBlockPublicAccessConfigurationOutput
501
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
+
502
531
  HadoopJarStepConfig.add_member(:properties, Shapes::ShapeRef.new(shape: KeyValueList, location_name: "Properties"))
503
532
  HadoopJarStepConfig.add_member(:jar, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Jar"))
504
533
  HadoopJarStepConfig.add_member(:main_class, Shapes::ShapeRef.new(shape: XmlString, location_name: "MainClass"))
@@ -694,6 +723,8 @@ module Aws::EMR
694
723
 
695
724
  InstanceTypeSpecificationList.member = Shapes::ShapeRef.new(shape: InstanceTypeSpecification)
696
725
 
726
+ InternalServerError.struct_class = Types::InternalServerError
727
+
697
728
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
698
729
  InternalServerException.struct_class = Types::InternalServerException
699
730
 
@@ -840,12 +871,22 @@ module Aws::EMR
840
871
  ListStepsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
841
872
  ListStepsOutput.struct_class = Types::ListStepsOutput
842
873
 
874
+ ManagedScalingPolicy.add_member(:compute_limits, Shapes::ShapeRef.new(shape: ComputeLimits, location_name: "ComputeLimits"))
875
+ ManagedScalingPolicy.struct_class = Types::ManagedScalingPolicy
876
+
843
877
  MetricDimension.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "Key"))
844
878
  MetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "Value"))
845
879
  MetricDimension.struct_class = Types::MetricDimension
846
880
 
847
881
  MetricDimensionList.member = Shapes::ShapeRef.new(shape: MetricDimension)
848
882
 
883
+ ModifyClusterInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ClusterId"))
884
+ ModifyClusterInput.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
885
+ ModifyClusterInput.struct_class = Types::ModifyClusterInput
886
+
887
+ ModifyClusterOutput.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
888
+ ModifyClusterOutput.struct_class = Types::ModifyClusterOutput
889
+
849
890
  ModifyInstanceFleetInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
850
891
  ModifyInstanceFleetInput.add_member(:instance_fleet, Shapes::ShapeRef.new(shape: InstanceFleetModifyConfig, required: true, location_name: "InstanceFleet"))
851
892
  ModifyInstanceFleetInput.struct_class = Types::ModifyInstanceFleetInput
@@ -882,12 +923,23 @@ module Aws::EMR
882
923
 
883
924
  PutBlockPublicAccessConfigurationOutput.struct_class = Types::PutBlockPublicAccessConfigurationOutput
884
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
+
885
932
  RemoveAutoScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
886
933
  RemoveAutoScalingPolicyInput.add_member(:instance_group_id, Shapes::ShapeRef.new(shape: InstanceGroupId, required: true, location_name: "InstanceGroupId"))
887
934
  RemoveAutoScalingPolicyInput.struct_class = Types::RemoveAutoScalingPolicyInput
888
935
 
889
936
  RemoveAutoScalingPolicyOutput.struct_class = Types::RemoveAutoScalingPolicyOutput
890
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
+
891
943
  RemoveTagsInput.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
892
944
  RemoveTagsInput.add_member(:tag_keys, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "TagKeys"))
893
945
  RemoveTagsInput.struct_class = Types::RemoveTagsInput
@@ -917,6 +969,8 @@ module Aws::EMR
917
969
  RunJobFlowInput.add_member(:ebs_root_volume_size, Shapes::ShapeRef.new(shape: Integer, location_name: "EbsRootVolumeSize"))
918
970
  RunJobFlowInput.add_member(:repo_upgrade_on_boot, Shapes::ShapeRef.new(shape: RepoUpgradeOnBoot, location_name: "RepoUpgradeOnBoot"))
919
971
  RunJobFlowInput.add_member(:kerberos_attributes, Shapes::ShapeRef.new(shape: KerberosAttributes, location_name: "KerberosAttributes"))
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"))
920
974
  RunJobFlowInput.struct_class = Types::RunJobFlowInput
921
975
 
922
976
  RunJobFlowOutput.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "JobFlowId"))
@@ -1197,6 +1251,14 @@ module Aws::EMR
1197
1251
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1198
1252
  end)
1199
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
+
1200
1262
  api.add_operation(:list_bootstrap_actions, Seahorse::Model::Operation.new.tap do |o|
1201
1263
  o.name = "ListBootstrapActions"
1202
1264
  o.http_method = "POST"
@@ -1302,6 +1364,16 @@ module Aws::EMR
1302
1364
  )
1303
1365
  end)
1304
1366
 
1367
+ api.add_operation(:modify_cluster, Seahorse::Model::Operation.new.tap do |o|
1368
+ o.name = "ModifyCluster"
1369
+ o.http_method = "POST"
1370
+ o.http_request_uri = "/"
1371
+ o.input = Shapes::ShapeRef.new(shape: ModifyClusterInput)
1372
+ o.output = Shapes::ShapeRef.new(shape: ModifyClusterOutput)
1373
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1374
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1375
+ end)
1376
+
1305
1377
  api.add_operation(:modify_instance_fleet, Seahorse::Model::Operation.new.tap do |o|
1306
1378
  o.name = "ModifyInstanceFleet"
1307
1379
  o.http_method = "POST"
@@ -1339,6 +1411,14 @@ module Aws::EMR
1339
1411
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1340
1412
  end)
1341
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
+
1342
1422
  api.add_operation(:remove_auto_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1343
1423
  o.name = "RemoveAutoScalingPolicy"
1344
1424
  o.http_method = "POST"
@@ -1347,6 +1427,14 @@ module Aws::EMR
1347
1427
  o.output = Shapes::ShapeRef.new(shape: RemoveAutoScalingPolicyOutput)
1348
1428
  end)
1349
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
+
1350
1438
  api.add_operation(:remove_tags, Seahorse::Model::Operation.new.tap do |o|
1351
1439
  o.name = "RemoveTags"
1352
1440
  o.http_method = "POST"
@@ -6,10 +6,45 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EMR
9
+
10
+ # When EMR returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::EMR::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all EMR errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::EMR::Errors::ServiceError
18
+ # # rescues all EMR API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {InternalServerError}
29
+ # * {InternalServerException}
30
+ # * {InvalidRequestException}
31
+ #
32
+ # Additionally, error classes are dynamically generated for service errors based on the error code
33
+ # if they are not defined above.
9
34
  module Errors
10
35
 
11
36
  extend Aws::Errors::DynamicErrors
12
37
 
38
+ class InternalServerError < ServiceError
39
+
40
+ # @param [Seahorse::Client::RequestContext] context
41
+ # @param [String] message
42
+ # @param [Aws::EMR::Types::InternalServerError] data
43
+ def initialize(context, message, data = Aws::EmptyStructure.new)
44
+ super(context, message, data)
45
+ end
46
+ end
47
+
13
48
  class InternalServerException < ServiceError
14
49
 
15
50
  # @param [Seahorse::Client::RequestContext] context
@@ -23,7 +58,6 @@ module Aws::EMR
23
58
  def message
24
59
  @message || @data[:message]
25
60
  end
26
-
27
61
  end
28
62
 
29
63
  class InvalidRequestException < ServiceError
@@ -44,7 +78,6 @@ module Aws::EMR
44
78
  def message
45
79
  @message || @data[:message]
46
80
  end
47
-
48
81
  end
49
82
 
50
83
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EMR
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -654,8 +654,9 @@ module Aws::EMR
654
654
  # data as a hash:
655
655
  #
656
656
  # {
657
- # cluster_id: "XmlStringMaxLen256",
658
- # step_ids: ["XmlStringMaxLen256"],
657
+ # cluster_id: "XmlStringMaxLen256", # required
658
+ # step_ids: ["XmlStringMaxLen256"], # required
659
+ # step_cancellation_option: "SEND_INTERRUPT", # accepts SEND_INTERRUPT, TERMINATE_PROCESS
659
660
  # }
660
661
  #
661
662
  # @!attribute [rw] cluster_id
@@ -668,11 +669,17 @@ module Aws::EMR
668
669
  # their states for the specified cluster.
669
670
  # @return [Array<String>]
670
671
  #
672
+ # @!attribute [rw] step_cancellation_option
673
+ # The option to choose for cancelling `RUNNING` steps. By default, the
674
+ # value is `SEND_INTERRUPT`.
675
+ # @return [String]
676
+ #
671
677
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CancelStepsInput AWS API Documentation
672
678
  #
673
679
  class CancelStepsInput < Struct.new(
674
680
  :cluster_id,
675
- :step_ids)
681
+ :step_ids,
682
+ :step_cancellation_option)
676
683
  include Aws::Structure
677
684
  end
678
685
 
@@ -952,6 +959,15 @@ module Aws::EMR
952
959
  # The Amazon Resource Name of the cluster.
953
960
  # @return [String]
954
961
  #
962
+ # @!attribute [rw] outpost_arn
963
+ # The Amazon Resource Name (ARN) of the Outpost where the cluster is
964
+ # launched.
965
+ # @return [String]
966
+ #
967
+ # @!attribute [rw] step_concurrency_level
968
+ # Specifies the number of steps that can be executed concurrently.
969
+ # @return [Integer]
970
+ #
955
971
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/Cluster AWS API Documentation
956
972
  #
957
973
  class Cluster < Struct.new(
@@ -980,7 +996,9 @@ module Aws::EMR
980
996
  :ebs_root_volume_size,
981
997
  :repo_upgrade_on_boot,
982
998
  :kerberos_attributes,
983
- :cluster_arn)
999
+ :cluster_arn,
1000
+ :outpost_arn,
1001
+ :step_concurrency_level)
984
1002
  include Aws::Structure
985
1003
  end
986
1004
 
@@ -1054,6 +1072,11 @@ module Aws::EMR
1054
1072
  # The Amazon Resource Name of the cluster.
1055
1073
  # @return [String]
1056
1074
  #
1075
+ # @!attribute [rw] outpost_arn
1076
+ # The Amazon Resource Name (ARN) of the Outpost where the cluster is
1077
+ # launched.
1078
+ # @return [String]
1079
+ #
1057
1080
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ClusterSummary AWS API Documentation
1058
1081
  #
1059
1082
  class ClusterSummary < Struct.new(
@@ -1061,7 +1084,8 @@ module Aws::EMR
1061
1084
  :name,
1062
1085
  :status,
1063
1086
  :normalized_instance_hours,
1064
- :cluster_arn)
1087
+ :cluster_arn,
1088
+ :outpost_arn)
1065
1089
  include Aws::Structure
1066
1090
  end
1067
1091
 
@@ -1111,6 +1135,60 @@ module Aws::EMR
1111
1135
  include Aws::Structure
1112
1136
  end
1113
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
+
1114
1192
  # <note markdown="1"> Amazon EMR releases 4.x or later.
1115
1193
  #
1116
1194
  # </note>
@@ -1651,6 +1729,14 @@ module Aws::EMR
1651
1729
  # exception, and public access is allowed on this port. You can change
1652
1730
  # this by updating the block public access configuration to remove the
1653
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>
1654
1740
  # @return [Types::BlockPublicAccessConfiguration]
1655
1741
  #
1656
1742
  # @!attribute [rw] block_public_access_configuration_metadata
@@ -1670,6 +1756,37 @@ module Aws::EMR
1670
1756
  include Aws::Structure
1671
1757
  end
1672
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
+
1673
1790
  # A job flow step consisting of a JAR file whose main function will be
1674
1791
  # executed. The main function submits a job for Hadoop to execute and
1675
1792
  # waits for the job to finish or fail.
@@ -2970,6 +3087,13 @@ module Aws::EMR
2970
3087
  include Aws::Structure
2971
3088
  end
2972
3089
 
3090
+ # Indicates that an error occurred while processing the request and that
3091
+ # the request was not completed.
3092
+ #
3093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InternalServerError AWS API Documentation
3094
+ #
3095
+ class InternalServerError < Aws::EmptyStructure; end
3096
+
2973
3097
  # This exception occurs when there is an internal failure in the EMR
2974
3098
  # service.
2975
3099
  #
@@ -3967,6 +4091,37 @@ module Aws::EMR
3967
4091
  include Aws::Structure
3968
4092
  end
3969
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
+
3970
4125
  # A CloudWatch dimension, which is specified using a `Key` (known as a
3971
4126
  # `Name` in CloudWatch), `Value` pair. By default, Amazon EMR uses one
3972
4127
  # dimension whose `Key` is `JobFlowID` and `Value` is a variable
@@ -3997,6 +4152,42 @@ module Aws::EMR
3997
4152
  include Aws::Structure
3998
4153
  end
3999
4154
 
4155
+ # @note When making an API call, you may pass ModifyClusterInput
4156
+ # data as a hash:
4157
+ #
4158
+ # {
4159
+ # cluster_id: "String", # required
4160
+ # step_concurrency_level: 1,
4161
+ # }
4162
+ #
4163
+ # @!attribute [rw] cluster_id
4164
+ # The unique identifier of the cluster.
4165
+ # @return [String]
4166
+ #
4167
+ # @!attribute [rw] step_concurrency_level
4168
+ # The number of steps that can be executed concurrently. You can
4169
+ # specify a maximum of 256 steps.
4170
+ # @return [Integer]
4171
+ #
4172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyClusterInput AWS API Documentation
4173
+ #
4174
+ class ModifyClusterInput < Struct.new(
4175
+ :cluster_id,
4176
+ :step_concurrency_level)
4177
+ include Aws::Structure
4178
+ end
4179
+
4180
+ # @!attribute [rw] step_concurrency_level
4181
+ # The number of steps that can be executed concurrently.
4182
+ # @return [Integer]
4183
+ #
4184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyClusterOutput AWS API Documentation
4185
+ #
4186
+ class ModifyClusterOutput < Struct.new(
4187
+ :step_concurrency_level)
4188
+ include Aws::Structure
4189
+ end
4190
+
4000
4191
  # @note When making an API call, you may pass ModifyInstanceFleetInput
4001
4192
  # data as a hash:
4002
4193
  #
@@ -4266,6 +4457,14 @@ module Aws::EMR
4266
4457
  # exception, and public access is allowed on this port. You can change
4267
4458
  # this by updating `BlockPublicSecurityGroupRules` to remove the
4268
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>
4269
4468
  # @return [Types::BlockPublicAccessConfiguration]
4270
4469
  #
4271
4470
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfigurationInput AWS API Documentation
@@ -4279,6 +4478,42 @@ module Aws::EMR
4279
4478
  #
4280
4479
  class PutBlockPublicAccessConfigurationOutput < Aws::EmptyStructure; end
4281
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
+
4282
4517
  # @note When making an API call, you may pass RemoveAutoScalingPolicyInput
4283
4518
  # data as a hash:
4284
4519
  #
@@ -4309,6 +4544,29 @@ module Aws::EMR
4309
4544
  #
4310
4545
  class RemoveAutoScalingPolicyOutput < Aws::EmptyStructure; end
4311
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
+
4312
4570
  # This input identifies a cluster and a list of tags to remove.
4313
4571
  #
4314
4572
  # @note When making an API call, you may pass RemoveTagsInput
@@ -4568,6 +4826,15 @@ module Aws::EMR
4568
4826
  # ad_domain_join_user: "XmlStringMaxLen256",
4569
4827
  # ad_domain_join_password: "XmlStringMaxLen256",
4570
4828
  # },
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
+ # },
4571
4838
  # }
4572
4839
  #
4573
4840
  # @!attribute [rw] name
@@ -4790,6 +5057,15 @@ module Aws::EMR
4790
5057
  # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html
4791
5058
  # @return [Types::KerberosAttributes]
4792
5059
  #
5060
+ # @!attribute [rw] step_concurrency_level
5061
+ # Specifies the number of steps that can be executed concurrently. The
5062
+ # default value is `1`. The maximum value is `256`.
5063
+ # @return [Integer]
5064
+ #
5065
+ # @!attribute [rw] managed_scaling_policy
5066
+ # The specified managed scaling policy for an Amazon EMR cluster.
5067
+ # @return [Types::ManagedScalingPolicy]
5068
+ #
4793
5069
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowInput AWS API Documentation
4794
5070
  #
4795
5071
  class RunJobFlowInput < Struct.new(
@@ -4815,7 +5091,9 @@ module Aws::EMR
4815
5091
  :custom_ami_id,
4816
5092
  :ebs_root_volume_size,
4817
5093
  :repo_upgrade_on_boot,
4818
- :kerberos_attributes)
5094
+ :kerberos_attributes,
5095
+ :step_concurrency_level,
5096
+ :managed_scaling_policy)
4819
5097
  include Aws::Structure
4820
5098
  end
4821
5099