aws-sdk 1.6.3 → 1.6.4

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.
Files changed (73) hide show
  1. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +1 -0
  2. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +1 -0
  3. data/lib/aws/api_config/CloudFront-2012-05-05.yml +2137 -0
  4. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +9 -0
  5. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +616 -0
  6. data/lib/aws/api_config/EC2-2012-07-20.yml +1 -0
  7. data/lib/aws/api_config/ELB-2012-06-01.yml +1 -0
  8. data/lib/aws/api_config/EMR-2009-03-31.yml +1 -0
  9. data/lib/aws/api_config/IAM-2010-05-08.yml +1 -0
  10. data/lib/aws/api_config/Route53-2012-02-29.yml +350 -349
  11. data/lib/aws/api_config/SNS-2010-03-31.yml +1 -0
  12. data/lib/aws/api_config/SQS-2011-10-01.yml +1 -0
  13. data/lib/aws/api_config/STS-2011-06-15.yml +1 -0
  14. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +1 -0
  15. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +62 -0
  16. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +1637 -0
  17. data/lib/aws/auto_scaling/client.rb +2 -37
  18. data/lib/aws/cloud_formation/client.rb +2 -17
  19. data/lib/aws/cloud_watch/client.rb +2 -15
  20. data/lib/aws/core.rb +24 -4
  21. data/lib/aws/core/client.rb +115 -46
  22. data/lib/aws/core/configuration.rb +6 -0
  23. data/lib/aws/core/credential_providers.rb +1 -0
  24. data/lib/aws/core/http/curb_handler.rb +3 -3
  25. data/lib/aws/core/http/httparty_handler.rb +15 -15
  26. data/lib/aws/core/json_client.rb +19 -77
  27. data/lib/aws/core/json_error_parser.rb +25 -0
  28. data/lib/aws/core/json_request_builder.rb +34 -0
  29. data/lib/aws/core/json_response_parser.rb +81 -0
  30. data/lib/aws/core/log_formatter.rb +25 -25
  31. data/lib/aws/core/option_grammar.rb +123 -115
  32. data/lib/aws/core/options/xml_serializer.rb +13 -9
  33. data/lib/aws/core/query_client.rb +13 -104
  34. data/lib/aws/core/query_error_parser.rb +24 -0
  35. data/lib/aws/core/query_request_builder.rb +47 -0
  36. data/lib/aws/core/query_response_parser.rb +35 -0
  37. data/lib/aws/core/rest_client.rb +13 -62
  38. data/lib/aws/core/rest_error_parser.rb +24 -0
  39. data/lib/aws/core/rest_request_builder.rb +124 -0
  40. data/lib/aws/core/rest_response_parser.rb +48 -0
  41. data/lib/aws/core/xml/parser.rb +2 -2
  42. data/lib/aws/core/xml/root_frame.rb +1 -1
  43. data/lib/aws/dynamo_db.rb +10 -9
  44. data/lib/aws/dynamo_db/binary.rb +35 -0
  45. data/lib/aws/dynamo_db/client.rb +103 -20
  46. data/lib/aws/dynamo_db/config.rb +2 -0
  47. data/lib/aws/dynamo_db/item.rb +3 -0
  48. data/lib/aws/dynamo_db/primary_key_element.rb +2 -1
  49. data/lib/aws/dynamo_db/table.rb +32 -36
  50. data/lib/aws/dynamo_db/table_collection.rb +13 -13
  51. data/lib/aws/dynamo_db/types.rb +34 -9
  52. data/lib/aws/ec2/client.rb +884 -344
  53. data/lib/aws/ec2/filtered_collection.rb +2 -3
  54. data/lib/aws/elb/client.rb +59 -45
  55. data/lib/aws/emr/client.rb +2 -11
  56. data/lib/aws/iam/client.rb +9 -80
  57. data/lib/aws/record/hash_model/attributes.rb +28 -13
  58. data/lib/aws/route_53/client.rb +6 -16
  59. data/lib/aws/s3/client.rb +2 -1
  60. data/lib/aws/s3/encryption_utils.rb +2 -7
  61. data/lib/aws/s3/s3_object.rb +5 -0
  62. data/lib/aws/simple_db/client.rb +2 -14
  63. data/lib/aws/simple_email_service/client.rb +35 -19
  64. data/lib/aws/simple_email_service/identity.rb +49 -10
  65. data/lib/aws/simple_email_service/identity_collection.rb +4 -4
  66. data/lib/aws/simple_workflow/client.rb +2 -38
  67. data/lib/aws/sns/client.rb +2 -19
  68. data/lib/aws/sqs/client.rb +2 -19
  69. data/lib/aws/sqs/errors.rb +5 -5
  70. data/lib/aws/sts/client.rb +2 -6
  71. metadata +14 -5
  72. data/lib/aws/core/rest_client/input_handler.rb +0 -145
  73. data/lib/aws/core/rest_client/output_handler.rb +0 -53
