aws-sdk-core 2.3.21 → 2.3.22

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
  SHA1:
3
- metadata.gz: 74df8a47fbceb48c44e572bfe9724a2f13d20eda
4
- data.tar.gz: bc06cb8919a8fb6e933b0bf58d5c21979fb138df
3
+ metadata.gz: 20daa05adefaf0a766d8e784f423f6df7a9bf1d6
4
+ data.tar.gz: 23fa85056398323571966b5a0256596686cc79db
5
5
  SHA512:
6
- metadata.gz: 1cd12fdff6278486a3dabe409a5673498ec174a677c157069a83285dc4edbccd69c01d44d1c2ddb427bab2ebdd71c9b3ffb4280b42d6c8508dcd22d20532c2c8
7
- data.tar.gz: 96b99fcd15a888df7842ef57a942792a1c4700b75d70faf405539c999721625e5c649a719600e0a7490eb3d8b2092cd39c2cb9e4744f684485426757ef7afa8d
6
+ metadata.gz: 73aed38227f751257e22b8e97bc9c4d1f0a2396d7fc2642133af74f4b62f1ce79ade538abc1a886c2801b9c578bbd3947b0150260449a544c3469eaad3aefd89
7
+ data.tar.gz: df9b92e6db52f1ba5b1775e86ba44b6e290a4fa4b3b67631bee8875e1fcd9c4afe5c373749ea20d92bb8d7e14a0f99c0cc3b7b7668b312f9826f28287b713fc5
@@ -92,6 +92,19 @@
92
92
  {"shape":"ResourceQuotaExceededFault"}
93
93
  ]
94
94
  },
