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,24 +1,24 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/image/image'
3
3
 
4
4
  module Fog
5
5
  module Image
6
6
  class OpenStack
7
- class Images < Fog::Collection
7
+ class Images < Fog::OpenStack::Collection
8
8
  model Fog::Image::OpenStack::Image
9
9
 
10
10
  def all(options = {})
11
- load(service.list_public_images_detailed(options).body['images'])
11
+ load_response(service.list_public_images_detailed(options), 'images')
12
12
  end
13
13
 
14
14
  def summary(options = {})
15
- load(service.list_public_images(options).body['images'])
15
+ load_response(service.list_public_images(options), 'images')
16
16
  end
17
17
 
18
18
  def details(options = {}, deprecated_query = nil)
19
19
  Fog::Logger.deprecation("Calling OpenStack[:glance].images.details will be removed, "\
20
20
  " call .images.all for detailed list.")
21
- load(service.list_public_images_detailed(options, deprecated_query).body['images'])
21
+ load_response(service.list_public_images_detailed(options, deprecated_query), 'images')
22
22
  end
23
23
 
24
24
  def find_by_id(id)
@@ -1,19 +1,14 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Metering
5
5
  class OpenStack
6
- class Resource < Fog::Model
6
+ class Resource < Fog::OpenStack::Model
7
7
  identity :resource_id
8
8
 
9
9
  attribute :project_id
10
10
  attribute :user_id
11
11
  attribute :metadata
12
-
13
- def initialize(attributes)
14
- prepare_service_value(attributes)
15
- super
16
- end
17
12
  end
18
13
  end
19
14
  end
@@ -1,14 +1,14 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/metering/resource'
3
3
 
4
4
  module Fog
5
5
  module Metering
6
6
  class OpenStack
7
- class Resources < Fog::Collection
7
+ class Resources < Fog::OpenStack::Collection
8
8
  model Fog::Metering::OpenStack::Resource
9
9
 
10
10
  def all(detailed=true)
11
- load(service.list_resources.body)
11
+ load_response(service.list_resources)
12
12
  end
13
13
 
14
14
  def find_by_id(resource_id)
@@ -0,0 +1,44 @@
1
+ require 'fog/core/model'
2
+
3
+ module Fog
4
+ module OpenStack
5
+ class Model < Fog::Model
6
+ # In some cases it's handy to be able to store the project for the record, e.g. swift doesn't contain project info
7
+ # in the result, so we can track it in this attribute based on what project was used in the request
8
+ attr_accessor :project
9
+
10
+ ##################################################################################################################
11
+ # Abstract base class methods, please keep the consistent naming in all subclasses of the Model class
12
+
13
+ # Initialize a record
14
+ def initialize(attributes)
15
+ # Old 'connection' is renamed as service and should be used instead
16
+ prepare_service_value(attributes)
17
+ super
18
+ end
19
+
20
+ # Saves a record, call create or update based on identity, which marks if object was already created
21
+ def save
22
+ identity ? update : create
23
+ end
24
+
25
+ # Updates a record
26
+ def update
27
+ # uncomment when exception is defined in another PR
28
+ # raise Fog::OpenStack::Errors::InterfaceNotImplemented.new('Method :get is not implemented')
29
+ end
30
+
31
+ # Creates a record
32
+ def create
33
+ # uncomment when exception is defined in another PR
34
+ # raise Fog::OpenStack::Errors::InterfaceNotImplemented.new('Method :get is not implemented')
35
+ end
36
+
37
+ # Destroys a record
38
+ def destroy
39
+ # uncomment when exception is defined in another PR
40
+ # raise Fog::OpenStack::Errors::InterfaceNotImplemented.new('Method :get is not implemented')
41
+ end
42
+ end
43
+ end
44
+ end
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Network
5
5
  class OpenStack
6
- class FloatingIp < Fog::Model
6
+ class FloatingIp < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :floating_network_id
@@ -17,11 +17,6 @@ module Fog
17
17
  super
18
18
  end
19
19
 
20
- def save
21
- requires :floating_network_id
22
- identity ? update : create
23
- end
24
-
25
20
  def create
26
21
  requires :floating_network_id
