fog 1.32.0 → 1.33.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 (204) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/Gemfile +1 -0
  4. data/Rakefile +4 -4
  5. data/fog.gemspec +3 -2
  6. data/lib/fog/linode/requests/compute/avail_datacenters.rb +8 -7
  7. data/lib/fog/openstack.rb +1 -0
  8. data/lib/fog/openstack/compute.rb +7 -1
  9. data/lib/fog/openstack/core.rb +28 -54
  10. data/lib/fog/openstack/identity.rb +1 -0
  11. data/lib/fog/openstack/identity_v3.rb +10 -9
  12. data/lib/fog/openstack/models/baremetal/chassis.rb +3 -14
  13. data/lib/fog/openstack/models/baremetal/chassis_collection.rb +5 -5
  14. data/lib/fog/openstack/models/baremetal/driver.rb +2 -8
  15. data/lib/fog/openstack/models/baremetal/drivers.rb +3 -5
  16. data/lib/fog/openstack/models/baremetal/node.rb +3 -14
  17. data/lib/fog/openstack/models/baremetal/nodes.rb +4 -4
  18. data/lib/fog/openstack/models/baremetal/port.rb +3 -14
  19. data/lib/fog/openstack/models/baremetal/ports.rb +4 -4
  20. data/lib/fog/openstack/models/collection.rb +45 -0
  21. data/lib/fog/openstack/models/compute/address.rb +2 -2
  22. data/lib/fog/openstack/models/compute/addresses.rb +3 -5
  23. data/lib/fog/openstack/models/compute/aggregate.rb +2 -8
  24. data/lib/fog/openstack/models/compute/aggregates.rb +3 -5
  25. data/lib/fog/openstack/models/compute/availability_zone.rb +14 -0
  26. data/lib/fog/openstack/models/compute/availability_zones.rb +22 -0
  27. data/lib/fog/openstack/models/compute/flavor.rb +2 -8
  28. data/lib/fog/openstack/models/compute/flavors.rb +6 -6
  29. data/lib/fog/openstack/models/compute/host.rb +1 -1
  30. data/lib/fog/openstack/models/compute/hosts.rb +4 -6
  31. data/lib/fog/openstack/models/compute/image.rb +2 -8
  32. data/lib/fog/openstack/models/compute/images.rb +4 -6
  33. data/lib/fog/openstack/models/compute/key_pair.rb +2 -2
  34. data/lib/fog/openstack/models/compute/key_pairs.rb +3 -4
  35. data/lib/fog/openstack/models/compute/metadata.rb +3 -2
  36. data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
  37. data/lib/fog/openstack/models/compute/network.rb +2 -2
  38. data/lib/fog/openstack/models/compute/networks.rb +3 -2
  39. data/lib/fog/openstack/models/compute/security_group.rb +2 -2
  40. data/lib/fog/openstack/models/compute/security_group_rule.rb +2 -2
  41. data/lib/fog/openstack/models/compute/security_group_rules.rb +2 -2
  42. data/lib/fog/openstack/models/compute/security_groups.rb +3 -5
  43. data/lib/fog/openstack/models/compute/server.rb +20 -1
  44. data/lib/fog/openstack/models/compute/servers.rb +9 -5
  45. data/lib/fog/openstack/models/compute/service.rb +2 -8
  46. data/lib/fog/openstack/models/compute/services.rb +4 -4
  47. data/lib/fog/openstack/models/compute/snapshot.rb +2 -8
  48. data/lib/fog/openstack/models/compute/snapshots.rb +5 -5
  49. data/lib/fog/openstack/models/compute/tenant.rb +2 -2
  50. data/lib/fog/openstack/models/compute/tenants.rb +3 -4
  51. data/lib/fog/openstack/models/compute/volume.rb +2 -8
  52. data/lib/fog/openstack/models/compute/volumes.rb +5 -5
  53. data/lib/fog/openstack/models/identity_v2/ec2_credential.rb +3 -9
  54. data/lib/fog/openstack/models/identity_v2/ec2_credentials.rb +3 -5
  55. data/lib/fog/openstack/models/identity_v2/role.rb +3 -3
  56. data/lib/fog/openstack/models/identity_v2/roles.rb +3 -5
  57. data/lib/fog/openstack/models/identity_v2/tenant.rb +5 -9
  58. data/lib/fog/openstack/models/identity_v2/tenants.rb +3 -5
  59. data/lib/fog/openstack/models/identity_v2/user.rb +2 -8
  60. data/lib/fog/openstack/models/identity_v2/users.rb +3 -5
  61. data/lib/fog/openstack/models/identity_v3/domain.rb +5 -9
  62. data/lib/fog/openstack/models/identity_v3/domains.rb +3 -5
  63. data/lib/fog/openstack/models/identity_v3/endpoint.rb +5 -9
  64. data/lib/fog/openstack/models/identity_v3/endpoints.rb +3 -5
  65. data/lib/fog/openstack/models/identity_v3/group.rb +5 -9
  66. data/lib/fog/openstack/models/identity_v3/groups.rb +3 -5
  67. data/lib/fog/openstack/models/identity_v3/os_credential.rb +3 -3
  68. data/lib/fog/openstack/models/identity_v3/os_credentials.rb +3 -5
  69. data/lib/fog/openstack/models/identity_v3/policies.rb +3 -5
  70. data/lib/fog/openstack/models/identity_v3/policy.rb +5 -9
  71. data/lib/fog/openstack/models/identity_v3/project.rb +5 -8
  72. data/lib/fog/openstack/models/identity_v3/projects.rb +21 -10
  73. data/lib/fog/openstack/models/identity_v3/role.rb +3 -8
  74. data/lib/fog/openstack/models/identity_v3/role_assignment.rb +3 -3
  75. data/lib/fog/openstack/models/identity_v3/role_assignments.rb +3 -5
  76. data/lib/fog/openstack/models/identity_v3/roles.rb +3 -5
  77. data/lib/fog/openstack/models/identity_v3/service.rb +3 -3
  78. data/lib/fog/openstack/models/identity_v3/services.rb +3 -5
  79. data/lib/fog/openstack/models/identity_v3/token.rb +3 -3
  80. data/lib/fog/openstack/models/identity_v3/tokens.rb +3 -3
  81. data/lib/fog/openstack/models/identity_v3/user.rb +3 -9
  82. data/lib/fog/openstack/models/identity_v3/users.rb +3 -5
  83. data/lib/fog/openstack/models/image/image.rb +2 -13
  84. data/lib/fog/openstack/models/image/images.rb +5 -5
  85. data/lib/fog/openstack/models/metering/resource.rb +2 -7
  86. data/lib/fog/openstack/models/metering/resources.rb +3 -3
  87. data/lib/fog/openstack/models/model.rb +44 -0
  88. data/lib/fog/openstack/models/network/floating_ip.rb +2 -7
  89. data/lib/fog/openstack/models/network/floating_ips.rb +3 -5
  90. data/lib/fog/openstack/models/network/lb_health_monitor.rb +2 -12
  91. data/lib/fog/openstack/models/network/lb_health_monitors.rb +3 -5
  92. data/lib/fog/openstack/models/network/lb_member.rb +2 -12
  93. data/lib/fog/openstack/models/network/lb_members.rb +3 -5
  94. data/lib/fog/openstack/models/network/lb_pool.rb +2 -12
  95. data/lib/fog/openstack/models/network/lb_pools.rb +3 -5
  96. data/lib/fog/openstack/models/network/lb_vip.rb +2 -12
  97. data/lib/fog/openstack/models/network/lb_vips.rb +3 -5
  98. data/lib/fog/openstack/models/network/network.rb +2 -12
  99. data/lib/fog/openstack/models/network/networks.rb +3 -5
  100. data/lib/fog/openstack/models/network/port.rb +2 -13
  101. data/lib/fog/openstack/models/network/ports.rb +3 -5
  102. data/lib/fog/openstack/models/network/router.rb +2 -13
  103. data/lib/fog/openstack/models/network/routers.rb +3 -5
  104. data/lib/fog/openstack/models/network/security_group.rb +2 -2
  105. data/lib/fog/openstack/models/network/security_group_rule.rb +2 -2
  106. data/lib/fog/openstack/models/network/security_group_rules.rb +3 -5
  107. data/lib/fog/openstack/models/network/security_groups.rb +3 -5
  108. data/lib/fog/openstack/models/network/subnet.rb +3 -14
  109. data/lib/fog/openstack/models/network/subnets.rb +3 -5
  110. data/lib/fog/openstack/models/orchestration/event.rb +2 -2
  111. data/lib/fog/openstack/models/orchestration/events.rb +5 -7
  112. data/lib/fog/openstack/models/orchestration/resource.rb +2 -2
  113. data/lib/fog/openstack/models/orchestration/resource_schemas.rb +2 -2
  114. data/lib/fog/openstack/models/orchestration/resources.rb +3 -5
  115. data/lib/fog/openstack/models/orchestration/stack.rb +3 -7
  116. data/lib/fog/openstack/models/orchestration/stacks.rb +5 -5
  117. data/lib/fog/openstack/models/orchestration/template.rb +2 -2
  118. data/lib/fog/openstack/models/orchestration/templates.rb +1 -1
  119. data/lib/fog/openstack/models/planning/plan.rb +2 -13
  120. data/lib/fog/openstack/models/planning/plans.rb +3 -5
  121. data/lib/fog/openstack/models/planning/role.rb +2 -8
  122. data/lib/fog/openstack/models/planning/roles.rb +3 -6
  123. data/lib/fog/openstack/models/storage/directories.rb +4 -6
  124. data/lib/fog/openstack/models/storage/directory.rb +2 -2
  125. data/lib/fog/openstack/models/storage/file.rb +15 -2
  126. data/lib/fog/openstack/models/storage/files.rb +7 -8
  127. data/lib/fog/openstack/models/volume/availability_zone.rb +13 -0
  128. data/lib/fog/openstack/models/volume/availability_zones.rb +17 -0
  129. data/lib/fog/openstack/models/volume/transfer.rb +36 -0
  130. data/lib/fog/openstack/models/volume/transfers.rb +38 -0
  131. data/lib/fog/openstack/models/volume/volume.rb +9 -8
  132. data/lib/fog/openstack/models/volume/volume_type.rb +2 -8
  133. data/lib/fog/openstack/models/volume/volume_types.rb +3 -6
  134. data/lib/fog/openstack/models/volume/volumes.rb +5 -6
  135. data/lib/fog/openstack/requests/compute/list_servers.rb +8 -5
  136. data/lib/fog/openstack/requests/compute/list_servers_detail.rb +9 -6
  137. data/lib/fog/openstack/requests/compute/list_zones.rb +6 -5
  138. data/lib/fog/openstack/requests/compute/list_zones_detailed.rb +55 -0
  139. data/lib/fog/openstack/requests/compute/shelve_offload_server.rb +24 -0
  140. data/lib/fog/openstack/requests/compute/shelve_server.rb +24 -0
  141. data/lib/fog/openstack/requests/compute/unshelve_server.rb +24 -0
  142. data/lib/fog/openstack/requests/identity_v3/get_project.rb +2 -2
  143. data/lib/fog/openstack/requests/network/create_subnet.rb +1 -1
  144. data/lib/fog/openstack/requests/network/update_subnet.rb +8 -7
  145. data/lib/fog/openstack/requests/volume/accept_transfer.rb +24 -0
  146. data/lib/fog/openstack/requests/volume/create_transfer.rb +27 -0
  147. data/lib/fog/openstack/requests/volume/delete_transfer.rb +17 -0
  148. data/lib/fog/openstack/requests/volume/extend_volume.rb +25 -0
  149. data/lib/fog/openstack/requests/volume/get_transfer_details.rb +17 -0
  150. data/lib/fog/openstack/requests/volume/list_transfers.rb +18 -0
  151. data/lib/fog/openstack/requests/volume/list_transfers_detailed.rb +18 -0
  152. data/lib/fog/openstack/requests/volume/list_zones.rb +32 -0
  153. data/lib/fog/openstack/storage.rb +3 -1
  154. data/lib/fog/openstack/volume.rb +16 -0
  155. data/lib/fog/rackspace/examples/compute_v2/create_network.rb +1 -1
  156. data/lib/fog/vcloud_director/generators/compute/edge_gateway_service_configuration.rb +31 -30
  157. data/lib/fog/vcloud_director/models/compute/task.rb +2 -2
  158. data/lib/fog/version.rb +1 -1
  159. data/lib/fog/vsphere/compute.rb +1 -0
  160. data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +1 -1
  161. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +4 -3
  162. data/lib/fog/vsphere/requests/compute/list_clusters.rb +1 -1
  163. data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +2 -2
  164. data/lib/fog/vsphere/requests/compute/vm_clone.rb +101 -30
  165. data/lib/fog/vsphere/requests/compute/vm_execute.rb +47 -0
  166. data/lib/tasks/changelog_task.rb +1 -0
  167. data/spec/fog/openstack/identity_v3/{idv3.yml → common_setup.yml} +0 -0
  168. data/spec/fog/openstack/identity_v3/idv3_project_hier_crud_list.yml +1394 -0
  169. data/spec/fog/openstack/identity_v3_spec.rb +255 -196
  170. data/spec/fog/openstack/network/common_setup.yml +131 -0
  171. data/spec/fog/openstack/network/subnets_crud.yml +140 -0
  172. data/spec/fog/openstack/network_spec.rb +43 -0
  173. data/spec/fog/openstack/shared_context.rb +98 -0
  174. data/spec/fog/openstack/volume/{volume_common_setup.yml → common_setup.yml} +0 -0
  175. data/spec/fog/openstack/volume/volume_extend.yml +762 -0
  176. data/spec/fog/openstack/volume/volume_transfer_and_accept.yml +1078 -0
  177. data/spec/fog/openstack/volume/volume_transfer_and_delete.yml +695 -0
  178. data/spec/fog/openstack/volume_spec.rb +232 -67
  179. data/tests/openstack/models/storage/file_tests.rb +26 -0
  180. data/tests/openstack/requests/compute/availability_zone_tests.rb +18 -0
  181. data/tests/openstack/requests/compute/server_tests.rb +12 -0
  182. data/tests/openstack/requests/network/subnet_tests.rb +2 -2
  183. data/tests/openstack/requests/volume/availability_zone_tests.rb +13 -0
  184. data/tests/vcloud_director/requests/compute/edge_gateway_tests.rb +2 -2
  185. metadata +61 -26
  186. data/lib/fog/dynect.rb +0 -1
  187. data/lib/fog/dynect/core.rb +0 -26
  188. data/lib/fog/dynect/dns.rb +0 -157
  189. data/lib/fog/dynect/models/dns/record.rb +0 -67
  190. data/lib/fog/dynect/models/dns/records.rb +0 -48
  191. data/lib/fog/dynect/models/dns/zone.rb +0 -56
  192. data/lib/fog/dynect/models/dns/zones.rb +0 -25
  193. data/lib/fog/dynect/requests/dns/delete_record.rb +0 -55
  194. data/lib/fog/dynect/requests/dns/delete_zone.rb +0 -41
  195. data/lib/fog/dynect/requests/dns/get_all_records.rb +0 -56
  196. data/lib/fog/dynect/requests/dns/get_node_list.rb +0 -55
  197. data/lib/fog/dynect/requests/dns/get_record.rb +0 -83
  198. data/lib/fog/dynect/requests/dns/get_zone.rb +0 -57
  199. data/lib/fog/dynect/requests/dns/post_record.rb +0 -71
  200. data/lib/fog/dynect/requests/dns/post_session.rb +0 -43
  201. data/lib/fog/dynect/requests/dns/post_zone.rb +0 -70
  202. data/lib/fog/dynect/requests/dns/put_record.rb +0 -76
  203. data/lib/fog/dynect/requests/dns/put_zone.rb +0 -76
  204. data/tests/dynect/requests/dns/dns_tests.rb +0 -258
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/compute/image'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class Images < Fog::Collection
7
+ class Images < Fog::OpenStack::Collection
8
8
  attribute :filters
