aws-sdk-core 2.0.0.rc13 → 2.0.0.rc14
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/README.md +27 -7
- data/apis/s3-2006-03-01.api.json +27 -16
- data/bin/aws.rb +0 -1
- data/endpoints.json +7 -3
- data/lib/aws.rb +57 -40
- data/lib/aws/endpoint_provider.rb +5 -21
- data/lib/aws/plugins/global_configuration.rb +2 -5
- data/lib/aws/plugins/regional_endpoint.rb +1 -4
- data/lib/aws/plugins/request_signer.rb +8 -2
- data/lib/aws/plugins/response_paging.rb +1 -1
- data/lib/aws/plugins/s3_sse_cpk.rb +25 -4
- data/lib/aws/service.rb +1 -19
- data/lib/aws/service_builder.rb +56 -0
- data/lib/aws/version.rb +1 -1
- data/lib/aws/xml/builder.rb +3 -7
- data/{vendor/seahorse/lib → lib}/seahorse.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/base.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/block_io.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/configuration.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/handler.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/handler_builder.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/handler_list.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/handler_list_entry.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/http/error.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/http/headers.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/http/request.rb +1 -1
- data/{vendor/seahorse/lib → lib}/seahorse/client/http/response.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/logging/formatter.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/logging/handler.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/managed_file.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/net_http/connection_pool.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/net_http/handler.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/net_http/patches.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/param_converter.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/param_validator.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugin.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugin_list.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/api.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/content_length.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/endpoint.rb +23 -14
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/json_simple.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/logging.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/net_http.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/operation_methods.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/param_conversion.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/param_validation.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/raise_response_errors.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/plugins/restful_bindings.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/request.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/request_context.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/response.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/client/xml/builder.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/model/api.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/model/operation.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/model/shape_map.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/model/shapes.rb +2 -2
- data/{vendor/seahorse/lib → lib}/seahorse/util.rb +0 -0
- data/{vendor/seahorse/lib → lib}/seahorse/version.rb +0 -0
- metadata +48 -49
- data/lib/aws/client_factory.rb +0 -251
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a114b4f1b2952bcbc8fa69c0d2c1ee77d4b765a
|
4
|
+
data.tar.gz: 3e315c708aaa188211a0166108b65b00e5070fe4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72899869dde1fbddf3a7eb0fb61edf6616e3a15d97bc88e1820c8a04fa6256e1a3eee999ae45054534063bf820db61c690f4d4fd554700bf11e873e53ebfb2e8
|
7
|
+
data.tar.gz: 556e7a49dcad168eddbf0133db95945c4b979d4a03e8bcaf21f2a1fd13117caad0c570c33cded18f98a76fd9540900fb09cfbde9a29258427ff96c18ed74f605
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# AWS SDK Core [](https://travis-ci.org/aws/aws-sdk-core-ruby) [](https://codeclimate.com/github/aws/aws-sdk-core-ruby)
|
1
|
+
# AWS SDK Core [](https://travis-ci.org/aws/aws-sdk-core-ruby) [](https://codeclimate.com/github/aws/aws-sdk-core-ruby) [](https://coveralls.io/r/aws/aws-sdk-core-ruby?branch=master)
|
2
2
|
|
3
3
|
This library is in a developer preview period.
|
4
4
|
|
@@ -9,7 +9,26 @@ than the clients in version 1 of the Ruby SDK.
|
|
9
9
|
|
10
10
|
For version 1.0 of the Ruby SDK, see [aws/aws-sdk-ruby](http://github.com/aws/aws-sdk-ruby).
|
11
11
|
|
12
|
-
|
12
|
+
#### 2.0.0.rc14 Upgrading Notes
|
13
|
+
|
14
|
+
RC14 simplifies the API versioning strategy. This may require small changes for
|
15
|
+
users that use the API version locking options. Also, there are minor changes
|
16
|
+
when configuring raw endpoints.
|
17
|
+
|
18
|
+
* Versioned client classes removed, e.g. `Aws::S3::Client::V20060301.new` should
|
19
|
+
be replaced with `Aws::S3::Client.new` The `:api_version` constructor option
|
20
|
+
is no longer accepted.
|
21
|
+
|
22
|
+
* Aws helper methods for client construction deprecated; For example,
|
23
|
+
calling `Aws.s3` will generate a deprecation warning. Call `Aws::S3::Client.new`
|
24
|
+
instead. Top-level helpers will be removed as of v2.0.0 final.
|
25
|
+
|
26
|
+
* When configuring an `:endpoint` directly, you must now specify the
|
27
|
+
HTTP scheme, e.g. "http://localhost:3000", instead of "localhost:3000".
|
28
|
+
Please note, this should only be done for testing. Normally you only
|
29
|
+
need to configure a `:region`.
|
30
|
+
|
31
|
+
#### 2.0.0.rc11 Upgrading Notes
|
13
32
|
|
14
33
|
RC 11 requires a few minor updates. These should be the final public-facing
|
15
34
|
changes before 2.0.0 final.
|
@@ -193,23 +212,24 @@ version.
|
|
193
212
|
|
194
213
|
| Service Name | Service Class | API Versions |
|
195
214
|
| ----------------------------------- | ------------------------- | ------------------------------ |
|
196
|
-
| Amazon CloudFront | CloudFront | 2014-
|
197
|
-
| Amazon CloudSearch | CloudSearch |
|
215
|
+
| Amazon CloudFront | CloudFront | 2014-05-31 |
|
216
|
+
| Amazon CloudSearch | CloudSearch | 2013-01-01 |
|
198
217
|
| Amazon CloudSearch Domain | CloudSearchDomain | 2013-01-01 |
|
199
218
|
| Amazon CloudWatch | CloudWatch | 2010-08-01 |
|
200
219
|
| Amazon CloudWatch Logs | CloudWatchLogs | 2014-03-28 |
|
201
220
|
| Amazon Cognito Identity | CognitoIdentity | 2014-06-30 |
|
202
221
|
| Amazon Cognito Sync | CognitoSync | 2014-06-30 |
|
203
|
-
| Amazon DynamoDB | DynamoDB |
|
222
|
+
| Amazon DynamoDB | DynamoDB | 2012-08-10 |
|
204
223
|
| Amazon Elastic Compute Cloud | EC2 | 2014-06-15 |
|
205
224
|
| Amazon Elastic MapReduce | EMR | 2009-03-31 |
|
206
225
|
| Amazon Elastic Transcoder | ElasticTranscoder | 2012-09-25 |
|
207
|
-
| Amazon ElastiCache | ElastiCache | 2014-
|
226
|
+
| Amazon ElastiCache | ElastiCache | 2014-07-15 |
|
208
227
|
| Amazon Glacier | Glacier | 2012-06-01 |
|
209
228
|
| Amazon Kinesis | Kinesis | 2013-12-02 |
|
210
229
|
| Amazon Redshift | Redshift | 2012-12-01 |
|
211
|
-
| Amazon Relational Database Service | RDS | 2013-
|
230
|
+
| Amazon Relational Database Service | RDS | 2013-09-09 |
|
212
231
|
| Amazon Route 53 | Route53 | 2013-04-01 |
|
232
|
+
| Amazon Route 53 Domains | Route53Domains | 2014-05-15 |
|
213
233
|
| Amazon Simple Email Service | SES | 2010-12-01 |
|
214
234
|
| Amazon Simple Notification Service | SNS | 2010-03-31 |
|
215
235
|
| Amazon Simple Queue Service | SQS | 2012-11-05 |
|
data/apis/s3-2006-03-01.api.json
CHANGED
@@ -6,7 +6,18 @@
|
|
6
6
|
"globalEndpoint":"s3.amazonaws.com",
|
7
7
|
"serviceAbbreviation":"Amazon S3",
|
8
8
|
"serviceFullName":"Amazon Simple Storage Service",
|
9
|
-
"signatureVersion":"
|
9
|
+
"signatureVersion":"v4",
|
10
|
+
"v3Regions": [
|
11
|
+
"us-east-1",
|
12
|
+
"us-west-1",
|
13
|
+
"us-west-2",
|
14
|
+
"ap-northeast-1",
|
15
|
+
"ap-southeast-1",
|
16
|
+
"ap-southeast-2",
|
17
|
+
"sa-east-1",
|
18
|
+
"eu-west-1",
|
19
|
+
"us-gov-west-1"
|
20
|
+
],
|
10
21
|
"timestampFormat":"rfc822",
|
11
22
|
"protocol":"rest-xml"
|
12
23
|
},
|
@@ -15,7 +26,7 @@
|
|
15
26
|
"name":"AbortMultipartUpload",
|
16
27
|
"http":{
|
17
28
|
"method":"DELETE",
|
18
|
-
"requestUri":"/{Bucket}/{Key}"
|
29
|
+
"requestUri":"/{Bucket}/{Key+}"
|
19
30
|
},
|
20
31
|
"input":{"shape":"AbortMultipartUploadRequest"},
|
21
32
|
"errors":[
|
@@ -32,7 +43,7 @@
|
|
32
43
|
"name":"CompleteMultipartUpload",
|
33
44
|
"http":{
|
34
45
|
"method":"POST",
|
35
|
-
"requestUri":"/{Bucket}/{Key}"
|
46
|
+
"requestUri":"/{Bucket}/{Key+}"
|
36
47
|
},
|
37
48
|
"input":{"shape":"CompleteMultipartUploadRequest"},
|
38
49
|
"output":{"shape":"CompleteMultipartUploadOutput"},
|
@@ -43,7 +54,7 @@
|
|
43
54
|
"name":"CopyObject",
|
44
55
|
"http":{
|
45
56
|
"method":"PUT",
|
46
|
-
"requestUri":"/{Bucket}/{Key}"
|
57
|
+
"requestUri":"/{Bucket}/{Key+}"
|
47
58
|
},
|
48
59
|
"input":{"shape":"CopyObjectRequest"},
|
49
60
|
"output":{"shape":"CopyObjectOutput"},
|
@@ -81,7 +92,7 @@
|
|
81
92
|
"name":"CreateMultipartUpload",
|
82
93
|
"http":{
|
83
94
|
"method":"POST",
|
84
|
-
"requestUri":"/{Bucket}/{Key}?uploads"
|
95
|
+
"requestUri":"/{Bucket}/{Key+}?uploads"
|
85
96
|
},
|
86
97
|
"input":{"shape":"CreateMultipartUploadRequest"},
|
87
98
|
"output":{"shape":"CreateMultipartUploadOutput"},
|
@@ -153,7 +164,7 @@
|
|
153
164
|
"name":"DeleteObject",
|
154
165
|
"http":{
|
155
166
|
"method":"DELETE",
|
156
|
-
"requestUri":"/{Bucket}/{Key}"
|
167
|
+
"requestUri":"/{Bucket}/{Key+}"
|
157
168
|
},
|
158
169
|
"input":{"shape":"DeleteObjectRequest"},
|
159
170
|
"output":{"shape":"DeleteObjectOutput"},
|
@@ -297,7 +308,7 @@
|
|
297
308
|
"name":"GetObject",
|
298
309
|
"http":{
|
299
310
|
"method":"GET",
|
300
|
-
"requestUri":"/{Bucket}/{Key}"
|
311
|
+
"requestUri":"/{Bucket}/{Key+}"
|
301
312
|
},
|
302
313
|
"input":{"shape":"GetObjectRequest"},
|
303
314
|
"output":{"shape":"GetObjectOutput"},
|
@@ -315,7 +326,7 @@
|
|
315
326
|
"name":"GetObjectAcl",
|
316
327
|
"http":{
|
317
328
|
"method":"GET",
|
318
|
-
"requestUri":"/{Bucket}/{Key}?acl"
|
329
|
+
"requestUri":"/{Bucket}/{Key+}?acl"
|
319
330
|
},
|
320
331
|
"input":{"shape":"GetObjectAclRequest"},
|
321
332
|
"output":{"shape":"GetObjectAclOutput"},
|
@@ -333,7 +344,7 @@
|
|
333
344
|
"name":"GetObjectTorrent",
|
334
345
|
"http":{
|
335
346
|
"method":"GET",
|
336
|
-
"requestUri":"/{Bucket}/{Key}?torrent"
|
347
|
+
"requestUri":"/{Bucket}/{Key+}?torrent"
|
337
348
|
},
|
338
349
|
"input":{"shape":"GetObjectTorrentRequest"},
|
339
350
|
"output":{"shape":"GetObjectTorrentOutput"},
|
@@ -361,7 +372,7 @@
|
|
361
372
|
"name":"HeadObject",
|
362
373
|
"http":{
|
363
374
|
"method":"HEAD",
|
364
|
-
"requestUri":"/{Bucket}/{Key}"
|
375
|
+
"requestUri":"/{Bucket}/{Key+}"
|
365
376
|
},
|
366
377
|
"input":{"shape":"HeadObjectRequest"},
|
367
378
|
"output":{"shape":"HeadObjectOutput"},
|
@@ -432,7 +443,7 @@
|
|
432
443
|
"name":"ListParts",
|
433
444
|
"http":{
|
434
445
|
"method":"GET",
|
435
|
-
"requestUri":"/{Bucket}/{Key}"
|
446
|
+
"requestUri":"/{Bucket}/{Key+}"
|
436
447
|
},
|
437
448
|
"input":{"shape":"ListPartsRequest"},
|
438
449
|
"output":{"shape":"ListPartsOutput"},
|
@@ -543,7 +554,7 @@
|
|
543
554
|
"name":"PutObject",
|
544
555
|
"http":{
|
545
556
|
"method":"PUT",
|
546
|
-
"requestUri":"/{Bucket}/{Key}"
|
557
|
+
"requestUri":"/{Bucket}/{Key+}"
|
547
558
|
},
|
548
559
|
"input":{"shape":"PutObjectRequest"},
|
549
560
|
"output":{"shape":"PutObjectOutput"},
|
@@ -554,7 +565,7 @@
|
|
554
565
|
"name":"PutObjectAcl",
|
555
566
|
"http":{
|
556
567
|
"method":"PUT",
|
557
|
-
"requestUri":"/{Bucket}/{Key}?acl"
|
568
|
+
"requestUri":"/{Bucket}/{Key+}?acl"
|
558
569
|
},
|
559
570
|
"input":{"shape":"PutObjectAclRequest"},
|
560
571
|
"errors":[
|
@@ -571,7 +582,7 @@
|
|
571
582
|
"name":"RestoreObject",
|
572
583
|
"http":{
|
573
584
|
"method":"POST",
|
574
|
-
"requestUri":"/{Bucket}/{Key}?restore"
|
585
|
+
"requestUri":"/{Bucket}/{Key+}?restore"
|
575
586
|
},
|
576
587
|
"input":{"shape":"RestoreObjectRequest"},
|
577
588
|
"errors":[
|
@@ -589,7 +600,7 @@
|
|
589
600
|
"name":"UploadPart",
|
590
601
|
"http":{
|
591
602
|
"method":"PUT",
|
592
|
-
"requestUri":"/{Bucket}/{Key}"
|
603
|
+
"requestUri":"/{Bucket}/{Key+}"
|
593
604
|
},
|
594
605
|
"input":{"shape":"UploadPartRequest"},
|
595
606
|
"output":{"shape":"UploadPartOutput"},
|
@@ -600,7 +611,7 @@
|
|
600
611
|
"name":"UploadPartCopy",
|
601
612
|
"http":{
|
602
613
|
"method":"PUT",
|
603
|
-
"requestUri":"/{Bucket}/{Key}"
|
614
|
+
"requestUri":"/{Bucket}/{Key+}"
|
604
615
|
},
|
605
616
|
"input":{"shape":"UploadPartCopyRequest"},
|
606
617
|
"output":{"shape":"UploadPartCopyOutput"},
|
data/bin/aws.rb
CHANGED
data/endpoints.json
CHANGED
@@ -6,13 +6,11 @@
|
|
6
6
|
{
|
7
7
|
"services": ["iam", "sts"],
|
8
8
|
"config": {
|
9
|
-
"signatureVersion": "v4",
|
10
9
|
"endpoint": "{scheme}://{service}.cn-north-1.amazonaws.com.cn"
|
11
10
|
}
|
12
11
|
},
|
13
12
|
{
|
14
13
|
"config": {
|
15
|
-
"signatureVersion": "v4",
|
16
14
|
"endpoint": "{scheme}://{service}.{region}.amazonaws.com.cn"
|
17
15
|
}
|
18
16
|
}
|
@@ -29,8 +27,14 @@
|
|
29
27
|
}
|
30
28
|
},
|
31
29
|
{
|
30
|
+
"services": ["s3"],
|
32
31
|
"config": {
|
33
|
-
"endpoint": "{scheme}://{service}
|
32
|
+
"endpoint": "{scheme}://{service}-{region}.amazonaws.com"
|
33
|
+
}
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"config": {
|
37
|
+
"endpoint": "{scheme}://{service}.{region}.amazonaws.com"
|
34
38
|
}
|
35
39
|
}
|
36
40
|
]
|
data/lib/aws.rb
CHANGED
@@ -8,7 +8,10 @@ module Aws
|
|
8
8
|
|
9
9
|
@config = {}
|
10
10
|
|
11
|
-
|
11
|
+
@services = {}
|
12
|
+
|
13
|
+
@service_added_callbacks = []
|
14
|
+
|
12
15
|
autoload :CredentialProviderChain, "#{SRC}/credential_provider_chain"
|
13
16
|
autoload :Credentials, "#{SRC}/credentials"
|
14
17
|
autoload :EmptyStructure, "#{SRC}/empty_structure"
|
@@ -18,6 +21,7 @@ module Aws
|
|
18
21
|
autoload :PageableResponse, "#{SRC}/pageable_response"
|
19
22
|
autoload :RestBodyHandler, "#{SRC}/rest_body_handler"
|
20
23
|
autoload :Service, "#{SRC}/service"
|
24
|
+
autoload :ServiceBuilder, "#{SRC}/service_builder"
|
21
25
|
autoload :SharedCredentials, "#{SRC}/shared_credentials"
|
22
26
|
autoload :Structure, "#{SRC}/structure"
|
23
27
|
autoload :TreeHash, "#{SRC}/tree_hash"
|
@@ -133,8 +137,8 @@ module Aws
|
|
133
137
|
# @param [Plugin] plugin
|
134
138
|
# @return [void]
|
135
139
|
def add_plugin(plugin)
|
136
|
-
|
137
|
-
|
140
|
+
client_classes.each do |client_class|
|
141
|
+
client_class.add_plugin(plugin)
|
138
142
|
end
|
139
143
|
end
|
140
144
|
|
@@ -143,68 +147,81 @@ module Aws
|
|
143
147
|
# @param [Plugin] plugin
|
144
148
|
# @return [void]
|
145
149
|
def remove_plugin(plugin)
|
146
|
-
|
147
|
-
|
150
|
+
client_classes.each do |client_class|
|
151
|
+
client_class.remove_plugin(plugin)
|
148
152
|
end
|
149
153
|
end
|
150
154
|
|
151
|
-
# @return [Hash<Symbol,Module>]
|
152
155
|
# @api private
|
153
|
-
def
|
154
|
-
@
|
156
|
+
def services
|
157
|
+
@services
|
155
158
|
end
|
156
159
|
|
157
160
|
# @return [Array<Class>]
|
158
161
|
# @api private
|
159
|
-
def
|
160
|
-
|
162
|
+
def client_classes
|
163
|
+
@services.values.map { |svc_module, options| svc_module.const_get(:Client) }
|
161
164
|
end
|
162
165
|
|
163
|
-
#
|
164
|
-
#
|
165
|
-
#
|
166
|
+
# Yields to the given block for each service that has already been
|
167
|
+
# defined via {add_service}. Also yields to the given block for
|
168
|
+
# each new service added after the callback is registered.
|
169
|
+
# @api private
|
170
|
+
def service_added(&block)
|
171
|
+
callback = Proc.new
|
172
|
+
@services.each do |svc_name, (svc_module, options)|
|
173
|
+
callback.call(svc_name, svc_module, options)
|
174
|
+
end
|
175
|
+
@service_added_callbacks << callback
|
176
|
+
end
|
177
|
+
|
178
|
+
# Registers a new service. Creates a Client class and an Errors
|
179
|
+
# module.
|
166
180
|
#
|
167
181
|
# # register a new service & API version
|
168
182
|
# Aws.add_service('S3', {
|
169
|
-
# '
|
170
|
-
#
|
171
|
-
#
|
172
|
-
#
|
173
|
-
# }
|
183
|
+
# 'api' => '/path/to/api.json',
|
184
|
+
# 'paginators' => '/path/to/paginators.json',
|
185
|
+
# 'resources' => '/path/to/resources.json',
|
186
|
+
# })
|
174
187
|
#
|
175
188
|
# # create a versioned client
|
176
|
-
# Aws::S3.new
|
177
|
-
# #=> #<Aws::S3::
|
189
|
+
# Aws::S3::Client.new
|
190
|
+
# #=> #<Aws::S3::Client>
|
178
191
|
#
|
179
|
-
#
|
192
|
+
# To register multiple API versions for the same service, use separate
|
193
|
+
# service names.
|
180
194
|
#
|
181
|
-
# @param
|
182
|
-
# @
|
183
|
-
#
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
identifier =
|
189
|
-
|
190
|
-
|
191
|
-
|
195
|
+
# @param (see ServiceBuilder.new)
|
196
|
+
# @option (see ServiceBuilder.new)
|
197
|
+
# @return (see ServiceBuilder.new)
|
198
|
+
def add_service(svc_name, options = {})
|
199
|
+
identifier = svc_name.downcase.to_sym
|
200
|
+
svc_module = ServiceBuilder.new(identifier, options)
|
201
|
+
const_set(svc_name, svc_module)
|
202
|
+
@services[identifier] = [svc_module, options]
|
203
|
+
@service_added_callbacks.each do |callback|
|
204
|
+
callback.call(identifier, svc_module, options)
|
205
|
+
end
|
206
|
+
svc_module
|
192
207
|
end
|
193
208
|
|
194
|
-
|
209
|
+
end
|
195
210
|
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
211
|
+
service_added do |identifier, svc_module, _|
|
212
|
+
define_singleton_method(identifier) do |options={}|
|
213
|
+
unless instance_variable_get("@#{identifier}_warned")
|
214
|
+
instance_variable_set("@#{identifier}_warned", true)
|
215
|
+
warn(<<-MSG.strip)
|
216
|
+
Aws.#{identifier} deprecated as of v2.0.0.rc14 and will be removed as of v2.0.0.0 final; use #{svc_module.name}::Client.new() instead
|
217
|
+
MSG
|
200
218
|
end
|
201
|
-
|
219
|
+
svc_module::Client.new(options)
|
202
220
|
end
|
203
|
-
|
204
221
|
end
|
205
222
|
|
206
223
|
Api::Manifest.default_manifest.services.each do |service|
|
207
|
-
add_service(service.name, service.versions)
|
224
|
+
add_service(service.name, service.versions.values.last)
|
208
225
|
end
|
209
226
|
|
210
227
|
end
|
@@ -17,7 +17,7 @@ module Aws
|
|
17
17
|
if region_matches?(rule_group, options)
|
18
18
|
rule_group['rules'].each do |rule|
|
19
19
|
if service_matches?(rule, options)
|
20
|
-
return
|
20
|
+
return expand_endpoint(rule['config']['endpoint'], options)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -29,18 +29,14 @@ module Aws
|
|
29
29
|
# optional placeholders. This is applied when rules match during
|
30
30
|
# resolution. Valid placeholders include:
|
31
31
|
#
|
32
|
-
# *
|
33
|
-
# *
|
34
|
-
# *
|
32
|
+
# * `{scheme}`
|
33
|
+
# * `{region}`
|
34
|
+
# * `{service}`
|
35
35
|
#
|
36
36
|
# An example pattern:
|
37
37
|
#
|
38
38
|
# "#{scheme}://{service}.{region}.amazonaws.com"
|
39
39
|
#
|
40
|
-
# @option options [String] :signature_version When resolving and a match
|
41
|
-
# is found, this is returned with the resolved `:pattern`. This can be
|
42
|
-
# used to provide per-endpoint overrides for the signature version.
|
43
|
-
#
|
44
40
|
# @option options [Integer] :priority (100) A number from 0 to 999.
|
45
41
|
# Rules with lower number have a higher priority and are evaluated first.
|
46
42
|
#
|
@@ -65,8 +61,6 @@ module Aws
|
|
65
61
|
rule['services'] = options[:services] if options[:services]
|
66
62
|
rule['config'] = {}
|
67
63
|
rule['config']['endpoint'] = options[:pattern]
|
68
|
-
rule['config']['signatureVersion'] = options[:signature_version] if
|
69
|
-
options[:signature_version]
|
70
64
|
{
|
71
65
|
'priority' => options[:priority] || 100,
|
72
66
|
'regionPrefix' => options[:region_prefix] || '',
|
@@ -82,17 +76,7 @@ module Aws
|
|
82
76
|
rule['services'].nil? || rule['services'].include?(options[:service])
|
83
77
|
end
|
84
78
|
|
85
|
-
def
|
86
|
-
rule['config'].each.with_object({}) do |(key, value), result|
|
87
|
-
if key == 'endpoint'
|
88
|
-
result[:endpoint] = resolve_endpoint(value, options)
|
89
|
-
else
|
90
|
-
result[Seahorse::Util.underscore(key).to_sym] = value
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
def resolve_endpoint(pattern, options)
|
79
|
+
def expand_endpoint(pattern, options)
|
96
80
|
pattern.gsub(/{\w+}/) { |match| options[match[1..-2].to_sym] }
|
97
81
|
end
|
98
82
|
|