95
+ "DeleteCertificate":{
96
+ "name":"DeleteCertificate",
97
+ "http":{
98
+ "method":"POST",
99
+ "requestUri":"/"
100
+ },
101
+ "input":{"shape":"DeleteCertificateMessage"},
102
+ "output":{"shape":"DeleteCertificateResponse"},
103
+ "errors":[
104
+ {"shape":"ResourceNotFoundFault"},
105
+ {"shape":"InvalidResourceStateFault"}
106
+ ]
107
+ },
95
108
  "DeleteEndpoint":{
96
109
  "name":"DeleteEndpoint",
97
110
  "http":{
@@ -153,6 +166,18 @@
153
166
  "input":{"shape":"DescribeAccountAttributesMessage"},
154
167
  "output":{"shape":"DescribeAccountAttributesResponse"}
155
168
  },
169
+ "DescribeCertificates":{
170
+ "name":"DescribeCertificates",
171
+ "http":{
172
+ "method":"POST",
173
+ "requestUri":"/"
174
+ },
175
+ "input":{"shape":"DescribeCertificatesMessage"},
176
+ "output":{"shape":"DescribeCertificatesResponse"},
177
+ "errors":[
178
+ {"shape":"ResourceNotFoundFault"}
179
+ ]
180
+ },
156
181
  "DescribeConnections":{
157
182
  "name":"DescribeConnections",
158
183
  "http":{
@@ -270,6 +295,19 @@
270
295
  {"shape":"InvalidResourceStateFault"}
271
296
  ]
272
297
  },
298
+ "ImportCertificate":{
299
+ "name":"ImportCertificate",
300
+ "http":{
301
+ "method":"POST",
302
+ "requestUri":"/"
303
+ },
304
+ "input":{"shape":"ImportCertificateMessage"},
305
+ "output":{"shape":"ImportCertificateResponse"},
306
+ "errors":[
307
+ {"shape":"ResourceAlreadyExistsFault"},
308
+ {"shape":"InvalidCertificateFault"}
309
+ ]
310
+ },
273
311
  "ListTagsForResource":{
274
312
  "name":"ListTagsForResource",
275
313
  "http":{
@@ -323,6 +361,7 @@
323
361
  "input":{"shape":"ModifyReplicationSubnetGroupMessage"},
324
362
  "output":{"shape":"ModifyReplicationSubnetGroupResponse"},
325
363
  "errors":[
364
+ {"shape":"AccessDeniedFault"},
326
365
  {"shape":"ResourceNotFoundFault"},
327
366
  {"shape":"ResourceQuotaExceededFault"},
328
367
  {"shape":"SubnetAlreadyInUse"},
@@ -446,6 +485,27 @@
446
485
  },
447
486
  "Boolean":{"type":"boolean"},
448
487
  "BooleanOptional":{"type":"boolean"},
488
+ "Certificate":{
489
+ "type":"structure",
490
+ "members":{
491
+ "CertificateIdentifier":{"shape":"String"},
492
+ "CertificateCreationDate":{"shape":"TStamp"},
493
+ "CertificatePem":{"shape":"String"},
494
+ "CertificateArn":{"shape":"String"},
495
+ "CertificateOwner":{"shape":"String"},
496
+ "ValidFromDate":{"shape":"TStamp"},
497
+ "ValidToDate":{"shape":"TStamp"},
498
+ "SigningAlgorithm":{"shape":"String"},
499
+ "KeyLength":{"shape":"IntegerOptional"}
500
+ }
501
+ },
502
+ "CertificateList":{
503
+ "type":"list",
504
+ "member":{
505
+ "shape":"Certificate",
506
+ "locationName":"Certificate"
507
+ }
508
+ },
449
509
  "Connection":{
450
510
  "type":"structure",
451
511
  "members":{
@@ -486,7 +546,9 @@
486
546
  "DatabaseName":{"shape":"String"},
487
547
  "ExtraConnectionAttributes":{"shape":"String"},
488
548
  "KmsKeyId":{"shape":"String"},
489
- "Tags":{"shape":"TagList"}
549
+ "Tags":{"shape":"TagList"},
550
+ "CertificateArn":{"shape":"String"},
551
+ "SslMode":{"shape":"DmsSslModeValue"}
490
552
  }
491
553
  },
492
554
  "CreateEndpointResponse":{
@@ -509,6 +571,7 @@
509
571
  "AvailabilityZone":{"shape":"String"},
510
572
  "ReplicationSubnetGroupIdentifier":{"shape":"String"},
511
573
  "PreferredMaintenanceWindow":{"shape":"String"},
574
+ "MultiAZ":{"shape":"BooleanOptional"},
512
575
  "EngineVersion":{"shape":"String"},
513
576
  "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
514
577
  "Tags":{"shape":"TagList"},
@@ -570,6 +633,19 @@
570
633
  "ReplicationTask":{"shape":"ReplicationTask"}
571
634
  }
572
635
  },
636
+ "DeleteCertificateMessage":{
637
+ "type":"structure",
638
+ "required":["CertificateArn"],
639
+ "members":{
640
+ "CertificateArn":{"shape":"String"}
641
+ }
642
+ },
643
+ "DeleteCertificateResponse":{
644
+ "type":"structure",
645
+ "members":{
646
+ "Certificate":{"shape":"Certificate"}
647
+ }
648
+ },
573
649
  "DeleteEndpointMessage":{
574
650
  "type":"structure",
575
651
  "required":["EndpointArn"],
@@ -632,6 +708,21 @@
632
708
  "AccountQuotas":{"shape":"AccountQuotaList"}
633
709
  }
634
710
  },
711
+ "DescribeCertificatesMessage":{
712
+ "type":"structure",
713
+ "members":{
714
+ "Filters":{"shape":"FilterList"},
715
+ "MaxRecords":{"shape":"IntegerOptional"},
716
+ "Marker":{"shape":"String"}
717
+ }
718
+ },
719
+ "DescribeCertificatesResponse":{
720
+ "type":"structure",
721
+ "members":{
722
+ "Marker":{"shape":"String"},
723
+ "Certificates":{"shape":"CertificateList"}
724
+ }
725
+ },
635
726
  "DescribeConnectionsMessage":{
636
727
  "type":"structure",
637
728
  "members":{
@@ -782,6 +873,15 @@
782
873
  "Marker":{"shape":"String"}
783
874
  }
784
875
  },
876
+ "DmsSslModeValue":{
877
+ "type":"string",
878
+ "enum":[
879
+ "none",
880
+ "require",
881
+ "verify-ca",
882
+ "verify-full"
883
+ ]
884
+ },
785
885
  "Endpoint":{
786
886
  "type":"structure",
787
887
  "members":{
@@ -795,7 +895,9 @@
795
895
  "ExtraConnectionAttributes":{"shape":"String"},
796
896
  "Status":{"shape":"String"},
797
897
  "KmsKeyId":{"shape":"String"},
798
- "EndpointArn":{"shape":"String"}
898
+ "EndpointArn":{"shape":"String"},
899
+ "CertificateArn":{"shape":"String"},
900
+ "SslMode":{"shape":"DmsSslModeValue"}
799
901
  }
800
902
  },
801
903
  "EndpointList":{
@@ -831,6 +933,20 @@
831
933
  "locationName":"Value"
832
934
  }
833
935
  },
