fog 1.30.0 → 1.31.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 (252) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/CONTRIBUTORS.md +73 -1
  4. data/LICENSE.md +1 -1
  5. data/Rakefile +10 -8
  6. data/fog.gemspec +6 -3
  7. data/lib/fog/cloudstack/models/compute/server.rb +2 -0
  8. data/lib/fog/openstack.rb +1 -1
  9. data/lib/fog/openstack/baremetal.rb +5 -5
  10. data/lib/fog/openstack/compute.rb +20 -9
  11. data/lib/fog/openstack/core.rb +53 -14
  12. data/lib/fog/openstack/examples/compute/basics.rb +3 -1
  13. data/lib/fog/openstack/identity.rb +29 -254
  14. data/lib/fog/openstack/identity_v2.rb +264 -0
  15. data/lib/fog/openstack/identity_v3.rb +249 -0
  16. data/lib/fog/openstack/image.rb +1 -1
  17. data/lib/fog/openstack/metering.rb +1 -1
  18. data/lib/fog/openstack/models/baremetal/node.rb +22 -0
  19. data/lib/fog/openstack/models/compute/flavor.rb +13 -0
  20. data/lib/fog/openstack/models/compute/service.rb +48 -0
  21. data/lib/fog/openstack/models/compute/services.rb +20 -0
  22. data/lib/fog/openstack/models/identity_v2/ec2_credential.rb +45 -0
  23. data/lib/fog/openstack/models/identity_v2/ec2_credentials.rb +55 -0
  24. data/lib/fog/openstack/models/identity_v2/role.rb +52 -0
  25. data/lib/fog/openstack/models/identity_v2/roles.rb +22 -0
  26. data/lib/fog/openstack/models/identity_v2/tenant.rb +64 -0
  27. data/lib/fog/openstack/models/identity_v2/tenants.rb +31 -0
  28. data/lib/fog/openstack/models/identity_v2/user.rb +71 -0
  29. data/lib/fog/openstack/models/identity_v2/users.rb +43 -0
  30. data/lib/fog/openstack/models/identity_v3/domain.rb +47 -0
  31. data/lib/fog/openstack/models/identity_v3/domains.rb +36 -0
  32. data/lib/fog/openstack/models/identity_v3/endpoint.rb +50 -0
  33. data/lib/fog/openstack/models/identity_v3/endpoints.rb +27 -0
  34. data/lib/fog/openstack/models/identity_v3/group.rb +96 -0
  35. data/lib/fog/openstack/models/identity_v3/groups.rb +31 -0
  36. data/lib/fog/openstack/models/identity_v3/os_credential.rb +73 -0
  37. data/lib/fog/openstack/models/identity_v3/os_credentials.rb +31 -0
  38. data/lib/fog/openstack/models/identity_v3/policies.rb +31 -0
  39. data/lib/fog/openstack/models/identity_v3/policy.rb +46 -0
  40. data/lib/fog/openstack/models/identity_v3/project.rb +98 -0
  41. data/lib/fog/openstack/models/identity_v3/projects.rb +31 -0
  42. data/lib/fog/openstack/models/identity_v3/role.rb +45 -0
  43. data/lib/fog/openstack/models/identity_v3/role_assignment.rb +22 -0
  44. data/lib/fog/openstack/models/identity_v3/role_assignments.rb +22 -0
  45. data/lib/fog/openstack/models/identity_v3/roles.rb +35 -0
  46. data/lib/fog/openstack/models/identity_v3/service.rb +47 -0
  47. data/lib/fog/openstack/models/identity_v3/services.rb +31 -0
  48. data/lib/fog/openstack/models/identity_v3/token.rb +26 -0
  49. data/lib/fog/openstack/models/identity_v3/tokens.rb +40 -0
  50. data/lib/fog/openstack/models/identity_v3/user.rb +87 -0
  51. data/lib/fog/openstack/models/identity_v3/users.rb +35 -0
  52. data/lib/fog/openstack/network.rb +2 -9
  53. data/lib/fog/openstack/orchestration.rb +1 -6
  54. data/lib/fog/openstack/planning.rb +1 -1
  55. data/lib/fog/openstack/requests/baremetal/set_node_maintenance.rb +36 -0
  56. data/lib/fog/openstack/requests/baremetal/set_node_power_state.rb +35 -0
  57. data/lib/fog/openstack/requests/baremetal/set_node_provision_state.rb +38 -0
  58. data/lib/fog/openstack/requests/baremetal/unset_node_maintenance.rb +36 -0
  59. data/lib/fog/openstack/requests/compute/create_flavor_metadata.rb +38 -0
  60. data/lib/fog/openstack/requests/compute/create_security_group.rb +1 -1
  61. data/lib/fog/openstack/requests/compute/delete_service.rb +32 -0
  62. data/lib/fog/openstack/requests/compute/disable_service.rb +37 -0
  63. data/lib/fog/openstack/requests/compute/disable_service_log_reason.rb +38 -0
  64. data/lib/fog/openstack/requests/compute/enable_service.rb +38 -0
  65. data/lib/fog/openstack/requests/compute/get_flavor_metadata.rb +27 -0
  66. data/lib/fog/openstack/requests/compute/list_services.rb +72 -0
  67. data/lib/fog/openstack/requests/compute/list_tenants_with_flavor_access.rb +1 -1
  68. data/lib/fog/openstack/requests/compute/list_zones.rb +32 -0
  69. data/lib/fog/openstack/requests/identity_v2/add_user_to_tenant.rb +36 -0
  70. data/lib/fog/openstack/requests/identity_v2/check_token.rb +22 -0
  71. data/lib/fog/openstack/requests/identity_v2/create_ec2_credential.rb +59 -0
  72. data/lib/fog/openstack/requests/identity_v2/create_role.rb +38 -0
  73. data/lib/fog/openstack/requests/identity_v2/create_tenant.rb +34 -0
  74. data/lib/fog/openstack/requests/identity_v2/create_user.rb +45 -0
  75. data/lib/fog/openstack/requests/identity_v2/create_user_role.rb +26 -0
  76. data/lib/fog/openstack/requests/identity_v2/delete_ec2_credential.rb +43 -0
  77. data/lib/fog/openstack/requests/identity_v2/delete_role.rb +30 -0
  78. data/lib/fog/openstack/requests/identity_v2/delete_tenant.rb +33 -0
  79. data/lib/fog/openstack/requests/identity_v2/delete_user.rb +30 -0
  80. data/lib/fog/openstack/requests/identity_v2/delete_user_role.rb +25 -0
  81. data/lib/fog/openstack/requests/identity_v2/get_ec2_credential.rb +50 -0
  82. data/lib/fog/openstack/requests/identity_v2/get_role.rb +30 -0
  83. data/lib/fog/openstack/requests/identity_v2/get_tenant.rb +33 -0
  84. data/lib/fog/openstack/requests/identity_v2/get_tenants_by_id.rb +20 -0
  85. data/lib/fog/openstack/requests/identity_v2/get_tenants_by_name.rb +20 -0
  86. data/lib/fog/openstack/requests/identity_v2/get_user_by_id.rb +34 -0
  87. data/lib/fog/openstack/requests/identity_v2/get_user_by_name.rb +29 -0
  88. data/lib/fog/openstack/requests/identity_v2/list_ec2_credentials.rb +45 -0
  89. data/lib/fog/openstack/requests/identity_v2/list_endpoints_for_token.rb +20 -0
  90. data/lib/fog/openstack/requests/identity_v2/list_roles.rb +33 -0
  91. data/lib/fog/openstack/requests/identity_v2/list_roles_for_user_on_tenant.rb +32 -0
  92. data/lib/fog/openstack/requests/identity_v2/list_tenants.rb +47 -0
  93. data/lib/fog/openstack/requests/identity_v2/list_user_global_roles.rb +20 -0
  94. data/lib/fog/openstack/requests/identity_v2/list_users.rb +35 -0
  95. data/lib/fog/openstack/requests/identity_v2/remove_user_from_tenant.rb +22 -0
  96. data/lib/fog/openstack/requests/identity_v2/set_tenant.rb +21 -0
  97. data/lib/fog/openstack/requests/identity_v2/update_tenant.rb +30 -0
  98. data/lib/fog/openstack/requests/identity_v2/update_user.rb +34 -0
  99. data/lib/fog/openstack/requests/identity_v2/validate_token.rb +22 -0
  100. data/lib/fog/openstack/requests/identity_v3/add_user_to_group.rb +20 -0
  101. data/lib/fog/openstack/requests/identity_v3/auth_domains.rb +29 -0
  102. data/lib/fog/openstack/requests/identity_v3/auth_projects.rb +29 -0
  103. data/lib/fog/openstack/requests/identity_v3/check_domain_group_role.rb +20 -0
  104. data/lib/fog/openstack/requests/identity_v3/check_domain_user_role.rb +20 -0
  105. data/lib/fog/openstack/requests/identity_v3/check_project_group_role.rb +20 -0
  106. data/lib/fog/openstack/requests/identity_v3/check_project_user_role.rb +20 -0
  107. data/lib/fog/openstack/requests/identity_v3/create_domain.rb +21 -0
  108. data/lib/fog/openstack/requests/identity_v3/create_endpoint.rb +21 -0
  109. data/lib/fog/openstack/requests/identity_v3/create_group.rb +21 -0
  110. data/lib/fog/openstack/requests/identity_v3/create_os_credential.rb +21 -0
  111. data/lib/fog/openstack/requests/identity_v3/create_policy.rb +21 -0
  112. data/lib/fog/openstack/requests/identity_v3/create_project.rb +21 -0
  113. data/lib/fog/openstack/requests/identity_v3/create_role.rb +21 -0
  114. data/lib/fog/openstack/requests/identity_v3/create_service.rb +21 -0
  115. data/lib/fog/openstack/requests/identity_v3/create_user.rb +21 -0
  116. data/lib/fog/openstack/requests/identity_v3/delete_domain.rb +20 -0
  117. data/lib/fog/openstack/requests/identity_v3/delete_endpoint.rb +20 -0
  118. data/lib/fog/openstack/requests/identity_v3/delete_group.rb +20 -0
  119. data/lib/fog/openstack/requests/identity_v3/delete_os_credential.rb +20 -0
  120. data/lib/fog/openstack/requests/identity_v3/delete_policy.rb +20 -0
  121. data/lib/fog/openstack/requests/identity_v3/delete_project.rb +20 -0
  122. data/lib/fog/openstack/requests/identity_v3/delete_role.rb +20 -0
  123. data/lib/fog/openstack/requests/identity_v3/delete_service.rb +20 -0
  124. data/lib/fog/openstack/requests/identity_v3/delete_user.rb +20 -0
  125. data/lib/fog/openstack/requests/identity_v3/get_domain.rb +23 -0
  126. data/lib/fog/openstack/requests/identity_v3/get_endpoint.rb +23 -0
  127. data/lib/fog/openstack/requests/identity_v3/get_group.rb +23 -0
  128. data/lib/fog/openstack/requests/identity_v3/get_os_credential.rb +23 -0
  129. data/lib/fog/openstack/requests/identity_v3/get_policy.rb +23 -0
  130. data/lib/fog/openstack/requests/identity_v3/get_project.rb +23 -0
  131. data/lib/fog/openstack/requests/identity_v3/get_role.rb +23 -0
  132. data/lib/fog/openstack/requests/identity_v3/get_service.rb +23 -0
  133. data/lib/fog/openstack/requests/identity_v3/get_user.rb +23 -0
  134. data/lib/fog/openstack/requests/identity_v3/grant_domain_group_role.rb +20 -0
  135. data/lib/fog/openstack/requests/identity_v3/grant_domain_user_role.rb +20 -0
  136. data/lib/fog/openstack/requests/identity_v3/grant_project_group_role.rb +20 -0
  137. data/lib/fog/openstack/requests/identity_v3/grant_project_user_role.rb +20 -0
  138. data/lib/fog/openstack/requests/identity_v3/group_user_check.rb +20 -0
  139. data/lib/fog/openstack/requests/identity_v3/list_domain_group_roles.rb +23 -0
  140. data/lib/fog/openstack/requests/identity_v3/list_domain_user_roles.rb +23 -0
  141. data/lib/fog/openstack/requests/identity_v3/list_domains.rb +31 -0
  142. data/lib/fog/openstack/requests/identity_v3/list_endpoints.rb +31 -0
  143. data/lib/fog/openstack/requests/identity_v3/list_group_users.rb +32 -0
  144. data/lib/fog/openstack/requests/identity_v3/list_groups.rb +42 -0
  145. data/lib/fog/openstack/requests/identity_v3/list_os_credentials.rb +29 -0
  146. data/lib/fog/openstack/requests/identity_v3/list_policies.rb +28 -0
  147. data/lib/fog/openstack/requests/identity_v3/list_project_group_roles.rb +23 -0
  148. data/lib/fog/openstack/requests/identity_v3/list_project_user_roles.rb +23 -0
  149. data/lib/fog/openstack/requests/identity_v3/list_projects.rb +42 -0
  150. data/lib/fog/openstack/requests/identity_v3/list_role_assignments.rb +35 -0
  151. data/lib/fog/openstack/requests/identity_v3/list_roles.rb +42 -0
  152. data/lib/fog/openstack/requests/identity_v3/list_services.rb +30 -0
  153. data/lib/fog/openstack/requests/identity_v3/list_user_groups.rb +23 -0
  154. data/lib/fog/openstack/requests/identity_v3/list_user_projects.rb +23 -0
  155. data/lib/fog/openstack/requests/identity_v3/list_users.rb +32 -0
  156. data/lib/fog/openstack/requests/identity_v3/remove_user_from_group.rb +20 -0
  157. data/lib/fog/openstack/requests/identity_v3/revoke_domain_group_role.rb +20 -0
  158. data/lib/fog/openstack/requests/identity_v3/revoke_domain_user_role.rb +20 -0
  159. data/lib/fog/openstack/requests/identity_v3/revoke_project_group_role.rb +20 -0
  160. data/lib/fog/openstack/requests/identity_v3/revoke_project_user_role.rb +20 -0
  161. data/lib/fog/openstack/requests/identity_v3/token_authenticate.rb +21 -0
  162. data/lib/fog/openstack/requests/identity_v3/token_check.rb +21 -0
  163. data/lib/fog/openstack/requests/identity_v3/token_revoke.rb +21 -0
  164. data/lib/fog/openstack/requests/identity_v3/token_validate.rb +22 -0
  165. data/lib/fog/openstack/requests/identity_v3/update_domain.rb +21 -0
  166. data/lib/fog/openstack/requests/identity_v3/update_endpoint.rb +21 -0
  167. data/lib/fog/openstack/requests/identity_v3/update_group.rb +21 -0
  168. data/lib/fog/openstack/requests/identity_v3/update_os_credential.rb +21 -0
  169. data/lib/fog/openstack/requests/identity_v3/update_policy.rb +21 -0
  170. data/lib/fog/openstack/requests/identity_v3/update_project.rb +21 -0
  171. data/lib/fog/openstack/requests/identity_v3/update_role.rb +21 -0
  172. data/lib/fog/openstack/requests/identity_v3/update_service.rb +21 -0
  173. data/lib/fog/openstack/requests/identity_v3/update_user.rb +21 -0
  174. data/lib/fog/openstack/requests/image/list_public_images_detailed.rb +1 -1
  175. data/lib/fog/openstack/volume.rb +1 -1
  176. data/lib/fog/version.rb +1 -1
  177. data/lib/fog/vsphere/requests/compute/cloudinit_to_customspec.rb +27 -8
  178. data/lib/fog/vsphere/requests/compute/vm_clone.rb +376 -37
  179. data/lib/tasks/changelog_task.rb +1 -1
  180. data/spec/fog/openstack/identity_v3/authv3_a.yml +61 -0
  181. data/spec/fog/openstack/identity_v3/authv3_b.yml +61 -0
  182. data/spec/fog/openstack/identity_v3/authv3_c.yml +61 -0
  183. data/spec/fog/openstack/identity_v3/authv3_project.yml +61 -0
  184. data/spec/fog/openstack/identity_v3/authv3_token.yml +151 -0
  185. data/spec/fog/openstack/identity_v3/authv3_unscoped.yml +334 -0
  186. data/spec/fog/openstack/identity_v3/idv2_unscoped_token_v3.yml +467 -0
  187. data/spec/fog/openstack/identity_v3/idv3.yml +61 -0
  188. data/spec/fog/openstack/identity_v3/idv3_credential.yml +111 -0
  189. data/spec/fog/openstack/identity_v3/idv3_credential_crud.yml +528 -0
  190. data/spec/fog/openstack/identity_v3/idv3_domain.yml +195 -0
  191. data/spec/fog/openstack/identity_v3/idv3_domain_crud.yml +686 -0
  192. data/spec/fog/openstack/identity_v3/idv3_domain_group_roles_mutation.yml +906 -0
  193. data/spec/fog/openstack/identity_v3/idv3_domain_roles_mutation.yml +505 -0
  194. data/spec/fog/openstack/identity_v3/idv3_endpoint.yml +303 -0
  195. data/spec/fog/openstack/identity_v3/idv3_endpoints_crud.yml +718 -0
  196. data/spec/fog/openstack/identity_v3/idv3_group_crud_mutation.yml +975 -0
  197. data/spec/fog/openstack/identity_v3/idv3_policy.yml +147 -0
  198. data/spec/fog/openstack/identity_v3/idv3_policy_crud.yml +368 -0
  199. data/spec/fog/openstack/identity_v3/idv3_project.yml +211 -0
  200. data/spec/fog/openstack/identity_v3/idv3_project_crud.yml +663 -0
  201. data/spec/fog/openstack/identity_v3/idv3_project_group_user_roles_mutation.yml +1378 -0
  202. data/spec/fog/openstack/identity_v3/idv3_role.yml +199 -0
  203. data/spec/fog/openstack/identity_v3/idv3_role_crud.yml +616 -0
  204. data/spec/fog/openstack/identity_v3/idv3_service.yml +223 -0
  205. data/spec/fog/openstack/identity_v3/idv3_services_crud.yml +562 -0
  206. data/spec/fog/openstack/identity_v3/idv3_token.yml +240 -0
  207. data/spec/fog/openstack/identity_v3/idv3_user_crud.yml +572 -0
  208. data/spec/fog/openstack/identity_v3/idv3_users.yml +393 -0
  209. data/spec/fog/openstack/identity_v3_spec.rb +929 -0
  210. data/tests/openstack/requests/baremetal/node_tests.rb +18 -0
  211. data/tests/openstack/requests/compute/flavor_tests.rb +18 -0
  212. data/tests/openstack/requests/compute/service_tests.rb +33 -0
  213. metadata +259 -49
  214. data/lib/fog/openstack/models/identity/ec2_credential.rb +0 -44
  215. data/lib/fog/openstack/models/identity/ec2_credentials.rb +0 -53
  216. data/lib/fog/openstack/models/identity/role.rb +0 -50
  217. data/lib/fog/openstack/models/identity/roles.rb +0 -20
  218. data/lib/fog/openstack/models/identity/tenant.rb +0 -62
  219. data/lib/fog/openstack/models/identity/tenants.rb +0 -29
  220. data/lib/fog/openstack/models/identity/user.rb +0 -69
  221. data/lib/fog/openstack/models/identity/users.rb +0 -41
  222. data/lib/fog/openstack/requests/identity/add_user_to_tenant.rb +0 -34
  223. data/lib/fog/openstack/requests/identity/check_token.rb +0 -20
  224. data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +0 -57
  225. data/lib/fog/openstack/requests/identity/create_role.rb +0 -36
  226. data/lib/fog/openstack/requests/identity/create_tenant.rb +0 -32
  227. data/lib/fog/openstack/requests/identity/create_user.rb +0 -43
  228. data/lib/fog/openstack/requests/identity/create_user_role.rb +0 -24
  229. data/lib/fog/openstack/requests/identity/delete_ec2_credential.rb +0 -42
  230. data/lib/fog/openstack/requests/identity/delete_role.rb +0 -28
  231. data/lib/fog/openstack/requests/identity/delete_tenant.rb +0 -31
  232. data/lib/fog/openstack/requests/identity/delete_user.rb +0 -28
  233. data/lib/fog/openstack/requests/identity/delete_user_role.rb +0 -23
  234. data/lib/fog/openstack/requests/identity/get_ec2_credential.rb +0 -48
  235. data/lib/fog/openstack/requests/identity/get_role.rb +0 -28
  236. data/lib/fog/openstack/requests/identity/get_tenant.rb +0 -31
  237. data/lib/fog/openstack/requests/identity/get_tenants_by_id.rb +0 -18
  238. data/lib/fog/openstack/requests/identity/get_tenants_by_name.rb +0 -18
  239. data/lib/fog/openstack/requests/identity/get_user_by_id.rb +0 -32
  240. data/lib/fog/openstack/requests/identity/get_user_by_name.rb +0 -27
  241. data/lib/fog/openstack/requests/identity/list_ec2_credentials.rb +0 -43
  242. data/lib/fog/openstack/requests/identity/list_endpoints_for_token.rb +0 -18
  243. data/lib/fog/openstack/requests/identity/list_roles.rb +0 -31
  244. data/lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb +0 -30
  245. data/lib/fog/openstack/requests/identity/list_tenants.rb +0 -45
  246. data/lib/fog/openstack/requests/identity/list_user_global_roles.rb +0 -18
  247. data/lib/fog/openstack/requests/identity/list_users.rb +0 -33
  248. data/lib/fog/openstack/requests/identity/remove_user_from_tenant.rb +0 -20
  249. data/lib/fog/openstack/requests/identity/set_tenant.rb +0 -19
  250. data/lib/fog/openstack/requests/identity/update_tenant.rb +0 -28
  251. data/lib/fog/openstack/requests/identity/update_user.rb +0 -32
  252. data/lib/fog/openstack/requests/identity/validate_token.rb +0 -20
