aws-sdk 1.1.3 → 1.1.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 (233) hide show
  1. data/ca-bundle.crt +2 -348
  2. data/lib/aws.rb +24 -49
  3. data/lib/aws/{common.rb → core.rb} +120 -9
  4. data/lib/aws/{api_config.rb → core/api_config.rb} +19 -20
  5. data/lib/aws/core/api_config_transform.rb +36 -0
  6. data/lib/aws/core/async_handle.rb +91 -0
  7. data/lib/aws/core/authorize_v2.rb +39 -0
  8. data/lib/aws/{authorize_v3.rb → core/authorize_v3.rb} +16 -15
  9. data/lib/aws/{api_config_transform.rb → core/authorize_with_session_token.rb} +9 -12
  10. data/lib/aws/core/autoloader.rb +64 -0
  11. data/lib/aws/core/cacheable.rb +78 -0
  12. data/lib/aws/core/client.rb +471 -0
  13. data/lib/aws/core/client_logging.rb +125 -0
  14. data/lib/aws/core/collections.rb +229 -0
  15. data/lib/aws/core/configuration.rb +358 -0
  16. data/lib/aws/core/configured_client_methods.rb +76 -0
  17. data/lib/aws/core/configured_grammars.rb +63 -0
  18. data/lib/aws/{configured_option_grammars.rb → core/configured_option_grammars.rb} +18 -20
  19. data/lib/aws/{configured_xml_grammars.rb → core/configured_xml_grammars.rb} +19 -21
  20. data/lib/aws/core/default_signer.rb +67 -0
  21. data/lib/aws/core/http/curb_handler.rb +129 -0
  22. data/lib/aws/core/http/handler.rb +77 -0
  23. data/lib/aws/core/http/httparty_handler.rb +113 -0
  24. data/lib/aws/core/http/net_http_handler.rb +124 -0
  25. data/lib/aws/core/http/request.rb +207 -0
  26. data/lib/aws/core/http/response.rb +73 -0
  27. data/lib/aws/{ignore_result_element.rb → core/ignore_result_element.rb} +14 -18
  28. data/lib/aws/core/indifferent_hash.rb +88 -0
  29. data/lib/aws/core/inflection.rb +47 -0
  30. data/lib/aws/core/lazy_error_classes.rb +62 -0
  31. data/lib/aws/{uri_escape.rb → core/meta_utils.rb} +24 -23
  32. data/lib/aws/core/model.rb +57 -0
  33. data/lib/aws/{authorize_with_session_token.rb → core/naming.rb} +9 -8
  34. data/lib/aws/core/option_grammar.rb +562 -0
  35. data/lib/aws/core/policy.rb +914 -0
  36. data/lib/aws/core/resource.rb +380 -0
  37. data/lib/aws/core/resource_cache.rb +40 -0
  38. data/lib/aws/core/response.rb +125 -0
  39. data/lib/aws/core/response_cache.rb +50 -0
  40. data/lib/aws/core/service_interface.rb +60 -0
  41. data/lib/aws/core/uri_escape.rb +46 -0
  42. data/lib/aws/core/xml_grammar.rb +926 -0
  43. data/lib/aws/ec2.rb +47 -16
  44. data/lib/aws/ec2/attachment.rb +0 -2
  45. data/lib/aws/ec2/attachment_collection.rb +1 -6
  46. data/lib/aws/ec2/availability_zone.rb +0 -2
  47. data/lib/aws/ec2/availability_zone_collection.rb +0 -3
  48. data/lib/aws/ec2/client.rb +6 -9
  49. data/lib/aws/ec2/client/xml.rb +3 -6
  50. data/lib/aws/ec2/collection.rb +1 -4
  51. data/lib/aws/ec2/config.rb +18 -0
  52. data/lib/aws/ec2/elastic_ip.rb +0 -2
  53. data/lib/aws/ec2/elastic_ip_collection.rb +0 -4
  54. data/lib/aws/ec2/errors.rb +1 -4
  55. data/lib/aws/ec2/has_permissions.rb +0 -2
  56. data/lib/aws/ec2/image.rb +0 -5
  57. data/lib/aws/ec2/image_collection.rb +0 -6
  58. data/lib/aws/ec2/instance.rb +23 -9
  59. data/lib/aws/ec2/instance_collection.rb +85 -22
  60. data/lib/aws/ec2/key_pair.rb +0 -2
  61. data/lib/aws/ec2/key_pair_collection.rb +1 -4
  62. data/lib/aws/ec2/permission_collection.rb +2 -5
  63. data/lib/aws/ec2/region.rb +0 -2
  64. data/lib/aws/ec2/region_collection.rb +0 -4
  65. data/lib/aws/ec2/request.rb +4 -9
  66. data/lib/aws/ec2/reserved_instances.rb +0 -3
  67. data/lib/aws/ec2/reserved_instances_collection.rb +0 -4
  68. data/lib/aws/ec2/reserved_instances_offering.rb +0 -3
  69. data/lib/aws/ec2/reserved_instances_offering_collection.rb +0 -4
  70. data/lib/aws/ec2/resource.rb +3 -5
  71. data/lib/aws/ec2/resource_tag_collection.rb +1 -6
  72. data/lib/aws/ec2/security_group.rb +204 -72
  73. data/lib/aws/ec2/security_group/egress_ip_permission_collection.rb +53 -0
  74. data/lib/aws/ec2/security_group/ip_permission.rb +92 -10
  75. data/lib/aws/ec2/security_group/ip_permission_collection.rb +14 -15
  76. data/lib/aws/ec2/security_group_collection.rb +11 -8
  77. data/lib/aws/ec2/snapshot.rb +0 -4
  78. data/lib/aws/ec2/snapshot_collection.rb +0 -4
  79. data/lib/aws/ec2/tag.rb +0 -3
  80. data/lib/aws/ec2/tag_collection.rb +1 -8
  81. data/lib/aws/ec2/tagged_item.rb +1 -3
  82. data/lib/aws/ec2/volume.rb +0 -6
  83. data/lib/aws/ec2/volume_collection.rb +0 -4
  84. data/lib/aws/errors.rb +0 -3
  85. data/lib/aws/iam.rb +33 -12
  86. data/lib/aws/iam/access_key.rb +0 -3
  87. data/lib/aws/iam/access_key_collection.rb +0 -3
  88. data/lib/aws/iam/account_alias_collection.rb +0 -2
  89. data/lib/aws/iam/client.rb +6 -8
  90. data/lib/aws/iam/client/xml.rb +4 -8
  91. data/lib/aws/iam/collection.rb +2 -5
  92. data/lib/aws/iam/config.rb +18 -0
  93. data/lib/aws/iam/errors.rb +2 -4
  94. data/lib/aws/iam/group.rb +0 -5
  95. data/lib/aws/iam/group_collection.rb +0 -3
  96. data/lib/aws/iam/group_policy_collection.rb +0 -2
  97. data/lib/aws/iam/group_user_collection.rb +1 -4
  98. data/lib/aws/iam/login_profile.rb +0 -2
  99. data/lib/aws/iam/mfa_device.rb +1 -3
  100. data/lib/aws/iam/mfa_device_collection.rb +0 -3
  101. data/lib/aws/iam/policy.rb +2 -4
  102. data/lib/aws/iam/policy_collection.rb +0 -3
  103. data/lib/aws/iam/request.rb +3 -7
  104. data/lib/aws/iam/resource.rb +1 -4
  105. data/lib/aws/iam/server_certificate.rb +0 -2
  106. data/lib/aws/iam/server_certificate_collection.rb +0 -3
  107. data/lib/aws/iam/signing_certificate.rb +0 -2
  108. data/lib/aws/iam/signing_certificate_collection.rb +0 -3
  109. data/lib/aws/iam/user.rb +0 -7
  110. data/lib/aws/iam/user_collection.rb +0 -3
  111. data/lib/aws/iam/user_group_collection.rb +0 -3
  112. data/lib/aws/iam/user_policy.rb +0 -2
  113. data/lib/aws/iam/user_policy_collection.rb +0 -3
  114. data/lib/aws/rails.rb +5 -4
  115. data/lib/aws/record.rb +4 -1
  116. data/lib/aws/record/base.rb +3 -2
  117. data/lib/aws/record/errors.rb +1 -3
  118. data/lib/aws/s3.rb +31 -6
  119. data/lib/aws/s3/access_control_list.rb +0 -2
  120. data/lib/aws/s3/acl_object.rb +10 -12
  121. data/lib/aws/s3/bucket.rb +1 -9
  122. data/lib/aws/s3/bucket_collection.rb +2 -5
  123. data/lib/aws/s3/bucket_version_collection.rb +1 -5
  124. data/lib/aws/s3/client.rb +34 -37
  125. data/lib/aws/s3/client/xml.rb +11 -14
  126. data/lib/aws/{resource_cache.rb → s3/config.rb} +6 -20
  127. data/lib/aws/s3/errors.rb +6 -7
  128. data/lib/aws/s3/multipart_upload.rb +1 -4
  129. data/lib/aws/s3/multipart_upload_collection.rb +1 -6
  130. data/lib/aws/s3/object_collection.rb +1 -5
  131. data/lib/aws/s3/object_metadata.rb +1 -3
  132. data/lib/aws/s3/object_upload_collection.rb +1 -7
  133. data/lib/aws/s3/object_version.rb +1 -4
  134. data/lib/aws/s3/object_version_collection.rb +1 -4
  135. data/lib/aws/s3/policy.rb +3 -5
  136. data/lib/aws/s3/prefix_and_delimiter_collection.rb +0 -2
  137. data/lib/aws/s3/prefixed_collection.rb +0 -2
  138. data/lib/aws/s3/presigned_post.rb +1 -3
  139. data/lib/aws/s3/request.rb +2 -5
  140. data/lib/aws/s3/s3_object.rb +1 -8
  141. data/lib/aws/s3/tree.rb +8 -6
  142. data/lib/aws/s3/tree/branch_node.rb +0 -3
  143. data/lib/aws/s3/tree/child_collection.rb +1 -5
  144. data/lib/aws/s3/tree/leaf_node.rb +0 -5
  145. data/lib/aws/s3/tree/parent.rb +1 -4
  146. data/lib/aws/s3/uploaded_part.rb +1 -3
  147. data/lib/aws/s3/uploaded_part_collection.rb +1 -5
  148. data/lib/aws/simple_db.rb +21 -6
  149. data/lib/aws/simple_db/attribute.rb +1 -6
  150. data/lib/aws/simple_db/attribute_collection.rb +1 -7
  151. data/lib/aws/simple_db/client.rb +7 -9
  152. data/lib/aws/simple_db/client/options.rb +2 -4
  153. data/lib/aws/simple_db/client/xml.rb +5 -10
  154. data/lib/aws/{naming.rb → simple_db/config.rb} +3 -14
  155. data/lib/aws/simple_db/delete_attributes.rb +0 -2
  156. data/lib/aws/simple_db/domain.rb +1 -6
  157. data/lib/aws/simple_db/domain_collection.rb +1 -4
  158. data/lib/aws/simple_db/domain_metadata.rb +1 -3
  159. data/lib/aws/simple_db/errors.rb +1 -4
  160. data/lib/aws/simple_db/item.rb +1 -7
  161. data/lib/aws/simple_db/item_collection.rb +22 -23
  162. data/lib/aws/simple_db/put_attributes.rb +0 -2
  163. data/lib/aws/simple_db/request.rb +3 -7
  164. data/lib/aws/simple_email_service.rb +11 -6
  165. data/lib/aws/simple_email_service/client.rb +7 -9
  166. data/lib/aws/simple_email_service/client/options.rb +3 -6
  167. data/lib/aws/simple_email_service/client/xml.rb +4 -8
  168. data/lib/aws/simple_email_service/config.rb +19 -0
  169. data/lib/aws/simple_email_service/email_address_collection.rb +1 -3
  170. data/lib/aws/simple_email_service/errors.rb +1 -4
  171. data/lib/aws/simple_email_service/quotas.rb +1 -3
  172. data/lib/aws/simple_email_service/request.rb +3 -7
  173. data/lib/aws/sns.rb +15 -8
  174. data/lib/aws/sns/client.rb +7 -8
  175. data/lib/aws/sns/client/options.rb +3 -6
  176. data/lib/aws/sns/client/xml.rb +4 -8
  177. data/lib/aws/sns/config.rb +18 -0
  178. data/lib/aws/sns/errors.rb +1 -4
  179. data/lib/aws/sns/policy.rb +3 -5
  180. data/lib/aws/sns/request.rb +4 -9
  181. data/lib/aws/sns/subscription.rb +1 -5
  182. data/lib/aws/sns/subscription_collection.rb +1 -5
  183. data/lib/aws/sns/topic.rb +1 -6
  184. data/lib/aws/sns/topic_collection.rb +1 -4
  185. data/lib/aws/sns/topic_subscription_collection.rb +1 -4
  186. data/lib/aws/sqs.rb +14 -5
  187. data/lib/aws/sqs/client.rb +6 -9
  188. data/lib/aws/sqs/client/xml.rb +4 -7
  189. data/lib/aws/sqs/config.rb +18 -0
  190. data/lib/aws/sqs/errors.rb +1 -4
  191. data/lib/aws/sqs/policy.rb +3 -5
  192. data/lib/aws/sqs/queue.rb +2 -7
  193. data/lib/aws/sqs/queue_collection.rb +4 -5
  194. data/lib/aws/sqs/received_message.rb +1 -3
  195. data/lib/aws/sqs/received_sns_message.rb +2 -2
  196. data/lib/aws/sqs/request.rb +4 -7
  197. data/lib/aws/sts.rb +12 -6
  198. data/lib/aws/sts/client.rb +6 -8
  199. data/lib/aws/sts/client/xml.rb +4 -8
  200. data/lib/aws/sts/config.rb +18 -0
  201. data/lib/aws/sts/errors.rb +1 -4
  202. data/lib/aws/sts/federated_session.rb +0 -2
  203. data/lib/aws/sts/policy.rb +3 -5
  204. data/lib/aws/sts/request.rb +3 -7
  205. metadata +60 -50
  206. data/lib/aws/async_handle.rb +0 -90
  207. data/lib/aws/authorize_v2.rb +0 -37
  208. data/lib/aws/base_client.rb +0 -488
  209. data/lib/aws/cacheable.rb +0 -79
  210. data/lib/aws/client_logging.rb +0 -122
  211. data/lib/aws/collections.rb +0 -230
  212. data/lib/aws/configuration.rb +0 -357
  213. data/lib/aws/configured_client_methods.rb +0 -81
  214. data/lib/aws/configured_grammars.rb +0 -65
  215. data/lib/aws/default_signer.rb +0 -65
  216. data/lib/aws/http/curb_handler.rb +0 -127
  217. data/lib/aws/http/handler.rb +0 -77
  218. data/lib/aws/http/httparty_handler.rb +0 -103
  219. data/lib/aws/http/request.rb +0 -165
  220. data/lib/aws/http/request_param.rb +0 -64
  221. data/lib/aws/http/response.rb +0 -72
  222. data/lib/aws/indifferent_hash.rb +0 -86
  223. data/lib/aws/inflection.rb +0 -46
  224. data/lib/aws/lazy_error_classes.rb +0 -64
  225. data/lib/aws/meta_utils.rb +0 -43
  226. data/lib/aws/model.rb +0 -57
  227. data/lib/aws/option_grammar.rb +0 -565
  228. data/lib/aws/policy.rb +0 -914
  229. data/lib/aws/resource.rb +0 -381
  230. data/lib/aws/response.rb +0 -125
  231. data/lib/aws/response_cache.rb +0 -50
  232. data/lib/aws/service_interface.rb +0 -60
  233. data/lib/aws/xml_grammar.rb +0 -925