9
9
 
10
10
  model Fog::Compute::OpenStack::Image
@@ -18,16 +18,14 @@ module Fog
18
18
 
19
19
  def all(filters_arg = filters)
20
20
  filters = filters_arg
21
- data = service.list_images_detail(filters).body['images']
22
- images = load(data)
21
+ data = service.list_images_detail(filters)
22
+ images = load_response(data, 'images')
23
23
  if server
24
24
  self.replace(self.select {|image| image.server_id == server.id})
25
25
  end
26
26
  images
27
27
  end
28
28
 
29
- alias_method :summary, :all
30
-
31
29
  def get(image_id)
32
30
  data = service.get_image_details(image_id).body['image']
33
31
  new(data)
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Compute
5
5
  class OpenStack
6
- class KeyPair < Fog::Model
6
+ class KeyPair < Fog::OpenStack::Model
7
7
  identity :name
8
8
 
9
9
  attribute :fingerprint
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/compute/key_pair'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class KeyPairs < Fog::Collection
7
+ class KeyPairs < Fog::OpenStack::Collection
8
8
  model Fog::Compute::OpenStack::KeyPair
9
9
 
10
10
  def all(options = {})
@@ -12,11 +12,10 @@ module Fog
12
12
  service.list_key_pairs(options).body['keypairs'].each do |kp|