936
+ "ImportCertificateMessage":{
937
+ "type":"structure",
938
+ "required":["CertificateIdentifier"],
939
+ "members":{
940
+ "CertificateIdentifier":{"shape":"String"},
941
+ "CertificatePem":{"shape":"String"}
942
+ }
943
+ },
944
+ "ImportCertificateResponse":{
945
+ "type":"structure",
946
+ "members":{
947
+ "Certificate":{"shape":"Certificate"}
948
+ }
949
+ },
834
950
  "InsufficientResourceCapacityFault":{
835
951
  "type":"structure",
836
952
  "members":{
@@ -840,6 +956,13 @@
840
956
  },
841
957
  "Integer":{"type":"integer"},
842
958
  "IntegerOptional":{"type":"integer"},
959
+ "InvalidCertificateFault":{
960
+ "type":"structure",
961
+ "members":{
962
+ "message":{"shape":"ExceptionMessage"}
963
+ },
964
+ "exception":true
965
+ },
843
966
  "InvalidResourceStateFault":{
844
967
  "type":"structure",
845
968
  "members":{
@@ -900,7 +1023,9 @@
900
1023
  "ServerName":{"shape":"String"},
901
1024
  "Port":{"shape":"IntegerOptional"},
902
1025
  "DatabaseName":{"shape":"String"},
903
- "ExtraConnectionAttributes":{"shape":"String"}
1026
+ "ExtraConnectionAttributes":{"shape":"String"},
1027
+ "CertificateArn":{"shape":"String"},
1028
+ "SslMode":{"shape":"DmsSslModeValue"}
904
1029
  }
905
1030
  },
906
1031
  "ModifyEndpointResponse":{
@@ -919,6 +1044,7 @@
919
1044
  "ReplicationInstanceClass":{"shape":"String"},
920
1045
  "VpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"},
921
1046
  "PreferredMaintenanceWindow":{"shape":"String"},
1047
+ "MultiAZ":{"shape":"BooleanOptional"},
922
1048
  "EngineVersion":{"shape":"String"},
923
1049
  "AllowMajorVersionUpgrade":{"shape":"Boolean"},
924
1050
  "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
@@ -1039,12 +1165,21 @@
1039
1165
  "ReplicationSubnetGroup":{"shape":"ReplicationSubnetGroup"},
1040
1166
  "PreferredMaintenanceWindow":{"shape":"String"},
1041
1167
  "PendingModifiedValues":{"shape":"ReplicationPendingModifiedValues"},
1168
+ "MultiAZ":{"shape":"Boolean"},
1042
1169
  "EngineVersion":{"shape":"String"},
1043
1170
  "AutoMinorVersionUpgrade":{"shape":"Boolean"},
1044
1171
  "KmsKeyId":{"shape":"String"},
1045
1172
  "ReplicationInstanceArn":{"shape":"String"},
1046
- "ReplicationInstancePublicIpAddress":{"shape":"String"},
1047
- "ReplicationInstancePrivateIpAddress":{"shape":"String"},
1173
+ "ReplicationInstancePublicIpAddress":{
1174
+ "shape":"String",
1175
+ "deprecated":true
1176
+ },
1177
+ "ReplicationInstancePrivateIpAddress":{
1178
+ "shape":"String",
1179
+ "deprecated":true
1180
+ },
1181
+ "ReplicationInstancePublicIpAddresses":{"shape":"ReplicationInstancePublicIpAddressList"},
1182
+ "ReplicationInstancePrivateIpAddresses":{"shape":"ReplicationInstancePrivateIpAddressList"},
1048
1183
  "PubliclyAccessible":{"shape":"Boolean"}
1049
1184
  }
1050
1185
  },
@@ -1055,11 +1190,20 @@
1055
1190
  "locationName":"ReplicationInstance"
1056
1191
  }
1057
1192
  },