@@ -11,17 +11,14 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/xml_grammar'
15
- require 'aws/base_client'
16
-
17
14
  module AWS
18
15
  class S3
19
- class Client < BaseClient
16
+ class Client < Core::Client
20
17
 
21
18
  # @private
22
19
  module XML
23
20
 
24
- Error = XmlGrammar.customize { }
21
+ Error = Core::XmlGrammar.customize { }
25
22
 
26
23
  module HasCommonPrefixes
27
24
 
@@ -36,7 +33,7 @@ module AWS
36
33
 
37
34
  end
38
35
 
39
- ListBuckets = XmlGrammar.customize do
36
+ ListBuckets = Core::XmlGrammar.customize do
40
37
  element "Buckets" do
41
38
  element "Bucket" do
42
39
  collect_values
@@ -45,7 +42,7 @@ module AWS
45
42
  end
46
43
  end
47
44
 
48
- GetBucketAcl = GetObjectAcl = XmlGrammar.customize do
45
+ GetBucketAcl = GetObjectAcl = Core::XmlGrammar.customize do
49
46
  wrapper(:acl,
50
47
  :for => ["Owner",
51
48
  "AccessControlList"]) do
@@ -79,7 +76,7 @@ module AWS
79
76
  end
80
77
  end
81
78
 
