fog 1.32.0 → 1.33.0

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