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.
- data/ca-bundle.crt +2 -348
- data/lib/aws.rb +24 -49
- data/lib/aws/{common.rb → core.rb} +120 -9
- data/lib/aws/{api_config.rb → core/api_config.rb} +19 -20
- data/lib/aws/core/api_config_transform.rb +36 -0
- data/lib/aws/core/async_handle.rb +91 -0
- data/lib/aws/core/authorize_v2.rb +39 -0
- data/lib/aws/{authorize_v3.rb → core/authorize_v3.rb} +16 -15
- data/lib/aws/{api_config_transform.rb → core/authorize_with_session_token.rb} +9 -12
- data/lib/aws/core/autoloader.rb +64 -0
- data/lib/aws/core/cacheable.rb +78 -0
- data/lib/aws/core/client.rb +471 -0
- data/lib/aws/core/client_logging.rb +125 -0
- data/lib/aws/core/collections.rb +229 -0
- data/lib/aws/core/configuration.rb +358 -0
- data/lib/aws/core/configured_client_methods.rb +76 -0
- data/lib/aws/core/configured_grammars.rb +63 -0
- data/lib/aws/{configured_option_grammars.rb → core/configured_option_grammars.rb} +18 -20
- data/lib/aws/{configured_xml_grammars.rb → core/configured_xml_grammars.rb} +19 -21
- data/lib/aws/core/default_signer.rb +67 -0
- data/lib/aws/core/http/curb_handler.rb +129 -0
- data/lib/aws/core/http/handler.rb +77 -0
- data/lib/aws/core/http/httparty_handler.rb +113 -0
- data/lib/aws/core/http/net_http_handler.rb +124 -0
- data/lib/aws/core/http/request.rb +207 -0
- data/lib/aws/core/http/response.rb +73 -0
- data/lib/aws/{ignore_result_element.rb → core/ignore_result_element.rb} +14 -18
- data/lib/aws/core/indifferent_hash.rb +88 -0
- data/lib/aws/core/inflection.rb +47 -0
- data/lib/aws/core/lazy_error_classes.rb +62 -0
- data/lib/aws/{uri_escape.rb → core/meta_utils.rb} +24 -23
- data/lib/aws/core/model.rb +57 -0
- data/lib/aws/{authorize_with_session_token.rb → core/naming.rb} +9 -8
- data/lib/aws/core/option_grammar.rb +562 -0
- data/lib/aws/core/policy.rb +914 -0
- data/lib/aws/core/resource.rb +380 -0
- data/lib/aws/core/resource_cache.rb +40 -0
- data/lib/aws/core/response.rb +125 -0
- data/lib/aws/core/response_cache.rb +50 -0
- data/lib/aws/core/service_interface.rb +60 -0
- data/lib/aws/core/uri_escape.rb +46 -0
- data/lib/aws/core/xml_grammar.rb +926 -0
- data/lib/aws/ec2.rb +47 -16
- data/lib/aws/ec2/attachment.rb +0 -2
- data/lib/aws/ec2/attachment_collection.rb +1 -6
- data/lib/aws/ec2/availability_zone.rb +0 -2
- data/lib/aws/ec2/availability_zone_collection.rb +0 -3
- data/lib/aws/ec2/client.rb +6 -9
- data/lib/aws/ec2/client/xml.rb +3 -6
- data/lib/aws/ec2/collection.rb +1 -4
- data/lib/aws/ec2/config.rb +18 -0
- data/lib/aws/ec2/elastic_ip.rb +0 -2
- data/lib/aws/ec2/elastic_ip_collection.rb +0 -4
- data/lib/aws/ec2/errors.rb +1 -4
- data/lib/aws/ec2/has_permissions.rb +0 -2
- data/lib/aws/ec2/image.rb +0 -5
- data/lib/aws/ec2/image_collection.rb +0 -6
- data/lib/aws/ec2/instance.rb +23 -9
- data/lib/aws/ec2/instance_collection.rb +85 -22
- data/lib/aws/ec2/key_pair.rb +0 -2
- data/lib/aws/ec2/key_pair_collection.rb +1 -4
- data/lib/aws/ec2/permission_collection.rb +2 -5
- data/lib/aws/ec2/region.rb +0 -2
- data/lib/aws/ec2/region_collection.rb +0 -4
- data/lib/aws/ec2/request.rb +4 -9
- data/lib/aws/ec2/reserved_instances.rb +0 -3
- data/lib/aws/ec2/reserved_instances_collection.rb +0 -4
- data/lib/aws/ec2/reserved_instances_offering.rb +0 -3
- data/lib/aws/ec2/reserved_instances_offering_collection.rb +0 -4
- data/lib/aws/ec2/resource.rb +3 -5
- data/lib/aws/ec2/resource_tag_collection.rb +1 -6
- data/lib/aws/ec2/security_group.rb +204 -72
- data/lib/aws/ec2/security_group/egress_ip_permission_collection.rb +53 -0
- data/lib/aws/ec2/security_group/ip_permission.rb +92 -10
- data/lib/aws/ec2/security_group/ip_permission_collection.rb +14 -15
- data/lib/aws/ec2/security_group_collection.rb +11 -8
- data/lib/aws/ec2/snapshot.rb +0 -4
- data/lib/aws/ec2/snapshot_collection.rb +0 -4
- data/lib/aws/ec2/tag.rb +0 -3
- data/lib/aws/ec2/tag_collection.rb +1 -8
- data/lib/aws/ec2/tagged_item.rb +1 -3
- data/lib/aws/ec2/volume.rb +0 -6
- data/lib/aws/ec2/volume_collection.rb +0 -4
- data/lib/aws/errors.rb +0 -3
- data/lib/aws/iam.rb +33 -12
- data/lib/aws/iam/access_key.rb +0 -3
- data/lib/aws/iam/access_key_collection.rb +0 -3
- data/lib/aws/iam/account_alias_collection.rb +0 -2
- data/lib/aws/iam/client.rb +6 -8
- data/lib/aws/iam/client/xml.rb +4 -8
- data/lib/aws/iam/collection.rb +2 -5
- data/lib/aws/iam/config.rb +18 -0
- data/lib/aws/iam/errors.rb +2 -4
- data/lib/aws/iam/group.rb +0 -5
- data/lib/aws/iam/group_collection.rb +0 -3
- data/lib/aws/iam/group_policy_collection.rb +0 -2
- data/lib/aws/iam/group_user_collection.rb +1 -4
- data/lib/aws/iam/login_profile.rb +0 -2
- data/lib/aws/iam/mfa_device.rb +1 -3
- data/lib/aws/iam/mfa_device_collection.rb +0 -3
- data/lib/aws/iam/policy.rb +2 -4
- data/lib/aws/iam/policy_collection.rb +0 -3
- data/lib/aws/iam/request.rb +3 -7
- data/lib/aws/iam/resource.rb +1 -4
- data/lib/aws/iam/server_certificate.rb +0 -2
- data/lib/aws/iam/server_certificate_collection.rb +0 -3
- data/lib/aws/iam/signing_certificate.rb +0 -2
- data/lib/aws/iam/signing_certificate_collection.rb +0 -3
- data/lib/aws/iam/user.rb +0 -7
- data/lib/aws/iam/user_collection.rb +0 -3
- data/lib/aws/iam/user_group_collection.rb +0 -3
- data/lib/aws/iam/user_policy.rb +0 -2
- data/lib/aws/iam/user_policy_collection.rb +0 -3
- data/lib/aws/rails.rb +5 -4
- data/lib/aws/record.rb +4 -1
- data/lib/aws/record/base.rb +3 -2
- data/lib/aws/record/errors.rb +1 -3
- data/lib/aws/s3.rb +31 -6
- data/lib/aws/s3/access_control_list.rb +0 -2
- data/lib/aws/s3/acl_object.rb +10 -12
- data/lib/aws/s3/bucket.rb +1 -9
- data/lib/aws/s3/bucket_collection.rb +2 -5
- data/lib/aws/s3/bucket_version_collection.rb +1 -5
- data/lib/aws/s3/client.rb +34 -37
- data/lib/aws/s3/client/xml.rb +11 -14
- data/lib/aws/{resource_cache.rb → s3/config.rb} +6 -20
- data/lib/aws/s3/errors.rb +6 -7
- data/lib/aws/s3/multipart_upload.rb +1 -4
- data/lib/aws/s3/multipart_upload_collection.rb +1 -6
- data/lib/aws/s3/object_collection.rb +1 -5
- data/lib/aws/s3/object_metadata.rb +1 -3
- data/lib/aws/s3/object_upload_collection.rb +1 -7
- data/lib/aws/s3/object_version.rb +1 -4
- data/lib/aws/s3/object_version_collection.rb +1 -4
- data/lib/aws/s3/policy.rb +3 -5
- data/lib/aws/s3/prefix_and_delimiter_collection.rb +0 -2
- data/lib/aws/s3/prefixed_collection.rb +0 -2
- data/lib/aws/s3/presigned_post.rb +1 -3
- data/lib/aws/s3/request.rb +2 -5
- data/lib/aws/s3/s3_object.rb +1 -8
- data/lib/aws/s3/tree.rb +8 -6
- data/lib/aws/s3/tree/branch_node.rb +0 -3
- data/lib/aws/s3/tree/child_collection.rb +1 -5
- data/lib/aws/s3/tree/leaf_node.rb +0 -5
- data/lib/aws/s3/tree/parent.rb +1 -4
- data/lib/aws/s3/uploaded_part.rb +1 -3
- data/lib/aws/s3/uploaded_part_collection.rb +1 -5
- data/lib/aws/simple_db.rb +21 -6
- data/lib/aws/simple_db/attribute.rb +1 -6
- data/lib/aws/simple_db/attribute_collection.rb +1 -7
- data/lib/aws/simple_db/client.rb +7 -9
- data/lib/aws/simple_db/client/options.rb +2 -4
- data/lib/aws/simple_db/client/xml.rb +5 -10
- data/lib/aws/{naming.rb → simple_db/config.rb} +3 -14
- data/lib/aws/simple_db/delete_attributes.rb +0 -2
- data/lib/aws/simple_db/domain.rb +1 -6
- data/lib/aws/simple_db/domain_collection.rb +1 -4
- data/lib/aws/simple_db/domain_metadata.rb +1 -3
- data/lib/aws/simple_db/errors.rb +1 -4
- data/lib/aws/simple_db/item.rb +1 -7
- data/lib/aws/simple_db/item_collection.rb +22 -23
- data/lib/aws/simple_db/put_attributes.rb +0 -2
- data/lib/aws/simple_db/request.rb +3 -7
- data/lib/aws/simple_email_service.rb +11 -6
- data/lib/aws/simple_email_service/client.rb +7 -9
- data/lib/aws/simple_email_service/client/options.rb +3 -6
- data/lib/aws/simple_email_service/client/xml.rb +4 -8
- data/lib/aws/simple_email_service/config.rb +19 -0
- data/lib/aws/simple_email_service/email_address_collection.rb +1 -3
- data/lib/aws/simple_email_service/errors.rb +1 -4
- data/lib/aws/simple_email_service/quotas.rb +1 -3
- data/lib/aws/simple_email_service/request.rb +3 -7
- data/lib/aws/sns.rb +15 -8
- data/lib/aws/sns/client.rb +7 -8
- data/lib/aws/sns/client/options.rb +3 -6
- data/lib/aws/sns/client/xml.rb +4 -8
- data/lib/aws/sns/config.rb +18 -0
- data/lib/aws/sns/errors.rb +1 -4
- data/lib/aws/sns/policy.rb +3 -5
- data/lib/aws/sns/request.rb +4 -9
- data/lib/aws/sns/subscription.rb +1 -5
- data/lib/aws/sns/subscription_collection.rb +1 -5
- data/lib/aws/sns/topic.rb +1 -6
- data/lib/aws/sns/topic_collection.rb +1 -4
- data/lib/aws/sns/topic_subscription_collection.rb +1 -4
- data/lib/aws/sqs.rb +14 -5
- data/lib/aws/sqs/client.rb +6 -9
- data/lib/aws/sqs/client/xml.rb +4 -7
- data/lib/aws/sqs/config.rb +18 -0
- data/lib/aws/sqs/errors.rb +1 -4
- data/lib/aws/sqs/policy.rb +3 -5
- data/lib/aws/sqs/queue.rb +2 -7
- data/lib/aws/sqs/queue_collection.rb +4 -5
- data/lib/aws/sqs/received_message.rb +1 -3
- data/lib/aws/sqs/received_sns_message.rb +2 -2
- data/lib/aws/sqs/request.rb +4 -7
- data/lib/aws/sts.rb +12 -6
- data/lib/aws/sts/client.rb +6 -8
- data/lib/aws/sts/client/xml.rb +4 -8
- data/lib/aws/sts/config.rb +18 -0
- data/lib/aws/sts/errors.rb +1 -4
- data/lib/aws/sts/federated_session.rb +0 -2
- data/lib/aws/sts/policy.rb +3 -5
- data/lib/aws/sts/request.rb +3 -7
- metadata +60 -50
- data/lib/aws/async_handle.rb +0 -90
- data/lib/aws/authorize_v2.rb +0 -37
- data/lib/aws/base_client.rb +0 -488
- data/lib/aws/cacheable.rb +0 -79
- data/lib/aws/client_logging.rb +0 -122
- data/lib/aws/collections.rb +0 -230
- data/lib/aws/configuration.rb +0 -357
- data/lib/aws/configured_client_methods.rb +0 -81
- data/lib/aws/configured_grammars.rb +0 -65
- data/lib/aws/default_signer.rb +0 -65
- data/lib/aws/http/curb_handler.rb +0 -127
- data/lib/aws/http/handler.rb +0 -77
- data/lib/aws/http/httparty_handler.rb +0 -103
- data/lib/aws/http/request.rb +0 -165
- data/lib/aws/http/request_param.rb +0 -64
- data/lib/aws/http/response.rb +0 -72
- data/lib/aws/indifferent_hash.rb +0 -86
- data/lib/aws/inflection.rb +0 -46
- data/lib/aws/lazy_error_classes.rb +0 -64
- data/lib/aws/meta_utils.rb +0 -43
- data/lib/aws/model.rb +0 -57
- data/lib/aws/option_grammar.rb +0 -565
- data/lib/aws/policy.rb +0 -914
- data/lib/aws/resource.rb +0 -381
- data/lib/aws/response.rb +0 -125
- data/lib/aws/response_cache.rb +0 -50
- data/lib/aws/service_interface.rb +0 -60
- data/lib/aws/xml_grammar.rb +0 -925
data/lib/aws/record/base.rb
CHANGED
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
|
|
14
14
|
# todo move these to included modules (like validations and naming)
|
|
15
15
|
|
|
16
|
+
require 'aws/simple_db'
|
|
17
|
+
|
|
16
18
|
require 'set'
|
|
17
19
|
require 'uuidtools'
|
|
18
|
-
require 'aws/indifferent_hash'
|
|
19
20
|
|
|
20
21
|
require 'aws/record/naming'
|
|
21
22
|
require 'aws/record/attribute_macros'
|
|
@@ -318,7 +319,7 @@ module AWS
|
|
|
318
319
|
# @return [Hash] A hash with attribute names as hash keys (strings) and
|
|
319
320
|
# attribute values (of mixed types) as hash values.
|
|
320
321
|
def attributes
|
|
321
|
-
attributes = IndifferentHash.new
|
|
322
|
+
attributes = Core::IndifferentHash.new
|
|
322
323
|
attributes['id'] = id if persisted?
|
|
323
324
|
self.class.attributes.keys.inject(attributes) do |hash,attr_name|
|
|
324
325
|
hash[attr_name] = __send__(attr_name)
|
data/lib/aws/record/errors.rb
CHANGED
|
@@ -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/indifferent_hash'
|
|
15
|
-
|
|
16
14
|
module AWS
|
|
17
15
|
module Record
|
|
18
16
|
|
|
@@ -24,7 +22,7 @@ module AWS
|
|
|
24
22
|
|
|
25
23
|
end
|
|
26
24
|
|
|
27
|
-
class Errors < IndifferentHash
|
|
25
|
+
class Errors < Core::IndifferentHash
|
|
28
26
|
|
|
29
27
|
include Enumerable
|
|
30
28
|
|
data/lib/aws/s3.rb
CHANGED
|
@@ -11,11 +11,8 @@
|
|
|
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/
|
|
15
|
-
require 'aws/
|
|
16
|
-
require 'aws/s3/client'
|
|
17
|
-
require 'aws/s3/errors'
|
|
18
|
-
require 'aws/s3/bucket_collection'
|
|
14
|
+
require 'aws/core'
|
|
15
|
+
require 'aws/s3/config'
|
|
19
16
|
|
|
20
17
|
module AWS
|
|
21
18
|
|
|
@@ -97,7 +94,35 @@ module AWS
|
|
|
97
94
|
#
|
|
98
95
|
class S3
|
|
99
96
|
|
|
100
|
-
|
|
97
|
+
AWS.register_autoloads(self) do
|
|
98
|
+
autoload :AccessControlList, 'access_control_list'
|
|
99
|
+
autoload :ACLObject, 'acl_object'
|
|
100
|
+
autoload :Bucket, 'bucket'
|
|
101
|
+
autoload :BucketCollection, 'bucket_collection'
|
|
102
|
+
autoload :BucketVersionCollection, 'bucket_version_collection'
|
|
103
|
+
autoload :Client, 'client'
|
|
104
|
+
autoload :DataOptions, 'data_options'
|
|
105
|
+
autoload :Errors, 'errors'
|
|
106
|
+
autoload :MultipartUpload, 'multipart_upload'
|
|
107
|
+
autoload :MultipartUploadCollection, 'multipart_upload_collection'
|
|
108
|
+
autoload :ObjectCollection, 'object_collection'
|
|
109
|
+
autoload :ObjectMetadata, 'object_metadata'
|
|
110
|
+
autoload :ObjectUploadCollection, 'object_upload_collection'
|
|
111
|
+
autoload :ObjectVersion, 'object_version'
|
|
112
|
+
autoload :ObjectVersionCollection, 'object_version_collection'
|
|
113
|
+
autoload :PaginatedCollection, 'paginated_collection'
|
|
114
|
+
autoload :Policy, 'policy'
|
|
115
|
+
autoload :PrefixAndDelimiterCollection, 'prefix_and_delimiter_collection'
|
|
116
|
+
autoload :PrefixedCollection, 'prefixed_collection'
|
|
117
|
+
autoload :PresignedPost, 'presigned_post'
|
|
118
|
+
autoload :Request, 'request'
|
|
119
|
+
autoload :S3Object, 's3_object'
|
|
120
|
+
autoload :Tree, 'tree'
|
|
121
|
+
autoload :UploadedPart, 'uploaded_part'
|
|
122
|
+
autoload :UploadedPartCollection, 'uploaded_part_collection'
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
include Core::ServiceInterface
|
|
101
126
|
|
|
102
127
|
# @return [BucketCollection] Returns a collection that represents all
|
|
103
128
|
# buckets in the account.
|
data/lib/aws/s3/acl_object.rb
CHANGED
|
@@ -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/meta_utils'
|
|
15
|
-
require 'aws/inflection'
|
|
16
14
|
require 'rexml/text'
|
|
17
15
|
|
|
18
16
|
module AWS
|
|
@@ -81,7 +79,7 @@ module AWS
|
|
|
81
79
|
|
|
82
80
|
def string_attr(element_name, options = {})
|
|
83
81
|
method_name = options[:method_name] ||
|
|
84
|
-
Inflection.ruby_name(element_name)
|
|
82
|
+
Core::Inflection.ruby_name(element_name)
|
|
85
83
|
|
|
86
84
|
attr_accessor(method_name)
|
|
87
85
|
setter_option(method_name)
|
|
@@ -92,7 +90,7 @@ module AWS
|
|
|
92
90
|
|
|
93
91
|
def object_attr(klass, options = {})
|
|
94
92
|
base_name = klass.name[/::([^:]*)$/, 1]
|
|
95
|
-
method_name = Inflection.ruby_name(base_name)
|
|
93
|
+
method_name = Core::Inflection.ruby_name(base_name)
|
|
96
94
|
cast = options[:cast] || Hash
|
|
97
95
|
|
|
98
96
|
attr_reader(method_name)
|
|
@@ -105,7 +103,7 @@ module AWS
|
|
|
105
103
|
|
|
106
104
|
def object_list_attr(list_element, klass, options = {})
|
|
107
105
|
base_name = klass.name[/::([^:]*)$/, 1]
|
|
108
|
-
method_name = Inflection.ruby_name(options[:method_name].to_s || list_element)
|
|
106
|
+
method_name = Core::Inflection.ruby_name(options[:method_name].to_s || list_element)
|
|
109
107
|
default_value = nil
|
|
110
108
|
default_value = [] if options[:required]
|
|
111
109
|
|
|
@@ -118,7 +116,7 @@ module AWS
|
|
|
118
116
|
end
|
|
119
117
|
|
|
120
118
|
def setter_option(method_name)
|
|
121
|
-
MetaUtils.class_extend_method(self, :initialize) do |*args|
|
|
119
|
+
Core::MetaUtils.class_extend_method(self, :initialize) do |*args|
|
|
122
120
|
opts = args.last || {}
|
|
123
121
|
instance_variable_set("@#{method_name}", yield) if block_given?
|
|
124
122
|
key = method_name.to_sym
|
|
@@ -168,8 +166,8 @@ module AWS
|
|
|
168
166
|
|
|
169
167
|
def input_validator(method_name, &blk)
|
|
170
168
|
validator = "__validator__#{blk.object_id}"
|
|
171
|
-
MetaUtils.class_extend_method(self, validator, &blk)
|
|
172
|
-
MetaUtils.class_extend_method(self, "validate_#{method_name}_input!") do |*args|
|
|
169
|
+
Core::MetaUtils.class_extend_method(self, validator, &blk)
|
|
170
|
+
Core::MetaUtils.class_extend_method(self, "validate_#{method_name}_input!") do |*args|
|
|
173
171
|
(value, context) = args
|
|
174
172
|
context = " "+context if context
|
|
175
173
|
context ||= ""
|
|
@@ -202,14 +200,14 @@ module AWS
|
|
|
202
200
|
end
|
|
203
201
|
|
|
204
202
|
def validate_string(method_name)
|
|
205
|
-
MetaUtils.class_extend_method(self, :validate!) do
|
|
203
|
+
Core::MetaUtils.class_extend_method(self, :validate!) do
|
|
206
204
|
super()
|
|
207
205
|
raise "missing #{method_name}" unless send(method_name)
|
|
208
206
|
end
|
|
209
207
|
end
|
|
210
208
|
|
|
211
209
|
def validate_object(method_name)
|
|
212
|
-
MetaUtils.class_extend_method(self, :validate!) do
|
|
210
|
+
Core::MetaUtils.class_extend_method(self, :validate!) do
|
|
213
211
|
super()
|
|
214
212
|
raise "missing #{method_name}" unless send(method_name)
|
|
215
213
|
send(method_name).validate!
|
|
@@ -217,7 +215,7 @@ module AWS
|
|
|
217
215
|
end
|
|
218
216
|
|
|
219
217
|
def validate_list(method_name)
|
|
220
|
-
MetaUtils.class_extend_method(self, :validate!) do
|
|
218
|
+
Core::MetaUtils.class_extend_method(self, :validate!) do
|
|
221
219
|
super()
|
|
222
220
|
raise "missing #{method_name}" unless send(method_name)
|
|
223
221
|
send(method_name).each { |member| member.validate! }
|
|
@@ -247,7 +245,7 @@ module AWS
|
|
|
247
245
|
end
|
|
248
246
|
|
|
249
247
|
def add_xml_child(method_name)
|
|
250
|
-
MetaUtils.class_extend_method(self, :body_xml) do
|
|
248
|
+
Core::MetaUtils.class_extend_method(self, :body_xml) do
|
|
251
249
|
xml = super()
|
|
252
250
|
value = send(method_name)
|
|
253
251
|
xml += yield(value) if value
|
data/lib/aws/s3/bucket.rb
CHANGED
|
@@ -11,14 +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_collection'
|
|
16
|
-
require 'aws/s3/bucket_version_collection'
|
|
17
|
-
require 'aws/s3/object_version_collection'
|
|
18
|
-
require 'aws/s3/multipart_upload_collection'
|
|
19
|
-
require 'aws/s3/tree'
|
|
20
|
-
require 'aws/meta_utils'
|
|
21
|
-
|
|
22
14
|
module AWS
|
|
23
15
|
class S3
|
|
24
16
|
|
|
@@ -34,7 +26,7 @@ module AWS
|
|
|
34
26
|
#
|
|
35
27
|
class Bucket
|
|
36
28
|
|
|
37
|
-
include Model
|
|
29
|
+
include Core::Model
|
|
38
30
|
|
|
39
31
|
# @param [String] name
|
|
40
32
|
# @param [Hash] options
|
|
@@ -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/bucket'
|
|
16
|
-
|
|
17
14
|
module AWS
|
|
18
15
|
class S3
|
|
19
16
|
|
|
@@ -36,7 +33,7 @@ module AWS
|
|
|
36
33
|
#
|
|
37
34
|
class BucketCollection
|
|
38
35
|
|
|
39
|
-
include Model
|
|
36
|
+
include Core::Model
|
|
40
37
|
include Enumerable
|
|
41
38
|
|
|
42
39
|
# Creates and returns a new Bucket. For example:
|
|
@@ -79,7 +76,7 @@ module AWS
|
|
|
79
76
|
# :public_read_write, :authenticated_read, :bucket_owner_read and
|
|
80
77
|
# :bucket_owner_full_control
|
|
81
78
|
# @return [Bucket]
|
|
82
|
-
def create
|
|
79
|
+
def create bucket_name, options = {}
|
|
83
80
|
|
|
84
81
|
# auto set the location constraint for the user if it is not
|
|
85
82
|
# passed in and the endpoint is not the us-standard region. don't
|
|
@@ -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/object_version'
|
|
16
|
-
require 'aws/s3/prefix_and_delimiter_collection'
|
|
17
|
-
|
|
18
14
|
module AWS
|
|
19
15
|
class S3
|
|
20
16
|
|
|
@@ -23,7 +19,7 @@ module AWS
|
|
|
23
19
|
# @see PrefixedCollection
|
|
24
20
|
class BucketVersionCollection
|
|
25
21
|
|
|
26
|
-
include Model
|
|
22
|
+
include Core::Model
|
|
27
23
|
include Enumerable
|
|
28
24
|
include PrefixAndDelimiterCollection
|
|
29
25
|
|
data/lib/aws/s3/client.rb
CHANGED
|
@@ -11,19 +11,10 @@
|
|
|
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 '
|
|
15
|
-
require 'aws/http/response'
|
|
16
|
-
require 'aws/base_client'
|
|
17
|
-
require 'aws/s3/errors'
|
|
18
|
-
require 'aws/s3/data_options'
|
|
19
|
-
require 'aws/uri_escape'
|
|
20
|
-
require 'aws/s3/access_control_list'
|
|
21
|
-
require 'aws/s3/policy'
|
|
22
|
-
require 'aws/s3/client/xml'
|
|
14
|
+
require 'rexml/document'
|
|
23
15
|
require 'pathname'
|
|
24
16
|
require 'stringio'
|
|
25
17
|
require 'json'
|
|
26
|
-
require 'rexml/document'
|
|
27
18
|
|
|
28
19
|
module AWS
|
|
29
20
|
class S3
|
|
@@ -73,7 +64,11 @@ module AWS
|
|
|
73
64
|
# response.on_success { p response.buckets.map(&:name) }
|
|
74
65
|
#
|
|
75
66
|
# @private
|
|
76
|
-
class Client <
|
|
67
|
+
class Client < Core::Client
|
|
68
|
+
|
|
69
|
+
AWS.register_autoloads(self) do
|
|
70
|
+
autoload :XML, 'xml'
|
|
71
|
+
end
|
|
77
72
|
|
|
78
73
|
API_VERSION = '2006-03-01'
|
|
79
74
|
|
|
@@ -85,7 +80,7 @@ module AWS
|
|
|
85
80
|
}
|
|
86
81
|
|
|
87
82
|
include DataOptions
|
|
88
|
-
include UriEscape
|
|
83
|
+
include Core::UriEscape
|
|
89
84
|
|
|
90
85
|
configure_client
|
|
91
86
|
|
|
@@ -211,7 +206,7 @@ module AWS
|
|
|
211
206
|
# FIXME: this makes unit testing easier, but is there something
|
|
212
207
|
# we should be doing in case of invalid JSON from the service?
|
|
213
208
|
policy = Policy.from_json(resp.http_response.body) rescue nil
|
|
214
|
-
MetaUtils.extend_method(resp, :policy) { policy }
|
|
209
|
+
Core::MetaUtils.extend_method(resp, :policy) { policy }
|
|
215
210
|
end
|
|
216
211
|
end
|
|
217
212
|
|
|
@@ -248,7 +243,7 @@ module AWS
|
|
|
248
243
|
regex = />(.*)<\/LocationConstraint>/
|
|
249
244
|
matches = response.http_response.body.match(regex)
|
|
250
245
|
location = matches ? matches[1] : nil
|
|
251
|
-
MetaUtils.extend_method(response, :location_constraint) { location }
|
|
246
|
+
Core::MetaUtils.extend_method(response, :location_constraint) { location }
|
|
252
247
|
end
|
|
253
248
|
end
|
|
254
249
|
|
|
@@ -463,7 +458,8 @@ module AWS
|
|
|
463
458
|
:content_disposition => 'Content-Disposition',
|
|
464
459
|
:content_encoding => 'Content-Encoding',
|
|
465
460
|
:content_type => 'Content-Type',
|
|
466
|
-
:storage_class => 'x-amz-storage-class'
|
|
461
|
+
:storage_class => 'x-amz-storage-class',
|
|
462
|
+
:expires => 'Expires'
|
|
467
463
|
}) do
|
|
468
464
|
configure_request do |request, options, block|
|
|
469
465
|
super(request, options)
|
|
@@ -474,20 +470,20 @@ module AWS
|
|
|
474
470
|
end
|
|
475
471
|
|
|
476
472
|
process_response do |response|
|
|
477
|
-
MetaUtils.extend_method(response, :version_id) do
|
|
473
|
+
Core::MetaUtils.extend_method(response, :version_id) do
|
|
478
474
|
response.http_response.header('x-amz-version-id')
|
|
479
475
|
end
|
|
480
|
-
MetaUtils.extend_method(response, :etag) do
|
|
476
|
+
Core::MetaUtils.extend_method(response, :etag) do
|
|
481
477
|
response.http_response.header('ETag')
|
|
482
478
|
end
|
|
483
|
-
MetaUtils.extend_method(response, :last_modified) do
|
|
479
|
+
Core::MetaUtils.extend_method(response, :last_modified) do
|
|
484
480
|
Time.parse(response.http_response.header('Last-Modified'))
|
|
485
481
|
end
|
|
486
482
|
end
|
|
487
483
|
|
|
488
484
|
simulate_response do |response|
|
|
489
|
-
MetaUtils.extend_method(response, :etag) { "abc123" }
|
|
490
|
-
MetaUtils.extend_method(response, :version_id) { nil }
|
|
485
|
+
Core::MetaUtils.extend_method(response, :etag) { "abc123" }
|
|
486
|
+
Core::MetaUtils.extend_method(response, :version_id) { nil }
|
|
491
487
|
end
|
|
492
488
|
end
|
|
493
489
|
|
|
@@ -583,8 +579,8 @@ module AWS
|
|
|
583
579
|
end
|
|
584
580
|
|
|
585
581
|
process_response do |resp|
|
|
586
|
-
MetaUtils.extend_method(resp, :data) { resp.http_response.body }
|
|
587
|
-
MetaUtils.extend_method(resp, :version_id) do
|
|
582
|
+
Core::MetaUtils.extend_method(resp, :data) { resp.http_response.body }
|
|
583
|
+
Core::MetaUtils.extend_method(resp, :version_id) do
|
|
588
584
|
http_response.header('x-amz-version-id')
|
|
589
585
|
end
|
|
590
586
|
end
|
|
@@ -601,7 +597,7 @@ module AWS
|
|
|
601
597
|
process_response do |resp|
|
|
602
598
|
|
|
603
599
|
# create a hash of user-supplied metadata
|
|
604
|
-
MetaUtils.extend_method(resp, :meta) do
|
|
600
|
+
Core::MetaUtils.extend_method(resp, :meta) do
|
|
605
601
|
meta = {}
|
|
606
602
|
resp.http_response.headers.each_pair do |name,value|
|
|
607
603
|
if name =~ /^x-amz-meta-(.+)$/i
|
|
@@ -617,16 +613,16 @@ module AWS
|
|
|
617
613
|
'content-type' => :content_type,
|
|
618
614
|
'etag' => :etag,
|
|
619
615
|
}.each_pair do |header,method|
|
|
620
|
-
MetaUtils.extend_method(resp, method) do
|
|
616
|
+
Core::MetaUtils.extend_method(resp, method) do
|
|
621
617
|
http_response.header(header)
|
|
622
618
|
end
|
|
623
619
|
end
|
|
624
620
|
|
|
625
|
-
MetaUtils.extend_method(resp, :last_modified) do
|
|
621
|
+
Core::MetaUtils.extend_method(resp, :last_modified) do
|
|
626
622
|
Time.parse(resp.http_response.header('Last-Modified'))
|
|
627
623
|
end
|
|
628
624
|
|
|
629
|
-
MetaUtils.extend_method(resp, :content_length) do
|
|
625
|
+
Core::MetaUtils.extend_method(resp, :content_length) do
|
|
630
626
|
http_response.header('content-length').to_i
|
|
631
627
|
end
|
|
632
628
|
end
|
|
@@ -641,7 +637,7 @@ module AWS
|
|
|
641
637
|
end
|
|
642
638
|
|
|
643
639
|
process_response do |resp|
|
|
644
|
-
MetaUtils.extend_method(resp, :version_id) do
|
|
640
|
+
Core::MetaUtils.extend_method(resp, :version_id) do
|
|
645
641
|
http_response.header('x-amz-version-id')
|
|
646
642
|
end
|
|
647
643
|
end
|
|
@@ -667,7 +663,8 @@ module AWS
|
|
|
667
663
|
:content_disposition => 'Content-Disposition',
|
|
668
664
|
:content_encoding => 'Content-Encoding',
|
|
669
665
|
:content_type => 'Content-Type',
|
|
670
|
-
:storage_class => 'x-amz-storage-class'
|
|
666
|
+
:storage_class => 'x-amz-storage-class',
|
|
667
|
+
:expires => 'Expires'
|
|
671
668
|
}) do
|
|
672
669
|
configure_request do |req, options|
|
|
673
670
|
super(req, options)
|
|
@@ -708,16 +705,16 @@ module AWS
|
|
|
708
705
|
end
|
|
709
706
|
|
|
710
707
|
process_response do |response|
|
|
711
|
-
MetaUtils.extend_method(response, :etag) do
|
|
708
|
+
Core::MetaUtils.extend_method(response, :etag) do
|
|
712
709
|
response.http_response.header('ETag')
|
|
713
710
|
end
|
|
714
|
-
MetaUtils.extend_method(response, :last_modified) do
|
|
711
|
+
Core::MetaUtils.extend_method(response, :last_modified) do
|
|
715
712
|
Time.parse(response.http_response.header('Last-Modified'))
|
|
716
713
|
end
|
|
717
714
|
end
|
|
718
715
|
|
|
719
716
|
simulate_response do |response|
|
|
720
|
-
MetaUtils.extend_method(response, :etag) { "abc123" }
|
|
717
|
+
Core::MetaUtils.extend_method(response, :etag) { "abc123" }
|
|
721
718
|
end
|
|
722
719
|
end
|
|
723
720
|
|
|
@@ -739,13 +736,13 @@ module AWS
|
|
|
739
736
|
end
|
|
740
737
|
|
|
741
738
|
process_response do |response|
|
|
742
|
-
MetaUtils.extend_method(response, :version_id) do
|
|
739
|
+
Core::MetaUtils.extend_method(response, :version_id) do
|
|
743
740
|
response.http_response.header('x-amz-version-id')
|
|
744
741
|
end
|
|
745
742
|
end
|
|
746
743
|
|
|
747
744
|
simulate_response do |response|
|
|
748
|
-
MetaUtils.extend_method(response, :version_id) { nil }
|
|
745
|
+
Core::MetaUtils.extend_method(response, :version_id) { nil }
|
|
749
746
|
end
|
|
750
747
|
end
|
|
751
748
|
|
|
@@ -807,13 +804,13 @@ module AWS
|
|
|
807
804
|
end
|
|
808
805
|
|
|
809
806
|
process_response do |response|
|
|
810
|
-
MetaUtils.extend_method(response, :version_id) do
|
|
807
|
+
Core::MetaUtils.extend_method(response, :version_id) do
|
|
811
808
|
response.http_response.header('x-amz-version-id')
|
|
812
809
|
end
|
|
813
|
-
MetaUtils.extend_method(response, :etag) do
|
|
810
|
+
Core::MetaUtils.extend_method(response, :etag) do
|
|
814
811
|
response.http_response.header('ETag')
|
|
815
812
|
end
|
|
816
|
-
MetaUtils.extend_method(response, :last_modified) do
|
|
813
|
+
Core::MetaUtils.extend_method(response, :last_modified) do
|
|
817
814
|
Time.parse(response.http_response.header('Last-Modified'))
|
|
818
815
|
end
|
|
819
816
|
end
|
|
@@ -825,7 +822,7 @@ module AWS
|
|
|
825
822
|
(response.http_response.status >= 300 ||
|
|
826
823
|
response.request_type == :complete_multipart_upload) and
|
|
827
824
|
response.http_response.body and
|
|
828
|
-
XmlGrammar.parse(response.http_response.body).respond_to?(:code)
|
|
825
|
+
Core::XmlGrammar.parse(response.http_response.body).respond_to?(:code)
|
|
829
826
|
end
|
|
830
827
|
|
|
831
828
|
protected
|