82
- ListObjects = XmlGrammar.customize do
79
+ ListObjects = Core::XmlGrammar.customize do
83
80
 
84
81
  element("Name") { rename "bucket_name" }
85
82
  element("MaxKeys") { integer_value }
@@ -105,7 +102,7 @@ module AWS
105
102
 
106
103
  end
107
104
 
108
- GetBucketVersioning = XmlGrammar.customize do
105
+ GetBucketVersioning = Core::XmlGrammar.customize do
109
106
  element("Status") do
110
107
  symbol_value
111
108
  format_value {|value| super(value) || :unversioned }
@@ -113,7 +110,7 @@ module AWS
113
110
  end
114
111
  end
115
112
 
116
- ListObjectVersions = XmlGrammar.customize do
113
+ ListObjectVersions = Core::XmlGrammar.customize do
117
114
 
118
115
  element("MaxKeys") { integer_value }
119
116
  element("IsTruncated") { rename "Truncated"; boolean_value }
@@ -147,11 +144,11 @@ module AWS
147
144
  end
148
145
 
149
146
  # default behavior is good enough
150
- InitiateMultipartUpload = XmlGrammar.customize do
147
+ InitiateMultipartUpload = Core::XmlGrammar.customize do
151
148
  element("UploadId") { force }
152
149
  end