@@ -15,11 +15,9 @@ module AWS
15
15
  class SQS
16
16
 
17
17
  # Client class for Amazon Simple Queue Service (SQS).
18
- class Client < Core::Client
18
+ class Client < Core::QueryClient
19
19
 
20
- API_VERSION = '2011-10-01'
21
-
22
- extend Core::QueryClient
20
+ define_client_methods('2011-10-01')
23
21
 
24
22
  # @private
25
23
  CACHEABLE_REQUESTS = Set[]
@@ -42,7 +40,6 @@ module AWS
42
40
  # * +:actions+ - *required* - (Array<String>) The action the client
43
41
  # wants to allow for the specified principal.
44
42
  # @return [Core::Response]
45
- define_client_method :add_permission, 'AddPermission'
46
43
 
47
44
  # Calls the ChangeMessageVisibility API operation.
48
45
  # @method change_message_visibility(options = {})
@@ -55,7 +52,6 @@ module AWS
55
52
  # * +:visibility_timeout+ - *required* - (Integer) The new value (in
56
53
  # seconds) for the message's visibility timeout.
57
54
  # @return [Core::Response]
58
- define_client_method :change_message_visibility, 'ChangeMessageVisibility'
59
55
 
60
56
  # Calls the ChangeMessageVisibilityBatch API operation.
61
57
  # @method change_message_visibility_batch(options = {})
@@ -80,7 +76,6 @@ module AWS
80
76
  # * +:sender_fault+ - (Boolean)
81
77
  # * +:code+ - (String)
82
78
  # * +:message+ - (String)
83
- define_client_method :change_message_visibility_batch, 'ChangeMessageVisibilityBatch'
84
79
 
85
80
  # Calls the CreateQueue API operation.
86
81
  # @method create_queue(options = {})
@@ -93,7 +88,6 @@ module AWS
93
88
  # The #data method of the response object returns
94
89
  # a hash with the following structure:
95
90
  # * +:queue_url+ - (String)
96
- define_client_method :create_queue, 'CreateQueue'
97
91
 
98
92
  # Calls the DeleteMessage API operation.
99
93
  # @method delete_message(options = {})
@@ -103,7 +97,6 @@ module AWS
103
97
  # * +:receipt_handle+ - *required* - (String) The receipt handle
104
98
  # associated with the message to delete.
105
99
  # @return [Core::Response]
106
- define_client_method :delete_message, 'DeleteMessage'
107
100
 
108
101
  # Calls the DeleteMessageBatch API operation.
109
102
  # @method delete_message_batch(options = {})
@@ -126,7 +119,6 @@ module AWS
126
119
  # * +:sender_fault+ - (Boolean)
127
120
  # * +:code+ - (String)
128
121
  # * +:message+ - (String)
129
- define_client_method :delete_message_batch, 'DeleteMessageBatch'
130
122
 
131
123
  # Calls the DeleteQueue API operation.
132
124
  # @method delete_queue(options = {})
@@ -134,7 +126,6 @@ module AWS
134
126
  # * +:queue_url+ - *required* - (String) The URL of the SQS queue to
135
127
  # take action on.
136
128
  # @return [Core::Response]
137
- define_client_method :delete_queue, 'DeleteQueue'
138
129
 
139
130
  # Calls the GetQueueAttributes API operation.
140
131
  # @method get_queue_attributes(options = {})
@@ -147,7 +138,6 @@ module AWS
147
138
  # The #data method of the response object returns
148
139
  # a hash with the following structure:
149
140
  # * +:attributes+ - (Hash<String,String>)
150
- define_client_method :get_queue_attributes, 'GetQueueAttributes'
151
141
 
152
142
  # Calls the GetQueueUrl API operation.
153
143
  # @method get_queue_url(options = {})
@@ -160,7 +150,6 @@ module AWS
160
150
  # The #data method of the response object returns
161
151
  # a hash with the following structure:
162
152
  # * +:queue_url+ - (String)
163
- define_client_method :get_queue_url, 'GetQueueUrl'
164
153
 
165
154
  # Calls the ListQueues API operation.
166
155
  # @method list_queues(options = {})
@@ -172,7 +161,6 @@ module AWS
172
161
  # The #data method of the response object returns
