fog 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
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={}