fog 0.8.1 → 0.8.2

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 (211) hide show
  1. data/Rakefile +106 -17
  2. data/bin/fog +1 -1
  3. data/changelog.txt +17 -0
  4. data/docs/_layouts/default.html +2 -1
  5. data/docs/about/contributing.markdown +1 -1
  6. data/docs/compute/index.markdown +104 -0
  7. data/docs/index.markdown +1 -0
  8. data/docs/storage/index.markdown +17 -0
  9. data/fog.gemspec +3 -2
  10. data/lib/fog.rb +1 -1
  11. data/lib/fog/aws/elb.rb +1 -0
  12. data/lib/fog/aws/iam.rb +1 -0
  13. data/lib/fog/aws/rds.rb +1 -0
  14. data/lib/fog/aws/requests/simpledb/batch_put_attributes.rb +5 -5
  15. data/lib/fog/aws/requests/simpledb/create_domain.rb +1 -1
  16. data/lib/fog/aws/requests/simpledb/delete_attributes.rb +3 -3
  17. data/lib/fog/aws/requests/simpledb/delete_domain.rb +1 -1
  18. data/lib/fog/aws/requests/simpledb/domain_metadata.rb +1 -1
  19. data/lib/fog/aws/requests/simpledb/get_attributes.rb +5 -5
  20. data/lib/fog/aws/requests/simpledb/list_domains.rb +2 -2
  21. data/lib/fog/aws/requests/simpledb/put_attributes.rb +6 -6
  22. data/lib/fog/aws/ses.rb +1 -0
  23. data/lib/fog/aws/simpledb.rb +8 -2
  24. data/lib/fog/bin.rb +2 -2
  25. data/lib/fog/cdn/aws.rb +8 -2
  26. data/lib/fog/cdn/rackspace.rb +8 -2
  27. data/lib/fog/compute/aws.rb +12 -3
  28. data/lib/fog/compute/bluebox.rb +8 -2
  29. data/lib/fog/compute/ecloud.rb +9 -4
  30. data/lib/fog/compute/go_grid.rb +8 -2
  31. data/lib/fog/compute/linode.rb +38 -6
  32. data/lib/fog/compute/models/aws/volumes.rb +4 -4
  33. data/lib/fog/compute/models/bluebox/server.rb +3 -3
  34. data/lib/fog/compute/models/brightbox/server.rb +9 -9
  35. data/lib/fog/compute/models/linode/data_center.rb +12 -0
  36. data/lib/fog/compute/models/linode/data_centers.rb +26 -0
  37. data/lib/fog/compute/models/linode/disk.rb +62 -0
  38. data/lib/fog/compute/models/linode/disks.rb +40 -0
  39. data/lib/fog/compute/models/linode/flavor.rb +23 -0
  40. data/lib/fog/compute/models/linode/flavors.rb +32 -0
  41. data/lib/fog/compute/models/linode/image.rb +14 -0
  42. data/lib/fog/compute/models/linode/images.rb +33 -0
  43. data/lib/fog/compute/models/linode/ip.rb +30 -0
  44. data/lib/fog/compute/models/linode/ips.rb +40 -0
  45. data/lib/fog/compute/models/linode/kernel.rb +12 -0
  46. data/lib/fog/compute/models/linode/kernels.rb +32 -0
  47. data/lib/fog/compute/models/linode/server.rb +88 -0
  48. data/lib/fog/compute/models/linode/servers.rb +32 -0
  49. data/lib/fog/compute/models/linode/stack_script.rb +13 -0
  50. data/lib/fog/compute/models/linode/stack_scripts.rb +32 -0
  51. data/lib/fog/compute/models/rackspace/server.rb +2 -2
  52. data/lib/fog/compute/models/slicehost/server.rb +2 -2
  53. data/lib/fog/compute/models/voxel/server.rb +3 -3
  54. data/lib/fog/compute/new_servers.rb +8 -2
  55. data/lib/fog/compute/rackspace.rb +8 -2
  56. data/lib/fog/compute/requests/aws/allocate_address.rb +4 -2
  57. data/lib/fog/compute/requests/aws/associate_address.rb +4 -2
  58. data/lib/fog/compute/requests/aws/attach_volume.rb +4 -2
  59. data/lib/fog/compute/requests/aws/authorize_security_group_ingress.rb +5 -3
  60. data/lib/fog/compute/requests/aws/create_image.rb +2 -1
  61. data/lib/fog/compute/requests/aws/create_key_pair.rb +4 -2
  62. data/lib/fog/compute/requests/aws/create_security_group.rb +5 -3
  63. data/lib/fog/compute/requests/aws/create_snapshot.rb +6 -4
  64. data/lib/fog/compute/requests/aws/create_tags.rb +7 -5
  65. data/lib/fog/compute/requests/aws/create_volume.rb +4 -2
  66. data/lib/fog/compute/requests/aws/delete_key_pair.rb +3 -1
  67. data/lib/fog/compute/requests/aws/delete_security_group.rb +4 -2
  68. data/lib/fog/compute/requests/aws/delete_snapshot.rb +3 -1
  69. data/lib/fog/compute/requests/aws/delete_tags.rb +5 -3
  70. data/lib/fog/compute/requests/aws/delete_volume.rb +4 -2
  71. data/lib/fog/compute/requests/aws/deregister_image.rb +2 -0
  72. data/lib/fog/compute/requests/aws/describe_addresses.rb +3 -1
  73. data/lib/fog/compute/requests/aws/describe_availability_zones.rb +2 -0
  74. data/lib/fog/compute/requests/aws/describe_images.rb +3 -1
  75. data/lib/fog/compute/requests/aws/describe_instances.rb +12 -10
  76. data/lib/fog/compute/requests/aws/describe_key_pairs.rb +3 -1
  77. data/lib/fog/compute/requests/aws/describe_regions.rb +2 -0
  78. data/lib/fog/compute/requests/aws/describe_reserved_instances.rb +2 -0
  79. data/lib/fog/compute/requests/aws/describe_reserved_instances_offerings.rb +2 -0
  80. data/lib/fog/compute/requests/aws/describe_security_groups.rb +3 -1
  81. data/lib/fog/compute/requests/aws/describe_snapshots.rb +5 -3
  82. data/lib/fog/compute/requests/aws/describe_tags.rb +2 -0
  83. data/lib/fog/compute/requests/aws/describe_volumes.rb +9 -7
  84. data/lib/fog/compute/requests/aws/detach_volume.rb +3 -1
  85. data/lib/fog/compute/requests/aws/disassociate_address.rb +4 -2
  86. data/lib/fog/compute/requests/aws/get_console_output.rb +3 -1
  87. data/lib/fog/compute/requests/aws/get_password_data.rb +15 -1
  88. data/lib/fog/compute/requests/aws/import_key_pair.rb +4 -2
  89. data/lib/fog/compute/requests/aws/modify_image_attributes.rb +4 -0
  90. data/lib/fog/compute/requests/aws/modify_snapshot_attribute.rb +4 -0
  91. data/lib/fog/compute/requests/aws/monitor_instances.rb +3 -1
  92. data/lib/fog/compute/requests/aws/reboot_instances.rb +4 -2
  93. data/lib/fog/compute/requests/aws/register_image.rb +4 -0
  94. data/lib/fog/compute/requests/aws/release_address.rb +3 -1
  95. data/lib/fog/compute/requests/aws/revoke_security_group_ingress.rb +3 -1
  96. data/lib/fog/compute/requests/aws/run_instances.rb +12 -6
  97. data/lib/fog/compute/requests/aws/start_instances.rb +2 -0
  98. data/lib/fog/compute/requests/aws/stop_instances.rb +2 -0
  99. data/lib/fog/compute/requests/aws/terminate_instances.rb +5 -3
  100. data/lib/fog/compute/requests/aws/unmonitor_instances.rb +3 -1
  101. data/lib/fog/compute/requests/go_grid/grid_image_get.rb +1 -1
  102. data/lib/fog/compute/requests/go_grid/grid_image_list.rb +1 -1
  103. data/lib/fog/compute/requests/linode/avail_datacenters.rb +1 -2
  104. data/lib/fog/compute/requests/linode/avail_distributions.rb +1 -2
  105. data/lib/fog/compute/requests/linode/avail_kernels.rb +6 -5
  106. data/lib/fog/compute/requests/linode/avail_linodeplans.rb +9 -3
  107. data/lib/fog/compute/requests/linode/avail_stackscripts.rb +3 -15
  108. data/lib/fog/compute/requests/linode/linode_boot.rb +15 -0
  109. data/lib/fog/compute/requests/linode/linode_config_create.rb +21 -0
  110. data/lib/fog/compute/requests/linode/linode_config_list.rb +18 -0
  111. data/lib/fog/compute/requests/linode/linode_create.rb +3 -4
  112. data/lib/fog/compute/requests/linode/linode_delete.rb +0 -1
  113. data/lib/fog/compute/requests/linode/linode_disk_create.rb +21 -0
  114. data/lib/fog/compute/requests/linode/linode_disk_createfromdistribution.rb +22 -0
  115. data/lib/fog/compute/requests/linode/linode_disk_createfromstackscript.rb +24 -0
  116. data/lib/fog/compute/requests/linode/linode_disk_delete.rb +19 -0
  117. data/lib/fog/compute/requests/linode/linode_disk_list.rb +19 -0
  118. data/lib/fog/compute/requests/linode/linode_ip_addprivate.rb +15 -0
  119. data/lib/fog/compute/requests/linode/linode_ip_list.rb +19 -0
  120. data/lib/fog/compute/requests/linode/linode_list.rb +0 -1
  121. data/lib/fog/compute/requests/linode/linode_reboot.rb +1 -2
  122. data/lib/fog/compute/requests/linode/linode_shutdown.rb +15 -0
  123. data/lib/fog/compute/requests/linode/linode_update.rb +15 -0
  124. data/lib/fog/compute/requests/linode/stackscript_list.rb +31 -0
  125. data/lib/fog/compute/requests/rackspace/confirm_resized_server.rb +3 -3
  126. data/lib/fog/compute/requests/rackspace/create_image.rb +2 -2
  127. data/lib/fog/compute/requests/rackspace/create_server.rb +2 -2
  128. data/lib/fog/compute/requests/rackspace/delete_image.rb +2 -2
  129. data/lib/fog/compute/requests/rackspace/delete_server.rb +2 -2
  130. data/lib/fog/compute/requests/rackspace/list_images_detail.rb +2 -2
  131. data/lib/fog/compute/requests/rackspace/list_servers_detail.rb +2 -2
  132. data/lib/fog/compute/requests/rackspace/resize_server.rb +4 -4
  133. data/lib/fog/compute/requests/rackspace/revert_resized_server.rb +4 -4
  134. data/lib/fog/compute/slicehost.rb +8 -2
  135. data/lib/fog/compute/storm_on_demand.rb +12 -1
  136. data/lib/fog/compute/voxel.rb +8 -2
  137. data/lib/fog/core/mock.rb +14 -1
  138. data/lib/fog/dns/aws.rb +8 -2
  139. data/lib/fog/dns/bluebox.rb +8 -2
  140. data/lib/fog/dns/dnsimple.rb +15 -3
  141. data/lib/fog/dns/linode.rb +8 -2
  142. data/lib/fog/dns/slicehost.rb +8 -2
  143. data/lib/fog/dns/zerigo.rb +8 -2
  144. data/lib/fog/providers/aws.rb +5 -10
  145. data/lib/fog/providers/linode.rb +0 -3
  146. data/lib/fog/storage.rb +6 -4
  147. data/lib/fog/storage/aws.rb +8 -2
  148. data/lib/fog/storage/google.rb +8 -2
  149. data/lib/fog/storage/local.rb +8 -2
  150. data/lib/fog/storage/models/aws/file.rb +0 -1
  151. data/lib/fog/storage/models/google/file.rb +1 -5
  152. data/lib/fog/storage/models/local/file.rb +1 -1
  153. data/lib/fog/storage/models/rackspace/file.rb +1 -5
  154. data/lib/fog/storage/rackspace.rb +8 -2
  155. data/lib/fog/storage/requests/aws/copy_object.rb +2 -2
  156. data/lib/fog/storage/requests/aws/delete_bucket.rb +3 -3
  157. data/lib/fog/storage/requests/aws/delete_object.rb +1 -1
  158. data/lib/fog/storage/requests/aws/get_bucket.rb +1 -1
  159. data/lib/fog/storage/requests/aws/get_bucket_acl.rb +1 -1
  160. data/lib/fog/storage/requests/aws/get_bucket_location.rb +1 -1
  161. data/lib/fog/storage/requests/aws/get_object.rb +1 -1
  162. data/lib/fog/storage/requests/aws/get_object_acl.rb +1 -1
  163. data/lib/fog/storage/requests/aws/get_request_payment.rb +1 -1
  164. data/lib/fog/storage/requests/aws/get_service.rb +1 -1
  165. data/lib/fog/storage/requests/aws/put_bucket.rb +3 -3
  166. data/lib/fog/storage/requests/aws/put_object.rb +3 -3
  167. data/lib/fog/storage/requests/aws/put_request_payment.rb +1 -1
  168. data/lib/fog/storage/requests/google/copy_object.rb +2 -2
  169. data/lib/fog/storage/requests/google/delete_bucket.rb +3 -3
  170. data/lib/fog/storage/requests/google/delete_object.rb +1 -1
  171. data/lib/fog/storage/requests/google/get_bucket.rb +1 -1
  172. data/lib/fog/storage/requests/google/get_bucket_acl.rb +1 -1
  173. data/lib/fog/storage/requests/google/get_object.rb +1 -1
  174. data/lib/fog/storage/requests/google/get_object_acl.rb +1 -1
  175. data/lib/fog/storage/requests/google/get_service.rb +2 -2
  176. data/lib/fog/storage/requests/google/put_bucket.rb +3 -3
  177. data/lib/fog/storage/requests/google/put_object.rb +3 -3
  178. data/lib/fog/terremark/requests/shared/get_network.rb +1 -1
  179. data/lib/fog/terremark/requests/shared/get_organization.rb +1 -1
  180. data/lib/fog/terremark/requests/shared/get_organizations.rb +1 -1
  181. data/lib/fog/terremark/requests/shared/get_public_ips.rb +1 -1
  182. data/lib/fog/terremark/requests/shared/get_vdc.rb +1 -1
  183. data/lib/fog/terremark/shared.rb +4 -0
  184. data/lib/fog/terremark/vcloud.rb +11 -1
  185. data/spec/ecloud/bin_spec.rb +8 -2
  186. data/spec/ecloud/spec_helper.rb +3 -3
  187. data/tests/compute/helper.rb +1 -3
  188. data/tests/compute/models/aws/server_tests.rb +3 -2
  189. data/tests/compute/requests/aws/instance_tests.rb +12 -9
  190. data/tests/compute/requests/aws/key_pair_tests.rb +1 -1
  191. data/tests/compute/requests/aws/volume_tests.rb +2 -2
  192. data/tests/compute/requests/brightbox/helper.rb +3 -0
  193. data/tests/compute/requests/linode/kernel_tests.rb +27 -0
  194. data/tests/compute/requests/linode/linode_tests.rb +62 -4
  195. data/tests/compute/requests/linode/stackscripts_tests.rb +35 -0
  196. data/tests/compute/requests/rackspace/resize_tests.rb +2 -2
  197. data/tests/compute/requests/voxel/server_tests.rb +1 -0
  198. data/tests/core/credential_tests.rb +7 -2
  199. data/tests/core/parser_tests.rb +1 -1
  200. data/tests/helper.rb +1 -1
  201. data/tests/helpers/compute/server_helper.rb +6 -0
  202. data/tests/helpers/formats_helper.rb +2 -0
  203. data/tests/helpers/mock_helper.rb +8 -1
  204. data/tests/helpers/model_helper.rb +1 -3
  205. data/tests/helpers/responds_to_helper.rb +2 -2
  206. data/tests/storage/helper.rb +1 -1
  207. data/tests/storage/models/directories_tests.rb +8 -4
  208. data/tests/storage/models/directory_test.rb +15 -11
  209. data/tests/storage/models/file_tests.rb +6 -6
  210. data/tests/storage/models/files_tests.rb +5 -5
  211. metadata +105 -55