27
22
  merge_attributes(service.create_floating_ip(self.floating_network_id,
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/network/floating_ip'
3
3
 
4
4
  module Fog
5
5
  module Network
6
6
  class OpenStack
7
- class FloatingIps < Fog::Collection
7
+ class FloatingIps < Fog::OpenStack::Collection
8
8
  attribute :filters
9
9
 
10
10
  model Fog::Network::OpenStack::FloatingIp
@@ -16,11 +16,9 @@ module Fog
16
16
 
17
17
  def all(filters_arg = filters)
18
18
  filters = filters_arg
19
- load(service.list_floating_ips(filters).body['floatingips'])
19
+ load_response(service.list_floating_ips(filters), 'floatingips')
20
20
  end
21
21
 
22
- alias_method :summary, :all
23
-
24
22
  def get(floating_network_id)
25
23
  if floating_ip = service.get_floating_ip(floating_network_id).body['floatingip']
26
24
  new(floating_ip)
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Network
5
5
  class OpenStack
6
- class LbHealthMonitor < Fog::Model
6
+ class LbHealthMonitor < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :type
@@ -17,16 +17,6 @@ module Fog
17
17
  attribute :admin_state_up
18
18
  attribute :tenant_id
19
19
 
20
- def initialize(attributes)
21
- prepare_service_value(attributes)
22
- super
23
- end
24
-
25
- def save
26
- requires :type, :delay, :timeout, :max_retries
27
- identity ? update : create
28
- end
29
-
30
20
  def create
31
21
  requires :type, :delay, :timeout, :max_retries
32
22
  merge_attributes(service.create_lb_health_monitor(self.type,
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/network/lb_health_monitor'
3
3
 
4
4
  module Fog
5
5
  module Network
6
6
  class OpenStack
7
- class LbHealthMonitors < Fog::Collection
7
+ class LbHealthMonitors < Fog::OpenStack::Collection
8
8
  attribute :filters
9
9
 
10
10
  model Fog::Network::OpenStack::LbHealthMonitor
@@ -16,11 +16,9 @@ module Fog
16
16
 
17
17
  def all(filters_arg = filters)
18
18
  filters = filters_arg
19
- load(service.list_lb_health_monitors(filters).body['health_monitors'])
19
+ load_response(service.list_lb_health_monitors(filters), 'health_monitors')
20
20
  end
21
21
 
22
- alias_method :summary, :all
23
-
24
22
  def get(health_monitor_id)
25
23
  if health_monitor = service.get_lb_health_monitor(health_monitor_id).body['health_monitor']
26
24
  new(health_monitor)
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Network
5
5
  class OpenStack
6
- class LbMember < Fog::Model
6
+ class LbMember < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :pool_id
@@ -14,16 +14,6 @@ module Fog
14
14
  attribute :admin_state_up
15
15
  attribute :tenant_id
16
16
 
17
- def initialize(attributes)
18
- prepare_service_value(attributes)
19
- super
20
- end
21
-
22
- def save
23
- requires :pool_id, :address, :protocol_port, :weight
24
- identity ? update : create
25
- end
26
-
27
17
  def create
28
18
  requires :pool_id, :address, :protocol_port, :weight
29
19
  merge_attributes(service.create_lb_member(self.pool_id,
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/network/lb_member'
3
3
 
4
4
  module Fog
5
5
  module Network
6
6
  class OpenStack
7
- class LbMembers < Fog::Collection
7
+ class LbMembers < Fog::OpenStack::Collection
8
8
  attribute :filters
9
9
 
10
10
  model Fog::Network::OpenStack::LbMember
@@ -16,11 +16,9 @@ module Fog
16
16
 
17
17
  def all(filters_arg = filters)
18
18
  filters = filters_arg
19
- load(service.list_lb_members(filters).body['members'])
19
+ load_response(service.list_lb_members(filters), 'members')
20
20
  end
21
21
 
22
- alias_method :summary, :all
23
-
24
22
  def get(member_id)
25
23
  if member = service.get_lb_member(member_id).body['member']
26
24
  new(member)
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Network
5
5
  class OpenStack
6
- class LbPool < Fog::Model
6
+ class LbPool < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :subnet_id
@@ -22,16 +22,6 @@ module Fog
22
22
  attribute :bytes_out
23
23
  attribute :total_connections
24
24
 
25
- def initialize(attributes)
26
- prepare_service_value(attributes)
27
- super
28
- end
29
-
30
- def save
31
- requires :subnet_id, :protocol, :lb_method
32
- identity ? update : create
33
- end
34
-
35
25
  def create
36
26
  requires :subnet_id, :protocol, :lb_method
37
27
  merge_attributes(service.create_lb_pool(self.subnet_id,
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/network/lb_pool'
3
3
 
4
4
  module Fog
5
5
  module Network
6
6
  class OpenStack
7
- class LbPools < Fog::Collection
7
+ class LbPools < Fog::OpenStack::Collection
8
8
  attribute :filters
9
9
 
10
10
  model Fog::Network::OpenStack::LbPool
@@ -16,11 +16,9 @@ module Fog
16
16
 
17
17
  def all(filters_arg = filters)
18
18
  filters = filters_arg
19
- load(service.list_lb_pools(filters).body['pools'])
19
+ load_response(service.list_lb_pools(filters), 'pools')
20
20
  end
21
21
 
22
- alias_method :summary, :all
23
-
24
22
  def get(pool_id)
25
23
  if pool = service.get_lb_pool(pool_id).body['pool']
26
24
  new(pool)
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Network
5
5
  class OpenStack
6
- class LbVip < Fog::Model
6
+ class LbVip < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :subnet_id
@@ -20,16 +20,6 @@ module Fog
20
20
  attribute :admin_state_up
21
21
  attribute :tenant_id
22
22
 
23
- def initialize(attributes)
24
- prepare_service_value(attributes)
25
- super
26
- end
27
-
28
- def save
29
- requires :subnet_id, :pool_id, :protocol, :protocol_port
30
- identity ? update : create
31
- end
32
-
33
23
  def create
34
24
  requires :subnet_id, :pool_id, :protocol, :protocol_port
35
25
  merge_attributes(service.create_lb_vip(self.subnet_id,
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/network/lb_vip'
3
3
 
4
4
  module Fog
5
5
  module Network
6
6
  class OpenStack
7
- class LbVips < Fog::Collection
7
+ class LbVips < Fog::OpenStack::Collection
8
8
  attribute :filters
9
9
 
10
10
  model Fog::Network::OpenStack::LbVip
@@ -16,11 +16,9 @@ module Fog
16
16
 
17
17
  def all(filters_arg = filters)
18
18
  filters = filters_arg
19
- load(service.list_lb_vips(filters).body['vips'])
19
+ load_response(service.list_lb_vips(filters), 'vips')
20
20
  end
21
21
 
22
- alias_method :summary, :all
23
-
24
22
  def get(vip_id)
25
23
  if vip = service.get_lb_vip(vip_id).body['vip']
26
24
  new(vip)
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Network
5
5
  class OpenStack
6
- class Network < Fog::Model
6
+ class Network < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :name
@@ -17,16 +17,6 @@ module Fog
17
17
  attribute :provider_segmentation_id, :aliases => 'provider:segmentation_id'
18
18
  attribute :router_external, :aliases => 'router:external'
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
- def save
27
- identity ? update : create
28
- end
29
-
30
20
  def subnets
31
21
  service.subnets.select {|s| s.network_id == self.id }
32
22
  end
@@ -1,10 +1,10 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/network/network'
3
3
 
4
4
  module Fog
5
5
  module Network
6
6
  class OpenStack
7
- class Networks < Fog::Collection
7
+ class Networks < Fog::OpenStack::Collection
8
8
  attribute :filters
9
9
 
10
10
  model Fog::Network::OpenStack::Network
@@ -16,11 +16,9 @@ module Fog
16
16
 
17
17
  def all(filters_arg = filters)
18
18
  filters = filters_arg
19
- load(service.list_networks(filters).body['networks'])
19
+ load_response(service.list_networks(filters), 'networks')
20
20
  end
21
21
 
22
- alias_method :summary, :all
23
-
24
22
  def get(network_id)
25
23
  if network = service.get_network(network_id).body['network']
26
24
  new(network)
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Network
5
5
  class OpenStack
6
- class Port < Fog::Model
6
+ class Port < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :name
@@ -17,17 +17,6 @@ module Fog
17
17
  attribute :tenant_id
18
18
  attribute :security_groups
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
- def save
27
- requires :network_id
28
- identity ? update : create
29
- end
30
-
31
20
  def create
32
21
  requires :network_id
33
22
  merge_attributes(service.create_port(self.network_id,