153
150
 
154
- ListMultipartUploads = XmlGrammar.customize do
151
+ ListMultipartUploads = Core::XmlGrammar.customize do
155
152
  element("IsTruncated") { rename "Truncated"; boolean_value }
156
153
  element("MaxUploads") { integer_value }
157
154
  element("NextKeyMarker") { force }
@@ -167,9 +164,9 @@ module AWS
167
164
  end
168
165
 
169
166
  # keep default behavior
170
- CompleteMultipartUpload = XmlGrammar.customize
167
+ CompleteMultipartUpload = Core::XmlGrammar.customize
171
168
 
172
- ListParts = XmlGrammar.customize do
169
+ ListParts = Core::XmlGrammar.customize do
173
170
  element("StorageClass") { symbol_value }
174
171
  element("IsTruncated") { rename "Truncated"; boolean_value }
175
172
  element("MaxParts") { integer_value }
@@ -11,28 +11,14 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- module AWS
14
+ AWS::Core::Configuration.module_eval do
15
15
 
16
- # @private
17
- class ResourceCache
16
+ add_service 'S3', 's3', 's3.amazonaws.com'
18
17
 
19
- def initialize
20
- @cache = {}
21
- end
18
+ add_option :s3_multipart_threshold, 16 * 1024 * 1024
22
19
 