@@ -1,36 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def create_role(name)
6
- data = {
7
- 'role' => {
8
- 'name' => name
9
- }
10
- }
11
-
12
- request(
13
- :body => Fog::JSON.encode(data),
14
- :expects => [200, 202],
15
- :method => 'POST',
16
- :path => '/OS-KSADM/roles'
17
- )
18
- end
19
- end
20
-
21
- class Mock
22
- def create_role(name)
23
- data = {
24
- 'id' => Fog::Mock.random_hex(32),
25
- 'name' => name
26
- }
27
- self.data[:roles][data['id']] = data
28
- Excon::Response.new(
29
- :body => { 'role' => data },
30
- :status => 202
31
- )
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,32 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def create_tenant(attributes)
6
- request(
7
- :expects => [200],
8
- :method => 'POST',
9
- :path => "tenants",
10
- :body => Fog::JSON.encode({ 'tenant' => attributes })
11
- )
12
- end # def create_tenant
13
- end # class Real
14
-
15
- class Mock
16
- def create_tenant(attributes)
17
- response = Excon::Response.new
18
- response.status = [200, 204][rand(1)]
19
- response.body = {
20
- 'tenant' => {
21
- 'id' => "df9a815161eba9b76cc748fd5c5af73e",
22
- 'description' => attributes[:description] || 'normal tenant',
23
- 'enabled' => true,
24
- 'name' => attributes[:name] || 'default'
25
- }
26
- }
27
- response
28
- end # def create_tenant
29
- end # class Mock
30
- end # class OpenStack
31
- end # module Identity
32
- end # module Fog
@@ -1,43 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def create_user(name, password, email, tenantId=nil, enabled=true)
6
- data = {
7
- 'user' => {
8
- 'name' => name,
9
- 'password' => password,
10
- 'tenantId' => tenantId,
11
- 'email' => email,
12
- 'enabled' => enabled,
13
- }
14
- }
15
-
16
- request(
17
- :body => Fog::JSON.encode(data),
18
- :expects => [200, 202],
19
- :method => 'POST',
20
- :path => '/users'
21
- )
22
- end
23
- end
24
-
25
- class Mock
26
- def create_user(name, password, email, tenantId=nil, enabled=true)
27
- response = Excon::Response.new
28
- response.status = 200
29
- data = {
30
- 'id' => Fog::Mock.random_hex(32),
31
- 'name' => name,
32
- 'email' => email,
33
- 'tenantId' => tenantId,
34
- 'enabled' => enabled
35
- }
36
- self.data[:users][data['id']] = data
37
- response.body = { 'user' => data }
38
- response
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,24 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def create_user_role(tenant_id, user_id, role_id)
6
- request(
7
- :expects => 200,
8
- :method => 'PUT',
9
- :path => "/tenants/#{tenant_id}/users/#{user_id}/roles/OS-KSADM/#{role_id}"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- def create_user_role(tenant_id, user_id, role_id)
16
- Excon::Response.new(
17
- :body => { 'role' => self.data[:roles][role_id] },
18
- :status => 200
19
- )
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,42 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- ##
6
- # Destroy an EC2 credential for a user. Requires administrator
7
- # credentials.
8
- #
9
- # ==== Parameters
10
- # * user_id<~String>: The id of the user to delete the credential
11
- # for
12
- # * access<~String>: The access key of the credential to destroy
13
- #
14
- # ==== Returns
15
- # * response<~Excon::Response>:
16
- # * body<~String>: Empty string
17
-
18
- def delete_ec2_credential(user_id, access)
19
- request(
20
- :expects => [200, 204],
21
- :method => 'DELETE',
22
- :path => "users/#{user_id}/credentials/OS-EC2/#{access}"
23
- )
24
- end
25
- end
26
-
27
- class Mock
28
- def delete_ec2_credential(user_id, access)
29
- raise Fog::Identity::OpenStack::NotFound unless
30
- self.data[:ec2_credentials][user_id][access]
31
-
32
- self.data[:ec2_credentials][user_id].delete access
33
-
34
- response = Excon::Response.new
35
- response.status = 204
36
- response
37
- rescue
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,28 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def delete_role(role_id)
6
- request(
7
- :expects => [200, 204],
8
- :method => 'DELETE',
9
- :path => "/OS-KSADM/roles/#{role_id}"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- def delete_role(role_id)
16
- response = Excon::Response.new
17
- if self.data[:roles][role_id]
18
- self.data[:roles].delete(role_id)
19
- response.status = 204
20
- response
21
- else
22
- raise Fog::Identity::OpenStack::NotFound
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,31 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def delete_tenant(id)
6
- request(
7
- :expects => [200, 204],
8
- :method => 'DELETE',
9
- :path => "tenants/#{id}"
10
- )
11
- end # def create_tenant
12
- end # class Real
13
-
14
- class Mock
15
- def delete_tenant(attributes)
16
- response = Excon::Response.new
17
- response.status = [200, 204][rand(1)]
18
- response.body = {
19
- 'tenant' => {
20
- 'id' => '1',
21
- 'description' => 'Has access to everything',
22
- 'enabled' => true,
23
- 'name' => 'admin'
24
- }
25
- }
26
- response
27
- end # def create_tenant
28
- end # class Mock
29
- end # class OpenStack
30
- end # module Identity
31
- end # module Fog
@@ -1,28 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def delete_user(user_id)
6
- request(
7
- :expects => [200, 204],
8
- :method => 'DELETE',
9
- :path => "users/#{user_id}"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- def delete_user(user_id)
16
- self.data[:users].delete(
17
- list_users.body['users'].find {|x| x['id'] == user_id }['id'])
18
-
19
- response = Excon::Response.new
20
- response.status = 204
21
- response
22
- rescue
23
- raise Fog::Identity::OpenStack::NotFound
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,23 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def delete_user_role(tenant_id, user_id, role_id)
6
- request(
7
- :expects => 204,
8
- :method => 'DELETE',
9
- :path => "/tenants/#{tenant_id}/users/#{user_id}/roles/OS-KSADM/#{role_id}"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- def delete_user_role(tenant_id, user_id, role_id)
16
- response = Excon::Response.new
17
- response.status = 204
18
- response
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,48 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- ##
6
- # Retrieves an EC2 credential for a user. Requires administrator
7
- # credentials.
8
- #
9
- # ==== Parameters
10
- # * user_id<~String>: The id of the user to retrieve the credential
11
- # for
12
- # * access<~String>: The access key of the credential to retrieve
13
- #
14
- # ==== Returns
15
- # * response<~Excon::Response>:
16
- # * body<~Hash>:
17
- # * 'credential'<~Hash>: The EC2 credential
18
- # * 'access'<~String>: The access key
19
- # * 'secret'<~String>: The secret key
20
- # * 'user_id'<~String>: The user id
21
- # * 'tenant_id'<~String>: The tenant id
22
-
23
- def get_ec2_credential(user_id, access)
24
- request(
25
- :expects => [200, 202],
26
- :method => 'GET',
27
- :path => "users/#{user_id}/credentials/OS-EC2/#{access}"
28
- )
29
- rescue Excon::Errors::Unauthorized
30
- raise Fog::Identity::OpenStack::NotFound
31
- end
32
- end
33
-
34
- class Mock
35
- def get_ec2_credential(user_id, access)
36
- ec2_credential = self.data[:ec2_credentials][user_id][access]
37
-
38
- raise Fog::OpenStack::Identity::NotFound unless ec2_credential
39
-
40
- response = Excon::Response.new
41
- response.status = 200
42
- response.body = { 'credential' => ec2_credential }
43
- response
44
- end
45
- end
46
- end
47
- end
48
- end
@@ -1,28 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def get_role(id)
6
- request(
7
- :expects => [200, 204],
8
- :method => 'GET',
9
- :path => "/OS-KSADM/roles/#{id}"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- def get_role(id)
16
- response = Excon::Response.new
17
- if data = self.data[:roles][id]
18
- response.status = 200
19
- response.body = { 'role' => data }
20
- response
21
- else
22
- raise Fog::Identity::OpenStack::NotFound
23
- end
24
- end
25
- end # class Mock
26
- end # class OpenStack
27
- end # module Identity
28
- end # module Fog
@@ -1,31 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def get_tenant(id)
6
- request(
7
- :expects => [200, 204],
8
- :method => 'GET',
9
- :path => "tenants/#{id}"
10
- )
11
- end
12
- end # class Real
13
-
14
- class Mock
15
- def get_tenant(id)
16
- response = Excon::Response.new
17
- response.status = [200, 204][rand(1)]
18
- response.body = {
19
- 'tenant' => {
20
- 'id' => id,
21
- 'description' => 'Has access to everything',
22
- 'enabled' => true,
23
- 'name' => 'admin'
24
- }
25
- }
26
- response
27
- end # def list_tenants
28
- end # class Mock
29
- end # class OpenStack
30
- end # module Identity
31
- end # module Fog
@@ -1,18 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def get_tenants_by_id(tenant_id)
6
- request(
7
- :expects => [200],
8
- :method => 'GET',
9
- :path => "tenants/#{tenant_id}"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- end
16
- end
17
- end
18
- end
@@ -1,18 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def get_tenants_by_name(name)
6
- request(
7
- :expects => [200],
8
- :method => 'GET',
9
- :path => "tenants?name=#{name}"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- end
16
- end
17
- end
18
- end