173
162
  # a hash with the following structure:
174
163
  # * +:queue_urls+ - (Array<String>)
175
- define_client_method :list_queues, 'ListQueues'
176
164
 
177
165
  # Calls the ReceiveMessage API operation.
178
166
  # @method receive_message(options = {})
@@ -197,7 +185,6 @@ module AWS
197
185
  # * +:md5_of_body+ - (String)
198
186
  # * +:body+ - (String)
199
187
  # * +:attributes+ - (Hash<String,String>)
200
- define_client_method :receive_message, 'ReceiveMessage'
201
188
 
202
189
  # Calls the RemovePermission API operation.
203
190
  # @method remove_permission(options = {})
@@ -208,7 +195,6 @@ module AWS
208
195
  # permission to remove. This is the label added with the
209
196
  # AddPermission operation.
210
197
  # @return [Core::Response]
211
- define_client_method :remove_permission, 'RemovePermission'
212
198
 
213
199
  # Calls the SendMessage API operation.
214
200
  # @method send_message(options = {})
@@ -223,7 +209,6 @@ module AWS
223
209
  # a hash with the following structure:
224
210
  # * +:md5_of_message_body+ - (String)
225
211
  # * +:message_id+ - (String)
226
- define_client_method :send_message, 'SendMessage'
227
212
 
228
213
  # Calls the SendMessageBatch API operation.
229
214
  # @method send_message_batch(options = {})
@@ -250,7 +235,6 @@ module AWS
250
235
  # * +:sender_fault+ - (Boolean)
251
236
  # * +:code+ - (String)
252
237
  # * +:message+ - (String)
253
- define_client_method :send_message_batch, 'SendMessageBatch'
254
238
 
255
239
  # Calls the SetQueueAttributes API operation.
256
240
  # @method set_queue_attributes(options = {})
@@ -260,7 +244,6 @@ module AWS
260
244
  # * +:attributes+ - *required* - (Hash<String,String>) A map of
261
245
  # attributes to set.
262
246
  # @return [Core::Response]
263
- define_client_method :set_queue_attributes, 'SetQueueAttributes'
264
247
 
265
248
  ## end client methods ##
266
249
 
@@ -22,13 +22,13 @@ module AWS
22
22
  super(code.sub(/^AWS\.SimpleQueueService\./, ''))
23
23
  end
24
24
 
25
- # Raised when one or more messages fail to delete during a
26
- # batch delete operation.
25
+ # Raised when one or more messages fail to delete during a
26
+ # batch delete operation.
27
27
  #
28
28
  # See {#failures} for a complete list of failures.
29
29
  #
30
30
  class BatchDeleteError < StandardError
31
-
31
+
32
32
  def initialize failures
33
33
  @failures = failures
34
34
  super("Failed to delete #{failures.size} messages")
@@ -53,7 +53,7 @@ module AWS
53
53
  # See {#failures} for a complete list of failures.
54
54
  #
55
55
  class BatchChangeVisibilityError < StandardError
56
-
56
+
57
57
  def initialize failures
58
58
  @failures = failures
59
59
  super("Failed to change visibility for #{failures.size} messages")
@@ -80,7 +80,7 @@ module AWS
80
80
  super("Failed to send #{failures.size} messages")
81
81
  end
82
82
 
83
- # @return [Array<Queue::SentMessage>] Returns a list of
83
+ # @return [Array<Queue::SentMessage>] Returns a list of
84
84
  # {Queue::SentMessage} objects.
85
85
  attr_reader :sent
86
86
 
@@ -15,11 +15,9 @@ module AWS
15
15
  class STS
16
16
 
17
17
  # Client class for AWS Security Token Service (STS).
18
- class Client < Core::Client
18
+ class Client < Core::QueryClient
19
19
 
20
- API_VERSION = '2011-06-15'
21
-
22
- extend Core::QueryClient
20
+ define_client_methods('2011-06-15')
23
21
 
24
22
  REGION_US_E1 = 'sts.amazonaws.com'
25
23
 
@@ -67,7 +65,6 @@ module AWS
67
65
  # * +:federated_user_id+ - (String)
68
66
  # * +:arn+ - (String)
69
67
  # * +:packed_policy_size+ - (Integer)
70
- define_client_method :get_federation_token, 'GetFederationToken'
71
68
 
72
69
  # Calls the GetSessionToken API operation.
73
70
  # @method get_session_token(options = {})
@@ -101,7 +98,6 @@ module AWS
101
98
  # * +:secret_access_key+ - (String)
102
99
  # * +:session_token+ - (String)
103
100
  # * +:expiration+ - (Time)