13
13
  items = items + kp.values
14
14
  end
15
+ # TODO convert to load_response?
15
16
  load(items)
16
17
  end
17
18
 
18
- alias_method :summary, :all
19
-
20
19
  def get(key_pair_name)
21
20
  if key_pair_name
22
21
  self.all.select {|kp| kp.name == key_pair_name}.first
@@ -1,4 +1,4 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/meta_parent'
3
3
  require 'fog/openstack/models/compute/metadatum'
4
4
  require 'fog/openstack/models/compute/image'
@@ -7,7 +7,7 @@ require 'fog/openstack/models/compute/server'
7
7
  module Fog
8
8
  module Compute
9
9
  class OpenStack
10
- class Metadata < Fog::Collection
10
+ class Metadata < Fog::OpenStack::Collection
11
11
  model Fog::Compute::OpenStack::Metadatum
12
12
 
13
13
  include Fog::Compute::OpenStack::MetaParent
@@ -17,6 +17,7 @@ module Fog
17
17
  metadata = service.list_metadata(collection_name, @parent.id).body['metadata']
18
18
  metas = []
19
19
  metadata.each_pair {|k,v| metas << {"key" => k, "value" => v} } unless metadata.nil?
20
+ # TODO convert to load_response?
20
21
  load(metas)