1193
+ "ReplicationInstancePrivateIpAddressList":{
1194
+ "type":"list",
1195
+ "member":{"shape":"String"}
1196
+ },
1197
+ "ReplicationInstancePublicIpAddressList":{
1198
+ "type":"list",
1199
+ "member":{"shape":"String"}
1200
+ },
1058
1201
  "ReplicationPendingModifiedValues":{
1059
1202
  "type":"structure",
1060
1203
  "members":{
1061
1204
  "ReplicationInstanceClass":{"shape":"String"},
1062
1205
  "AllocatedStorage":{"shape":"IntegerOptional"},
1206
+ "MultiAZ":{"shape":"BooleanOptional"},
1063
1207
  "EngineVersion":{"shape":"String"}
1064
1208
  }
1065
1209
  },
@@ -1039,6 +1039,7 @@
1039
1039
  ],
1040
1040
  "members":{
1041
1041
  "family":{"shape":"String"},
1042
+ "taskRoleArn":{"shape":"String"},
1042
1043
  "containerDefinitions":{"shape":"ContainerDefinitions"},
1043
1044
  "volumes":{"shape":"VolumeList"}
1044
1045
  }
@@ -1246,6 +1247,7 @@
1246
1247
  "taskDefinitionArn":{"shape":"String"},
1247
1248
  "containerDefinitions":{"shape":"ContainerDefinitions"},
1248
1249
  "family":{"shape":"String"},
1250
+ "taskRoleArn":{"shape":"String"},
1249
1251
  "revision":{"shape":"Integer"},
1250
1252
  "volumes":{"shape":"VolumeList"},
1251
1253
  "status":{"shape":"TaskDefinitionStatus"},
@@ -1270,7 +1272,8 @@
1270
1272
  "TaskOverride":{
1271
1273
  "type":"structure",
1272
1274
  "members":{
1273
- "containerOverrides":{"shape":"ContainerOverrides"}
1275
+ "containerOverrides":{"shape":"ContainerOverrides"},
1276
+ "taskRoleArn":{"shape":"String"}
1274
1277
  }
1275
1278
  },
1276
1279
  "Tasks":{
@@ -71,6 +71,23 @@
71
71
  {"shape":"AuthorizationQuotaExceededFault"}
72
72
  ]
73
73
  },
74
+ "CopyDBClusterParameterGroup":{
75
+ "name":"CopyDBClusterParameterGroup",
76
+ "http":{
77
+ "method":"POST",
78
+ "requestUri":"/"
79
+ },
80
+ "input":{"shape":"CopyDBClusterParameterGroupMessage"},
81
+ "output":{
82
+ "shape":"CopyDBClusterParameterGroupResult",
83
+ "resultWrapper":"CopyDBClusterParameterGroupResult"
84
+ },
85
+ "errors":[
86
+ {"shape":"DBParameterGroupNotFoundFault"},
87
+ {"shape":"DBParameterGroupQuotaExceededFault"},
88
+ {"shape":"DBParameterGroupAlreadyExistsFault"}
89
+ ]
90
+ },
74
91
  "CopyDBClusterSnapshot":{
75
92
  "name":"CopyDBClusterSnapshot",
76
93
  "http":{
@@ -930,7 +947,8 @@
930
947
  },
931
948
  "errors":[
932
949
  {"shape":"DBClusterNotFoundFault"},
933
- {"shape":"InvalidDBClusterStateFault"}
950
+ {"shape":"InvalidDBClusterStateFault"},
951
+ {"shape":"InvalidDBInstanceStateFault"}
934
952
  ]
935
953
  },
936
954
  "ListTagsForResource":{
@@ -1594,6 +1612,26 @@
1594
1612
  "CharacterSetDescription":{"shape":"String"}
1595
1613
  }
1596
1614
  },