104
- define_client_method :get_session_token, 'GetSessionToken'
105
101
 
106
102
  ## end client methods ##
107
103
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3
4
+ version: 1.6.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-08 00:00:00.000000000 Z
12
+ date: 2012-08-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: uuidtools
@@ -154,6 +154,9 @@ files:
154
154
  - lib/aws/core/indifferent_hash.rb
155
155
  - lib/aws/core/inflection.rb
156
156
  - lib/aws/core/json_client.rb
157
+ - lib/aws/core/json_error_parser.rb
158
+ - lib/aws/core/json_request_builder.rb
159
+ - lib/aws/core/json_response_parser.rb
157
160
  - lib/aws/core/lazy_error_classes.rb
158
161
  - lib/aws/core/log_formatter.rb
159
162
  - lib/aws/core/meta_utils.rb
@@ -165,13 +168,17 @@ files:
165
168
  - lib/aws/core/page_result.rb
166
169
  - lib/aws/core/policy.rb
167
170
  - lib/aws/core/query_client.rb
171
+ - lib/aws/core/query_error_parser.rb
172
+ - lib/aws/core/query_request_builder.rb
173
+ - lib/aws/core/query_response_parser.rb
168
174
  - lib/aws/core/resource.rb
169
175
  - lib/aws/core/resource_cache.rb
170
176
  - lib/aws/core/response.rb
171
177
  - lib/aws/core/response_cache.rb
172
- - lib/aws/core/rest_client/input_handler.rb
173
- - lib/aws/core/rest_client/output_handler.rb
174
178
  - lib/aws/core/rest_client.rb
179
+ - lib/aws/core/rest_error_parser.rb
180
+ - lib/aws/core/rest_request_builder.rb
181
+ - lib/aws/core/rest_response_parser.rb
175
182
  - lib/aws/core/service_interface.rb
176
183
  - lib/aws/core/signature/version_2.rb
177
184
  - lib/aws/core/signature/version_3.rb
@@ -193,6 +200,7 @@ files:
193
200
  - lib/aws/dynamo_db/attribute_collection.rb
194
201
  - lib/aws/dynamo_db/batch_get.rb
195
202
  - lib/aws/dynamo_db/batch_write.rb
203
+ - lib/aws/dynamo_db/binary.rb
196
204
  - lib/aws/dynamo_db/client.rb
197
205
  - lib/aws/dynamo_db/config.rb
198
206
  - lib/aws/dynamo_db/errors.rb
@@ -498,6 +506,7 @@ files:
498
506
  - lib/user.rb
499
507
  - lib/aws/api_config/AutoScaling-2011-01-01.yml
500
508
  - lib/aws/api_config/CloudFormation-2010-05-15.yml
509
+ - lib/aws/api_config/CloudFront-2012-05-05.yml
501
510
  - lib/aws/api_config/CloudWatch-2010-08-01.yml
502
511
  - lib/aws/api_config/DynamoDB-2011-12-05.yml
503
512
  - lib/aws/api_config/EC2-2012-07-20.yml
@@ -531,7 +540,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
531
540
  version: '0'
532
541
  segments:
533
542
  - 0
534
- hash: 4344791122838179271
543
+ hash: 339006987852134461
535
544
  required_rubygems_version: !ruby/object:Gem::Requirement
536
545
  none: false
537
546
  requirements:
@@ -1,145 +0,0 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License"). You
4
- # may not use this file except in compliance with the License. A copy of
5
- # the License is located at
6
- #
7
- # http://aws.amazon.com/apache2.0/
8
- #
9
- # or in the "license" file accompanying this file. This file is
10
- # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
- # ANY KIND, either express or implied. See the License for the specific
12
- # language governing permissions and limitations under the License.
13
-
14
- require 'builder'
15
-
16
- module AWS
17
- module Core
18
- module RESTClient
19
-
20
- # Given a hash of request options, a REST::RequestHandler can
21
- # populate a Core::Http::Request object.
22
- class InputHandler
23
-
24
- # @param [String] namespace
25
- # @param [Hash] configuration
26
- # @option operation [required,Hash] :http REST traits.
27
- # @option operation [required,Hash] :inputs Rules for serializing
28
- # request options.
29
- # @private
30
- def initialize namespace, configuration
31
- @namespace = namespace
32
- @operation_name = configuration[:name]
33
- @http = configuration[:http]
34
- @rules = configuration[:inputs]
35
- end
36
-
37
- # @return [String]
38
- attr_reader :namespace
39
-
40
- # @return [String]
41
- attr_reader :operation_name
42
-
43
- # @return [Hash] A hash of http rules.
44
- attr_reader :http
45
-
46
- # @return [Hash] A hash of rules for where to place request options
47
- # in the HTTP request (e.g. uri, querystring, header, body, etc).
48
- # Also contains type information for each request option.
49
- attr_reader :rules
50
-
51
- # Populates an http request object with params in the uri, headers,
52
- # and body.
53
- # @param [Http::Request] request
54
- # @param [Hash] request_options A hash of options to send with
55
- # the request.
56
- # @raise [ArgumentError] Raises ArgumentError when any of the
57
- # request options are invalid (wrong type, missing, unknown, etc).
58
- # @return [Http::Request]
59
- def populate_request request, request_options
60
-
61
- params = Options::Validator.new(rules).validate!(request_options)
62
-
63
- request.http_method = http[:verb]
64
- request.uri = extract_uri(params)
65
- extract_headers(params).each_pair do |header_name, header_value|
66
- request.headers[header_name] = header_value
67
- end
68
- request.body = build_body(params)
69
- request
70
-
71
- end
72
-
73
- protected
74
-
75
- # @param [Hash] params
76
- # @return [String]
77
- def extract_uri params
78
-
79
- path, querystring = http[:uri].split(/\?/)
80
-
81
- uri = path.gsub(/:\w+/) do |param_name|
82
- unless param = params.delete(param_name[1..-1].to_sym)
83
- msg = "missing required uri argument :#{param_name[1..-1]}"
84
- raise ArgumentError, msg
85
- end
86
- UriEscape.escape(param)
87
- end
88
-
89
- querystring_parts = []
90
- querystring.to_s.split(/&/).each do |part|
91
- param_name = part.match(/:(\w+)/)[1]
92
- if param = params.delete(param_name.to_sym)
93
- param = UriEscape.escape(param)
94
- querystring_parts << part.sub(/:#{param_name}/, param)
95
- end
96
- end
97
-
98
- unless querystring_parts.empty?
99
- uri << "?#{querystring_parts.join('&')}"
100
- end
101
-
102
- uri
103
-
104
- end
105
-
106
- # @param [Hash] params
107
- # @return [Hash]
108
- def extract_headers params
109
- headers = {}
110
- (http[:request_headers] || {}).each_pair do |param_name,header_name|
111
- if param_value = params.delete(param_name)
112
- headers[header_name] = param_value
113
- end
114
- end
115
- headers
116
- end
117
-
118
- # @param [Hash] params
119
- # @return [String,nil]
120
- def build_body params
121
- if params.empty?
122
- nil
123
- else
124
- if
125
- payload = http[:request_payload] and
126
- rules[payload][:type] != :hash
127
- then
128
- params[payload]
129
- else
130
- params_to_xml(params)
131
- end
132
- end
133
- end
134
-
135
- # @param [Hash] params
136
- # @return [String] Returns xml.
137
- def params_to_xml params
138
- Options::XMLSerializer.new(namespace, operation_name, rules).serialize(params)
139
- end
140
-
141
- end
142
-
143
- end
144
- end
145
- end
@@ -1,53 +0,0 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License"). You
4
- # may not use this file except in compliance with the License. A copy of
5
- # the License is located at
6
- #
7
- # http://aws.amazon.com/apache2.0/
8
- #
9
- # or in the "license" file accompanying this file. This file is
10
- # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
- # ANY KIND, either express or implied. See the License for the specific
12
- # language governing permissions and limitations under the License.
13
-
14
- module AWS
15
- module Core
16
- module RESTClient
17
-
18
- # Given a hash of request options, a REST::RequestHandler can
19
- # populate a Core::Http::Request object.
20
- class OutputHandler
21
-
22
- # @param [Hash] operation
23
- # @option operation [required,Hash] :http REST traits.
24
- # @option operation [required,Hash] :outputs XML parsing rules.
25
- # @private
26
- def initialize operation
27
- @http = operation[:http]
28
- @parser = XML::Parser.new(operation[:outputs])
29
- end
30
-
31
- # Given a response object, this method extract and returns a
32
- # hash of response data.
33
- # @param [Response] response
34
- # @return [Hash]
35
- def extract_data response
36
-
37
- # parse the response XML body
38
- data = @parser.parse(response.http_response.body)
39
-
40
- # extract headers and insert into response
41
- (@http[:response_headers] || {}).each_pair do |name,header_name|
42
- data[name] = response.http_response.headers[header_name]
43
- end
44
-
45
- data
46
-
47
- end
48
-
49
- end
50
-
51
- end
52
- end
53
- end