21
22
  end
22
23
 
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
  require 'fog/openstack/models/meta_parent'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class Metadatum < Fog::Model
7
+ class Metadatum < Fog::OpenStack::Model
8
8
  include Fog::Compute::OpenStack::MetaParent
9
9
 
10
10
  identity :key
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Compute
5
5
  class OpenStack
6
- class Network < Fog::Model
6
+ class Network < Fog::OpenStack::Model
7
7
  identity :id
8
8
  attribute :name
9
9
  attribute :addresses
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/compute/network'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class Networks < Fog::Collection
7
+ class Networks < Fog::OpenStack::Collection
8
8
  model Fog::Compute::OpenStack::Network
9
9
 
10
10
  attribute :server
@@ -21,6 +21,7 @@ module Fog
21
21
  }
22
22
  end
23
23
 
24
+ # TODO convert to load_response?
24
25
  load(networks)
25
26
  end
26
27
  end # class Networks
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Compute
5
5
  class OpenStack
6
- class SecurityGroup < Fog::Model
6
+ class SecurityGroup < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :name
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Compute
5
5
  class OpenStack
6
- class SecurityGroupRule < Fog::Model
6
+ class SecurityGroupRule < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :from_port
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/compute/security_group_rule'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class SecurityGroupRules < Fog::Collection
7
+ class SecurityGroupRules < Fog::OpenStack::Collection
8
8
  model Fog::Compute::OpenStack::SecurityGroupRule