1615
+ "CopyDBClusterParameterGroupMessage":{
1616
+ "type":"structure",
1617
+ "required":[
1618
+ "SourceDBClusterParameterGroupIdentifier",
1619
+ "TargetDBClusterParameterGroupIdentifier",
1620
+ "TargetDBClusterParameterGroupDescription"
1621
+ ],
1622
+ "members":{
1623
+ "SourceDBClusterParameterGroupIdentifier":{"shape":"String"},
1624
+ "TargetDBClusterParameterGroupIdentifier":{"shape":"String"},
1625
+ "TargetDBClusterParameterGroupDescription":{"shape":"String"},
1626
+ "Tags":{"shape":"TagList"}
1627
+ }
1628
+ },
1629
+ "CopyDBClusterParameterGroupResult":{
1630
+ "type":"structure",
1631
+ "members":{
1632
+ "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"}
1633
+ }
1634
+ },
1597
1635
  "CopyDBClusterSnapshotMessage":{
1598
1636
  "type":"structure",
1599
1637
  "required":[
@@ -1676,9 +1714,7 @@
1676
1714
  "type":"structure",
1677
1715
  "required":[
1678
1716
  "DBClusterIdentifier",
1679
- "Engine",
1680
- "MasterUsername",
1681
- "MasterUserPassword"
1717
+ "Engine"
1682
1718
  ],
1683
1719
  "members":{
1684
1720
  "AvailabilityZones":{"shape":"AvailabilityZones"},
@@ -3302,7 +3338,8 @@
3302
3338
  "FailoverDBClusterMessage":{
3303
3339
  "type":"structure",
3304
3340
  "members":{
3305
- "DBClusterIdentifier":{"shape":"String"}
3341
+ "DBClusterIdentifier":{"shape":"String"},
3342
+ "TargetDBInstanceIdentifier":{"shape":"String"}
3306
3343
  }
3307
3344
  },
3308
3345
  "FailoverDBClusterResult":{
@@ -110,6 +110,7 @@ module Aws
110
110
  autoload :Credentials, 'aws-sdk-core/credentials'
111
111
  autoload :Deprecations, 'aws-sdk-core/deprecations'
112
112
  autoload :EagerLoader, 'aws-sdk-core/eager_loader'
113
+ autoload :ECSCredentials, 'aws-sdk-core/ecs_credentials'
113
114
  autoload :EmptyStructure, 'aws-sdk-core/empty_structure'
114
115
  autoload :EndpointProvider, 'aws-sdk-core/endpoint_provider'
115
116
  autoload :Errors, 'aws-sdk-core/errors'
@@ -68,7 +68,11 @@ module Aws
68
68
  end
69
69
 
70
70
  def instance_profile_credentials(options)
71
- InstanceProfileCredentials.new(options)
71
+ if ENV["AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"]
72
+ ECSCredentials.new(options)
73
+ else
74
+ InstanceProfileCredentials.new(options)
75
+ end
72
76
  end
73
77
 
74
78
  end
@@ -0,0 +1,141 @@
1
+ require 'json'
2
+ require 'time'
3
+ require 'net/http'
4
+
5
+ module Aws
6
+ class ECSCredentials
7
+
8
+ include CredentialProvider
9
+ include RefreshingCredentials
10
+
11
+ # @api private
12
+ class Non200Response < RuntimeError; end
13
+
14
+ # These are the errors we trap when attempting to talk to the
15
+ # instance metadata service. Any of these imply the service
16
+ # is not present, no responding or some other non-recoverable
17
+ # error.
18
+ # @api private
19
+ NETWORK_ERRORS = [
20
+ Errno::EHOSTUNREACH,
21
+ Errno::ECONNREFUSED,
22
+ Errno::EHOSTDOWN,
23
+ Errno::ENETUNREACH,
24
+ SocketError,
25
+ Timeout::Error,
26
+ Non200Response,
27
+ ]
28
+
29
+ # @param [Hash] options
30
+ # @option options [Integer] :retries (5) Number of times to retry
31
+ # when retrieving credentials.
32
+ # @option options [String] :ip_address ('169.254.170.2')
33
+ # @option options [Integer] :port (80)
34
+ # @option options [String] :credential_path By default, the value of the
35
+ # AWS_CONTAINER_CREDENTIALS_RELATIVE_URI environment variable.
36
+ # @option options [Float] :http_open_timeout (5)
37
+ # @option options [Float] :http_read_timeout (5)
38
+ # @option options [Numeric, Proc] :delay By default, failures are retried
39
+ # with exponential back-off, i.e. `sleep(1.2 ** num_failures)`. You can
40
+ # pass a number of seconds to sleep between failed attempts, or
41
+ # a Proc that accepts the number of failures.
42
+ # @option options [IO] :http_debug_output (nil) HTTP wire
43
+ # traces are sent to this object. You can specify something
44
+ # like $stdout.
45
+ def initialize options = {}
46
+ @retries = options[:retries] || 5
47
+ @ip_address = options[:ip_address] || '169.254.170.2'
48
+ @port = options[:port] || 80
49
+ @credential_path = options[:credential_path]
50
+ @credential_path ||= ENV['AWS_CONTAINER_CREDENTIALS_RELATIVE_URI']
51
+ unless @credential_path
52
+ raise ArgumentError.new(
53
+ "Cannot instantiate an ECS Credential Provider without a credential path."
54
+ )
55
+ end
56
+ @http_open_timeout = options[:http_open_timeout] || 5
57
+ @http_read_timeout = options[:http_read_timeout] || 5
58
+ @http_debug_output = options[:http_debug_output]
59
+ @backoff = backoff(options[:backoff])
60
+ super
61
+ end
62
+
63
+ # @return [Integer] The number of times to retry failed atttempts to
64
+ # fetch credentials from the instance metadata service. Defaults to 0.
65
+ attr_reader :retries
66
+
67
+ private
68
+
69
+ def backoff(backoff)
70
+ case backoff
71
+ when Proc then backoff
72
+ when Numeric then lambda { |_| sleep(backoff) }
73
+ else lambda { |num_failures| Kernel.sleep(1.2 ** num_failures) }
74
+ end
75
+ end
76
+
77
+ def refresh
78
+ # Retry loading credentials up to 3 times is the instance metadata
79
+ # service is responding but is returning invalid JSON documents
80
+ # in response to the GET profile credentials call.
81
+ retry_errors([JSON::ParserError, StandardError], max_retries: 3) do
82
+ c = JSON.parse(get_credentials.to_s)
83
+ @credentials = Credentials.new(
84
+ c['AccessKeyId'],
85
+ c['SecretAccessKey'],
86
+ c['Token']
87
+ )
88
+ @expiration = c['Expiration'] ? Time.parse(c['Expiration']) : nil
89
+ end
90
+ end
91
+
92
+ def get_credentials
93
+ # Retry loading credentials a configurable number of times if
94
+ # the instance metadata service is not responding.
95
+ begin
96
+ retry_errors(NETWORK_ERRORS, max_retries: @retries) do
97
+ open_connection do |conn|
98
+ http_get(conn, @credential_path)
99
+ end
100
+ end
101
+ rescue
102
+ '{}'
103
+ end
104
+ end
105
+
106
+ def open_connection
107
+ http = Net::HTTP.new(@ip_address, @port, nil)
108
+ http.open_timeout = @http_open_timeout
109
+ http.read_timeout = @http_read_timeout
110
+ http.set_debug_output(@http_debug_output) if @http_debug_output
111
+ http.start
112
+ yield(http).tap { http.finish }
113
+ end
114
+
115
+ def http_get(connection, path)
116
+ response = connection.request(Net::HTTP::Get.new(path))
117
+ if response.code.to_i == 200
118
+ response.body
119
+ else
120
+ raise Non200Response
121
+ end
122
+ end
123
+
124
+ def retry_errors(error_classes, options = {}, &block)
125
+ max_retries = options[:max_retries]
126
+ retries = 0
127
+ begin
128
+ yield
129
+ rescue *error_classes => error
130
+ if retries < max_retries
131
+ @backoff.call(retries)
132
+ retries += 1
133
+ retry
134
+ else
135
+ raise
136
+ end
137
+ end
138
+ end
139
+
140
+ end
141
+ end
@@ -1,3 +1,3 @@
1
1
  module Aws
2
- VERSION = '2.3.21'
2
+ VERSION = '2.3.22'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.21
4
+ version: 2.3.22
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: 2016-07-07 00:00:00.000000000 Z
11
+ date: 2016-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath
@@ -301,6 +301,7 @@ files:
301
301
  - lib/aws-sdk-core/ec2.rb
302
302
  - lib/aws-sdk-core/ecr.rb
303
303
  - lib/aws-sdk-core/ecs.rb
304
+ - lib/aws-sdk-core/ecs_credentials.rb
304
305
  - lib/aws-sdk-core/efs.rb
305
306
  - lib/aws-sdk-core/elasticache.rb
306
307
  - lib/aws-sdk-core/elasticbeanstalk.rb