23
- def store(key, attributes)
24
- (@cache[key] ||= {}).merge!(attributes)
25
- end
20
+ add_option :s3_multipart_min_part_size, 5 * 1024 * 1024
26
21
 
27
- def cached?(key, attribute)
28
- attributes = @cache[key] and attributes.has_key?(attribute)
29
- end
30
-
31
- def get(key, attribute)
32
- raise "No cached value for attribute :#{attribute} of #{key}" unless
33
- cached?(key, attribute)
34
- @cache[key][attribute]
35
- end
36
-
37
- end
22
+ add_option :s3_multipart_max_parts, 10000
23
+
38
24
  end
@@ -11,9 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/lazy_error_classes'
15
- require 'aws/s3/client/xml'
16
-
17
14
  module AWS
18
15
  class S3
19
16
 
@@ -34,14 +31,11 @@ module AWS
34
31
  # @private
35
32
  module Errors
36
33
 
37
- BASE_ERROR_GRAMMAR = Client::XML::Error
38
-
39
- include LazyErrorClasses
40
-
41
34
  # This error is special, because S3 does not (and must not
42
35
  # according to RFC 2616) return a body with the HTTP response.
43
36
  # The interface is the same as for any other client error.
44
37
  class NotModified < AWS::Errors::Base
38
+
45
39
  include AWS::Errors::ClientError
