aws-sdk-emr 1.83.0 → 1.84.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
2
  SHA256:
3
- metadata.gz: 7a56ad6e59387aafc5fd74b86003d356551bc618962cbc4c4be2d3459dc8dfb6
4
- data.tar.gz: 9456911c912aa53b1b8a22f9141ef2a6b51d339efcb4715c79c13ce5855fa085
3
+ metadata.gz: d0ed5786de347a81e7a42fb51f4c30e606b1dfbdfca384a92e664b64944e0e03
4
+ data.tar.gz: '09f23aea53b22b21bb08a3601c8f8a26ec1ec2108a9cf7f0040b1c16812592f7'
5
5
  SHA512:
6
- metadata.gz: f4ac4679d92f19f8b779ceeadc888a978614af9d782e834bcfe8b8576f5cad0ecbcfbb3793d291aec7a141626872d8662cb5bac8348f50d299fdee869a0fd7bc
7
- data.tar.gz: 7b0e8f312376f54f4c5ce74ca482e3cd61db78dd069aa2d3116408a9cfabe74699b5d5f26b2fdcad48564d58d65837da33e103e2666601f7873c999106db9a0f
6
+ metadata.gz: 3126f0069b0a0e59bfd1e55073f75c74a763f09831d89f8d4e5b464486cd05bdfe9b63bafbb7ab17170ec7cac6304bef0fa4cfb8ab0dfd7fdec1b2a14a368d15
7
+ data.tar.gz: fe242e30a2ee11a9c847f9860c926016db66f2d92cfd6bb5a595a86b90560586f94f1c055509be6bd59dd1b71b44cfb747a0213a2b7f7643f04e58fe6c91add3
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.84.0 (2024-02-16)
5
+ ------------------
6
+
7
+ * Feature - adds fine grained control over Unhealthy Node Replacement to Amazon ElasticMapReduce
8
+
4
9
  1.83.0 (2024-01-26)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.83.0
1
+ 1.84.0
@@ -1187,6 +1187,7 @@ module Aws::EMR
1187
1187
  # resp.cluster.release_label #=> String
1188
1188
  # resp.cluster.auto_terminate #=> Boolean
1189
1189
  # resp.cluster.termination_protected #=> Boolean
1190
+ # resp.cluster.unhealthy_node_replacement #=> Boolean
1190
1191
  # resp.cluster.visible_to_all_users #=> Boolean
1191
1192
  # resp.cluster.applications #=> Array
1192
1193
  # resp.cluster.applications[0].name #=> String
@@ -1332,6 +1333,7 @@ module Aws::EMR
1332
1333
  # resp.job_flows[0].instances.placement.availability_zones[0] #=> String
1333
1334
  # resp.job_flows[0].instances.keep_job_flow_alive_when_no_steps #=> Boolean
1334
1335
  # resp.job_flows[0].instances.termination_protected #=> Boolean
1336
+ # resp.job_flows[0].instances.unhealthy_node_replacement #=> Boolean
1335
1337
  # resp.job_flows[0].instances.hadoop_version #=> String
1336
1338
  # resp.job_flows[0].steps #=> Array
1337
1339
  # resp.job_flows[0].steps[0].step_config.name #=> String
@@ -3542,6 +3544,7 @@ module Aws::EMR
3542
3544
  # },
3543
3545
  # keep_job_flow_alive_when_no_steps: false,
3544
3546
  # termination_protected: false,
3547
+ # unhealthy_node_replacement: false,
3545
3548
  # hadoop_version: "XmlStringMaxLen256",
3546
3549
  # ec2_subnet_id: "XmlStringMaxLen256",
3547
3550
  # ec2_subnet_ids: ["XmlStringMaxLen256"],
@@ -3730,7 +3733,7 @@ module Aws::EMR
3730
3733
  # flow by a subsequent call to `SetTerminationProtection` in which you
3731
3734
  # set the value to `false`.
3732
3735
  #
3733
- # For more information, see[Managing Cluster Termination][1] in the
3736
+ # For more information, see [Managing Cluster Termination][1] in the
3734
3737
  # *Amazon EMR Management Guide*.
3735
3738
  #
3736
3739
  #
@@ -3765,6 +3768,54 @@ module Aws::EMR
3765
3768
  req.send_request(options)
3766
3769
  end
3767
3770
 