9
9
 
10
10
  def get(security_group_rule_id)
@@ -1,18 +1,16 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/compute/security_group'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class SecurityGroups < Fog::Collection
7
+ class SecurityGroups < Fog::OpenStack::Collection
8
8
  model Fog::Compute::OpenStack::SecurityGroup
9
9
 
10
10
  def all(options = {})
11
- load(service.list_security_groups(options).body['security_groups'])
11
+ load_response(service.list_security_groups(options), 'security_groups')
12
12
  end
13
13
 
14
- alias_method :summary, :all
15
-
16
14
  def get(security_group_id)
17
15
  if security_group_id
18
16
  new(service.get_security_group(security_group_id).body['security_group'])
@@ -52,6 +52,10 @@ module Fog
52
52
  attr_writer :image_ref, :flavor_ref, :nics, :os_scheduler_hints
53
53
  attr_accessor :block_device_mapping, :block_device_mapping_v2
54
54
 
55
+ # In some cases it's handy to be able to store the project for the record, e.g. swift doesn't contain project info
56
+ # in the result, so we can track it in this attribute based on what project was used in the request
57
+ attr_accessor :project
58
+
55
59
  def initialize(attributes={})
56
60
  # Old 'connection' is renamed as service and should be used instead
57
61
  prepare_service_value(attributes)
