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,19 +1,17 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/identity_v3/os_credential'
3
3
 
4
4
  module Fog
5
5
  module Identity
6
6
  class OpenStack
7
7
  class V3
8
- class OsCredentials < Fog::Collection
8
+ class OsCredentials < Fog::OpenStack::Collection
9
9
  model Fog::Identity::OpenStack::V3::OsCredential
10
10
 
11
11
  def all(options = {})
12
- load(service.list_os_credentials(options).body['credentials'])
12
+ load_response(service.list_os_credentials(options), 'credentials')
13
13
  end
14
14
 
15
- alias_method :summary, :all
16
-
17
15
  def find_by_id(id)
18
16
  cached_credential = self.find { |credential| credential.id == id }
19
17
  return cached_credential if cached_credential
@@ -1,19 +1,17 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/identity_v3/policy'
3
3
 
4
4
  module Fog
5
5
  module Identity
6
6
  class OpenStack
7
7
  class V3
8
- class Policies < Fog::Collection
8
+ class Policies < Fog::OpenStack::Collection
9
9
  model Fog::Identity::OpenStack::V3::Policy
10
10
 
11
11
  def all(options = {})
12
- load(service.list_policies(options).body['policies'])
12
+ load_response(service.list_policies(options), 'policies')
13
13
  end
14
14
 
15
- alias_method :summary, :all
16
-
17
15
  def find_by_id(id)
18
16
  cached_policy = self.find { |policy| policy.id == id }
19
17
  return cached_policy if cached_policy
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Identity
5
5
  class OpenStack
6
6
  class V3
7
- class Policy < Fog::Model
7
+ class Policy < Fog::OpenStack::Model
8
8
  identity :id
9
9
 
10
10
  attribute :type
@@ -22,18 +22,14 @@ module Fog
22
22
  end
23
23
 
24
24
  def update(attr = nil)
25
- requires :id
25
+ requires :id, :blob, :type
26
26
  merge_attributes(
27
27
  service.update_policy(self.id, attr || attributes).body['policy'])
28
28
  self
29
29
  end
30
30
 
31
- def save
32
- requires :blob, :type
33
- identity ? update : create
34
- end
35
-
36
31
  def create
32
+ requires :blob, :type
37
33
  merge_attributes(
38
34
  service.create_policy(attributes).body['policy'])
39
35
  self
@@ -43,4 +39,4 @@ module Fog
43
39
  end
44
40
  end
45
41
  end
46
- end
42
+ end
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Identity
5
5
  class OpenStack
6
6
  class V3
7
- class Project < Fog::Model
7
+ class Project < Fog::OpenStack::Model
8
8
  identity :id
9
9
 
10
10
  attribute :domain_id
@@ -13,6 +13,8 @@ module Fog
13
13
  attribute :name
14
14
  attribute :links
15
15
  attribute :parent_id
16
+ attribute :subtree
17
+ attribute :parents
16
18
 
17
19
  def to_s
18
20
  self.name
@@ -31,11 +33,6 @@ module Fog
31
33
  self
32
34
  end
33
35
 
34
- def save
35
- requires :name
36
- identity ? update : create
37
- end
38
-
39
36
  def create
40
37
  merge_attributes(
41
38
  service.create_project(attributes).body['project'])
@@ -96,4 +93,4 @@ module Fog
96
93
  end
97
94
  end
98
95
  end
99
- end
96
+ end
@@ -1,31 +1,42 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/identity_v3/project'
3
3
 
4
4
  module Fog
5
5
  module Identity
6
6
  class OpenStack
7
7
  class V3
8
- class Projects < Fog::Collection
8
+ class Projects < Fog::OpenStack::Collection
9
9
  model Fog::Identity::OpenStack::V3::Project
10
10
 
11
11
  def all(options = {})
12
- load(service.list_projects(options).body['projects'])
12
+ load_response(service.list_projects(options), 'projects')
13
13
  end
14
14
 
15
- alias_method :summary, :all
16
-
17
15
  def auth_projects(options = {})
18
16
  load(service.auth_projects(options).body['projects'])
19
17
  end
20
18
 
