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.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -0
  3. data/CHANGELOG.md +30 -0
  4. data/fog.gemspec +6 -4
  5. data/lib/fog/ovirt/compute.rb +2 -0
  6. data/lib/fog/ovirt/models/compute/server.rb +7 -2
  7. data/lib/fog/ovirt/requests/compute/activate_volume.rb +22 -0
  8. data/lib/fog/ovirt/requests/compute/deactivate_volume.rb +22 -0
  9. data/lib/fog/version.rb +1 -1
  10. data/lib/tasks/changelog_task.rb +2 -1
  11. data/tests/compute/helper.rb +0 -3
  12. data/tests/helpers/mock_helper.rb +0 -2
  13. data/tests/storage/helper.rb +0 -3
  14. metadata +49 -224
  15. data/lib/fog/bin/internet_archive.rb +0 -32
  16. data/lib/fog/bin/joyent.rb +0 -33
  17. data/lib/fog/internet_archive.rb +0 -1
  18. data/lib/fog/internet_archive/core.rb +0 -291
  19. data/lib/fog/internet_archive/models/storage/directories.rb +0 -39
  20. data/lib/fog/internet_archive/models/storage/directory.rb +0 -105
  21. data/lib/fog/internet_archive/models/storage/file.rb +0 -254
  22. data/lib/fog/internet_archive/models/storage/files.rb +0 -119
  23. data/lib/fog/internet_archive/models/storage/ia_attributes.rb +0 -36
  24. data/lib/fog/internet_archive/parsers/storage/access_control_list.rb +0 -42
  25. data/lib/fog/internet_archive/parsers/storage/complete_multipart_upload.rb +0 -20
  26. data/lib/fog/internet_archive/parsers/storage/copy_object.rb +0 -18
  27. data/lib/fog/internet_archive/parsers/storage/cors_configuration.rb +0 -38
  28. data/lib/fog/internet_archive/parsers/storage/delete_multiple_objects.rb +0 -45
  29. data/lib/fog/internet_archive/parsers/storage/get_bucket.rb +0 -58
  30. data/lib/fog/internet_archive/parsers/storage/get_bucket_lifecycle.rb +0 -64
  31. data/lib/fog/internet_archive/parsers/storage/get_bucket_location.rb +0 -16
  32. data/lib/fog/internet_archive/parsers/storage/get_bucket_logging.rb +0 -36
  33. data/lib/fog/internet_archive/parsers/storage/get_bucket_website.rb +0 -22
  34. data/lib/fog/internet_archive/parsers/storage/get_request_payment.rb +0 -16
  35. data/lib/fog/internet_archive/parsers/storage/get_service.rb +0 -28
  36. data/lib/fog/internet_archive/parsers/storage/initiate_multipart_upload.rb +0 -20
  37. data/lib/fog/internet_archive/parsers/storage/list_multipart_uploads.rb +0 -52
  38. data/lib/fog/internet_archive/parsers/storage/list_parts.rb +0 -36
  39. data/lib/fog/internet_archive/requests/storage/abort_multipart_upload.rb +0 -27
  40. data/lib/fog/internet_archive/requests/storage/acl_utils.rb +0 -60
  41. data/lib/fog/internet_archive/requests/storage/complete_multipart_upload.rb +0 -46
  42. data/lib/fog/internet_archive/requests/storage/copy_object.rb +0 -77
  43. data/lib/fog/internet_archive/requests/storage/cors_utils.rb +0 -39
  44. data/lib/fog/internet_archive/requests/storage/delete_bucket.rb +0 -42
  45. data/lib/fog/internet_archive/requests/storage/delete_bucket_cors.rb +0 -26
  46. data/lib/fog/internet_archive/requests/storage/delete_bucket_lifecycle.rb +0 -26
  47. data/lib/fog/internet_archive/requests/storage/delete_bucket_policy.rb +0 -26
  48. data/lib/fog/internet_archive/requests/storage/delete_bucket_website.rb +0 -26
  49. data/lib/fog/internet_archive/requests/storage/delete_multiple_objects.rb +0 -88
  50. data/lib/fog/internet_archive/requests/storage/delete_object.rb +0 -46
  51. data/lib/fog/internet_archive/requests/storage/get_bucket.rb +0 -108
  52. data/lib/fog/internet_archive/requests/storage/get_bucket_acl.rb +0 -65
  53. data/lib/fog/internet_archive/requests/storage/get_bucket_cors.rb +0 -61
  54. data/lib/fog/internet_archive/requests/storage/get_bucket_lifecycle.rb +0 -35
  55. data/lib/fog/internet_archive/requests/storage/get_bucket_location.rb +0 -54
  56. data/lib/fog/internet_archive/requests/storage/get_bucket_logging.rb +0 -45
  57. data/lib/fog/internet_archive/requests/storage/get_bucket_policy.rb +0 -31
  58. data/lib/fog/internet_archive/requests/storage/get_bucket_website.rb +0 -38
  59. data/lib/fog/internet_archive/requests/storage/get_object.rb +0 -163
  60. data/lib/fog/internet_archive/requests/storage/get_object_acl.rb +0 -72
  61. data/lib/fog/internet_archive/requests/storage/get_object_http_url.rb +0 -48
  62. data/lib/fog/internet_archive/requests/storage/get_object_https_url.rb +0 -30
  63. data/lib/fog/internet_archive/requests/storage/get_object_torrent.rb +0 -45
  64. data/lib/fog/internet_archive/requests/storage/get_object_url.rb +0 -49
  65. data/lib/fog/internet_archive/requests/storage/get_request_payment.rb +0 -45
  66. data/lib/fog/internet_archive/requests/storage/get_service.rb +0 -50
  67. data/lib/fog/internet_archive/requests/storage/head_object.rb +0 -57
  68. data/lib/fog/internet_archive/requests/storage/initiate_multipart_upload.rb +0 -42
  69. data/lib/fog/internet_archive/requests/storage/list_multipart_uploads.rb +0 -52
  70. data/lib/fog/internet_archive/requests/storage/list_parts.rb +0 -53
  71. data/lib/fog/internet_archive/requests/storage/post_object_hidden_fields.rb +0 -36
  72. data/lib/fog/internet_archive/requests/storage/put_bucket.rb +0 -70
  73. data/lib/fog/internet_archive/requests/storage/put_bucket_acl.rb +0 -69
  74. data/lib/fog/internet_archive/requests/storage/put_bucket_cors.rb +0 -47
  75. data/lib/fog/internet_archive/requests/storage/put_bucket_lifecycle.rb +0 -76
  76. data/lib/fog/internet_archive/requests/storage/put_bucket_logging.rb +0 -79
  77. data/lib/fog/internet_archive/requests/storage/put_bucket_policy.rb +0 -25
  78. data/lib/fog/internet_archive/requests/storage/put_bucket_website.rb +0 -59
  79. data/lib/fog/internet_archive/requests/storage/put_object.rb +0 -94
  80. data/lib/fog/internet_archive/requests/storage/put_object_acl.rb +0 -73
  81. data/lib/fog/internet_archive/requests/storage/put_object_url.rb +0 -43
  82. data/lib/fog/internet_archive/requests/storage/put_request_payment.rb +0 -45
  83. data/lib/fog/internet_archive/requests/storage/sync_clock.rb +0 -24
  84. data/lib/fog/internet_archive/requests/storage/upload_part.rb +0 -39
  85. data/lib/fog/internet_archive/signaturev4.rb +0 -71
  86. data/lib/fog/internet_archive/storage.rb +0 -381
  87. data/lib/fog/joyent.rb +0 -12
  88. data/lib/fog/joyent/analytics.rb +0 -310
  89. data/lib/fog/joyent/compute.rb +0 -272
  90. data/lib/fog/joyent/core.rb +0 -10
  91. data/lib/fog/joyent/errors.rb +0 -91
  92. data/lib/fog/joyent/models/analytics/field.rb +0 -13
  93. data/lib/fog/joyent/models/analytics/fields.rb +0 -24
  94. data/lib/fog/joyent/models/analytics/instrumentation.rb +0 -82
  95. data/lib/fog/joyent/models/analytics/instrumentations.rb +0 -23
  96. data/lib/fog/joyent/models/analytics/joyent_module.rb +0 -13
  97. data/lib/fog/joyent/models/analytics/joyent_modules.rb +0 -24
  98. data/lib/fog/joyent/models/analytics/metric.rb +0 -17
  99. data/lib/fog/joyent/models/analytics/metrics.rb +0 -16
  100. data/lib/fog/joyent/models/analytics/transformation.rb +0 -13
  101. data/lib/fog/joyent/models/analytics/transformations.rb +0 -24
  102. data/lib/fog/joyent/models/analytics/type.rb +0 -16
  103. data/lib/fog/joyent/models/analytics/types.rb +0 -24
  104. data/lib/fog/joyent/models/analytics/value.rb +0 -20
  105. data/lib/fog/joyent/models/compute/datacenter.rb +0 -11
  106. data/lib/fog/joyent/models/compute/datacenters.rb +0 -21
  107. data/lib/fog/joyent/models/compute/flavor.rb +0 -19
  108. data/lib/fog/joyent/models/compute/flavors.rb +0 -21
  109. data/lib/fog/joyent/models/compute/image.rb +0 -26
  110. data/lib/fog/joyent/models/compute/images.rb +0 -30
  111. data/lib/fog/joyent/models/compute/key.rb +0 -19
  112. data/lib/fog/joyent/models/compute/keys.rb +0 -32
  113. data/lib/fog/joyent/models/compute/network.rb +0 -12
  114. data/lib/fog/joyent/models/compute/networks.rb +0 -14
  115. data/lib/fog/joyent/models/compute/server.rb +0 -124
  116. data/lib/fog/joyent/models/compute/servers.rb +0 -35
  117. data/lib/fog/joyent/models/compute/snapshot.rb +0 -44
  118. data/lib/fog/joyent/models/compute/snapshots.rb +0 -35
  119. data/lib/fog/joyent/requests/analytics/create_instrumentation.rb +0 -25
  120. data/lib/fog/joyent/requests/analytics/delete_instrumentation.rb +0 -23
  121. data/lib/fog/joyent/requests/analytics/describe_analytics.rb +0 -26
  122. data/lib/fog/joyent/requests/analytics/get_instrumentation.rb +0 -26
  123. data/lib/fog/joyent/requests/analytics/get_instrumentation_value.rb +0 -30
  124. data/lib/fog/joyent/requests/analytics/list_instrumentations.rb +0 -25
  125. data/lib/fog/joyent/requests/compute/add_machine_tags.rb +0 -19
  126. data/lib/fog/joyent/requests/compute/create_key.rb +0 -54
  127. data/lib/fog/joyent/requests/compute/create_machine.rb +0 -16
  128. data/lib/fog/joyent/requests/compute/create_machine_snapshot.rb +0 -16
  129. data/lib/fog/joyent/requests/compute/delete_all_machine_metadata.rb +0 -16
  130. data/lib/fog/joyent/requests/compute/delete_all_machine_tags.rb +0 -15
  131. data/lib/fog/joyent/requests/compute/delete_key.rb +0 -27
  132. data/lib/fog/joyent/requests/compute/delete_machine.rb +0 -15
  133. data/lib/fog/joyent/requests/compute/delete_machine_metadata.rb +0 -16
  134. data/lib/fog/joyent/requests/compute/delete_machine_snapshot.rb +0 -18
  135. data/lib/fog/joyent/requests/compute/delete_machine_tag.rb +0 -15
  136. data/lib/fog/joyent/requests/compute/get_dataset.rb +0 -27
  137. data/lib/fog/joyent/requests/compute/get_image.rb +0 -28
  138. data/lib/fog/joyent/requests/compute/get_key.rb +0 -29
  139. data/lib/fog/joyent/requests/compute/get_machine.rb +0 -29
  140. data/lib/fog/joyent/requests/compute/get_machine_metadata.rb +0 -24
  141. data/lib/fog/joyent/requests/compute/get_machine_snapshot.rb +0 -15
  142. data/lib/fog/joyent/requests/compute/get_machine_tag.rb +0 -18
  143. data/lib/fog/joyent/requests/compute/get_package.rb +0 -32
  144. data/lib/fog/joyent/requests/compute/list_datacenters.rb +0 -16
  145. data/lib/fog/joyent/requests/compute/list_datasets.rb +0 -24
  146. data/lib/fog/joyent/requests/compute/list_images.rb +0 -25
  147. data/lib/fog/joyent/requests/compute/list_keys.rb +0 -25
  148. data/lib/fog/joyent/requests/compute/list_machine_snapshots.rb +0 -15
  149. data/lib/fog/joyent/requests/compute/list_machine_tags.rb +0 -20
  150. data/lib/fog/joyent/requests/compute/list_machines.rb +0 -26
  151. data/lib/fog/joyent/requests/compute/list_networks.rb +0 -26
  152. data/lib/fog/joyent/requests/compute/list_packages.rb +0 -34
  153. data/lib/fog/joyent/requests/compute/reboot_machine.rb +0 -15
  154. data/lib/fog/joyent/requests/compute/resize_machine.rb +0 -16
  155. data/lib/fog/joyent/requests/compute/start_machine.rb +0 -16
  156. data/lib/fog/joyent/requests/compute/start_machine_from_snapshot.rb +0 -15
  157. data/lib/fog/joyent/requests/compute/stop_machine.rb +0 -16
  158. data/lib/fog/joyent/requests/compute/update_machine_metadata.rb +0 -15
  159. data/spec/fog/bin/internetarchive_spec.rb +0 -10
  160. data/tests/internet_archive/models/storage/directory_tests.rb +0 -42
  161. data/tests/internet_archive/models/storage/file_tests.rb +0 -61
  162. data/tests/internet_archive/models/storage/files_tests.rb +0 -58
  163. data/tests/internet_archive/models/storage/url_tests.rb +0 -28
  164. data/tests/internet_archive/requests/storage/acl_utils_tests.rb +0 -209
  165. data/tests/internet_archive/requests/storage/bucket_tests.rb +0 -324
  166. data/tests/internet_archive/requests/storage/cors_utils_tests.rb +0 -108
  167. data/tests/internet_archive/requests/storage/multipart_upload_tests.rb +0 -132
  168. data/tests/internet_archive/requests/storage/object_tests.rb +0 -166
  169. data/tests/internet_archive/signaturev4_tests.rb +0 -41
  170. data/tests/internet_archive/signed_params_tests.rb +0 -5
  171. data/tests/joyent/models/analytics/field_tests.rb +0 -10
  172. data/tests/joyent/models/analytics/fields_tests.rb +0 -13
  173. data/tests/joyent/models/analytics/instrumentation_tests.rb +0 -13
  174. data/tests/joyent/models/analytics/instrumentations_tests.rb +0 -3
  175. data/tests/joyent/models/analytics/joyent_module_tests.rb +0 -10
  176. data/tests/joyent/models/analytics/joyent_modules_tests.rb +0 -13
  177. data/tests/joyent/models/analytics/metric_tests.rb +0 -10
  178. data/tests/joyent/models/analytics/metrics_tests.rb +0 -20
  179. data/tests/joyent/models/analytics/transformation_tests.rb +0 -10
  180. data/tests/joyent/models/analytics/transformations_tests.rb +0 -13
  181. data/tests/joyent/models/analytics/type_tests.rb +0 -10
  182. data/tests/joyent/models/analytics/types_tests.rb +0 -13
  183. data/tests/joyent/requests/analytics/instrumentation_tests.rb +0 -44
  184. data/tests/joyent/requests/compute/datasets_tests.rb +0 -58
  185. data/tests/joyent/requests/compute/keys_tests.rb +0 -47
  186. data/tests/joyent/requests/compute/machines_tests.rb +0 -66
  187. data/tests/joyent/requests/compute/networks_tests.rb +0 -39
  188. data/tests/joyent/requests/compute/packages_tests.rb +0 -68
