aws-sdk 1.0.0

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 (205) hide show
  1. data/.yardopts +6 -0
  2. data/LICENSE.txt +171 -0
  3. data/NOTICE.txt +2 -0
  4. data/README.rdoc +189 -0
  5. data/lib/aws-sdk.rb +14 -0
  6. data/lib/aws.rb +63 -0
  7. data/lib/aws/api_config.rb +45 -0
  8. data/lib/aws/api_config/.document +0 -0
  9. data/lib/aws/api_config/EC2-2011-02-28.yml +2314 -0
  10. data/lib/aws/api_config/SNS-2010-03-31.yml +171 -0
  11. data/lib/aws/api_config/SQS-2009-02-01.yml +161 -0
  12. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +278 -0
  13. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +147 -0
  14. data/lib/aws/api_config_transform.rb +32 -0
  15. data/lib/aws/async_handle.rb +90 -0
  16. data/lib/aws/authorize_v2.rb +37 -0
  17. data/lib/aws/authorize_v3.rb +37 -0
  18. data/lib/aws/base_client.rb +524 -0
  19. data/lib/aws/cacheable.rb +92 -0
  20. data/lib/aws/common.rb +228 -0
  21. data/lib/aws/configurable.rb +36 -0
  22. data/lib/aws/configuration.rb +272 -0
  23. data/lib/aws/configured_client_methods.rb +81 -0
  24. data/lib/aws/configured_grammars.rb +65 -0
  25. data/lib/aws/configured_option_grammars.rb +46 -0
  26. data/lib/aws/configured_xml_grammars.rb +47 -0
  27. data/lib/aws/default_signer.rb +38 -0
  28. data/lib/aws/ec2.rb +321 -0
  29. data/lib/aws/ec2/attachment.rb +149 -0
  30. data/lib/aws/ec2/attachment_collection.rb +57 -0
  31. data/lib/aws/ec2/availability_zone.rb +80 -0
  32. data/lib/aws/ec2/availability_zone_collection.rb +47 -0
  33. data/lib/aws/ec2/block_device_mappings.rb +53 -0
  34. data/lib/aws/ec2/client.rb +54 -0
  35. data/lib/aws/ec2/client/xml.rb +127 -0
  36. data/lib/aws/ec2/collection.rb +39 -0
  37. data/lib/aws/ec2/config_transform.rb +63 -0
  38. data/lib/aws/ec2/elastic_ip.rb +107 -0
  39. data/lib/aws/ec2/elastic_ip_collection.rb +85 -0
  40. data/lib/aws/ec2/errors.rb +29 -0
  41. data/lib/aws/ec2/filtered_collection.rb +65 -0
  42. data/lib/aws/ec2/has_permissions.rb +46 -0
  43. data/lib/aws/ec2/image.rb +245 -0
  44. data/lib/aws/ec2/image_collection.rb +235 -0
  45. data/lib/aws/ec2/instance.rb +515 -0
  46. data/lib/aws/ec2/instance_collection.rb +276 -0
  47. data/lib/aws/ec2/key_pair.rb +86 -0
  48. data/lib/aws/ec2/key_pair_collection.rb +102 -0
  49. data/lib/aws/ec2/permission_collection.rb +177 -0
  50. data/lib/aws/ec2/region.rb +81 -0
  51. data/lib/aws/ec2/region_collection.rb +55 -0
  52. data/lib/aws/ec2/request.rb +27 -0
  53. data/lib/aws/ec2/reserved_instances.rb +50 -0
  54. data/lib/aws/ec2/reserved_instances_collection.rb +44 -0
  55. data/lib/aws/ec2/reserved_instances_offering.rb +55 -0
  56. data/lib/aws/ec2/reserved_instances_offering_collection.rb +43 -0
  57. data/lib/aws/ec2/resource.rb +340 -0
  58. data/lib/aws/ec2/resource_tag_collection.rb +218 -0
  59. data/lib/aws/ec2/security_group.rb +246 -0
  60. data/lib/aws/ec2/security_group/ip_permission.rb +70 -0
  61. data/lib/aws/ec2/security_group/ip_permission_collection.rb +59 -0
  62. data/lib/aws/ec2/security_group_collection.rb +132 -0
  63. data/lib/aws/ec2/snapshot.rb +138 -0
  64. data/lib/aws/ec2/snapshot_collection.rb +90 -0
  65. data/lib/aws/ec2/tag.rb +88 -0
  66. data/lib/aws/ec2/tag_collection.rb +114 -0
  67. data/lib/aws/ec2/tagged_collection.rb +48 -0
  68. data/lib/aws/ec2/tagged_item.rb +87 -0
  69. data/lib/aws/ec2/volume.rb +190 -0
  70. data/lib/aws/ec2/volume_collection.rb +95 -0
  71. data/lib/aws/errors.rb +129 -0
  72. data/lib/aws/http/builtin_handler.rb +69 -0
  73. data/lib/aws/http/curb_handler.rb +123 -0
  74. data/lib/aws/http/handler.rb +77 -0
  75. data/lib/aws/http/httparty_handler.rb +61 -0
  76. data/lib/aws/http/request.rb +136 -0
  77. data/lib/aws/http/request_param.rb +63 -0
  78. data/lib/aws/http/response.rb +75 -0
  79. data/lib/aws/ignore_result_element.rb +38 -0
  80. data/lib/aws/indifferent_hash.rb +86 -0
  81. data/lib/aws/inflection.rb +46 -0
  82. data/lib/aws/lazy_error_classes.rb +64 -0
  83. data/lib/aws/meta_utils.rb +43 -0
  84. data/lib/aws/model.rb +57 -0
  85. data/lib/aws/naming.rb +32 -0
  86. data/lib/aws/option_grammar.rb +544 -0
  87. data/lib/aws/policy.rb +912 -0
  88. data/lib/aws/rails.rb +209 -0
  89. data/lib/aws/record.rb +79 -0
  90. data/lib/aws/record/attribute.rb +94 -0
  91. data/lib/aws/record/attribute_macros.rb +288 -0
  92. data/lib/aws/record/attributes/boolean.rb +49 -0
  93. data/lib/aws/record/attributes/datetime.rb +86 -0
  94. data/lib/aws/record/attributes/float.rb +48 -0
  95. data/lib/aws/record/attributes/integer.rb +68 -0
  96. data/lib/aws/record/attributes/sortable_float.rb +60 -0
  97. data/lib/aws/record/attributes/sortable_integer.rb +95 -0
  98. data/lib/aws/record/attributes/string.rb +69 -0
  99. data/lib/aws/record/base.rb +728 -0
  100. data/lib/aws/record/conversion.rb +38 -0
  101. data/lib/aws/record/dirty_tracking.rb +286 -0
  102. data/lib/aws/record/errors.rb +153 -0
  103. data/lib/aws/record/exceptions.rb +48 -0
  104. data/lib/aws/record/finder_methods.rb +262 -0
  105. data/lib/aws/record/naming.rb +31 -0
  106. data/lib/aws/record/scope.rb +157 -0
  107. data/lib/aws/record/validations.rb +653 -0
  108. data/lib/aws/record/validator.rb +237 -0
  109. data/lib/aws/record/validators/acceptance.rb +51 -0
  110. data/lib/aws/record/validators/block.rb +38 -0
  111. data/lib/aws/record/validators/confirmation.rb +43 -0
  112. data/lib/aws/record/validators/count.rb +108 -0
  113. data/lib/aws/record/validators/exclusion.rb +43 -0
  114. data/lib/aws/record/validators/format.rb +57 -0
  115. data/lib/aws/record/validators/inclusion.rb +56 -0
  116. data/lib/aws/record/validators/length.rb +107 -0
  117. data/lib/aws/record/validators/numericality.rb +138 -0
  118. data/lib/aws/record/validators/presence.rb +45 -0
  119. data/lib/aws/resource_cache.rb +39 -0
  120. data/lib/aws/response.rb +113 -0
  121. data/lib/aws/response_cache.rb +50 -0
  122. data/lib/aws/s3.rb +109 -0
  123. data/lib/aws/s3/access_control_list.rb +252 -0
  124. data/lib/aws/s3/acl_object.rb +266 -0
  125. data/lib/aws/s3/bucket.rb +320 -0
  126. data/lib/aws/s3/bucket_collection.rb +122 -0
  127. data/lib/aws/s3/bucket_version_collection.rb +85 -0
  128. data/lib/aws/s3/client.rb +999 -0
  129. data/lib/aws/s3/client/xml.rb +190 -0
  130. data/lib/aws/s3/data_options.rb +99 -0
  131. data/lib/aws/s3/errors.rb +43 -0
  132. data/lib/aws/s3/multipart_upload.rb +318 -0
  133. data/lib/aws/s3/multipart_upload_collection.rb +78 -0
  134. data/lib/aws/s3/object_collection.rb +159 -0
  135. data/lib/aws/s3/object_metadata.rb +67 -0
  136. data/lib/aws/s3/object_upload_collection.rb +83 -0
  137. data/lib/aws/s3/object_version.rb +141 -0
  138. data/lib/aws/s3/object_version_collection.rb +78 -0
  139. data/lib/aws/s3/paginated_collection.rb +94 -0
  140. data/lib/aws/s3/policy.rb +76 -0
  141. data/lib/aws/s3/prefix_and_delimiter_collection.rb +56 -0
  142. data/lib/aws/s3/prefixed_collection.rb +84 -0
  143. data/lib/aws/s3/presigned_post.rb +504 -0
  144. data/lib/aws/s3/request.rb +198 -0
  145. data/lib/aws/s3/s3_object.rb +794 -0
  146. data/lib/aws/s3/tree.rb +116 -0
  147. data/lib/aws/s3/tree/branch_node.rb +71 -0
  148. data/lib/aws/s3/tree/child_collection.rb +108 -0
  149. data/lib/aws/s3/tree/leaf_node.rb +99 -0
  150. data/lib/aws/s3/tree/node.rb +22 -0
  151. data/lib/aws/s3/tree/parent.rb +90 -0
  152. data/lib/aws/s3/uploaded_part.rb +82 -0
  153. data/lib/aws/s3/uploaded_part_collection.rb +86 -0
  154. data/lib/aws/service_interface.rb +60 -0
  155. data/lib/aws/simple_db.rb +202 -0
  156. data/lib/aws/simple_db/attribute.rb +159 -0
  157. data/lib/aws/simple_db/attribute_collection.rb +227 -0
  158. data/lib/aws/simple_db/client.rb +52 -0
  159. data/lib/aws/simple_db/client/options.rb +34 -0
  160. data/lib/aws/simple_db/client/xml.rb +68 -0
  161. data/lib/aws/simple_db/consistent_read_option.rb +42 -0
  162. data/lib/aws/simple_db/delete_attributes.rb +64 -0
  163. data/lib/aws/simple_db/domain.rb +118 -0
  164. data/lib/aws/simple_db/domain_collection.rb +116 -0
  165. data/lib/aws/simple_db/domain_metadata.rb +112 -0
  166. data/lib/aws/simple_db/errors.rb +46 -0
  167. data/lib/aws/simple_db/expect_condition_option.rb +45 -0
  168. data/lib/aws/simple_db/item.rb +84 -0
  169. data/lib/aws/simple_db/item_collection.rb +594 -0
  170. data/lib/aws/simple_db/item_data.rb +70 -0
  171. data/lib/aws/simple_db/put_attributes.rb +62 -0
  172. data/lib/aws/simple_db/request.rb +27 -0
  173. data/lib/aws/simple_email_service.rb +373 -0
  174. data/lib/aws/simple_email_service/client.rb +39 -0
  175. data/lib/aws/simple_email_service/client/options.rb +24 -0
  176. data/lib/aws/simple_email_service/client/xml.rb +38 -0
  177. data/lib/aws/simple_email_service/email_address_collection.rb +66 -0
  178. data/lib/aws/simple_email_service/errors.rb +29 -0
  179. data/lib/aws/simple_email_service/quotas.rb +64 -0
  180. data/lib/aws/simple_email_service/request.rb +27 -0
  181. data/lib/aws/sns.rb +69 -0
  182. data/lib/aws/sns/client.rb +37 -0
  183. data/lib/aws/sns/client/options.rb +24 -0
  184. data/lib/aws/sns/client/xml.rb +38 -0
  185. data/lib/aws/sns/errors.rb +29 -0
  186. data/lib/aws/sns/policy.rb +49 -0
  187. data/lib/aws/sns/request.rb +27 -0
  188. data/lib/aws/sns/subscription.rb +100 -0
  189. data/lib/aws/sns/subscription_collection.rb +84 -0
  190. data/lib/aws/sns/topic.rb +384 -0
  191. data/lib/aws/sns/topic_collection.rb +70 -0
  192. data/lib/aws/sns/topic_subscription_collection.rb +58 -0
  193. data/lib/aws/sqs.rb +70 -0
  194. data/lib/aws/sqs/client.rb +38 -0
  195. data/lib/aws/sqs/client/xml.rb +36 -0
  196. data/lib/aws/sqs/errors.rb +33 -0
  197. data/lib/aws/sqs/policy.rb +50 -0
  198. data/lib/aws/sqs/queue.rb +507 -0
  199. data/lib/aws/sqs/queue_collection.rb +105 -0
  200. data/lib/aws/sqs/received_message.rb +184 -0
  201. data/lib/aws/sqs/received_sns_message.rb +112 -0
  202. data/lib/aws/sqs/request.rb +44 -0
  203. data/lib/aws/xml_grammar.rb +923 -0
  204. data/rails/init.rb +15 -0
  205. metadata +298 -0