3771
+ # Specify whether to enable unhealthy node replacement, which lets
3772
+ # Amazon EMR gracefully replace core nodes on a cluster if any nodes
3773
+ # become unhealthy. For example, a node becomes unhealthy if disk usage
3774
+ # is above 90%. If unhealthy node replacement is on and
3775
+ # `TerminationProtected` are off, Amazon EMR immediately terminates the
3776
+ # unhealthy core nodes. To use unhealthy node replacement and retain
3777
+ # unhealthy core nodes, use to turn on termination protection. In such
3778
+ # cases, Amazon EMR adds the unhealthy nodes to a denylist, reducing job
3779
+ # interruptions and failures.
3780
+ #
3781
+ # If unhealthy node replacement is on, Amazon EMR notifies YARN and
3782
+ # other applications on the cluster to stop scheduling tasks with these
3783
+ # nodes, moves the data, and then terminates the nodes.
3784
+ #
3785
+ # For more information, see [graceful node replacement][1] in the
3786
+ # *Amazon EMR Management Guide*.
3787
+ #
3788
+ #
3789
+ #
3790
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_UnhealthyNodeReplacement.html
3791
+ #
3792
+ # @option params [required, Array<String>] :job_flow_ids
3793
+ # The list of strings that uniquely identify the clusters for which to
3794
+ # turn on unhealthy node replacement. You can get these identifiers by
3795
+ # running the RunJobFlow or the DescribeJobFlows operations.
3796
+ #
3797
+ # @option params [required, Boolean] :unhealthy_node_replacement
3798
+ # Indicates whether to turn on or turn off graceful unhealthy node
3799
+ # replacement.
3800
+ #
3801
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3802
+ #
3803
+ # @example Request syntax with placeholder values
3804
+ #
3805
+ # resp = client.set_unhealthy_node_replacement({
3806
+ # job_flow_ids: ["XmlString"], # required
3807
+ # unhealthy_node_replacement: false, # required
3808
+ # })
3809
+ #
3810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetUnhealthyNodeReplacement AWS API Documentation
3811
+ #
3812
+ # @overload set_unhealthy_node_replacement(params = {})
3813
+ # @param [Hash] params ({})
3814
+ def set_unhealthy_node_replacement(params = {}, options = {})
3815
+ req = build_request(:set_unhealthy_node_replacement, params)
3816
+ req.send_request(options)
3817
+ end
3818
+
3768
3819
  # The SetVisibleToAllUsers parameter is no longer supported. Your
3769
3820
  # cluster may be visible to all users in your account. To restrict
3770
3821
  # cluster access using an IAM policy, see [Identity and Access
@@ -4096,7 +4147,7 @@ module Aws::EMR
4096
4147
  params: params,
4097
4148
  config: config)
4098
4149
  context[:gem_name] = 'aws-sdk-emr'
4099
- context[:gem_version] = '1.83.0'
4150
+ context[:gem_version] = '1.84.0'
4100
4151
  Seahorse::Client::Request.new(handlers, context)
4101
4152
  end
4102
4153
 
@@ -286,6 +286,7 @@ module Aws::EMR
286
286
  SessionMappingSummaryList = Shapes::ListShape.new(name: 'SessionMappingSummaryList')
287
287
  SetKeepJobFlowAliveWhenNoStepsInput = Shapes::StructureShape.new(name: 'SetKeepJobFlowAliveWhenNoStepsInput')
288
288
  SetTerminationProtectionInput = Shapes::StructureShape.new(name: 'SetTerminationProtectionInput')
289
+ SetUnhealthyNodeReplacementInput = Shapes::StructureShape.new(name: 'SetUnhealthyNodeReplacementInput')
289
290
  SetVisibleToAllUsersInput = Shapes::StructureShape.new(name: 'SetVisibleToAllUsersInput')
290
291
  ShrinkPolicy = Shapes::StructureShape.new(name: 'ShrinkPolicy')
291
292
  SimpleScalingPolicyConfiguration = Shapes::StructureShape.new(name: 'SimpleScalingPolicyConfiguration')
@@ -461,6 +462,7 @@ module Aws::EMR
461
462
  Cluster.add_member(:release_label, Shapes::ShapeRef.new(shape: String, location_name: "ReleaseLabel"))
462
463
  Cluster.add_member(:auto_terminate, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoTerminate"))
463
464
  Cluster.add_member(:termination_protected, Shapes::ShapeRef.new(shape: Boolean, location_name: "TerminationProtected"))
465
+ Cluster.add_member(:unhealthy_node_replacement, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "UnhealthyNodeReplacement"))
464
466
  Cluster.add_member(:visible_to_all_users, Shapes::ShapeRef.new(shape: Boolean, location_name: "VisibleToAllUsers"))