@@ -1,32 +0,0 @@
1
- class InternetArchive < Fog::Bin
2
- class << self
3
- def class_for(key)
4
- case key
5
- when :storage
6
- Fog::Storage::InternetArchive
7
- else
8
- # @todo Replace most instances of ArgumentError with NotImplementedError
9
- # @todo For a list of widely supported Exceptions, see:
10
- # => http://www.zenspider.com/Languages/Ruby/QuickRef.html#35
11
- raise ArgumentError, "Unsupported #{self} service: #{key}"
12
- end
13
- end
14
-
15
- def [](service)
16
- @@connections ||= Hash.new do |hash, key|
17
- hash[key] = case key
18
- when :storage
19
- Fog::Logger.warning("InternetArchive[:storage] is not recommended, use Storage[:aws] for portability")
20
- Fog::Storage.new(:provider => 'InternetArchive')
21
- else
22
- raise ArgumentError, "Unrecognized service: #{key.inspect}"
23
- end
24
- end
25
- @@connections[service]
26
- end
27
-
28
- def services
29
- Fog::InternetArchive.services
30
- end
31
- end
32
- end
@@ -1,33 +0,0 @@
1
- class Joyent < Fog::Bin
2
- class << self
3
- def class_for(key)
4
- case key
5
- when :compute
6
- Fog::Compute::Joyent
7
- when :analytics
8
- Fog::Joyent::Analytics
9
- else
10
- raise ArgumentError, "Unrecognized service: #{key}"
11
- end
12
- end
13
-
14
- def [](service)
15
- @@connections ||= Hash.new do |hash, key|
16
- hash[key] = case key
17
- when :compute
18
- Fog::Logger.warning("Joyent[:compute] is not recommended, use Compute[:joyent] for portability")
19
- Fog::Compute.new(:provider => 'Joyent')
20
- when :analytics
21
- Fog::Joyent::Analytics.new
22
- else
23
- raise ArgumentError, "Unrecognized service: #{key.inspect}"
24
- end
25
- end
26
- @@connections[service]
27
- end
28
-
29
- def services
30
- Fog::Joyent.services
31
- end
32
- end
33
- end
@@ -1 +0,0 @@
1
- require 'fog/internet_archive/storage'
@@ -1,291 +0,0 @@
1
- require 'fog/core'
2
- require 'fog/xml'
3
- require 'fog/internet_archive/signaturev4'
4
-
5
- module Fog
6
- module InternetArchive
7
- COMPLIANT_BUCKET_NAMES = /^(?:[a-z]|\d(?!\d{0,2}(?:\.\d{1,3}){3}$))(?:[a-z0-9]|\-(?![\.])){1,61}[a-z0-9]$/
8
-
9
- DOMAIN_NAME = 'archive.org'
10
-
11
- API_DOMAIN_NAME = 's3.us.' + DOMAIN_NAME
12
-
13
- extend Fog::Provider
14
-
15
- service(:storage, 'Storage')
16
-
17
- def self.indexed_param(key, values)
18
- params = {}
19
- unless key.include?('%d')
20
- key << '.%d'
21
- end
22
- [*values].each_with_index do |value, index|
23
- if value.respond_to?('keys')
24
- k = format(key, index + 1)
25
- value.each do | vkey, vvalue |
26
- params["#{k}.#{vkey}"] = vvalue
27
- end
28
- else
29
- params[format(key, index + 1)] = value
30
- end
31
- end
32
- params
33
- end
34
-
35
- def self.serialize_keys(key, value, options = {})
36
- case value
37
- when Hash
38
- value.each do | k, v |
39
- options.merge!(serialize_keys("#{key}.#{k}", v))
40
- end
41
- return options
42
- when Array
43
- value.each_with_index do | it, idx |
44
- options.merge!(serialize_keys("#{key}.member.#{(idx + 1)}", it))
45
- end
46
- return options
47
- else
48
- return {key => value}
49
- end
50
- end
51
-
52
- def self.indexed_request_param(name, values)
53
- idx = -1
54
- Array(values).reduce({}) do |params, value|
55
- params["#{name}.#{idx += 1}"] = value
56
- params
57
- end
58
- end
59
-
60
- def self.indexed_filters(filters)
61
- params = {}
62
- filters.keys.each_with_index do |key, key_index|
63
- key_index += 1
64
- params[format('Filter.%d.Name', key_index)] = key
65
- [*filters[key]].each_with_index do |value, value_index|
66
- value_index += 1
67
- params[format('Filter.%d.Value.%d', key_index, value_index)] = value
68
- end
69
- end
70
- params
71
- end
72
-
73
- def self.escape(string)
74
- string.gsub(/([^a-zA-Z0-9_.\-~]+)/) {
75
- "%" + $1.unpack("H2" * $1.bytesize).join("%").upcase
76
- }
77
- end
78
-
79
- def self.signed_params(params, options = {})
80
- params.merge!({
81
- 'AWSAccessKeyId' => options[:ia_access_key_id],
82
- 'SignatureMethod' => 'HmacSHA256',
83
- 'SignatureVersion' => '2',
84
- 'Timestamp' => Time.now.utc.strftime("%Y-%m-%dT%H:%M:%SZ"),
85
- 'Version' => options[:version]
86
- })
87
-
88
- params.merge!({
89
- 'SecurityToken' => options[:ia_session_token]
90
- }) if options[:ia_session_token]
91
-
92
- body = ''
93
- for key in params.keys.sort
94
- unless (value = params[key]).nil?
95
- body << "#{key}=#{escape(value.to_s)}&"
96
- end
97
- end
98
- string_to_sign = "POST\n#{options[:host]}:#{options[:port]}\n#{options[:path]}\n" << body.chop
99
- signed_string = options[:hmac].sign(string_to_sign)
100
- body << "Signature=#{escape(Base64.encode64(signed_string).chomp!)}"
101
-
102
- body
103
- end
104
-
105
- class Mock
106
- def self.arn(vendor, account_id, path, region = nil)
107
- "arn:aws:#{vendor}:#{region}:#{account_id}:#{path}"
108
- end
109
-
110
- def self.availability_zone(region)
111
- "#{region}#{Fog::Mock.random_selection('abcd', 1)}"
112
- end
113
-
114
- def self.box_usage
115
- sprintf("%0.10f", rand / 100).to_f
116
- end
117
-
118
- def self.console_output
119
- # "[ 0.000000] Linux version 2.6.18-xenU-ec2-v1.2 (root@domU-12-31-39-07-51-82) (gcc version 4.1.2 20070626 (Red Hat 4.1.2-13)) #2 SMP Wed Aug 19 09:04:38 EDT 2009"
120
- Base64.decode64("WyAwLjAwMDAwMF0gTGludXggdmVyc2lvbiAyLjYuMTgteGVuVS1lYzItdjEu\nMiAocm9vdEBkb21VLTEyLTMxLTM5LTA3LTUxLTgyKSAoZ2NjIHZlcnNpb24g\nNC4xLjIgMjAwNzA2MjYgKFJlZCBIYXQgNC4xLjItMTMpKSAjMiBTTVAgV2Vk\nIEF1ZyAxOSAwOTowNDozOCBFRFQgMjAwOQ==\n")
121
- end
122
-
123
- def self.dns_name_for(ip_address)
124
- "ec2-#{ip_address.gsub('.','-')}.compute-1.amazonaws.com"
125
- end
126
-
127
- def self.private_dns_name_for(ip_address)
128
- "ip-#{ip_address.gsub('.','-')}.ec2.internal"
129
- end
130
-
131
- def self.image
132
- path = []
133
- (rand(3) + 2).times do
134
- path << Fog::Mock.random_letters(rand(9) + 8)
135
- end
136
- {
137
- "imageOwnerId" => Fog::Mock.random_letters(rand(5) + 4),
138
- "blockDeviceMapping" => [],
139
- "productCodes" => [],
140
- "kernelId" => kernel_id,
141
- "ramdiskId" => ramdisk_id,
142
- "imageState" => "available",
143
- "imageId" => image_id,
144
- "architecture" => "i386",
145
- "isPublic" => true,
146
- "imageLocation" => path.join('/'),
147
- "imageType" => "machine",
148
- "rootDeviceType" => ["ebs","instance-store"][rand(2)],
149
- "rootDeviceName" => "/dev/sda1"
150
- }
151
- end
152
-
153
- def self.image_id
154
- "ami-#{Fog::Mock.random_hex(8)}"
155
- end
156
-
157
- def self.key_fingerprint
158
- fingerprint = []
159
- 20.times do
160
- fingerprint << Fog::Mock.random_hex(2)
161
- end
162
- fingerprint.join(':')
163
- end
164
-
165
- def self.instance_id
166
- "i-#{Fog::Mock.random_hex(8)}"
167
- end
168
-
169
- def self.ip_address
170
- ip = []
171
- 4.times do
172
- ip << Fog::Mock.random_numbers(rand(3) + 1).to_i.to_s # remove leading 0
173
- end
174
- ip.join('.')
175
- end
176
-
177
- def self.private_ip_address
178
- ip_address.gsub(/^\d{1,3}\./,"10.")
179
- end
180
-
181
- def self.kernel_id
182
- "aki-#{Fog::Mock.random_hex(8)}"
183
- end
184
-
185
- def self.key_material
186
- OpenSSL::PKey::RSA.generate(1024).to_s
187
- end
188
-
189
- def self.owner_id
190
- Fog::Mock.random_numbers(12)
191
- end
192
-
193
- def self.ramdisk_id
194
- "ari-#{Fog::Mock.random_hex(8)}"
195
- end
196
-
197
- def self.request_id
198
- request_id = []
199
- request_id << Fog::Mock.random_hex(8)
200
- 3.times do
201
- request_id << Fog::Mock.random_hex(4)
202
- end
203
- request_id << Fog::Mock.random_hex(12)
204
- request_id.join('-')
205
- end
206
- class << self
207
- alias_method :reserved_instances_id, :request_id
208
- alias_method :reserved_instances_offering_id, :request_id
209
- alias_method :sqs_message_id, :request_id
210
- alias_method :sqs_sender_id, :request_id
211
- end
212
-
213
- def self.reservation_id
214
- "r-#{Fog::Mock.random_hex(8)}"
215
- end
216
-
217
- def self.snapshot_id
218
- "snap-#{Fog::Mock.random_hex(8)}"
219
- end
220
-
221
- def self.volume_id
222
- "vol-#{Fog::Mock.random_hex(8)}"
223
- end
224
-
225
- def self.security_group_id
226
- "sg-#{Fog::Mock.random_hex(8)}"
227
- end
228
-
229
- def self.network_interface_id
230
- "eni-#{Fog::Mock.random_hex(8)}"
231
- end
232
- def self.internet_gateway_id
233
- "igw-#{Fog::Mock.random_hex(8)}"
234
- end
235
- def self.dhcp_options_id
236
- "dopt-#{Fog::Mock.random_hex(8)}"
237
- end
238
- def self.vpc_id
239
- "vpc-#{Fog::Mock.random_hex(8)}"
240
- end
241
- def self.subnet_id
242
- "subnet-#{Fog::Mock.random_hex(8)}"
243
- end
244
- def self.zone_id
245
- "zone-#{Fog::Mock.random_hex(8)}"
246
- end
247
- def self.change_id
248
- "change-#{Fog::Mock.random_hex(8)}"
249
- end
250
- def self.nameservers
251
- [
252
- 'ns-2048.awsdns-64.com',
253
- 'ns-2049.awsdns-65.net',
254
- 'ns-2050.awsdns-66.org',
255
- 'ns-2051.awsdns-67.co.uk'
256
- ]
257
- end
258
-
259
- def self.key_id(length=21)
260
- #Probably close enough
261
- Fog::Mock.random_selection('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',length)
262
- end
263
-
264
- def self.rds_address(db_name,region)
265
- "#{db_name}.#{Fog::Mock.random_letters(rand(12) + 4)}.#{region}.rds.amazonaws.com"
266
- end
267
- end
268
-
269
- def self.parse_security_group_options(group_name, options)
270
- options ||= Hash.new
271
- if group_name.is_a?(Hash)
272
- options = group_name
273
- elsif group_name
274
- if options.key?('GroupName')
275
- raise Fog::Compute::InternetArchive::Error, 'Arguments specified both group_name and GroupName in options'
276
- end
277
- options = options.clone
278
- options['GroupName'] = group_name
279
- end
280
- name_specified = options.key?('GroupName') && !options['GroupName'].nil?
281
- group_id_specified = options.key?('GroupId') && !options['GroupId'].nil?
282
- unless name_specified || group_id_specified
283
- raise Fog::Compute::InternetArchive::Error, 'Neither GroupName nor GroupId specified'
284
- end
285
- if name_specified && group_id_specified
286
- options.delete('GroupName')
287
- end
288
- options
289
- end
290
- end
291
- end
@@ -1,39 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/internet_archive/models/storage/directory'
3
-
4
- module Fog
5
- module Storage
6
- class InternetArchive
7
- class Directories < Fog::Collection
8
- model Fog::Storage::InternetArchive::Directory
9
-
10
- def all
11
- data = service.get_service.body['Buckets']
12
- load(data)
13
- end
14
-
15
- def get(key, options = {})
16
- remap_attributes(options, {
17
- :delimiter => 'delimiter',
18
- :marker => 'marker',
19
- :max_keys => 'max-keys',
20
- :prefix => 'prefix'
21
- })
22
- data = service.get_bucket(key, options).body
23
- directory = new(:key => data['Name'])
24
- options = {}
25
- for k, v in data
26
- if ['CommonPrefixes', 'Delimiter', 'IsTruncated', 'Marker', 'MaxKeys', 'Prefix'].include?(k)
27
- options[k] = v
28
- end
29
- end
30
- directory.files.merge_attributes(options)
31
- directory.files.load(data['Contents'])
32
- directory
33
- rescue Excon::Errors::NotFound
34
- nil
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,105 +0,0 @@
1
- require 'fog/core/model'
2
- require 'fog/internet_archive/models/storage/files'
3
- require 'fog/internet_archive/models/storage/ia_attributes.rb'
4
-
5
- module Fog
6
- module Storage
7
- class InternetArchive
8
- class Directory < Fog::Model
9
- extend Fog::Storage::IAAttributes::ClassMethods
10
- include Fog::Storage::IAAttributes::InstanceMethods
11
-
12
- identity :key, :aliases => ['Name', 'name']
13
-
14
- attribute :creation_date, :aliases => 'CreationDate'
15
-
16
- # treat these differently
17
- attribute :collections
18
- attribute :subjects
19
-
20
- ia_metadata_attribute :ignore_preexisting_bucket
21
- ia_metadata_attribute :interactive_priority
22
-
23
- # acl for internet archive is always public-read
24
- def acl
25
- 'public-read'
26
- end
27
-
28
- def acl=(new_acl)
29
- 'public-read'
30
- end
31
-
32
- # See http://archive.org/help/abouts3.txt
33
- def destroy
34
- Fog::Logger.warning("fog: Internet Archive does not support deleting a Bucket (i.e. Item). For details see: See http://archive.org/help/abouts3.txt")
35
- false
36
- end
37
-
38
- def location
39
- requires :key
40
- attributes[:location] || bucket_location || self.service.region
41
- end
42
-
43
- def location=(new_location)
44
- if INVALID_LOCATIONS.include?(new_location)
45
- raise ArgumentError, "location must not include any of #{INVALID_LOCATIONS.join(', ')}. See http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html"
46
- else
47
- merge_attributes(:location => new_location)
48
- end
49
- end
50
-
51
- def files
52
- @files ||= Fog::Storage::InternetArchive::Files.new(:directory => self, :service => service)
53
- end
54
-
55
- def payer
56
- requires :key
57
- data = service.get_request_payment(key)
58
- data.body['Payer']
59
- end
60
-
61
- def payer=(new_payer)
62
- requires :key
63
- service.put_request_payment(key, new_payer)
64
- @payer = new_payer
65
- end
66
-
67
- def public=(new_public)
68
- 'public-read'
69
- end
70
-
71
- def public_url
72
- requires :key
73
- "http://#{Fog::InternetArchive::DOMAIN_NAME}/details/#{key}"
74
- end
75
-
76
- def save
77
- requires :key
78
-
79
- options = {}
80
-
81
- options['x-archive-ignore-preexisting-bucket'] = ignore_preexisting_bucket if ignore_preexisting_bucket
82
- options['x-archive-interactive-priority'] = interactive_priority if interactive_priority
83
-
84
- set_metadata_array_headers(:collections, options)
85
- set_metadata_array_headers(:subjects, options)
86
-
87
- if location = attributes[:location] || (self.service.region != 'us-east-1' && self.service.region)
88
- options['LocationConstraint'] = location
89
- end
90
-
91
- service.put_bucket(key, options)
92
-
93
- true
94
- end
95
-
96
- private
97
-
98
- def bucket_location
99
- data = service.get_bucket_location(key)
100
- data.body['LocationConstraint']
101
- end
102
- end
103
- end
104
- end
105
- end