aws-sdk-emr 1.23.0 → 1.28.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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