@@ -0,0 +1,39 @@
1
+ # Copyright 2011 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 'aws/base_client'
15
+ require 'aws/configured_client_methods'
16
+ require 'aws/simple_email_service/request'
17
+ require 'aws/simple_email_service/client/options'
18
+ require 'aws/simple_email_service/client/xml'
19
+ require 'aws/simple_email_service/errors'
20
+
21
+ module AWS
22
+ class SimpleEmailService
23
+
24
+ # @private
25
+ class Client < BaseClient
26
+
27
+ include ConfiguredClientMethods
28
+
29
+ API_VERSION = '2010-12-01'
30
+
31
+ REGION_US_E1 = 'email.us-east-1.amazonaws.com'
32
+
33
+ REQUEST_CLASS = SimpleEmailService::Request
34
+
35
+ configure_client
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,24 @@
1
+ # Copyright 2011 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+
3
+ require 'aws/configured_option_grammars'
4
+ require 'aws/api_config_transform'
5
+
6
+ module AWS
7
+ class SimpleEmailService
8
+ class Client < BaseClient
9
+
10
+ # @private
11
+ module Options
12
+
13
+ include ConfiguredOptionGrammars
14
+
15
+ def self.api_config
16
+ ApiConfigTransform.rename_input_list_to_membered_list(super)
17
+ end
18
+
19
+ define_configured_grammars
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,38 @@
1
+ # Copyright 2011 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 'aws/configured_xml_grammars'
15
+ require 'aws/ignore_result_element'
16
+ require 'aws/xml_grammar'
17
+
18
+ module AWS
19
+ class SimpleEmailService
20
+ class Client < BaseClient
21
+
22
+ # @private
23
+ module XML
24
+
25
+ include ConfiguredXmlGrammars
26
+
27
+ extend IgnoreResultElement
28
+
29
+ BaseError = XmlGrammar.customize do
30
+ element("Error") { ignore }
31
+ end
32
+
33
+ define_configured_grammars
34
+
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,66 @@
1
+ # Copyright 2011 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 'aws/model'
15
+
16
+ module AWS
17
+ class SimpleEmailService
18
+
19
+ # Helps you manage your verified SimpleEmailService email addresses.
20
+ class EmailAddressCollection
21
+
22
+ include Model
23
+ include Enumerable
24
+
25
+ # Requets for an email address to be verified. An email will be
26
+ # sent to the given +email_address+ with a link to click. Once
27
+ # the link has been followed the +email_address+ will be verified.
28
+ #
29
+ # @param [String] email_address The email address to verify.
30
+ # @return [nil]
31
+ def verify email_address
32
+ client.verify_email_address(:email_address => email_address)
33
+ nil
34
+ end
35
+
36
+ alias_method :create, :verify
37
+
38
+ # @param [String] email_address An email address to remove from the list
39
+ # of verified email addresses. Useful for cleanup as there is a 100
40
+ # email address limit.
41
+ # @return [nil]
42
+ def delete email_address
43
+ client.delete_verified_email_address(:email_address => email_address)
44
+ nil
45
+ end
46
+
47
+ def include?
48
+ # this is so jruby can detect that verified? is an alias
49
+ super
50
+ end
51
+ alias_method :verified?, :include?
52
+
53
+ # Yields each verified email address as a string.
54
+ # @return [nil]
55
+ # yielded.
56
+ def each &block
57
+ response = client.list_verified_email_addresses({})
58
+ response.verified_email_addresses.each do |email_address|
59
+ yield(email_address)
60
+ end
61
+ nil
62
+ end
63
+
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,29 @@
1
+ # Copyright 2011 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 'aws/lazy_error_classes'
15
+ require 'aws/simple_email_service/client/xml'
16
+
17
+ module AWS
18
+ class SimpleEmailService
19
+
20
+ # @private
21
+ module Errors
22
+
23
+ BASE_ERROR_GRAMMAR = Client::XML::BaseError
24
+
25
+ include LazyErrorClasses
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,64 @@
1
+ # Copyright 2011 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 'aws/model'
15
+
16
+ module AWS
17
+ class SimpleEmailService
18
+
19
+ # Returns information about your SimpleEmailService quotas.
20
+ class Quotas
21
+
22
+ include Model
23
+
24
+ # @return [Integer] The maximum number of emails the user is allowed
25
+ # to send in a 24-hour interval.
26
+ def max_24_hour_send
27
+ to_h[:max_24_hour_send]
28
+ end
29
+
30
+ # @return [Float] The maximum number of emails the user is allowed
31
+ # to send per second.
32
+ def max_send_rate
33
+ to_h[:max_send_rate]
34
+ end
35
+
36
+ # @return [Integer] Returns the number of emails sent during the
37
+ # previous 24 hours.
38
+ def sent_last_24_hours
39
+ to_h[:sent_last_24_hours]
40
+ end
41
+
42
+ # @example
43
+ #
44
+ # @ses.quotas.to_h
45
+ # # {:max_24_hour_send=>200, :max_send_rate=>1.0, :sent_last_24_hours=>22}
46
+ #
47
+ # @return [Hash] Returns a hash of the SES quotas.
48
+ def to_h
49
+ response = client.get_send_quota({})
50
+ {
51
+ :max_24_hour_send => response.max_24_hour_send.to_i,
52
+ :max_send_rate => response.max_send_rate.to_f,
53
+ :sent_last_24_hours => response.sent_last_24_hours.to_i,
54
+ }
55
+ end
56
+
57
+ # @private
58
+ def inspect
59
+ "<#{self.class} #{to_h.inspect}>"
60
+ end
61
+
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,27 @@
1
+ # Copyright 2011 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 'aws/http/request'
15
+ require 'aws/authorize_v3'
16
+
17
+ module AWS
18
+ class SimpleEmailService
19
+
20
+ # @private
21
+ class Request < AWS::Http::Request
22
+
23
+ include AuthorizeV3
24
+
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,69 @@
1
+ # Copyright 2011 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 'aws/common'
15
+ require 'aws/service_interface'
16
+ require 'aws/sns/errors'
17
+ require 'aws/sns/client'
18
+ require 'aws/sns/topic_collection'
19
+ require 'aws/sns/subscription_collection'
20
+ require 'aws/sns/policy'
21
+
22
+ module AWS
23
+
24
+ # This class is the starting point for working with Amazon Simple
25
+ # Notification Service (SNS).
26
+ #
27
+ # To use Amazon SNS you must first {sign up here}[http://aws.amazon.com/sns/].
28
+ #
29
+ # For more information about Amazon SNS:
30
+ #
31
+ # * {Amazon SNS}[http://aws.amazon.com/simpledb/]
32
+ # * {Amazon SNS Documentation}[http://aws.amazon.com/documentation/sns/]
33
+ #
34
+ # = Credentials
35
+ #
36
+ # You can setup default credentials for all AWS services via
37
+ # AWS.config:
38
+ #
39
+ # AWS.config(
40
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
41
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
42
+ #
43
+ # Or you can set them directly on the SNS interface:
44
+ #
45
+ # sns = AWS::SNS.new(
46
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
47
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
48
+ #
49
+ # = Understanding the SNS Interface
50
+ #
51
+ # ...
52
+ class SNS
53
+
54
+ include ServiceInterface
55
+
56
+ # @return [TopicCollection] Returns a topic collection for managing
57
+ # SNS topics.
58
+ def topics
59
+ TopicCollection.new(:config => config)
60
+ end
61
+
62
+ # @return [SubscriptionCollection] Returns a subscription
63
+ # collection for managing SNS subscriptions.
64
+ def subscriptions
65
+ SubscriptionCollection.new(:config => config)
66
+ end
67
+
68
+ end
69
+ end
@@ -0,0 +1,37 @@
1
+ # Copyright 2011 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 'aws/base_client'
15
+ require 'aws/configured_client_methods'
16
+ require 'aws/sns/request'
17
+ require 'aws/sns/client/xml'
18
+ require 'aws/sns/client/options'
19
+
20
+ module AWS
21
+ class SNS
22
+
23
+ # @private
24
+ class Client < BaseClient
25
+
26
+ include ConfiguredClientMethods
27
+
28
+ API_VERSION = '2010-03-31'
29
+
30
+ # @private
31
+ REQUEST_CLASS = SNS::Request
32
+
33
+ configure_client
34
+
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,24 @@
1
+ # Copyright 2011 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+
3
+ require 'aws/configured_option_grammars'
4
+ require 'aws/api_config_transform'
5
+
6
+ module AWS
7
+ class SNS
8
+ class Client < BaseClient
9
+
10
+ # @private
11
+ module Options
12
+
13
+ include ConfiguredOptionGrammars
14
+
15
+ def self.api_config
16
+ ApiConfigTransform.rename_input_list_to_membered_list(super)
17
+ end
18
+
19
+ define_configured_grammars
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,38 @@
1
+ # Copyright 2011 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 'aws/configured_xml_grammars'
15
+ require 'aws/ignore_result_element'
16
+ require 'aws/xml_grammar'
17
+
18
+ module AWS
19
+ class SNS
20
+ class Client < BaseClient
21
+
22
+ # @private
23
+ module XML
24
+
25
+ include ConfiguredXmlGrammars
26
+
27
+ extend IgnoreResultElement
28
+
29
+ BaseError = XmlGrammar.customize do
30
+ element("Error") { ignore }
31
+ end
32
+
33
+ define_configured_grammars
34
+
35
+ end
36
+ end
37
+ end
38
+ end