aws-sdk-core 2.0.24 → 2.0.25
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.
- checksums.yaml +4 -4
- data/apis/CloudFront.api.json +52 -58
- data/apis/SSM.api.json +1047 -0
- data/endpoints.json +0 -6
- data/lib/aws-sdk-core.rb +1 -0
- data/lib/aws-sdk-core/credential_provider_chain.rb +7 -3
- data/lib/aws-sdk-core/instance_profile_credentials.rb +20 -11
- data/lib/aws-sdk-core/plugins/s3_request_signer.rb +2 -1
- data/lib/aws-sdk-core/shared_credentials.rb +1 -1
- data/lib/aws-sdk-core/ssm.rb +4 -0
- data/lib/aws-sdk-core/version.rb +1 -1
- metadata +9 -5
data/endpoints.json
CHANGED
@@ -11,9 +11,6 @@
|
|
11
11
|
"us-gov-west-1/iam": {
|
12
12
|
"endpoint": "iam.us-gov.amazonaws.com"
|
13
13
|
},
|
14
|
-
"us-gov-west-1/sts": {
|
15
|
-
"endpoint": "sts.us-gov-west-1.amazonaws.com"
|
16
|
-
},
|
17
14
|
"us-gov-west-1/s3": {
|
18
15
|
"endpoint": "s3-{region}.amazonaws.com"
|
19
16
|
},
|
@@ -29,9 +26,6 @@
|
|
29
26
|
"*/route53": {
|
30
27
|
"endpoint": "route53.amazonaws.com"
|
31
28
|
},
|
32
|
-
"*/sts": {
|
33
|
-
"endpoint": "sts.amazonaws.com"
|
34
|
-
},
|
35
29
|
"us-east-1/sdb": {
|
36
30
|
"endpoint": "sdb.amazonaws.com"
|
37
31
|
},
|
data/lib/aws-sdk-core.rb
CHANGED
@@ -23,7 +23,11 @@ module Aws
|
|
23
23
|
[:env_credentials, { prefix: 'AMAZON' }],
|
24
24
|
[:env_credentials, { key:'AWS_ACCESS_KEY', secret:'AWS_SECRET_KEY' }],
|
25
25
|
[:shared_credentials, {}],
|
26
|
-
[:instance_profile_credentials, {
|
26
|
+
[:instance_profile_credentials, {
|
27
|
+
retries: 0,
|
28
|
+
http_open_timeout: 1,
|
29
|
+
http_read_timeout: 1,
|
30
|
+
}],
|
27
31
|
]
|
28
32
|
end
|
29
33
|
|
@@ -54,8 +58,8 @@ module Aws
|
|
54
58
|
nil
|
55
59
|
end
|
56
60
|
|
57
|
-
def instance_profile_credentials(
|
58
|
-
InstanceProfileCredentials.new
|
61
|
+
def instance_profile_credentials(options)
|
62
|
+
InstanceProfileCredentials.new(options)
|
59
63
|
end
|
60
64
|
|
61
65
|
end
|
@@ -25,22 +25,27 @@ module Aws
|
|
25
25
|
]
|
26
26
|
|
27
27
|
# @param [Hash] options
|
28
|
-
# @option options [Integer] :retries (
|
28
|
+
# @option options [Integer] :retries (5) Number of times to retry
|
29
29
|
# when retrieving credentials.
|
30
30
|
# @option options [String] :ip_address ('169.254.169.254')
|
31
31
|
# @option options [Integer] :port (80)
|
32
|
-
# @option options [Float] :http_open_timeout (
|
33
|
-
# @option options [Float] :http_read_timeout (
|
32
|
+
# @option options [Float] :http_open_timeout (5)
|
33
|
+
# @option options [Float] :http_read_timeout (5)
|
34
|
+
# @option options [Numeric, Proc] :delay By default, failures are retried
|
35
|
+
# with exponential back-off, i.e. `sleep(1.2 ** num_failures)`. You can
|
36
|
+
# pass a number of seconds to sleep between failed attempts, or
|
37
|
+
# a Proc that accepts the number of failures.
|
34
38
|
# @option options [IO] :http_debug_output (nil) HTTP wire
|
35
39
|
# traces are sent to this object. You can specify something
|
36
40
|
# like $stdout.
|
37
41
|
def initialize options = {}
|
38
|
-
@retries = options[:retries] ||
|
42
|
+
@retries = options[:retries] || 5
|
39
43
|
@ip_address = options[:ip_address] || '169.254.169.254'
|
40
44
|
@port = options[:port] || 80
|
41
|
-
@http_open_timeout = options[:http_open_timeout] ||
|
42
|
-
@http_read_timeout = options[:http_read_timeout] ||
|
45
|
+
@http_open_timeout = options[:http_open_timeout] || 5
|
46
|
+
@http_read_timeout = options[:http_read_timeout] || 5
|
43
47
|
@http_debug_output = options[:http_debug_output]
|
48
|
+
@backoff = backoff(options[:backoff])
|
44
49
|
super
|
45
50
|
end
|
46
51
|
|
@@ -50,6 +55,14 @@ module Aws
|
|
50
55
|
|
51
56
|
private
|
52
57
|
|
58
|
+
def backoff(backoff)
|
59
|
+
case backoff
|
60
|
+
when Proc then backoff
|
61
|
+
when Numeric then lambda { |_| sleep(backoff) }
|
62
|
+
else lambda { |num_failures| Kernel.sleep(1.2 ** num_failures) }
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
53
66
|
def refresh
|
54
67
|
credentials = MultiJson.load(get_credentials)
|
55
68
|
@access_key_id = credentials['AccessKeyId']
|
@@ -72,7 +85,7 @@ module Aws
|
|
72
85
|
end
|
73
86
|
rescue *FAILURES => e
|
74
87
|
if failed_attempts < @retries
|
75
|
-
backoff(failed_attempts)
|
88
|
+
@backoff.call(failed_attempts)
|
76
89
|
failed_attempts += 1
|
77
90
|
retry
|
78
91
|
else
|
@@ -81,10 +94,6 @@ module Aws
|
|
81
94
|
end
|
82
95
|
end
|
83
96
|
|
84
|
-
def backoff(failed_attempts)
|
85
|
-
Kernel.sleep(2 ** failed_attempts)
|
86
|
-
end
|
87
|
-
|
88
97
|
def open_connection
|
89
98
|
http = Net::HTTP.new(@ip_address, @port, nil)
|
90
99
|
http.open_timeout = @http_open_timeout
|
@@ -6,7 +6,7 @@ module Aws
|
|
6
6
|
# @api private
|
7
7
|
class S3RequestSigner < Seahorse::Client::Plugin
|
8
8
|
|
9
|
-
class SigningHandler <
|
9
|
+
class SigningHandler < RequestSigner::Handler
|
10
10
|
|
11
11
|
# List of regions that support older S3 signature versions.
|
12
12
|
# All new regions only support signature version 4.
|
@@ -23,6 +23,7 @@ module Aws
|
|
23
23
|
))
|
24
24
|
|
25
25
|
def call(context)
|
26
|
+
require_credentials(context)
|
26
27
|
version = signature_version(context)
|
27
28
|
case version
|
28
29
|
when /v4/ then apply_v4_signature(context)
|
@@ -91,7 +91,7 @@ module Aws
|
|
91
91
|
if section
|
92
92
|
current_section = section[1]
|
93
93
|
elsif current_section
|
94
|
-
item = line.match(/^\s*(.+?)\s*=\s*(
|
94
|
+
item = line.match(/^\s*(.+?)\s*=\s*(.+?)\s*$/) unless line.nil?
|
95
95
|
if item
|
96
96
|
map[current_section] = map[current_section] || {}
|
97
97
|
map[current_section][item[1]] = item[2]
|
data/lib/aws-sdk-core/version.rb
CHANGED
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.0.
|
4
|
+
version: 2.0.25
|
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: 2015-02-
|
11
|
+
date: 2015-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -66,8 +66,10 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.0'
|
69
|
-
description: Provides API clients for AWS.
|
70
|
-
|
69
|
+
description: Provides API clients for AWS. This gem is part of the official AWS SDK
|
70
|
+
for Ruby.
|
71
|
+
email:
|
72
|
+
- trevrowe@amazon.com
|
71
73
|
executables:
|
72
74
|
- aws.rb
|
73
75
|
extensions: []
|
@@ -161,6 +163,7 @@ files:
|
|
161
163
|
- apis/SNS.resources.json
|
162
164
|
- apis/SQS.api.json
|
163
165
|
- apis/SQS.paginators.json
|
166
|
+
- apis/SSM.api.json
|
164
167
|
- apis/STS.api.json
|
165
168
|
- apis/SWF.api.json
|
166
169
|
- apis/SWF.paginators.json
|
@@ -292,6 +295,7 @@ files:
|
|
292
295
|
- lib/aws-sdk-core/simpledb.rb
|
293
296
|
- lib/aws-sdk-core/sns.rb
|
294
297
|
- lib/aws-sdk-core/sqs.rb
|
298
|
+
- lib/aws-sdk-core/ssm.rb
|
295
299
|
- lib/aws-sdk-core/storagegateway.rb
|
296
300
|
- lib/aws-sdk-core/structure.rb
|
297
301
|
- lib/aws-sdk-core/sts.rb
|
@@ -353,7 +357,7 @@ files:
|
|
353
357
|
- lib/seahorse/model/shapes.rb
|
354
358
|
- lib/seahorse/util.rb
|
355
359
|
- lib/seahorse/version.rb
|
356
|
-
homepage: http://github.com/aws/aws-sdk-
|
360
|
+
homepage: http://github.com/aws/aws-sdk-ruby
|
357
361
|
licenses:
|
358
362
|
- Apache 2.0
|
359
363
|
metadata: {}
|