@@ -54,6 +54,7 @@ module Fog
54
54
  class Mock
55
55
 
56
56
  def initialize(options={})
57
+ Fog::Mock.not_implemented
57
58
  end
58
59
 
59
60
  end
@@ -34,16 +34,16 @@ module Fog
34
34
 
35
35
  def batch_put_attributes(domain_name, items, replace_attributes = Hash.new([]))
36
36
  response = Excon::Response.new
37
- if @data[:domains][domain_name]
37
+ if self.data[:domains][domain_name]
38
38
  for item_name, attributes in items do
39
39
  for key, value in attributes do
40
- @data[:domains][domain_name][item_name] ||= {}
40
+ self.data[:domains][domain_name][item_name] ||= {}
41
41
  if replace_attributes[item_name] && replace_attributes[item_name].include?(key)
42
- @data[:domains][domain_name][item_name][key.to_s] = []
42
+ self.data[:domains][domain_name][item_name][key.to_s] = []
43
43
  else
44
- @data[:domains][domain_name][item_name][key.to_s] ||= []
44
+ self.data[:domains][domain_name][item_name][key.to_s] ||= []
45
45
  end
46
- @data[:domains][domain_name][item_name][key.to_s] << value.to_s
46
+ self.data[:domains][domain_name][item_name][key.to_s] << value.to_s
47
47
  end