46
40
 
47
41
  def code; "NotModified"; end
@@ -56,6 +50,7 @@ module AWS
56
50
  # the HTTP response. The interface is the same as for any other
57
51
  # client error.
58
52
  class NoSuchKey < AWS::Errors::Base
53
+
59
54
  include AWS::Errors::ClientError
60
55
 
61
56
  def code; "NoSuchKey"; end
@@ -66,6 +61,10 @@ module AWS
66
61
 
67
62
  end
68
63
 
64
+ BASE_ERROR_GRAMMAR = Client::XML::Error
65
+
66
+ include Core::LazyErrorClasses
67
+
69
68
  end
70
69
  end
71
70
  end
@@ -11,9 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/s3/uploaded_part'
16
- require 'aws/s3/uploaded_part_collection'
17
14
  require 'thread'
18
15
 
19
16
  module AWS
@@ -24,7 +21,7 @@ module AWS
24
21
  # multipart upload.
25
22
  class MultipartUpload
26
23
 
27
- include Model
24
+ include Core::Model
28
25
 
29
26
  # @private
30
27
  def initialize(object, id, options = {})
@@ -11,11 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/s3/prefix_and_delimiter_collection'
16
- require 'aws/s3/multipart_upload'
17
- require 'aws/s3/s3_object'
18
-
19
14
  module AWS
20
15
  class S3
21
16
 
@@ -35,7 +30,7 @@ module AWS
35
30
  class MultipartUploadCollection
36
31
 
37
32
  include Enumerable
38
- include Model
33
+ include Core::Model
39
34
  include PrefixAndDelimiterCollection
40
35
 
41
36
  # @return [Bucket] The bucket in which the uploads are taking
@@ -11,10 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/s3/s3_object'
16
- require 'aws/s3/prefix_and_delimiter_collection'
17
-
18
14
  module AWS
19
15
  class S3
20
16
 
@@ -62,7 +58,7 @@ module AWS
62
58
  #
63
59
  class ObjectCollection
64
60
 
65
- include Model
61
+ include Core::Model
66
62
  include Enumerable
67
63
  include PrefixAndDelimiterCollection
68
64
 
@@ -11,15 +11,13 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
-
16
14
  module AWS
17
15
  class S3
18
16
 
19
17
  # Returns an object that represents the metadata for an S3 object.
20
18
  class ObjectMetadata
21
19
 
22
- include Model
20
+ include Core::Model
23
21
 
24
22
  # @param [S3Object]
25
23
  # @param [Hash] options
@@ -11,12 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/s3/paginated_collection'
16
- require 'aws/s3/multipart_upload'
17
- require 'aws/s3/multipart_upload_collection'
18
- require 'aws/s3/s3_object'
19
-
20
14
  module AWS
21
15
  class S3
22
16
 
@@ -30,7 +24,7 @@ module AWS
30
24
  class ObjectUploadCollection
31
25
 
32
26
  include Enumerable
33
- include Model
27
+ include Core::Model
34
28
 
35
29
  # @return [S3Object] The object to which the uploads belong.
36
30
  attr_reader :object
@@ -11,9 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/errors'
16
-
17
14
  module AWS
18
15
  class S3
19
16
 
@@ -24,7 +21,7 @@ module AWS
24
21
  # object.
