aws-sdk 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/aws/api_config/{IAM-2010-07-15.yml → IAM-2010-05-08.yml} +56 -4
- data/lib/aws/api_config/SNS-2010-03-31.yml +90 -81
- data/lib/aws/core.rb +26 -11
- data/lib/aws/core/client.rb +12 -4
- data/lib/aws/core/collection.rb +5 -12
- data/lib/aws/core/collection/limitable.rb +10 -3
- data/lib/aws/core/collection/simple.rb +1 -0
- data/lib/aws/core/configuration.rb +2 -0
- data/lib/aws/core/configured_json_client_methods.rb +5 -2
- data/lib/aws/core/http/httparty_handler.rb +1 -1
- data/lib/aws/core/http/net_http_handler.rb +2 -1
- data/lib/aws/core/http/request.rb +27 -0
- data/lib/aws/core/json_client.rb +41 -0
- data/lib/aws/core/lazy_error_classes.rb +2 -0
- data/lib/aws/core/option_grammar.rb +1 -1
- data/lib/aws/core/resource.rb +12 -14
- data/lib/aws/core/session_signer.rb +0 -5
- data/lib/aws/core/xml_grammar.rb +12 -2
- data/lib/aws/dynamo_db.rb +4 -1
- data/lib/aws/dynamo_db/client.rb +4 -17
- data/lib/aws/dynamo_db/item_collection.rb +15 -0
- data/lib/aws/ec2/security_group.rb +2 -1
- data/lib/aws/ec2/security_group/ip_permission.rb +2 -3
- data/lib/aws/elb/listener.rb +2 -2
- data/lib/aws/iam.rb +17 -0
- data/lib/aws/iam/client.rb +9 -6
- data/lib/aws/iam/mfa_device.rb +4 -2
- data/lib/aws/iam/mfa_device_collection.rb +14 -3
- data/lib/aws/iam/user.rb +10 -0
- data/lib/aws/iam/virtual_mfa_device.rb +139 -0
- data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
- data/lib/aws/record/abstract_base.rb +1 -0
- data/lib/aws/record/hash_model/attributes.rb +8 -8
- data/lib/aws/record/hash_model/finder_methods.rb +10 -15
- data/lib/aws/record/model.rb +1 -3
- data/lib/aws/record/model/finder_methods.rb +3 -3
- data/lib/aws/s3.rb +1 -0
- data/lib/aws/s3/bucket.rb +83 -16
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +360 -0
- data/lib/aws/s3/client.rb +50 -0
- data/lib/aws/s3/client/xml.rb +10 -0
- data/lib/aws/s3/object_version.rb +5 -0
- data/lib/aws/s3/object_version_collection.rb +15 -1
- data/lib/aws/s3/request.rb +1 -1
- data/lib/aws/s3/s3_object.rb +56 -1
- data/lib/aws/sns.rb +1 -0
- data/lib/aws/sns/has_delivery_policy.rb +68 -0
- data/lib/aws/sns/subscription.rb +62 -14
- data/lib/aws/sns/subscription_collection.rb +1 -1
- data/lib/aws/sns/topic.rb +22 -4
- data/lib/aws/sts.rb +3 -2
- data/lib/net/http/connection_pool.rb +1 -1
- metadata +27 -25
- data/lib/aws/core/collection/batchable.rb +0 -133
@@ -405,7 +405,7 @@
|
|
405
405
|
- :required
|
406
406
|
SerialNumber:
|
407
407
|
- :string
|
408
|
-
- :pattern: !ruby/regexp /[\w]*/
|
408
|
+
- :pattern: !ruby/regexp /[\w+=\/:,.@-]*/
|
409
409
|
- :required
|
410
410
|
AuthenticationCode1:
|
411
411
|
- :string
|
@@ -424,7 +424,7 @@
|
|
424
424
|
- :required
|
425
425
|
SerialNumber:
|
426
426
|
- :string
|
427
|
-
- :pattern: !ruby/regexp /[\w]*/
|
427
|
+
- :pattern: !ruby/regexp /[\w+=\/:,.@-]*/
|
428
428
|
- :required
|
429
429
|
AuthenticationCode1:
|
430
430
|
- :string
|
@@ -443,7 +443,7 @@
|
|
443
443
|
- :required
|
444
444
|
SerialNumber:
|
445
445
|
- :string
|
446
|
-
- :pattern: !ruby/regexp /[\w]*/
|
446
|
+
- :pattern: !ruby/regexp /[\w+=\/:,.@-]*/
|
447
447
|
- :required
|
448
448
|
:output: []
|
449
449
|
ListMFADevices:
|
@@ -451,7 +451,6 @@
|
|
451
451
|
UserName:
|
452
452
|
- :string
|
453
453
|
- :pattern: !ruby/regexp /[\w+=,.@-]*/
|
454
|
-
- :required
|
455
454
|
Marker:
|
456
455
|
- :string
|
457
456
|
- :pattern: !ruby/regexp /[\u0020-\u00FF]*/
|
@@ -465,6 +464,57 @@
|
|
465
464
|
- :timestamp
|
466
465
|
- IsTruncated:
|
467
466
|
- :boolean
|
467
|
+
CreateVirtualMFADevice:
|
468
|
+
:input:
|
469
|
+
Path:
|
470
|
+
- :string
|
471
|
+
- :pattern: !ruby/regexp /(\u002F)|(\u002F[\u0021-\u007F]+\u002F)/
|
472
|
+
VirtualMFADeviceName:
|
473
|
+
- :string
|
474
|
+
- :pattern: !ruby/regexp /[\w+=,.@-]*/
|
475
|
+
- :required
|
476
|
+
:output:
|
477
|
+
- VirtualMFADevice:
|
478
|
+
- Base32StringSeed:
|
479
|
+
- :blob
|
480
|
+
- QRCodePNG:
|
481
|
+
- :blob
|
482
|
+
- User:
|
483
|
+
- CreateDate:
|
484
|
+
- :timestamp
|
485
|
+
- EnableDate:
|
486
|
+
- :timestamp
|
487
|
+
DeleteVirtualMFADevice:
|
488
|
+
:input:
|
489
|
+
SerialNumber:
|
490
|
+
- :string
|
491
|
+
- :pattern: !ruby/regexp /[\w+=\/:,.@-]*/
|
492
|
+
- :required
|
493
|
+
:output: []
|
494
|
+
ListVirtualMFADevices:
|
495
|
+
:input:
|
496
|
+
AssignmentStatus:
|
497
|
+
- :string
|
498
|
+
Marker:
|
499
|
+
- :string
|
500
|
+
- :pattern: !ruby/regexp /[\u0020-\u00FF]*/
|
501
|
+
MaxItems:
|
502
|
+
- :integer
|
503
|
+
:output:
|
504
|
+
- VirtualMFADevices:
|
505
|
+
- :list: member
|
506
|
+
- member:
|
507
|
+
- Base32StringSeed:
|
508
|
+
- :blob
|
509
|
+
- QRCodePNG:
|
510
|
+
- :blob
|
511
|
+
- User:
|
512
|
+
- CreateDate:
|
513
|
+
- :timestamp
|
514
|
+
- EnableDate:
|
515
|
+
- :timestamp
|
516
|
+
- IsTruncated:
|
517
|
+
- :boolean
|
468
518
|
CreateLoginProfile:
|
469
519
|
:input:
|
470
520
|
UserName:
|
@@ -629,4 +679,6 @@
|
|
629
679
|
DuplicateCertificate: []
|
630
680
|
KeyPairMismatch: []
|
631
681
|
NoSuchVendor: []
|
682
|
+
InvalidPublicKey: []
|
683
|
+
DuplicatePublicKey: []
|
632
684
|
:server_errors: {}
|
@@ -18,154 +18,163 @@
|
|
18
18
|
Name:
|
19
19
|
- :string
|
20
20
|
- :required
|
21
|
-
:output:
|
21
|
+
:output:
|
22
22
|
- TopicArn: []
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
TopicArn:
|
23
|
+
GetTopicAttributes:
|
24
|
+
:input:
|
25
|
+
TopicArn:
|
27
26
|
- :string
|
28
27
|
- :required
|
29
|
-
:output:
|
30
|
-
- Attributes:
|
31
|
-
- :map:
|
28
|
+
:output:
|
29
|
+
- Attributes:
|
30
|
+
- :map:
|
32
31
|
- entry
|
33
32
|
- key
|
34
33
|
- value
|
35
|
-
SetTopicAttributes:
|
36
|
-
:input:
|
37
|
-
TopicArn:
|
34
|
+
SetTopicAttributes:
|
35
|
+
:input:
|
36
|
+
TopicArn:
|
38
37
|
- :string
|
39
38
|
- :required
|
40
|
-
AttributeName:
|
39
|
+
AttributeName:
|
41
40
|
- :string
|
42
41
|
- :required
|
43
|
-
AttributeValue:
|
42
|
+
AttributeValue:
|
44
43
|
- :string
|
45
44
|
- :required
|
46
45
|
:output: []
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
TopicArn:
|
46
|
+
DeleteTopic:
|
47
|
+
:input:
|
48
|
+
TopicArn:
|
51
49
|
- :string
|
52
50
|
- :required
|
53
51
|
:output: []
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
TopicArn:
|
52
|
+
AddPermission:
|
53
|
+
:input:
|
54
|
+
TopicArn:
|
58
55
|
- :string
|
59
56
|
- :required
|
60
|
-
Label:
|
57
|
+
Label:
|
61
58
|
- :string
|
62
59
|
- :required
|
63
|
-
AWSAccountId:
|
64
|
-
- :membered_list:
|
60
|
+
AWSAccountId:
|
61
|
+
- :membered_list:
|
65
62
|
- :string
|
66
63
|
- :required
|
67
|
-
ActionName:
|
68
|
-
- :membered_list:
|
64
|
+
ActionName:
|
65
|
+
- :membered_list:
|
69
66
|
- :string
|
70
67
|
- :required
|
71
68
|
:output: []
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
TopicArn:
|
69
|
+
RemovePermission:
|
70
|
+
:input:
|
71
|
+
TopicArn:
|
76
72
|
- :string
|
77
73
|
- :required
|
78
|
-
Label:
|
74
|
+
Label:
|
79
75
|
- :string
|
80
76
|
- :required
|
81
77
|
:output: []
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
TopicArn:
|
78
|
+
Subscribe:
|
79
|
+
:input:
|
80
|
+
TopicArn:
|
86
81
|
- :string
|
87
82
|
- :required
|
88
|
-
Protocol:
|
83
|
+
Protocol:
|
89
84
|
- :string
|
90
85
|
- :required
|
91
|
-
Endpoint:
|
86
|
+
Endpoint:
|
92
87
|
- :string
|
93
88
|
- :required
|
94
89
|
:output: []
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
SubscriptionArn:
|
90
|
+
Unsubscribe:
|
91
|
+
:input:
|
92
|
+
SubscriptionArn:
|
99
93
|
- :string
|
100
94
|
- :required
|
101
95
|
:output: []
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
TopicArn:
|
96
|
+
ConfirmSubscription:
|
97
|
+
:input:
|
98
|
+
TopicArn:
|
106
99
|
- :string
|
107
100
|
- :required
|
108
|
-
Token:
|
101
|
+
Token:
|
109
102
|
- :string
|
110
103
|
- :required
|
111
|
-
AuthenticateOnUnsubscribe:
|
104
|
+
AuthenticateOnUnsubscribe:
|
112
105
|
- :boolean
|
113
106
|
:output: []
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
107
|
+
SetSubscriptionAttributes:
|
108
|
+
:input:
|
109
|
+
SubscriptionArn:
|
110
|
+
- :string
|
111
|
+
- :required
|
112
|
+
AttributeName:
|
118
113
|
- :string
|
119
|
-
|
120
|
-
|
114
|
+
- :required
|
115
|
+
AttributeValue:
|
116
|
+
- :string
|
117
|
+
- :required
|
118
|
+
:output: []
|
119
|
+
GetSubscriptionAttributes:
|
120
|
+
:input:
|
121
|
+
SubscriptionArn:
|
122
|
+
- :string
|
123
|
+
- :required
|
124
|
+
:output:
|
125
|
+
- Attributes:
|
126
|
+
- :map:
|
127
|
+
- entry
|
128
|
+
- key
|
129
|
+
- value
|
130
|
+
ListTopics:
|
131
|
+
:input:
|
132
|
+
NextToken:
|
133
|
+
- :string
|
134
|
+
:output:
|
135
|
+
- Topics:
|
121
136
|
- :list: member
|
122
|
-
- NextToken:
|
137
|
+
- NextToken:
|
123
138
|
- :force
|
124
|
-
ListSubscriptions:
|
125
|
-
:input:
|
126
|
-
NextToken:
|
139
|
+
ListSubscriptions:
|
140
|
+
:input:
|
141
|
+
NextToken:
|
127
142
|
- :string
|
128
|
-
:output:
|
129
|
-
- Subscriptions:
|
143
|
+
:output:
|
144
|
+
- Subscriptions:
|
130
145
|
- :list: member
|
131
|
-
- NextToken:
|
146
|
+
- NextToken:
|
132
147
|
- :force
|
133
|
-
ListSubscriptionsByTopic:
|
134
|
-
:input:
|
135
|
-
TopicArn:
|
148
|
+
ListSubscriptionsByTopic:
|
149
|
+
:input:
|
150
|
+
TopicArn:
|
136
151
|
- :string
|
137
152
|
- :required
|
138
|
-
NextToken:
|
153
|
+
NextToken:
|
139
154
|
- :string
|
140
|
-
:output:
|
141
|
-
- Subscriptions:
|
155
|
+
:output:
|
156
|
+
- Subscriptions:
|
142
157
|
- :list: member
|
143
|
-
- NextToken:
|
158
|
+
- NextToken:
|
144
159
|
- :force
|
145
|
-
Publish:
|
146
|
-
:input:
|
147
|
-
TopicArn:
|
160
|
+
Publish:
|
161
|
+
:input:
|
162
|
+
TopicArn:
|
148
163
|
- :string
|
149
164
|
- :required
|
150
|
-
Message:
|
165
|
+
Message:
|
151
166
|
- :string
|
152
167
|
- :required
|
153
|
-
Subject:
|
168
|
+
Subject:
|
154
169
|
- :string
|
155
|
-
MessageStructure:
|
170
|
+
MessageStructure:
|
156
171
|
- :string
|
157
172
|
:output: []
|
158
|
-
|
159
|
-
:client_errors:
|
173
|
+
:client_errors:
|
160
174
|
InvalidParameter: []
|
161
|
-
|
162
175
|
AuthorizationError: []
|
163
|
-
|
164
176
|
TopicLimitExceeded: []
|
165
|
-
|
166
177
|
SubscriptionLimitExceeded: []
|
167
|
-
|
168
178
|
NotFound: []
|
169
|
-
|
170
|
-
:server_errors:
|
179
|
+
:server_errors:
|
171
180
|
InternalError: []
|
data/lib/aws/core.rb
CHANGED
@@ -20,16 +20,16 @@ require 'aws/core/autoloader'
|
|
20
20
|
#
|
21
21
|
# The currently supported services are:
|
22
22
|
#
|
23
|
-
# * {DynamoDB}
|
24
|
-
# * {EC2}
|
25
|
-
# * {ELB}
|
26
|
-
# * {IAM}
|
27
|
-
# * {S3}
|
28
|
-
# * {SimpleDB}
|
29
|
-
# * {SimpleEmailService}
|
30
|
-
# * {SNS}
|
31
|
-
# * {SQS}
|
32
|
-
# * {STS}
|
23
|
+
# * {AWS::DynamoDB}
|
24
|
+
# * {AWS::EC2}
|
25
|
+
# * {AWS::ELB}
|
26
|
+
# * {AWS::IAM}
|
27
|
+
# * {AWS::S3}
|
28
|
+
# * {AWS::SimpleDB}
|
29
|
+
# * {AWS::SimpleEmailService}
|
30
|
+
# * {AWS::SNS}
|
31
|
+
# * {AWS::SQS}
|
32
|
+
# * {AWS::STS}
|
33
33
|
#
|
34
34
|
# = AWS::Record
|
35
35
|
#
|
@@ -58,7 +58,7 @@ require 'aws/core/autoloader'
|
|
58
58
|
module AWS
|
59
59
|
|
60
60
|
# Current version of the AWS SDK for Ruby
|
61
|
-
VERSION = "1.3.
|
61
|
+
VERSION = "1.3.3"
|
62
62
|
|
63
63
|
register_autoloads(self) do
|
64
64
|
autoload :Errors, 'errors'
|
@@ -86,6 +86,7 @@ module AWS
|
|
86
86
|
autoload :IgnoreResultElement, 'ignore_result_element'
|
87
87
|
autoload :IndifferentHash, 'indifferent_hash'
|
88
88
|
autoload :Inflection, 'inflection'
|
89
|
+
autoload :JsonClient, 'json_client'
|
89
90
|
autoload :LazyErrorClasses, 'lazy_error_classes'
|
90
91
|
autoload :MetaUtils, 'meta_utils'
|
91
92
|
autoload :Model, 'model'
|
@@ -154,28 +155,40 @@ module AWS
|
|
154
155
|
# that have already been constructed.
|
155
156
|
#
|
156
157
|
# @param [Hash] options
|
158
|
+
#
|
157
159
|
# @option options [String] :access_key_id (nil) AWS access key id
|
158
160
|
# credential.
|
161
|
+
#
|
159
162
|
# @option options [String] :dynamo_db_endpoint ('dynamodb.amazonaws.com') The
|
160
163
|
# service endpoint for Amazon DynamoDB.
|
164
|
+
#
|
161
165
|
# @option options [String] :dynamo_db_retry_throughput_errors (false) When
|
162
166
|
# true, AWS::DynamoDB::Errors::ProvisionedThroughputExceededException
|
163
167
|
# errors will be retried. You may need to increase the maximum number
|
164
168
|
# of retries if you have a low provisioned throughput.
|
169
|
+
#
|
165
170
|
# @option options [String] :ec2_endpoint ('ec2.amazonaws.com') The
|
166
171
|
# service endpoint for Amazon EC2.
|
172
|
+
#
|
173
|
+
# @option options [String] :elb_endpoint ('elasticloadbalancing.us-east-1.amazonaws.com')
|
174
|
+
# The server endpoint for Elastic Load Balancing.
|
175
|
+
#
|
167
176
|
# @option options [Object] :http_handler (AWS::HTTPartyHandler) The
|
168
177
|
# http handler that sends requests to AWS.
|
178
|
+
#
|
169
179
|
# @option options [String] :iam_endpoint ('iam.amazonaws.com') The
|
170
180
|
# service endpoint for AWS Idenity Access Management (IAM).
|
181
|
+
#
|
171
182
|
# @option options [Object,nil] :logger (nil) A logger instance that
|
172
183
|
# should receive log messages generated by service requets.
|
173
184
|
# A logger needs to respond to #log and must accept a
|
174
185
|
# severity (e.g. :info, :error, etc) and a string message.
|
186
|
+
#
|
175
187
|
# @option options [Integer] :max_retries (3) The maximum number of times
|
176
188
|
# service errors (500) should be retried. There is an exponential
|
177
189
|
# backoff in between service request retries, so the more retries the
|
178
190
|
# longer it can take to fail.
|
191
|
+
#
|
179
192
|
# @option options [String, URI, nil] :proxy_uri (nil) The URI of the proxy
|
180
193
|
# to send service requests through. You can pass a URI object or a
|
181
194
|
# URI string:
|
@@ -241,6 +254,8 @@ module AWS
|
|
241
254
|
# The AWS SDK for Ruby ships with a CA cert bundle, which is the
|
242
255
|
# default value for this option.
|
243
256
|
#
|
257
|
+
# @option options [String] :ssl_ca_path The path the a CA cert directory.
|
258
|
+
#
|
244
259
|
# @option options [Boolean] :ssl_verify_peer (true) When +true+
|
245
260
|
# the HTTP handler validate server certificates for HTTPS requests.
|
246
261
|
#
|
data/lib/aws/core/client.rb
CHANGED
@@ -335,9 +335,11 @@ module AWS
|
|
335
335
|
response.request_type = name
|
336
336
|
response.request_options = options
|
337
337
|
|
338
|
-
if
|
339
|
-
|
340
|
-
|
338
|
+
if
|
339
|
+
cacheable_request?(name, options) and
|
340
|
+
cache = AWS.response_cache and
|
341
|
+
cached_response = cache.cached(response)
|
342
|
+
then
|
341
343
|
cached_response.cached = true
|
342
344
|
cached_response
|
343
345
|
else
|
@@ -363,6 +365,11 @@ module AWS
|
|
363
365
|
end
|
364
366
|
end
|
365
367
|
end
|
368
|
+
|
369
|
+
private
|
370
|
+
def cacheable_request? name, options
|
371
|
+
self.class::CACHEABLE_REQUESTS.include?(name)
|
372
|
+
end
|
366
373
|
|
367
374
|
private
|
368
375
|
def build_request(name, options, &block)
|
@@ -377,7 +384,8 @@ module AWS
|
|
377
384
|
http_request.proxy_uri = config.proxy_uri
|
378
385
|
http_request.use_ssl = config.use_ssl?
|
379
386
|
http_request.ssl_verify_peer = config.ssl_verify_peer?
|
380
|
-
http_request.ssl_ca_file = config.ssl_ca_file
|
387
|
+
http_request.ssl_ca_file = config.ssl_ca_file if config.ssl_ca_file
|
388
|
+
http_request.ssl_ca_path = config.ssl_ca_path if config.ssl_ca_path
|
381
389
|
|
382
390
|
send("configure_#{name}_request", http_request, opts, &block)
|
383
391
|
http_request.headers["user-agent"] = user_agent_string
|