fog 1.40.0 → 1.41.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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -0
- data/CHANGELOG.md +30 -0
- data/fog.gemspec +6 -4
- data/lib/fog/ovirt/compute.rb +2 -0
- data/lib/fog/ovirt/models/compute/server.rb +7 -2
- data/lib/fog/ovirt/requests/compute/activate_volume.rb +22 -0
- data/lib/fog/ovirt/requests/compute/deactivate_volume.rb +22 -0
- data/lib/fog/version.rb +1 -1
- data/lib/tasks/changelog_task.rb +2 -1
- data/tests/compute/helper.rb +0 -3
- data/tests/helpers/mock_helper.rb +0 -2
- data/tests/storage/helper.rb +0 -3
- metadata +49 -224
- data/lib/fog/bin/internet_archive.rb +0 -32
- data/lib/fog/bin/joyent.rb +0 -33
- data/lib/fog/internet_archive.rb +0 -1
- data/lib/fog/internet_archive/core.rb +0 -291
- data/lib/fog/internet_archive/models/storage/directories.rb +0 -39
- data/lib/fog/internet_archive/models/storage/directory.rb +0 -105
- data/lib/fog/internet_archive/models/storage/file.rb +0 -254
- data/lib/fog/internet_archive/models/storage/files.rb +0 -119
- data/lib/fog/internet_archive/models/storage/ia_attributes.rb +0 -36
- data/lib/fog/internet_archive/parsers/storage/access_control_list.rb +0 -42
- data/lib/fog/internet_archive/parsers/storage/complete_multipart_upload.rb +0 -20
- data/lib/fog/internet_archive/parsers/storage/copy_object.rb +0 -18
- data/lib/fog/internet_archive/parsers/storage/cors_configuration.rb +0 -38
- data/lib/fog/internet_archive/parsers/storage/delete_multiple_objects.rb +0 -45
- data/lib/fog/internet_archive/parsers/storage/get_bucket.rb +0 -58
- data/lib/fog/internet_archive/parsers/storage/get_bucket_lifecycle.rb +0 -64
- data/lib/fog/internet_archive/parsers/storage/get_bucket_location.rb +0 -16
- data/lib/fog/internet_archive/parsers/storage/get_bucket_logging.rb +0 -36
- data/lib/fog/internet_archive/parsers/storage/get_bucket_website.rb +0 -22
- data/lib/fog/internet_archive/parsers/storage/get_request_payment.rb +0 -16
- data/lib/fog/internet_archive/parsers/storage/get_service.rb +0 -28
- data/lib/fog/internet_archive/parsers/storage/initiate_multipart_upload.rb +0 -20
- data/lib/fog/internet_archive/parsers/storage/list_multipart_uploads.rb +0 -52
- data/lib/fog/internet_archive/parsers/storage/list_parts.rb +0 -36
- data/lib/fog/internet_archive/requests/storage/abort_multipart_upload.rb +0 -27
- data/lib/fog/internet_archive/requests/storage/acl_utils.rb +0 -60
- data/lib/fog/internet_archive/requests/storage/complete_multipart_upload.rb +0 -46
- data/lib/fog/internet_archive/requests/storage/copy_object.rb +0 -77
- data/lib/fog/internet_archive/requests/storage/cors_utils.rb +0 -39
- data/lib/fog/internet_archive/requests/storage/delete_bucket.rb +0 -42
- data/lib/fog/internet_archive/requests/storage/delete_bucket_cors.rb +0 -26
- data/lib/fog/internet_archive/requests/storage/delete_bucket_lifecycle.rb +0 -26
- data/lib/fog/internet_archive/requests/storage/delete_bucket_policy.rb +0 -26
- data/lib/fog/internet_archive/requests/storage/delete_bucket_website.rb +0 -26
- data/lib/fog/internet_archive/requests/storage/delete_multiple_objects.rb +0 -88
- data/lib/fog/internet_archive/requests/storage/delete_object.rb +0 -46
- data/lib/fog/internet_archive/requests/storage/get_bucket.rb +0 -108
- data/lib/fog/internet_archive/requests/storage/get_bucket_acl.rb +0 -65
- data/lib/fog/internet_archive/requests/storage/get_bucket_cors.rb +0 -61
- data/lib/fog/internet_archive/requests/storage/get_bucket_lifecycle.rb +0 -35
- data/lib/fog/internet_archive/requests/storage/get_bucket_location.rb +0 -54
- data/lib/fog/internet_archive/requests/storage/get_bucket_logging.rb +0 -45
- data/lib/fog/internet_archive/requests/storage/get_bucket_policy.rb +0 -31
- data/lib/fog/internet_archive/requests/storage/get_bucket_website.rb +0 -38
- data/lib/fog/internet_archive/requests/storage/get_object.rb +0 -163
- data/lib/fog/internet_archive/requests/storage/get_object_acl.rb +0 -72
- data/lib/fog/internet_archive/requests/storage/get_object_http_url.rb +0 -48
- data/lib/fog/internet_archive/requests/storage/get_object_https_url.rb +0 -30
- data/lib/fog/internet_archive/requests/storage/get_object_torrent.rb +0 -45
- data/lib/fog/internet_archive/requests/storage/get_object_url.rb +0 -49
- data/lib/fog/internet_archive/requests/storage/get_request_payment.rb +0 -45
- data/lib/fog/internet_archive/requests/storage/get_service.rb +0 -50
- data/lib/fog/internet_archive/requests/storage/head_object.rb +0 -57
- data/lib/fog/internet_archive/requests/storage/initiate_multipart_upload.rb +0 -42
- data/lib/fog/internet_archive/requests/storage/list_multipart_uploads.rb +0 -52
- data/lib/fog/internet_archive/requests/storage/list_parts.rb +0 -53
- data/lib/fog/internet_archive/requests/storage/post_object_hidden_fields.rb +0 -36
- data/lib/fog/internet_archive/requests/storage/put_bucket.rb +0 -70
- data/lib/fog/internet_archive/requests/storage/put_bucket_acl.rb +0 -69
- data/lib/fog/internet_archive/requests/storage/put_bucket_cors.rb +0 -47
- data/lib/fog/internet_archive/requests/storage/put_bucket_lifecycle.rb +0 -76
- data/lib/fog/internet_archive/requests/storage/put_bucket_logging.rb +0 -79
- data/lib/fog/internet_archive/requests/storage/put_bucket_policy.rb +0 -25
- data/lib/fog/internet_archive/requests/storage/put_bucket_website.rb +0 -59
- data/lib/fog/internet_archive/requests/storage/put_object.rb +0 -94
- data/lib/fog/internet_archive/requests/storage/put_object_acl.rb +0 -73
- data/lib/fog/internet_archive/requests/storage/put_object_url.rb +0 -43
- data/lib/fog/internet_archive/requests/storage/put_request_payment.rb +0 -45
- data/lib/fog/internet_archive/requests/storage/sync_clock.rb +0 -24
- data/lib/fog/internet_archive/requests/storage/upload_part.rb +0 -39
- data/lib/fog/internet_archive/signaturev4.rb +0 -71
- data/lib/fog/internet_archive/storage.rb +0 -381
- data/lib/fog/joyent.rb +0 -12
- data/lib/fog/joyent/analytics.rb +0 -310
- data/lib/fog/joyent/compute.rb +0 -272
- data/lib/fog/joyent/core.rb +0 -10
- data/lib/fog/joyent/errors.rb +0 -91
- data/lib/fog/joyent/models/analytics/field.rb +0 -13
- data/lib/fog/joyent/models/analytics/fields.rb +0 -24
- data/lib/fog/joyent/models/analytics/instrumentation.rb +0 -82
- data/lib/fog/joyent/models/analytics/instrumentations.rb +0 -23
- data/lib/fog/joyent/models/analytics/joyent_module.rb +0 -13
- data/lib/fog/joyent/models/analytics/joyent_modules.rb +0 -24
- data/lib/fog/joyent/models/analytics/metric.rb +0 -17
- data/lib/fog/joyent/models/analytics/metrics.rb +0 -16
- data/lib/fog/joyent/models/analytics/transformation.rb +0 -13
- data/lib/fog/joyent/models/analytics/transformations.rb +0 -24
- data/lib/fog/joyent/models/analytics/type.rb +0 -16
- data/lib/fog/joyent/models/analytics/types.rb +0 -24
- data/lib/fog/joyent/models/analytics/value.rb +0 -20
- data/lib/fog/joyent/models/compute/datacenter.rb +0 -11
- data/lib/fog/joyent/models/compute/datacenters.rb +0 -21
- data/lib/fog/joyent/models/compute/flavor.rb +0 -19
- data/lib/fog/joyent/models/compute/flavors.rb +0 -21
- data/lib/fog/joyent/models/compute/image.rb +0 -26
- data/lib/fog/joyent/models/compute/images.rb +0 -30
- data/lib/fog/joyent/models/compute/key.rb +0 -19
- data/lib/fog/joyent/models/compute/keys.rb +0 -32
- data/lib/fog/joyent/models/compute/network.rb +0 -12
- data/lib/fog/joyent/models/compute/networks.rb +0 -14
- data/lib/fog/joyent/models/compute/server.rb +0 -124
- data/lib/fog/joyent/models/compute/servers.rb +0 -35
- data/lib/fog/joyent/models/compute/snapshot.rb +0 -44
- data/lib/fog/joyent/models/compute/snapshots.rb +0 -35
- data/lib/fog/joyent/requests/analytics/create_instrumentation.rb +0 -25
- data/lib/fog/joyent/requests/analytics/delete_instrumentation.rb +0 -23
- data/lib/fog/joyent/requests/analytics/describe_analytics.rb +0 -26
- data/lib/fog/joyent/requests/analytics/get_instrumentation.rb +0 -26
- data/lib/fog/joyent/requests/analytics/get_instrumentation_value.rb +0 -30
- data/lib/fog/joyent/requests/analytics/list_instrumentations.rb +0 -25
- data/lib/fog/joyent/requests/compute/add_machine_tags.rb +0 -19
- data/lib/fog/joyent/requests/compute/create_key.rb +0 -54
- data/lib/fog/joyent/requests/compute/create_machine.rb +0 -16
- data/lib/fog/joyent/requests/compute/create_machine_snapshot.rb +0 -16
- data/lib/fog/joyent/requests/compute/delete_all_machine_metadata.rb +0 -16
- data/lib/fog/joyent/requests/compute/delete_all_machine_tags.rb +0 -15
- data/lib/fog/joyent/requests/compute/delete_key.rb +0 -27
- data/lib/fog/joyent/requests/compute/delete_machine.rb +0 -15
- data/lib/fog/joyent/requests/compute/delete_machine_metadata.rb +0 -16
- data/lib/fog/joyent/requests/compute/delete_machine_snapshot.rb +0 -18
- data/lib/fog/joyent/requests/compute/delete_machine_tag.rb +0 -15
- data/lib/fog/joyent/requests/compute/get_dataset.rb +0 -27
- data/lib/fog/joyent/requests/compute/get_image.rb +0 -28
- data/lib/fog/joyent/requests/compute/get_key.rb +0 -29
- data/lib/fog/joyent/requests/compute/get_machine.rb +0 -29
- data/lib/fog/joyent/requests/compute/get_machine_metadata.rb +0 -24
- data/lib/fog/joyent/requests/compute/get_machine_snapshot.rb +0 -15
- data/lib/fog/joyent/requests/compute/get_machine_tag.rb +0 -18
- data/lib/fog/joyent/requests/compute/get_package.rb +0 -32
- data/lib/fog/joyent/requests/compute/list_datacenters.rb +0 -16
- data/lib/fog/joyent/requests/compute/list_datasets.rb +0 -24
- data/lib/fog/joyent/requests/compute/list_images.rb +0 -25
- data/lib/fog/joyent/requests/compute/list_keys.rb +0 -25
- data/lib/fog/joyent/requests/compute/list_machine_snapshots.rb +0 -15
- data/lib/fog/joyent/requests/compute/list_machine_tags.rb +0 -20
- data/lib/fog/joyent/requests/compute/list_machines.rb +0 -26
- data/lib/fog/joyent/requests/compute/list_networks.rb +0 -26
- data/lib/fog/joyent/requests/compute/list_packages.rb +0 -34
- data/lib/fog/joyent/requests/compute/reboot_machine.rb +0 -15
- data/lib/fog/joyent/requests/compute/resize_machine.rb +0 -16
- data/lib/fog/joyent/requests/compute/start_machine.rb +0 -16
- data/lib/fog/joyent/requests/compute/start_machine_from_snapshot.rb +0 -15
- data/lib/fog/joyent/requests/compute/stop_machine.rb +0 -16
- data/lib/fog/joyent/requests/compute/update_machine_metadata.rb +0 -15
- data/spec/fog/bin/internetarchive_spec.rb +0 -10
- data/tests/internet_archive/models/storage/directory_tests.rb +0 -42
- data/tests/internet_archive/models/storage/file_tests.rb +0 -61
- data/tests/internet_archive/models/storage/files_tests.rb +0 -58
- data/tests/internet_archive/models/storage/url_tests.rb +0 -28
- data/tests/internet_archive/requests/storage/acl_utils_tests.rb +0 -209
- data/tests/internet_archive/requests/storage/bucket_tests.rb +0 -324
- data/tests/internet_archive/requests/storage/cors_utils_tests.rb +0 -108
- data/tests/internet_archive/requests/storage/multipart_upload_tests.rb +0 -132
- data/tests/internet_archive/requests/storage/object_tests.rb +0 -166
- data/tests/internet_archive/signaturev4_tests.rb +0 -41
- data/tests/internet_archive/signed_params_tests.rb +0 -5
- data/tests/joyent/models/analytics/field_tests.rb +0 -10
- data/tests/joyent/models/analytics/fields_tests.rb +0 -13
- data/tests/joyent/models/analytics/instrumentation_tests.rb +0 -13
- data/tests/joyent/models/analytics/instrumentations_tests.rb +0 -3
- data/tests/joyent/models/analytics/joyent_module_tests.rb +0 -10
- data/tests/joyent/models/analytics/joyent_modules_tests.rb +0 -13
- data/tests/joyent/models/analytics/metric_tests.rb +0 -10
- data/tests/joyent/models/analytics/metrics_tests.rb +0 -20
- data/tests/joyent/models/analytics/transformation_tests.rb +0 -10
- data/tests/joyent/models/analytics/transformations_tests.rb +0 -13
- data/tests/joyent/models/analytics/type_tests.rb +0 -10
- data/tests/joyent/models/analytics/types_tests.rb +0 -13
- data/tests/joyent/requests/analytics/instrumentation_tests.rb +0 -44
- data/tests/joyent/requests/compute/datasets_tests.rb +0 -58
- data/tests/joyent/requests/compute/keys_tests.rb +0 -47
- data/tests/joyent/requests/compute/machines_tests.rb +0 -66
- data/tests/joyent/requests/compute/networks_tests.rb +0 -39
- data/tests/joyent/requests/compute/packages_tests.rb +0 -68
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
module Fog
|
|
2
|
-
module Storage
|
|
3
|
-
class InternetArchive
|
|
4
|
-
class Real
|
|
5
|
-
# Delete an object from S3
|
|
6
|
-
#
|
|
7
|
-
# @param bucket_name [String] Name of bucket containing object to delete
|
|
8
|
-
# @param object_name [String] Name of object to delete
|
|
9
|
-
#
|
|
10
|
-
# @return [Excon::Response] response:
|
|
11
|
-
# * status [Integer] - 204
|
|
12
|
-
#
|
|
13
|
-
# @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html
|
|
14
|
-
|
|
15
|
-
def delete_object(bucket_name, object_name, options = {})
|
|
16
|
-
path = CGI.escape(object_name)
|
|
17
|
-
|
|
18
|
-
headers = options
|
|
19
|
-
request({
|
|
20
|
-
:expects => 204,
|
|
21
|
-
:headers => headers,
|
|
22
|
-
:host => "#{bucket_name}.#{@host}",
|
|
23
|
-
:idempotent => true,
|
|
24
|
-
:method => 'DELETE',
|
|
25
|
-
:path => path
|
|
26
|
-
})
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
class Mock # :nodoc:all
|
|
31
|
-
def delete_object(bucket_name, object_name, options = {})
|
|
32
|
-
response = Excon::Response.new
|
|
33
|
-
if bucket = self.data[:buckets][bucket_name]
|
|
34
|
-
response.status = 204
|
|
35
|
-
|
|
36
|
-
bucket[:objects].delete(object_name)
|
|
37
|
-
else
|
|
38
|
-
response.status = 404
|
|
39
|
-
raise(Excon::Errors.status_error({:expects => 204}, response))
|
|
40
|
-
end
|
|
41
|
-
response
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
module Fog
|
|
2
|
-
module Storage
|
|
3
|
-
class InternetArchive
|
|
4
|
-
class Real
|
|
5
|
-
require 'fog/internet_archive/parsers/storage/get_bucket'
|
|
6
|
-
|
|
7
|
-
# List information about objects in an S3 bucket
|
|
8
|
-
#
|
|
9
|
-
# @param bucket_name [String] name of bucket to list object keys from
|
|
10
|
-
# @param options [Hash] config arguments for list. Defaults to {}.
|
|
11
|
-
# @option options delimiter [String] causes keys with the same string between the prefix
|
|
12
|
-
# value and the first occurence of delimiter to be rolled up
|
|
13
|
-
# @option options marker [String] limits object keys to only those that appear
|
|
14
|
-
# lexicographically after its value.
|
|
15
|
-
# @option options max-keys [Integer] limits number of object keys returned
|
|
16
|
-
# @option options prefix [String] limits object keys to those beginning with its value.
|
|
17
|
-
#
|
|
18
|
-
# @return [Excon::Response] response:
|
|
19
|
-
# * body [Hash]:
|
|
20
|
-
# * Delimeter [String] - Delimiter specified for query
|
|
21
|
-
# * IsTruncated [Boolean] - Whether or not the listing is truncated
|
|
22
|
-
# * Marker [String]- Marker specified for query
|
|
23
|
-
# * MaxKeys [Integer] - Maximum number of keys specified for query
|
|
24
|
-
# * Name [String] - Name of the bucket
|
|
25
|
-
# * Prefix [String] - Prefix specified for query
|
|
26
|
-
# * CommonPrefixes [Array] - Array of strings for common prefixes
|
|
27
|
-
# * Contents [Array]:
|
|
28
|
-
# * ETag [String] - Etag of object
|
|
29
|
-
# * Key [String] - Name of object
|
|
30
|
-
# * LastModified [String] - Timestamp of last modification of object
|
|
31
|
-
# * Owner [Hash]:
|
|
32
|
-
# * DisplayName [String] - Display name of object owner
|
|
33
|
-
# * ID [String] - Id of object owner
|
|
34
|
-
# * Size [Integer] - Size of object
|
|
35
|
-
# * StorageClass [String] - Storage class of object
|
|
36
|
-
#
|
|
37
|
-
# @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html
|
|
38
|
-
|
|
39
|
-
def get_bucket(bucket_name, options = {})
|
|
40
|
-
unless bucket_name
|
|
41
|
-
raise ArgumentError.new('bucket_name is required')
|
|
42
|
-
end
|
|
43
|
-
request({
|
|
44
|
-
:expects => 200,
|
|
45
|
-
:headers => {},
|
|
46
|
-
:host => "#{bucket_name}.#{@host}",
|
|
47
|
-
:idempotent => true,
|
|
48
|
-
:method => 'GET',
|
|
49
|
-
:parser => Fog::Parsers::Storage::InternetArchive::GetBucket.new,
|
|
50
|
-
:query => options
|
|
51
|
-
})
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
class Mock # :nodoc:all
|
|
56
|
-
def get_bucket(bucket_name, options = {})
|
|
57
|
-
prefix, marker, delimiter, max_keys = \
|
|
58
|
-
options['prefix'], options['marker'], options['delimiter'], options['max-keys']
|
|
59
|
-
common_prefixes = []
|
|
60
|
-
|
|
61
|
-
unless bucket_name
|
|
62
|
-
raise ArgumentError.new('bucket_name is required')
|
|
63
|
-
end
|
|
64
|
-
response = Excon::Response.new
|
|
65
|
-
if bucket = self.data[:buckets][bucket_name]
|
|
66
|
-
contents = bucket[:objects].values.map(&:first).sort {|x,y| x['Key'] <=> y['Key']}.reject do |object|
|
|
67
|
-
(prefix && object['Key'][0...prefix.length] != prefix) ||
|
|
68
|
-
(marker && object['Key'] <= marker) ||
|
|
69
|
-
(delimiter && object['Key'][(prefix ? prefix.length : 0)..-1].include?(delimiter) \
|
|
70
|
-
&& common_prefixes << object['Key'].sub(/^(#{prefix}[^#{delimiter}]+.).*/, '\1')) ||
|
|
71
|
-
object.key?(:delete_marker)
|
|
72
|
-
end.map do |object|
|
|
73
|
-
data = object.reject {|key, value| !['ETag', 'Key', 'StorageClass'].include?(key)}
|
|
74
|
-
data.merge!({
|
|
75
|
-
'LastModified' => Time.parse(object['Last-Modified']),
|
|
76
|
-
'Owner' => bucket['Owner'],
|
|
77
|
-
'Size' => object['Content-Length'].to_i
|
|
78
|
-
})
|
|
79
|
-
data
|
|
80
|
-
end
|
|
81
|
-
max_keys = max_keys || 1000
|
|
82
|
-
size = [max_keys, 1000].min
|
|
83
|
-
truncated_contents = contents[0...size]
|
|
84
|
-
|
|
85
|
-
response.status = 200
|
|
86
|
-
response.body = {
|
|
87
|
-
'CommonPrefixes' => common_prefixes.uniq,
|
|
88
|
-
'Contents' => truncated_contents,
|
|
89
|
-
'IsTruncated' => truncated_contents.size != contents.size,
|
|
90
|
-
'Marker' => marker,
|
|
91
|
-
'MaxKeys' => max_keys,
|
|
92
|
-
'Name' => bucket['Name'],
|
|
93
|
-
'Prefix' => prefix
|
|
94
|
-
}
|
|
95
|
-
if max_keys && max_keys < response.body['Contents'].length
|
|
96
|
-
response.body['IsTruncated'] = true
|
|
97
|
-
response.body['Contents'] = response.body['Contents'][0...max_keys]
|
|
98
|
-
end
|
|
99
|
-
else
|
|
100
|
-
response.status = 404
|
|
101
|
-
raise(Excon::Errors.status_error({:expects => 200}, response))
|
|
102
|
-
end
|
|
103
|
-
response
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
end
|
|
108
|
-
end
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
module Fog
|
|
2
|
-
module Storage
|
|
3
|
-
class InternetArchive
|
|
4
|
-
class Real
|
|
5
|
-
require 'fog/internet_archive/parsers/storage/access_control_list'
|
|
6
|
-
|
|
7
|
-
# Get access control list for an S3 bucket
|
|
8
|
-
#
|
|
9
|
-
# @param bucket_name [String] name of bucket to get access control list for
|
|
10
|
-
#
|
|
11
|
-
# @return [Excon::Response] response:
|
|
12
|
-
# * body [Hash]:
|
|
13
|
-
# * AccessControlPolicy [Hash]:
|
|
14
|
-
# * Owner [Hash]:
|
|
15
|
-
# * DisplayName [String] - Display name of object owner
|
|
16
|
-
# * ID [String] - Id of object owner
|
|
17
|
-
# * AccessControlList [Array]:
|
|
18
|
-
# * Grant [Hash]:
|
|
19
|
-
# * Grantee [Hash]:
|
|
20
|
-
# * DisplayName [String] - Display name of grantee
|
|
21
|
-
# * ID [String] - Id of grantee
|
|
22
|
-
# or
|
|
23
|
-
# * URI [String] - URI of group to grant access for
|
|
24
|
-
# * Permission [String] - Permission, in [FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP]
|
|
25
|
-
#
|
|
26
|
-
# @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETacl.html
|
|
27
|
-
|
|
28
|
-
def get_bucket_acl(bucket_name)
|
|
29
|
-
unless bucket_name
|
|
30
|
-
raise ArgumentError.new('bucket_name is required')
|
|
31
|
-
end
|
|
32
|
-
request({
|
|
33
|
-
:expects => 200,
|
|
34
|
-
:headers => {},
|
|
35
|
-
:host => "#{bucket_name}.#{@host}",
|
|
36
|
-
:idempotent => true,
|
|
37
|
-
:method => 'GET',
|
|
38
|
-
:parser => Fog::Parsers::Storage::InternetArchive::AccessControlList.new,
|
|
39
|
-
:query => {'acl' => nil}
|
|
40
|
-
})
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
class Mock # :nodoc:all
|
|
45
|
-
require 'fog/internet_archive/requests/storage/acl_utils'
|
|
46
|
-
|
|
47
|
-
def get_bucket_acl(bucket_name)
|
|
48
|
-
response = Excon::Response.new
|
|
49
|
-
if acl = self.data[:acls][:bucket][bucket_name]
|
|
50
|
-
response.status = 200
|
|
51
|
-
if acl.is_a?(String)
|
|
52
|
-
response.body = Fog::Storage::InternetArchive.acl_to_hash(acl)
|
|
53
|
-
else
|
|
54
|
-
response.body = acl
|
|
55
|
-
end
|
|
56
|
-
else
|
|
57
|
-
response.status = 404
|
|
58
|
-
raise(Excon::Errors.status_error({:expects => 200}, response))
|
|
59
|
-
end
|
|
60
|
-
response
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
module Fog
|
|
2
|
-
module Storage
|
|
3
|
-
class InternetArchive
|
|
4
|
-
class Real
|
|
5
|
-
require 'fog/internet_archive/parsers/storage/cors_configuration'
|
|
6
|
-
|
|
7
|
-
# Gets the CORS configuration for an S3 bucket
|
|
8
|
-
#
|
|
9
|
-
# @param bucket_name [String] name of bucket to get access control list for
|
|
10
|
-
#
|
|
11
|
-
# @return [Excon::Response] response:
|
|
12
|
-
# * body [Hash]:
|
|
13
|
-
# * CORSConfiguration [Array]:
|
|
14
|
-
# * CORSRule [Hash]:
|
|
15
|
-
# * AllowedHeader [String] - Which headers are allowed in a pre-flight OPTIONS request through the Access-Control-Request-Headers header.
|
|
16
|
-
# * AllowedMethod [String] - Identifies an HTTP method that the domain/origin specified in the rule is allowed to execute.
|
|
17
|
-
# * AllowedOrigin [String] - One or more response headers that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).
|
|
18
|
-
# * ExposeHeader [String] - One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).
|
|
19
|
-
# * ID [String] - An optional unique identifier for the rule. The ID value can be up to 255 characters long. The IDs help you find a rule in the configuration.
|
|
20
|
-
# * MaxAgeSeconds [Integer] - The time in seconds that your browser is to cache the preflight response for the specified resource.
|
|
21
|
-
#
|
|
22
|
-
# @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETcors.html
|
|
23
|
-
|
|
24
|
-
def get_bucket_cors(bucket_name)
|
|
25
|
-
unless bucket_name
|
|
26
|
-
raise ArgumentError.new('bucket_name is required')
|
|
27
|
-
end
|
|
28
|
-
request({
|
|
29
|
-
:expects => 200,
|
|
30
|
-
:headers => {},
|
|
31
|
-
:host => "#{bucket_name}.#{@host}",
|
|
32
|
-
:idempotent => true,
|
|
33
|
-
:method => 'GET',
|
|
34
|
-
:parser => Fog::Parsers::Storage::InternetArchive::CorsConfiguration.new,
|
|
35
|
-
:query => {'cors' => nil}
|
|
36
|
-
})
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
class Mock # :nodoc:all
|
|
41
|
-
require 'fog/internet_archive/requests/storage/cors_utils'
|
|
42
|
-
|
|
43
|
-
def get_bucket_cors(bucket_name)
|
|
44
|
-
response = Excon::Response.new
|
|
45
|
-
if cors = self.data[:cors][:bucket][bucket_name]
|
|
46
|
-
response.status = 200
|
|
47
|
-
if cors.is_a?(String)
|
|
48
|
-
response.body = Fog::Storage::InternetArchive.cors_to_hash(cors)
|
|
49
|
-
else
|
|
50
|
-
response.body = cors
|
|
51
|
-
end
|
|
52
|
-
else
|
|
53
|
-
response.status = 404
|
|
54
|
-
raise(Excon::Errors.status_error({:expects => 200}, response))
|
|
55
|
-
end
|
|
56
|
-
response
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
module Fog
|
|
2
|
-
module Storage
|
|
3
|
-
class InternetArchive
|
|
4
|
-
class Real
|
|
5
|
-
require 'fog/internet_archive/parsers/storage/get_bucket_lifecycle'
|
|
6
|
-
|
|
7
|
-
# Get bucket lifecycle configuration
|
|
8
|
-
#
|
|
9
|
-
# @param bucket_name [String] name of bucket to get lifecycle configuration for
|
|
10
|
-
#
|
|
11
|
-
# @return [Excon::Response] response:
|
|
12
|
-
# * body [Hash]:
|
|
13
|
-
# * Rules - object expire rules [Array]:
|
|
14
|
-
# * ID [String] - Unique identifier for the rule
|
|
15
|
-
# * Prefix [String] - Prefix identifying one or more objects to which the rule applies
|
|
16
|
-
# * Enabled [Boolean] - if rule is currently being applied
|
|
17
|
-
# * Days [Integer] - lifetime, in days, of the objects that are subject to the rule
|
|
18
|
-
#
|
|
19
|
-
# @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html
|
|
20
|
-
|
|
21
|
-
def get_bucket_lifecycle(bucket_name)
|
|
22
|
-
request({
|
|
23
|
-
:expects => 200,
|
|
24
|
-
:headers => {},
|
|
25
|
-
:host => "#{bucket_name}.#{@host}",
|
|
26
|
-
:idempotent => true,
|
|
27
|
-
:method => 'GET',
|
|
28
|
-
:parser => Fog::Parsers::Storage::InternetArchive::GetBucketLifecycle.new,
|
|
29
|
-
:query => {'lifecycle' => nil}
|
|
30
|
-
})
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
module Fog
|
|
2
|
-
module Storage
|
|
3
|
-
class InternetArchive
|
|
4
|
-
class Real
|
|
5
|
-
require 'fog/internet_archive/parsers/storage/get_bucket_location'
|
|
6
|
-
|
|
7
|
-
# Get location constraint for an S3 bucket
|
|
8
|
-
#
|
|
9
|
-
# @param bucket_name [String] name of bucket to get location constraint for
|
|
10
|
-
#
|
|
11
|
-
# @return [Excon::Response] response:
|
|
12
|
-
# * body [Hash]:
|
|
13
|
-
# * LocationConstraint [String] - Location constraint of the bucket
|
|
14
|
-
#
|
|
15
|
-
# @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlocation.html
|
|
16
|
-
|
|
17
|
-
def get_bucket_location(bucket_name)
|
|
18
|
-
request({
|
|
19
|
-
:expects => 200,
|
|
20
|
-
:headers => {},
|
|
21
|
-
:host => "#{bucket_name}.#{@host}",
|
|
22
|
-
:idempotent => true,
|
|
23
|
-
:method => 'GET',
|
|
24
|
-
:parser => Fog::Parsers::Storage::InternetArchive::GetBucketLocation.new,
|
|
25
|
-
:query => {'location' => nil}
|
|
26
|
-
})
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
class Mock # :nodoc:all
|
|
31
|
-
def get_bucket_location(bucket_name)
|
|
32
|
-
response = Excon::Response.new
|
|
33
|
-
if bucket = self.data[:buckets][bucket_name]
|
|
34
|
-
location_constraint = case bucket['LocationConstraint']
|
|
35
|
-
when 'us-east-1'
|
|
36
|
-
nil
|
|
37
|
-
when 'eu-east-1'
|
|
38
|
-
'EU'
|
|
39
|
-
else
|
|
40
|
-
bucket['LocationConstraint']
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
response.status = 200
|
|
44
|
-
response.body = {'LocationConstraint' => location_constraint }
|
|
45
|
-
else
|
|
46
|
-
response.status = 404
|
|
47
|
-
raise(Excon::Errors.status_error({:expects => 200}, response))
|
|
48
|
-
end
|
|
49
|
-
response
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
module Fog
|
|
2
|
-
module Storage
|
|
3
|
-
class InternetArchive
|
|
4
|
-
class Real
|
|
5
|
-
require 'fog/internet_archive/parsers/storage/get_bucket_logging'
|
|
6
|
-
|
|
7
|
-
# Get logging status for an S3 bucket
|
|
8
|
-
#
|
|
9
|
-
# @param bucket_name [String] name of bucket to get logging status for
|
|
10
|
-
#
|
|
11
|
-
# @return [Excon::Response] response:
|
|
12
|
-
# * body [Hash]:
|
|
13
|
-
# * BucketLoggingStatus (will be empty if logging is disabled) [Hash]:
|
|
14
|
-
# * LoggingEnabled [Hash]:
|
|
15
|
-
# * TargetBucket [String] - bucket where logs are stored
|
|
16
|
-
# * TargetPrefix [String] - prefix logs are stored with
|
|
17
|
-
# * TargetGrants [Array]:
|
|
18
|
-
# * Grant [Hash]:
|
|
19
|
-
# * Grantee [Hash]:
|
|
20
|
-
# * DisplayName [String] - Display name of grantee
|
|
21
|
-
# * ID [String] - Id of grantee
|
|
22
|
-
# or
|
|
23
|
-
# * URI [String] - URI of group to grant access for
|
|
24
|
-
# * Permission [String] - Permission, in [FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP]
|
|
25
|
-
#
|
|
26
|
-
# @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlogging.html
|
|
27
|
-
|
|
28
|
-
def get_bucket_logging(bucket_name)
|
|
29
|
-
unless bucket_name
|
|
30
|
-
raise ArgumentError.new('bucket_name is required')
|
|
31
|
-
end
|
|
32
|
-
request({
|
|
33
|
-
:expects => 200,
|
|
34
|
-
:headers => {},
|
|
35
|
-
:host => "#{bucket_name}.#{@host}",
|
|
36
|
-
:idempotent => true,
|
|
37
|
-
:method => 'GET',
|
|
38
|
-
:parser => Fog::Parsers::Storage::InternetArchive::GetBucketLogging.new,
|
|
39
|
-
:query => {'logging' => nil}
|
|
40
|
-
})
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
module Fog
|
|
2
|
-
module Storage
|
|
3
|
-
class InternetArchive
|
|
4
|
-
class Real
|
|
5
|
-
# Get bucket policy for an S3 bucket
|
|
6
|
-
#
|
|
7
|
-
# @param bucket_name [String] name of bucket to get policy for
|
|
8
|
-
#
|
|
9
|
-
# @return [Excon::Response] response:
|
|
10
|
-
# * body [Hash] - policy document
|
|
11
|
-
#
|
|
12
|
-
# @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETpolicy.html
|
|
13
|
-
|
|
14
|
-
def get_bucket_policy(bucket_name)
|
|
15
|
-
unless bucket_name
|
|
16
|
-
raise ArgumentError.new('bucket_name is required')
|
|
17
|
-
end
|
|
18
|
-
response = request({
|
|
19
|
-
:expects => 200,
|
|
20
|
-
:headers => {},
|
|
21
|
-
:host => "#{bucket_name}.#{@host}",
|
|
22
|
-
:idempotent => true,
|
|
23
|
-
:method => 'GET',
|
|
24
|
-
:query => {'policy' => nil}
|
|
25
|
-
})
|
|
26
|
-
response.body = Fog::JSON.decode(response.body) unless response.body.nil?
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|