25
22
  class ObjectVersion
26
23
 
27
- include Model
24
+ include Core::Model
28
25
 
29
26
  # @param [S3Object] object The object this is a version of.
30
27
  # @param [String] version_id The unique id for this version.
@@ -11,9 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/s3/object_version'
16
-
17
14
  module AWS
18
15
  class S3
19
16
 
@@ -34,7 +31,7 @@ module AWS
34
31
  #
35
32
  class ObjectVersionCollection
36
33
 
37
- include Model
34
+ include Core::Model
38
35
  include Enumerable
39
36
 
40
37
  # @return [S3Object] The object this collection belongs to.
@@ -11,15 +11,13 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/policy'
15
-
16
14
  module AWS
17
15
  class S3
18
16
 
19
- # @see AWS::Policy
20
- class Policy < AWS::Policy
17
+ # @see Core::Policy
18
+ class Policy < Core::Policy
21
19
 
22
- class Statement < AWS::Policy::Statement
20
+ class Statement < Core::Policy::Statement
23
21
 
24
22
  ACTION_MAPPING = {
25
23
  :list_buckets => "s3:ListAllMyBuckets",
@@ -11,8 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/s3/prefixed_collection'
15
-
16
14
  module AWS
17
15
  class S3
18
16
 
@@ -11,8 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/s3/paginated_collection'
15
-
16
14
  module AWS
17
15
  class S3
18
16
 
@@ -11,8 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/s3/request'
16
14
  require 'uri'
17
15
  require 'base64'
18
16
  require 'time'
@@ -52,7 +50,7 @@ module AWS
52
50
  # bucket.presigned_post.where(:key).starts_with("photos/")
53
51
  class PresignedPost
54
52
 
55
- include Model
53
+ include Core::Model
56
54
 
57
55
  # @return [Bucket] The bucket to which data can be uploaded
58
56
  # using the form fields
@@ -11,9 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/http/request'
15
- require 'aws/base_client'
16
- require 'aws/uri_escape'
17
14
  require 'uri'
18
15
  require 'time'
19
16
 
@@ -21,9 +18,9 @@ module AWS
21
18
  class S3
22
19
 
23
20
  # @private
24
- class Request < AWS::Http::Request
21
+ class Request < Core::Http::Request
25
22
 
26
- include UriEscape
23
+ include Core::UriEscape
27
24
 
28
25
  # @param [bucket] S3 bucket name
29
26
  attr_accessor :bucket
@@ -11,13 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/s3/request'
16
- require 'aws/s3/object_metadata'
17
- require 'aws/s3/multipart_upload'
18
- require 'aws/s3/object_upload_collection'
19
- require 'aws/s3/presigned_post'
20
- require 'aws/s3/data_options'
21
14
  require 'uri'
22
15
 
23
16
  module AWS
@@ -44,7 +37,7 @@ module AWS
44
37
  #
45
38
  class S3Object
46
39
 
47
- include Model
40
+ include Core::Model
48
41
  include DataOptions
49
42
 
50
43
  # @param [Bucket] bucket The bucket this object belongs to.
@@ -11,12 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/s3/tree/parent'
16
- require 'aws/s3/tree/leaf_node'
17
- require 'aws/s3/tree/branch_node'
18
- require 'aws/s3/tree/child_collection'
19
-
20
14
  module AWS
21
15
  class S3
22
16
 
@@ -83,6 +77,14 @@ module AWS
83
77
  # using.
84
78
  class Tree
85
79
 
80
+ AWS.register_autoloads(self) do
81
+ autoload :BranchNode, 'branch_node'
82
+ autoload :ChildCollection, 'child_collection'
83
+ autoload :LeafNode, 'leaf_node'
84
+ autoload :Node, 'node'
85
+ autoload :Parent, 'parent'
86
+ end
87
+
86
88
  include Parent
87
89
 
88
90
  # @param [ObjectCollection, BucketVersionCollection,
@@ -11,9 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/model'
15
- require 'aws/s3/tree/parent'
16
-
17
14
  module AWS
18
15
  class S3
19
16
  class Tree