48
48
  end
49
49
  response.status = 200
@@ -29,7 +29,7 @@ module Fog
29
29
 
30
30
  def create_domain(domain_name)
31
31
  response = Excon::Response.new
32
- @data[:domains][domain_name] = {}
32
+ self.data[:domains][domain_name] = {}
33
33
  response.status = 200
34
34
  response.body = {
35
35
  'BoxUsage' => Fog::AWS::Mock.box_usage,
@@ -37,11 +37,11 @@ module Fog
37
37
 
38
38
  def delete_attributes(domain_name, item_name, attributes = nil)
39
39
  response = Excon::Response.new
40
- if @data[:domains][domain_name]
40
+ if self.data[:domains][domain_name]
41
41
  if attributes
42
42
  for key, value in attributes
43
- if @data[:domains][domain_name][key]
44
- @data[:domains][domain_name][key].delete('value')
43
+ if self.data[:domains][domain_name][key]
44
+ self.data[:domains][domain_name][key].delete('value')
45
45
  end
46
46
  end
47
47
  end
@@ -29,7 +29,7 @@ module Fog
29
29
 
30
30
  def delete_domain(domain_name)
31
31
  response = Excon::Response.new
32
- if @data[:domains].delete(domain_name)
32
+ if self.data[:domains].delete(domain_name)
33
33
  response.status = 200
34
34
  response.body = {
35
35
  'BoxUsage' => Fog::AWS::Mock.box_usage,
@@ -38,7 +38,7 @@ module Fog
38
38
 
39
39
  def domain_metadata(domain_name)
40
40
  response = Excon::Response.new
41
- if domain = @data[:domains][domain_name]
41
+ if domain = self.data[:domains][domain_name]
42
42
  response.status = 200
43
43
 
44
44
  attribute_names = []
@@ -42,16 +42,16 @@ module Fog
42
42
 
43
43
  def get_attributes(domain_name, item_name, attributes = nil)
44
44
  response = Excon::Response.new
45
- if @data[:domains][domain_name]
45
+ if self.data[:domains][domain_name]
46
46
  object = {}
47
47
  if attributes
48
48
  for attribute in attributes
49
- if @data[:domains][domain_name][item_name] && @data[:domains][domain_name][item_name]
50
- object[attribute] = @data[:domains][domain_name][item_name][attribute]
49
+ if self.data[:domains][domain_name][item_name] && self.data[:domains][domain_name][item_name]
50
+ object[attribute] = self.data[:domains][domain_name][item_name][attribute]
51
51
  end
52
52
  end
53
- elsif @data[:domains][domain_name][item_name]
54
- object = @data[:domains][domain_name][item_name]
53
+ elsif self.data[:domains][domain_name][item_name]
54
+ object = self.data[:domains][domain_name][item_name]
55
55
  end
56
56
  response.status = 200
57
57
  response.body = {
@@ -34,11 +34,11 @@ module Fog
34
34
 
35
35
  def list_domains(options = {})
36
36
  response = Excon::Response.new
37
- keys = @data[:domains].keys
37
+ keys = self.data[:domains].keys
38
38
  max = options['MaxNumberOfDomains'] || keys.size
39
39
  offset = options['NextToken'] || 0
40
40
  domains = []
41
- for key, value in @data[:domains].keys[offset...max]
41
+ for key, value in self.data[:domains].keys[offset...max]
42
42
  domains << key
43
43
  end
44
44
  response.status = 200
@@ -43,20 +43,20 @@ module Fog
43
43
  options[:expect] = {} unless options[:expect]
44
44
  options[:replace] = [] unless options[:replace]
45
45
  response = Excon::Response.new
46
- if @data[:domains][domain_name]
46
+ if self.data[:domains][domain_name]
47
47
  options[:expect].each do |ck, cv|
48
- if @data[:domains][domain_name][item_name][ck] != [cv]
48
+ if self.data[:domains][domain_name][item_name][ck] != [cv]
49
49
  response.status = 409
50
50
  raise(Excon::Errors.status_error({:expects => 200}, response))
51
51
  end
52
52
  end
53
53
  attributes.each do |key, value|
54
- @data[:domains][domain_name][item_name] ||= {}
55
- @data[:domains][domain_name][item_name][key.to_s] = [] unless @data[:domains][domain_name][item_name][key.to_s]
54
+ self.data[:domains][domain_name][item_name] ||= {}
55
+ self.data[:domains][domain_name][item_name][key.to_s] = [] unless self.data[:domains][domain_name][item_name][key.to_s]
56
56
  if options[:replace].include?(key.to_s)
57
- @data[:domains][domain_name][item_name][key.to_s] = [*value].map {|x| x.to_s}
57
+ self.data[:domains][domain_name][item_name][key.to_s] = [*value].map {|x| x.to_s}
58
58
  else
59
- @data[:domains][domain_name][item_name][key.to_s] += [*value].map {|x| x.to_s}
59
+ self.data[:domains][domain_name][item_name][key.to_s] += [*value].map {|x| x.to_s}
60
60
  end
61
61
  end
62
62
  response.status = 200
@@ -17,6 +17,7 @@ module Fog
17
17
  class Mock
18
18
 
19
19
  def initialize(options={})
20
+ Fog::Mock.not_implemented
20
21
  end
21
22
 
22
23
  end
@@ -26,14 +26,20 @@ module Fog
26
26
  end
27
27
  end
28
28
 
29
+ def self.reset
30
+ @data = nil
31
+ end
32
+
29
33
  def initialize(options={})
30
34
  @aws_access_key_id = options[:aws_access_key_id]
31
- @data = self.class.data[@aws_access_key_id]
35
+ end
36
+
37
+ def data
38
+ self.class.data[@aws_access_key_id]
32
39
  end
33
40
 
34
41
  def reset_data
35
42
  self.class.data.delete(@aws_access_key_id)
36
- @data = self.class.data[@aws_access_key_id]
37
43
  end
38
44
 
39
45
  end
@@ -3,8 +3,8 @@ require 'fog/core/credentials'
3
3
  module Fog
4
4
  class << self
5
5
 
6
- def providers
7
- @providers.select {|provider| eval("::#{provider.to_s.split('::').last}").available?}
6
+ def available_providers
7
+ @providers.select {|provider| Kernel.const_get(provider).available?}
8
8
  end
9
9
 
10
10
  end
@@ -28,6 +28,10 @@ module Fog
28
28
  end
29
29
  end
30
30
 
31
+ def self.reset
32
+ @data = nil
33
+ end
34
+
31
35
  def initialize(options={})
32
36
  unless options.delete(:provider)
33
37
  location = caller.first
@@ -39,12 +43,14 @@ module Fog
39
43
  require 'mime/types'
40
44
  @aws_access_key_id = options[:aws_access_key_id]
41
45
  @region = options[:region]
42
- @data = self.class.data[@region][@aws_access_key_id]
46
+ end
47
+
48
+ def data
49
+ self.class.data[@region][@aws_access_key_id]
43
50
  end
44
51
 
45
52
  def reset_data
46
53
  self.class.data[@region].delete(@aws_access_key_id)
47
- @data = self.class.data[@region][@aws_access_key_id]
48
54
  end
49
55
 
50
56
  def signature(params)
@@ -22,6 +22,10 @@ module Fog
22
22
  end
23
23
  end
24
24
 
25
+ def self.reset
26
+ @data = nil
27
+ end
28
+
25
29
  def initialize(options={})
26
30
  unless options.delete(:provider)
27
31
  location = caller.first
@@ -31,12 +35,14 @@ module Fog
31
35
  end
32
36
 
33
37
  @rackspace_username = options[:rackspace_username]
34
- @data = self.class.data[@rackspace_username]
38
+ end
39
+
40
+ def data
41
+ self.class.data[@rackspace_username]
35
42
  end
36
43
 
37
44
  def reset_data
38
45
  self.class.data.delete(@rackspace_username)
39
- @data = self.class.data[@rackspace_username]
40
46
  end
41
47
 
42
48
  end
@@ -125,6 +125,10 @@ module Fog
125
125
  end
126
126
  end
127
127
 
128
+ def self.reset
129
+ @data = nil
130
+ end
131
+
128
132
  def initialize(options={})
129
133
  unless options.delete(:provider)
130
134
  location = caller.first
@@ -136,15 +140,20 @@ module Fog
136
140
  require 'fog/compute/parsers/aws/basic'
137
141
 
138
142
  @aws_access_key_id = options[:aws_access_key_id]
143
+
139
144
  @region = options[:region] || 'us-east-1'
140
145
 
141
- @data = self.class.data[@region][@aws_access_key_id]
142
- @owner_id = @data[:owner_id]
146
+ unless ['ap-northeast-1', 'ap-southeast-1', 'eu-west-1', 'us-east-1', 'us-west-1'].include?(@region)
147
+ raise ArgumentError, "Unknown region: #{@region.inspect}"
148
+ end
149
+ end
150
+
151
+ def data
152
+ self.class.data[@region][@aws_access_key_id]
143
153
  end
144
154
 
145
155
  def reset_data
146
156
  self.class.data[@region].delete(@aws_access_key_id)
147
- @data = self.class.data[@region][@aws_access_key_id]
148
157
  end
149
158
 
150
159
  def apply_tag_filters(resources, filters)
@@ -33,6 +33,10 @@ module Fog
33
33
  end
34
34
  end
35
35
 
36
+ def self.reset
37
+ @data = nil
38
+ end
39
+
36
40
  def initialize(options={})
37
41
  unless options.delete(:provider)
38
42
  location = caller.first
@@ -42,12 +46,14 @@ module Fog
42
46
  end
43
47
 
44
48
  @bluebox_api_key = options[:bluebox_api_key]
45
- @data = self.class.data[@bluebox_api_key]
49
+ end
50
+
51
+ def data
52
+ self.class.data[@bluebox_api_key]
46
53
  end
47
54
 
48
55
  def reset_data
49
56
  self.class.data.delete(@bluebox_api_key)
50
- @data = self.class.data[@bluebox_api_key]
51
57
  end
52
58
 
53
59
  end
@@ -959,10 +959,6 @@ module Fog
959
959
  "https://fakey.com/api/v0.8b-ext2.6"
960
960
  end
961
961
 
962
- def self.data_reset
963
- @mock_data = nil
964
- end
965
-
966
962
  def self.data( base_url = self.base_url )
967
963
  @mock_data ||= MockData.new.tap do |vcloud_mock_data|
968
964
  vcloud_mock_data.versions.clear
@@ -1065,6 +1061,15 @@ module Fog
1065
1061
  end
1066
1062
  end
1067
1063
 
1064
+ def self.reset
1065
+ @mock_data = nil
1066
+ end
1067
+
1068
+ def self.data_reset
1069
+ Formatador.display_line("[yellow][WARN] #{self} => #data_reset is deprecated, use #reset instead[/] [light_black](#{caller.first})[/]")
1070
+ self.reset
1071
+ end
1072
+
1068
1073
  def initialize(options = {})
1069
1074
  require 'builder'
1070
1075
  require 'fog/core/parser'
@@ -36,6 +36,10 @@ module Fog
36
36
  end
37
37
  end
38
38
 
39
+ def self.reset
40
+ @data = nil
41
+ end
42
+
39
43
  def initialize(options={})
40
44
  unless options.delete(:provider)
41
45
  location = caller.first
@@ -46,12 +50,14 @@ module Fog
46
50
 
47
51
  @go_grid_api_key = options[:go_grid_api_key]
48
52
  @go_grid_shared_secret = options[:go_grid_shared_secret]
49
- @data = self.class.data[@go_grid_api_key]
53
+ end
54
+
55
+ def data
56
+ self.class.data[@go_grid_api_key]
50
57
  end
51
58
 
52
59
  def reset_data
53
60
  self.class.data.delete(@go_grid_api_key)
54
- @data = self.class.data[@go_grid_api_key]
55
61
  end
56
62
 
57
63
  end
@@ -7,6 +7,22 @@ module Fog
7
7
  recognizes :provider # remove post deprecation
8
8
 
9
9
  model_path 'fog/compute/models/linode'
10
+ model :flavor
11
+ collection :flavors
12
+ model :image
13
+ collection :images
14
+ model :server
15
+ collection :servers
16
+ model :kernel
17
+ collection :kernels
18
+ model :data_center
19
+ collection :data_centers
20
+ model :stack_script
21
+ collection :stack_scripts
22
+ model :ip
23
+ collection :ips
24
+ model :disk
25
+ collection :disks
10
26
 
11
27
  request_path 'fog/compute/requests/linode'
12
28
  request :avail_datacenters
@@ -14,14 +30,24 @@ module Fog
14
30
  request :avail_kernels
15
31
  request :avail_linodeplans
16
32
  request :avail_stackscripts
17
- # request :linode_boot
33
+ request :linode_disk_create
34
+ request :linode_disk_list
35
+ request :linode_disk_delete
36
+ request :linode_disk_createfromdistribution
37
+ request :linode_disk_createfromstackscript
38
+ request :linode_ip_list
39
+ request :linode_ip_addprivate
40
+ request :linode_config_list
41
+ request :linode_config_create
18
42
  request :linode_create
19
43
  request :linode_delete
20
44
  request :linode_list
45
+ request :linode_boot
21
46
  request :linode_reboot
22
- # request :linode_resize
23
- # request :linode_shutdown
24
- # request :linode_update
47
+ request :linode_shutdown
48
+ request :linode_update
49
+ request :stackscript_list
50
+ # request :linode_resize
25
51
 
26
52
  class Mock
27
53
 
@@ -31,6 +57,10 @@ module Fog
31
57
  end
32
58
  end
33
59
 
60
+ def self.reset
61
+ @data = nil
62
+ end
63
+
34
64
  def initialize(options={})
35
65
  unless options.delete(:provider)
36
66
  location = caller.first
@@ -40,12 +70,14 @@ module Fog
40
70
  end
41
71
 
42
72
  @linode_api_key = options[:linode_api_key]
43
- @data = self.class.data[@linode_api_key]
73
+ end
74
+
75
+ def data
76
+ self.class.data[@linode_api_key]
44
77
  end
45
78
 
46
79
  def reset_data
47
80
  self.class.data.delete(@linode_api_key)
48
- @data = self.class.data[@linode_api_key]
49
81
  end
50
82
 
51
83
  end
@@ -13,7 +13,7 @@ module Fog
13
13
  model Fog::AWS::Compute::Volume
14
14
 
15
15
  # Used to create a volume. There are 3 arguments and availability_zone and size are required. You can generate a new key_pair as follows:
16
- # AWS.volumes.create(:availability_zone => 'us-east-1a', :size => 't1.micro')
16
+ # AWS.volumes.create(:availability_zone => 'us-east-1a', :size => 10)
17
17
  #
18
18
  # ==== Returns
19
19
  #
@@ -25,7 +25,7 @@ module Fog
25
25
  # delete_on_termination=nil,
26
26
  # device=nil,
27
27
  # server_id=nil,
28
- # size="t1.micro",
28
+ # size=10,
29
29
  # snapshot_id=nil,
30
30
  # state="creating",
31
31
  # tags=nil
@@ -53,7 +53,7 @@ module Fog
53
53
  # delete_on_termination=nil,
54
54
  # device=nil,
55
55
  # server_id=nil,
56
- # size="t1.micro",
56
+ # size=10,
57
57
  # snapshot_id=nil,
58
58
  # state="creating",
59
59
  # tags=nil
@@ -93,7 +93,7 @@ module Fog
93
93
  # delete_on_termination=nil,
94
94
  # device=nil,
95
95
  # server_id=nil,
96
- # size="t1.micro",
96
+ # size=10,
97
97
  # snapshot_id=nil,
98
98
  # state="available",
99
99
  # tags={}