465
467
  Cluster.add_member(:applications, Shapes::ShapeRef.new(shape: ApplicationList, location_name: "Applications"))
466
468
  Cluster.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
@@ -996,6 +998,7 @@ module Aws::EMR
996
998
  JobFlowInstancesConfig.add_member(:placement, Shapes::ShapeRef.new(shape: PlacementType, location_name: "Placement"))
997
999
  JobFlowInstancesConfig.add_member(:keep_job_flow_alive_when_no_steps, Shapes::ShapeRef.new(shape: Boolean, location_name: "KeepJobFlowAliveWhenNoSteps"))
998
1000
  JobFlowInstancesConfig.add_member(:termination_protected, Shapes::ShapeRef.new(shape: Boolean, location_name: "TerminationProtected"))
1001
+ JobFlowInstancesConfig.add_member(:unhealthy_node_replacement, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "UnhealthyNodeReplacement"))
999
1002
  JobFlowInstancesConfig.add_member(:hadoop_version, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "HadoopVersion"))
1000
1003
  JobFlowInstancesConfig.add_member(:ec2_subnet_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Ec2SubnetId"))
1001
1004
  JobFlowInstancesConfig.add_member(:ec2_subnet_ids, Shapes::ShapeRef.new(shape: XmlStringMaxLen256List, location_name: "Ec2SubnetIds"))
@@ -1018,6 +1021,7 @@ module Aws::EMR
1018
1021
  JobFlowInstancesDetail.add_member(:placement, Shapes::ShapeRef.new(shape: PlacementType, location_name: "Placement"))
1019
1022
  JobFlowInstancesDetail.add_member(:keep_job_flow_alive_when_no_steps, Shapes::ShapeRef.new(shape: Boolean, location_name: "KeepJobFlowAliveWhenNoSteps"))
1020
1023
  JobFlowInstancesDetail.add_member(:termination_protected, Shapes::ShapeRef.new(shape: Boolean, location_name: "TerminationProtected"))
1024
+ JobFlowInstancesDetail.add_member(:unhealthy_node_replacement, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "UnhealthyNodeReplacement"))
1021
1025
  JobFlowInstancesDetail.add_member(:hadoop_version, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "HadoopVersion"))
1022
1026
  JobFlowInstancesDetail.struct_class = Types::JobFlowInstancesDetail
1023
1027
 
@@ -1398,6 +1402,10 @@ module Aws::EMR
1398
1402
  SetTerminationProtectionInput.add_member(:termination_protected, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "TerminationProtected"))
1399
1403
  SetTerminationProtectionInput.struct_class = Types::SetTerminationProtectionInput
1400
1404
 
1405
+ SetUnhealthyNodeReplacementInput.add_member(:job_flow_ids, Shapes::ShapeRef.new(shape: XmlStringList, required: true, location_name: "JobFlowIds"))
1406
+ SetUnhealthyNodeReplacementInput.add_member(:unhealthy_node_replacement, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "UnhealthyNodeReplacement"))
1407
+ SetUnhealthyNodeReplacementInput.struct_class = Types::SetUnhealthyNodeReplacementInput
1408
+
1401
1409
  SetVisibleToAllUsersInput.add_member(:job_flow_ids, Shapes::ShapeRef.new(shape: XmlStringList, required: true, location_name: "JobFlowIds"))
1402
1410
  SetVisibleToAllUsersInput.add_member(:visible_to_all_users, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "VisibleToAllUsers"))
1403
1411
  SetVisibleToAllUsersInput.struct_class = Types::SetVisibleToAllUsersInput
@@ -2150,6 +2158,15 @@ module Aws::EMR
2150
2158
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2151
2159
  end)
2152
2160
 