21
- def find_by_id(id)
22
- cached_project = self.find { |project| project.id == id }
19
+ def find_by_id(id, options=[]) # options can include :subtree_as_ids, :subtree_as_list, :parents_as_ids, :parents_as_list
20
+ if options.is_a? Symbol # Deal with a single option being passed on its own
21
+ options = [options]
22
+ end
23
+ cached_project = self.find { |project| project.id == id } if options.empty?
23
24
  return cached_project if cached_project
24
- project_hash = service.get_project(id).body['project']
25
- Fog::Identity::OpenStack::V3::Project.new(
26
- project_hash.merge(:service => service))
25
+ project_hash = service.get_project(id, options).body['project']
26
+ top_project = project_from_hash(project_hash, service)
27
+ if options.include? :subtree_as_list
28
+ top_project.subtree.map! {|proj_hash| project_from_hash(proj_hash['project'], service)}
29
+ end
30
+ if options.include? :parents_as_list
31
+ top_project.parents.map! {|proj_hash| project_from_hash(proj_hash['project'], service)}
32
+ end
33
+ return top_project
27
34
  end
28
35
 
36
+ private
37
+ def project_from_hash(project_hash, service)
38
+ Fog::Identity::OpenStack::V3::Project.new(project_hash.merge(:service => service))
39
+ end
29
40
  end
30
41
  end
31
42
  end
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Identity
5
5
  class OpenStack
6
6
  class V3
7
- class Role < Fog::Model
7
+ class Role < Fog::OpenStack::Model
8
8
  identity :id
9
9
 
10
10
  attribute :name
@@ -27,11 +27,6 @@ module Fog
27
27
  self
28
28
  end
29
29
 
30
- def save
31
- requires :name
32
- identity ? update : create
33
- end
34
-
35
30
  def create
36
31
  merge_attributes(
37
32
  service.create_role(attributes).body['role'])
@@ -42,4 +37,4 @@ module Fog
42
37
  end
43
38
  end
44
39
  end
45
- end
40
+ end
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Identity
5
5
  class OpenStack
6
6
  class V3
7
- class RoleAssignment < Fog::Model
7
+ class RoleAssignment < Fog::OpenStack::Model
8
8
  attribute :scope
9
9
  attribute :role
10
10
  attribute :user
@@ -19,4 +19,4 @@ module Fog
19
19
  end
20
20
  end
21
21
  end
22
- end
22
+ end
@@ -1,19 +1,17 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/identity_v3/role'
3
3
 
4
4
  module Fog
5
5
  module Identity
6
6
  class OpenStack
7
7
  class V3
8
- class RoleAssignments < Fog::Collection
8
+ class RoleAssignments < Fog::OpenStack::Collection
9
9
  model Fog::Identity::OpenStack::V3::RoleAssignment
10
10
 
11
11
  def all(options = {})
12
- load(service.list_role_assignments(options).body['role_assignments'])
12
+ load_response(service.list_role_assignments(options), 'role_assignments')
13
13
  end
14
14
 
15
- alias_method :summary, :all
16
-
17
15
  def filter_by(options = {})