@@ -84,7 +88,7 @@ module Fog
84
88
  end
85
89
 
86
90
  def user_data=(ascii_userdata)
87
- self.user_data_encoded = [ascii_userdata].pack('m')
91
+ self.user_data_encoded = [ascii_userdata].pack('m') if ascii_userdata
88
92
  end
89
93
 
90
94
  def destroy
@@ -253,6 +257,21 @@ module Fog
253
257
  end
254
258
  end
255
259
 
260
+ def shelve
261
+ requires :id
262
+ service.shelve_server(id)
263
+ end
264
+
265
+ def unshelve
266
+ requires :id
267
+ service.unshelve_server(id)
268
+ end
269
+
270
+ def shelve_offload
271
+ requires :id
272
+ service.shelve_offload_server(id)
273
+ end
274
+
256
275
  def create_image(name, metadata={})
257
276
  requires :id
258
277
  service.create_image(id, name, metadata)
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/compute/server'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class Servers < Fog::Collection
7
+ class Servers < Fog::OpenStack::Collection
8
8
  attribute :filters
9
9
 
10
10
  model Fog::Compute::OpenStack::Server
@@ -16,11 +16,15 @@ module Fog
16
16
 
17
17
  def all(filters_arg = filters)
18
18
  filters = filters_arg
19
- data = service.list_servers_detail(filters).body['servers']
20
- load(data)
19
+ data = service.list_servers_detail(filters)
20
+ load_response(data, 'servers')
21
21
  end
22
22
 
23
- alias_method :summary, :all
23
+ def summary(filters_arg = filters)
24
+ filters = filters_arg
25
+ data = service.list_servers(filters)
26
+ load_response(data, 'servers')
27
+ end
24
28
 
25
29
  # Creates a new server and populates ssh keys
26
30
  # @return [Fog::Compute::OpenStack::Server]
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Compute
5
5
  class OpenStack
6
- class Service < Fog::Model
6
+ class Service < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :binary
@@ -16,12 +16,6 @@ module Fog
16
16
  #detailed
17
17
  attribute :disabled_reason
18
18
 
19
- def initialize(attributes)
20
- # Old 'connection' is renamed as service and should be used instead
21
- prepare_service_value(attributes)
22
- super
23
- end
24
-
25
19
  def enable
26
20
  requires :binary, :host
27
21
  service.enable_service(self.host, self.binary)