2161
+ api.add_operation(:set_unhealthy_node_replacement, Seahorse::Model::Operation.new.tap do |o|
2162
+ o.name = "SetUnhealthyNodeReplacement"
2163
+ o.http_method = "POST"
2164
+ o.http_request_uri = "/"
2165
+ o.input = Shapes::ShapeRef.new(shape: SetUnhealthyNodeReplacementInput)
2166
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2167
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2168
+ end)
2169
+
2153
2170
  api.add_operation(:set_visible_to_all_users, Seahorse::Model::Operation.new.tap do |o|
2154
2171
  o.name = "SetVisibleToAllUsers"
2155
2172
  o.http_method = "POST"
@@ -698,6 +698,20 @@ module Aws::EMR
698
698
  end
699
699
  end
700
700
 
701
+ class SetUnhealthyNodeReplacement
702
+ def self.build(context)
703
+ unless context.config.regional_endpoint
704
+ endpoint = context.config.endpoint.to_s
705
+ end
706
+ Aws::EMR::EndpointParameters.new(
707
+ region: context.config.region,
708
+ use_dual_stack: context.config.use_dualstack_endpoint,
709
+ use_fips: context.config.use_fips_endpoint,
710
+ endpoint: endpoint,
711
+ )
712
+ end
713
+ end
714
+
701
715
  class SetVisibleToAllUsers
702
716
  def self.build(context)
703
717
  unless context.config.regional_endpoint
@@ -156,6 +156,8 @@ module Aws::EMR
156
156
  Aws::EMR::Endpoints::SetKeepJobFlowAliveWhenNoSteps.build(context)
157
157
  when :set_termination_protection
158
158
  Aws::EMR::Endpoints::SetTerminationProtection.build(context)
159
+ when :set_unhealthy_node_replacement
160
+ Aws::EMR::Endpoints::SetUnhealthyNodeReplacement.build(context)
159
161
  when :set_visible_to_all_users
160
162
  Aws::EMR::Endpoints::SetVisibleToAllUsers.build(context)
161
163
  when :start_notebook_execution
@@ -643,6 +643,11 @@ module Aws::EMR
643
643
  # intervention, or in the event of a cluster error.
644
644
  # @return [Boolean]
645
645
  #
646
+ # @!attribute [rw] unhealthy_node_replacement
647
+ # Indicates whether Amazon EMR should gracefully replace Amazon EC2
648
+ # core instances that have degraded within the cluster.
649
+ # @return [Boolean]
650
+ #
646
651
  # @!attribute [rw] visible_to_all_users
647
652
  # Indicates whether the cluster is visible to IAM principals in the
648
653
  # Amazon Web Services account associated with the cluster. When
@@ -803,6 +808,7 @@ module Aws::EMR
803
808
  :release_label,
804
809
  :auto_terminate,
805
810
  :termination_protected,
811
+ :unhealthy_node_replacement,
806
812
  :visible_to_all_users,
807
813
  :applications,
808
814
  :tags,
@@ -3575,6 +3581,11 @@ module Aws::EMR
3575
3581
  # in the event of a job-flow error.
3576
3582
  # @return [Boolean]
3577
3583
  #
3584
+ # @!attribute [rw] unhealthy_node_replacement
3585
+ # Indicates whether Amazon EMR should gracefully replace core nodes
3586
+ # that have degraded within the cluster.
3587
+ # @return [Boolean]
3588
+ #
3578
3589
  # @!attribute [rw] hadoop_version
3579
3590
  # Applies only to Amazon EMR release versions earlier than 4.0. The
3580
3591
  # Hadoop version for the cluster. Valid inputs are "0.18" (no longer
@@ -3644,6 +3655,7 @@ module Aws::EMR
3644
3655
  :placement,
3645
3656
  :keep_job_flow_alive_when_no_steps,
3646
3657
  :termination_protected,
3658
+ :unhealthy_node_replacement,
3647
3659
  :hadoop_version,
3648
3660
  :ec2_subnet_id,
3649
3661
  :ec2_subnet_ids,
@@ -3723,6 +3735,11 @@ module Aws::EMR
3723
3735
  # the event of a job-flow error.
3724
3736
  # @return [Boolean]
3725
3737
  #
3738
+ # @!attribute [rw] unhealthy_node_replacement
3739
+ # Indicates whether Amazon EMR should gracefully replace core nodes
3740
+ # that have degraded within the cluster.
3741
+ # @return [Boolean]
3742
+ #
3726
3743
  # @!attribute [rw] hadoop_version
3727
3744
  # The Hadoop version for the cluster.
3728
3745
  # @return [String]
@@ -3742,6 +3759,7 @@ module Aws::EMR
3742
3759
  :placement,
3743
3760
  :keep_job_flow_alive_when_no_steps,
3744
3761
  :termination_protected,
3762
+ :unhealthy_node_replacement,
3745
3763
  :hadoop_version)
3746
3764
  SENSITIVE = []
3747
3765
  include Aws::Structure
@@ -5892,6 +5910,26 @@ module Aws::EMR
5892
5910
  include Aws::Structure
5893
5911
  end
5894
5912
 