18
16
  Fog::Logger.deprecation("Calling OpenStack[:keystone].role_assignments.filter_by(options) method which"\
19
17
  " is not part of standard interface and is deprecated, call "\
@@ -1,19 +1,17 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/identity_v3/role'
3
3
 
4
4
  module Fog
5
5
  module Identity
6
6
  class OpenStack
7
7
  class V3
8
- class Roles < Fog::Collection
8
+ class Roles < Fog::OpenStack::Collection
9
9
  model Fog::Identity::OpenStack::V3::Role
10
10
 
11
11
  def all(options = {})
12
- load(service.list_roles(options).body['roles'])
12
+ load_response(service.list_roles(options), 'roles')
13
13
  end
14
14
 
15
- alias_method :summary, :all
16
-
17
15
  def assignments(options = {})
18
16
  # TODO(lsmola) this method doesn't make much sense, it should be moved to role.rb and automatically add
19
17
  # role.id filter. Otherwise it's just duplication.
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Identity
5
5
  class OpenStack
6
6
  class V3
7
- class Service < Fog::Model
7
+ class Service < Fog::OpenStack::Model
8
8
  identity :id
9
9
 
10
10
  attribute :description
@@ -44,4 +44,4 @@ module Fog
44
44
  end
45
45
  end
46
46
  end
47
- end
47
+ end
@@ -1,19 +1,17 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/identity_v3/service'
3
3
 
4
4
  module Fog
5
5
  module Identity
6
6
  class OpenStack
7
7
  class V3
8
- class Services < Fog::Collection
8
+ class Services < Fog::OpenStack::Collection
9
9
  model Fog::Identity::OpenStack::V3::Service
10
10
 
11
11
  def all(options = {})
12
- load(service.list_services(options).body['services'])
12
+ load_response(service.list_services(options), 'services')
13
13
  end
14
14
 
15
- alias_method :summary, :all
16
-
17
15
  def find_by_id(id)
18
16
  cached_service = self.find { |service| service.id == id }
19
17
  return cached_service if cached_service
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Identity
5
5
  class OpenStack
6
6
  class V3
7
- class Token < Fog::Model
7
+ class Token < Fog::OpenStack::Model
8
8
 
9
9
  attribute :value
10
10
  attribute :catalog
@@ -23,4 +23,4 @@ module Fog
23
23
  end
24
24
  end
25
25
  end
26
- end
26
+ end
@@ -1,11 +1,11 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/identity_v3/service'
3
3
 
4
4
  module Fog
5
5
  module Identity
6
6
  class OpenStack
7
7
  class V3
8
- class Tokens < Fog::Collection
8
+ class Tokens < Fog::OpenStack::Collection
9
9
  model Fog::Identity::OpenStack::V3::Token
10
10
 
11
11
 
@@ -37,4 +37,4 @@ module Fog
37
37
  end
38
38
  end
39
39
  end
40
- end
40
+ end
@@ -1,10 +1,10 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Identity
5
5
  class OpenStack
6
6
  class V3
7
- class User < Fog::Model
7
+ class User < Fog::OpenStack::Model
8
8
  identity :id
9
9
 
10
10
  attribute :default_project_id
@@ -68,20 +68,14 @@ module Fog
68
68
  self
69
69
  end
70
70
 
71
- def save
72
- requires :name
73
- identity ? update : create
74
- end
75
-
76
71
  def create
77
72
  merge_attributes(
78
73
  service.create_user(attributes).body['user'])
79
74
  self
80
75
  end
81
76
 
82
-
83
77
  end
84
78
  end
85
79
  end
86
80
  end
87
- end
81
+ end
@@ -1,19 +1,17 @@
1
- require 'fog/core/collection'
1
+ require 'fog/openstack/models/collection'
2
2
  require 'fog/openstack/models/identity_v3/domain'
3
3
 
4
4
  module Fog
5
5
  module Identity
6
6
  class OpenStack
7
7
  class V3
8
- class Users < Fog::Collection
8
+ class Users < Fog::OpenStack::Collection
9
9
  model Fog::Identity::OpenStack::V3::User
10
10
 
11
11
  def all(options = {})
12
- load(service.list_users(options).body['users'])
12
+ load_response(service.list_users(options), 'users')
13
13
  end
14
14
 
15
- alias_method :summary, :all
16
-
17
15
  def find_by_id(id)
18
16
  cached_user = self.find { |user| user.id == id }
19
17
  return cached_user if cached_user
@@ -1,9 +1,9 @@
1
- require 'fog/core/model'
1
+ require 'fog/openstack/models/model'
2
2
 
3
3
  module Fog
4
4
  module Image
5
5
  class OpenStack
6
- class Image < Fog::Model
6
+ class Image < Fog::OpenStack::Model
7
7
  identity :id
8
8
 
9
9
  attribute :name
@@ -28,17 +28,6 @@ module Fog
28
28
  attribute :location
29
29
  attribute :copy_from
30
30
 
31
- def initialize(attributes)
32
- # Old 'connection' is renamed as service and should be used instead
33
- prepare_service_value(attributes)
34
- super
35
- end
36
-
37
- def save
38
- requires :name
39
- identity ? update : create
40
- end
41
-
42
31
  def create
43
32
  requires :name
44
33
  merge_attributes(service.create_image(self.attributes).body['image'])