@@ -1,21 +1,21 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/compute/service'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class Services < Fog::Collection
7
+ class Services < Fog::OpenStack::Collection
8
8
  model Fog::Compute::OpenStack::Service
9
9
 
10
10
  def all(options = {})
11
- load(service.list_services(options).body['services'])
11
+ load_response(service.list_services(options), 'services')
12
12
  end
13
13
 
14
14
  alias_method :summary, :all
15
15
 
16
16
  def details(options = {})
17
17
  Fog::Logger.deprecation('Calling OpenStack[:compute].services.details is deprecated, use .services.all')
18
- load(service.list_services(options).body['services'])
18
+ all(options)
19
19
  end
20
20
  end
21
21
  end
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
  require 'fog/openstack/models/compute/metadata'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class Snapshot < Fog::Model
7
+ class Snapshot < Fog::OpenStack::Model
8
8
  identity :id
9
9
 
10
10
  attribute :name, :aliases => 'displayName'
@@ -14,12 +14,6 @@ module Fog
14
14
  attribute :size
15
15
  attribute :created_at, :aliases => 'createdAt'
16
16
 
17
- def initialize(attributes)
18
- # Old 'connection' is renamed as service and should be used instead
19
- prepare_service_value(attributes)
20
- super
21
- end
22
-
23
17
  def save(force=false)
24
18
  requires :volume_id, :name, :description
25
19
  data = service.create_volume_snapshot(volume_id, name, description, force)
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/compute/snapshot'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class Snapshots < Fog::Collection
7
+ class Snapshots < Fog::OpenStack::Collection
8
8
  model Fog::Compute::OpenStack::Snapshot
9
9
 
10
10
  def all(options = {})
@@ -14,14 +14,14 @@ module Fog
14
14
  else
15
15
  Fog::Logger.deprecation('Calling OpenStack[:compute].snapshots.all(false) is deprecated, use .snapshots.summary')
16
16
  end
17
- load(service.list_snapshots(options).body['snapshots'])
17
+ load_response(service.list_snapshots(options), 'snapshots')
18
18
  else
19
- load(service.list_snapshots_detail(options).body['snapshots'])
19
+ load_response(service.list_snapshots_detail(options), 'snapshots')
20
20
  end
21
21
  end
22
22
 
23
23
  def summary(options = {})
24
- load(service.list_snapshots(options).body['snapshots'])
24
+ load_response(service.list_snapshots(options), 'snapshots')
25
25
  end
26
26
 
27
27
  def get(snapshot_id)
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Compute
5
5
  class OpenStack
6
- class Tenant < Fog::Model
6
+ class Tenant < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :description
@@ -1,14 +1,14 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/compute/tenant'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class Tenants < Fog::Collection
7
+ class Tenants < Fog::OpenStack::Collection
8
8
  model Fog::Compute::OpenStack::Tenant
9
9
 
10
10
  def all
11
- load(service.list_tenants.body['tenants'])
11
+ load_response(service.list_tenants, 'tenants')
12
12
  end
13
13
 
14
14
  def usages(start_date = nil, end_date = nil, details = false)
@@ -18,7 +18,6 @@ module Fog
18
18
  def get(id)
19
19
  self.find {|tenant| tenant.id == id}
20
20
  end
21
- alias_method :find_by_id, :get
22
21
 
23
22
  end # class Tenants
24
23
  end # class OpenStack
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
  require 'fog/openstack/models/compute/metadata'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class OpenStack
7
- class Volume < Fog::Model
7
+ class Volume < Fog::OpenStack::Model
8
8
  identity :id
9
9
 
10
10
  attribute :name, :aliases => 'displayName'
@@ -17,12 +17,6 @@ module Fog
17
17
  attribute :created_at, :aliases => 'createdAt'
18
18
  attribute :attachments
19
19
 
20
- def initialize(attributes)
21
- # Old 'connection' is renamed as service and should be used instead
22
- prepare_service_value(attributes)
23
- super
24
- end
25
-
26
20
  def save
27
21
  requires :name, :description, :size
28
22
  data = service.create_volume(name, description, size, attributes)