5913
+ # @!attribute [rw] job_flow_ids
5914
+ # The list of strings that uniquely identify the clusters for which to
5915
+ # turn on unhealthy node replacement. You can get these identifiers by
5916
+ # running the RunJobFlow or the DescribeJobFlows operations.
5917
+ # @return [Array<String>]
5918
+ #
5919
+ # @!attribute [rw] unhealthy_node_replacement
5920
+ # Indicates whether to turn on or turn off graceful unhealthy node
5921
+ # replacement.
5922
+ # @return [Boolean]
5923
+ #
5924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetUnhealthyNodeReplacementInput AWS API Documentation
5925
+ #
5926
+ class SetUnhealthyNodeReplacementInput < Struct.new(
5927
+ :job_flow_ids,
5928
+ :unhealthy_node_replacement)
5929
+ SENSITIVE = []
5930
+ include Aws::Structure
5931
+ end
5932
+
5895
5933
  # The input to the SetVisibleToAllUsers action.
5896
5934
  #
5897
5935
  # @!attribute [rw] job_flow_ids
data/lib/aws-sdk-emr.rb CHANGED
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-emr/customizations'
53
53
  # @!group service
54
54
  module Aws::EMR
55
55
 
56
- GEM_VERSION = '1.83.0'
56
+ GEM_VERSION = '1.84.0'
57
57
 
58
58
  end
data/sig/client.rbs CHANGED
@@ -1008,6 +1008,7 @@ module Aws
1008
1008
  }?,
1009
1009
  keep_job_flow_alive_when_no_steps: bool?,
1010
1010
  termination_protected: bool?,
1011
+ unhealthy_node_replacement: bool?,
1011
1012
  hadoop_version: ::String?,
1012
1013
  ec2_subnet_id: ::String?,
1013
1014
  ec2_subnet_ids: Array[::String]?,
@@ -1126,6 +1127,13 @@ module Aws
1126
1127
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1127
1128
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1128
1129
 
1130
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EMR/Client.html#set_unhealthy_node_replacement-instance_method
1131
+ def set_unhealthy_node_replacement: (
1132
+ job_flow_ids: Array[::String],
1133
+ unhealthy_node_replacement: bool
1134
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1135
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1136
+
1129
1137
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EMR/Client.html#set_visible_to_all_users-instance_method
1130
1138
  def set_visible_to_all_users: (
1131
1139
  job_flow_ids: Array[::String],
data/sig/types.rbs CHANGED
@@ -161,6 +161,7 @@ module Aws::EMR
161
161
  attr_accessor release_label: ::String
162
162
  attr_accessor auto_terminate: bool
163
163
  attr_accessor termination_protected: bool
164
+ attr_accessor unhealthy_node_replacement: bool
164
165
  attr_accessor visible_to_all_users: bool
165
166
  attr_accessor applications: ::Array[Types::Application]
166
167
  attr_accessor tags: ::Array[Types::Tag]
@@ -801,6 +802,7 @@ module Aws::EMR
801
802
  attr_accessor placement: Types::PlacementType
802
803
  attr_accessor keep_job_flow_alive_when_no_steps: bool
803
804
  attr_accessor termination_protected: bool
805
+ attr_accessor unhealthy_node_replacement: bool
804
806
  attr_accessor hadoop_version: ::String
805
807
  attr_accessor ec2_subnet_id: ::String
806
808
  attr_accessor ec2_subnet_ids: ::Array[::String]
@@ -825,6 +827,7 @@ module Aws::EMR
825
827
  attr_accessor placement: Types::PlacementType
826
828
  attr_accessor keep_job_flow_alive_when_no_steps: bool
827
829
  attr_accessor termination_protected: bool
830
+ attr_accessor unhealthy_node_replacement: bool
828
831
  attr_accessor hadoop_version: ::String
829
832
  SENSITIVE: []
830
833
  end
@@ -1325,6 +1328,12 @@ module Aws::EMR
1325
1328
  SENSITIVE: []
1326
1329
  end
1327
1330
 
1331
+ class SetUnhealthyNodeReplacementInput
1332
+ attr_accessor job_flow_ids: ::Array[::String]
1333
+ attr_accessor unhealthy_node_replacement: bool
1334
+ SENSITIVE: []
1335
+ end
1336
+
1328
1337
  class SetVisibleToAllUsersInput
1329
1338
  attr_accessor job_flow_ids: ::Array[::String]
1330
1339
  attr_accessor visible_to_all_users: bool
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.83.0
4
+ version: 1.84.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: 2024-01-26 00:00:00.000000000 Z
11
+ date: 2024-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core