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,32 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def get_user_by_id(user_id)
6
- request(
7
- :expects => [200, 203],
8
- :method => 'GET',
9
- :path => "users/#{user_id}"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- def get_user_by_id(user_id)
16
- response = Excon::Response.new
17
- response.status = 200
18
-
19
- existing_user = self.data[:users].find do |u|
20
- u[0] == user_id || u[1]['name'] == 'mock'
21
- end
22
- existing_user = existing_user[1] if existing_user
23
-
24
- response.body = {
25
- 'user' => existing_user || create_user('mock', 'mock', 'mock@email.com').body['user']
26
- }
27
- response
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,27 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def get_user_by_name(name)
6
- request(
7
- :expects => [200, 203],
8
- :method => 'GET',
9
- :path => "users?name=#{name}"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- def get_user_by_name(name)
16
- response = Excon::Response.new
17
- response.status = 200
18
- user = self.data[:users].values.select {|user| user['name'] == name}[0]
19
- response.body = {
20
- 'user' => user
21
- }
22
- response
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,43 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- ##
6
- # List EC2 credentials 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
- #
13
- # ==== Returns
14
- # * response<~Excon::Response>:
15
- # * body<~Hash>:
16
- # * 'credentials'<~Array>: The user's EC2 credentials
17
- # * 'access'<~String>: The access key
18
- # * 'secret'<~String>: The secret key
19
- # * 'user_id'<~String>: The user id
20
- # * 'tenant_id'<~String>: The tenant id
21
-
22
- def list_ec2_credentials(user_id)
23
- request(
24
- :expects => [200, 202],
25
- :method => 'GET',
26
- :path => "users/#{user_id}/credentials/OS-EC2"
27
- )
28
- end
29
- end
30
-
31
- class Mock
32
- def list_ec2_credentials(user_id)
33
- ec2_credentials = self.data[:ec2_credentials][user_id].values
34
-
35
- response = Excon::Response.new
36
- response.status = 200
37
- response.body = { 'credentials' => ec2_credentials }
38
- response
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,18 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def list_endpoints_for_token(token_id)
6
- request(
7
- :expects => [200, 203],
8
- :method => 'HEAD',
9
- :path => "tokens/#{token_id}/endpoints"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- end
16
- end
17
- end
18
- end
@@ -1,31 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def list_roles
6
- request(
7
- :expects => 200,
8
- :method => 'GET',
9
- :path => '/OS-KSADM/roles'
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- def list_roles
16
- if self.data[:roles].empty?
17
- ['admin', 'Member'].each do |name|
18
- id = Fog::Mock.random_hex(32)
19
- self.data[:roles][id] = {'id' => id, 'name' => name}
20
- end
21
- end
22
-
23
- Excon::Response.new(
24
- :body => { 'roles' => self.data[:roles].values },
25
- :status => 200
26
- )
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,30 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def list_roles_for_user_on_tenant(tenant_id, user_id)
6
- request(
7
- :expects => [200],
8
- :method => 'GET',
9
- :path => "tenants/#{tenant_id}/users/#{user_id}/roles"
10
- )
11
- end # def list_roles_for_user_on_tenant
12
- end # class Real
13
-
14
- class Mock
15
- def list_roles_for_user_on_tenant(tenant_id, user_id)
16
- self.data[:user_tenant_membership][tenant_id] ||= {}
17
- self.data[:user_tenant_membership][tenant_id][user_id] ||= []
18
- roles = self.data[:user_tenant_membership][tenant_id][user_id].map do |role_id|
19
- self.data[:roles][role_id]
20
- end
21
-
22
- Excon::Response.new(
23
- :body => { 'roles' => roles },
24
- :status => 200
25
- )
26
- end # def list_roles_for_user_on_tenant
27
- end # class Mock
28
- end # class OpenStack
29
- end # module Identity
30
- end # module Fog
@@ -1,45 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def list_tenants(limit = nil, marker = nil)
6
- params = Hash.new
7
- params['limit'] = limit if limit
8
- params['marker'] = marker if marker
9
-
10
- request(
11
- :expects => [200, 204],
12
- :method => 'GET',
13
- :path => "tenants",
14
- :query => params
15
- )
16
- end
17
- end # class Real
18
-
19
- class Mock
20
- def list_tenants
21
- Excon::Response.new(
22
- :body => {
23
- 'tenants_links' => [],
24
- 'tenants' => [
25
- {'id' => '1',
26
- 'description' => 'Has access to everything',
27
- 'enabled' => true,
28
- 'name' => 'admin'},
29
- {'id' => '2',
30
- 'description' => 'Normal tenant',
31
- 'enabled' => true,
32
- 'name' => 'default'},
33
- {'id' => '3',
34
- 'description' => 'Disabled tenant',
35
- 'enabled' => false,
36
- 'name' => 'disabled'}
37
- ]
38
- },
39
- :status => [200, 204][rand(1)]
40
- )
41
- end # def list_tenants
42
- end # class Mock
43
- end # class OpenStack
44
- end # module Identity
45
- end # module Fog
@@ -1,18 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def list_user_global_roles(user_id)
6
- request(
7
- :expects => [200],
8
- :method => 'GET',
9
- :path => "users/#{user_id}/roles"
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- end
16
- end
17
- end
18
- end
@@ -1,33 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def list_users(tenant_id = nil)
6
- path = tenant_id ? "tenants/#{tenant_id}/users" : 'users'
7
- request(
8
- :expects => [200, 204],
9
- :method => 'GET',
10
- :path => path
11
- )
12
- end
13
- end # class Real
14
-
15
- class Mock
16
- def list_users(tenant_id = nil)
17
- users = self.data[:users].values
18
-
19
- if tenant_id
20
- users = users.select {
21
- |user| user['tenantId'] == tenant_id
22
- }
23
- end
24
-
25
- Excon::Response.new(
26
- :body => { 'users' => users },
27
- :status => 200
28
- )
29
- end
30
- end # class Mock
31
- end # class OpenStack
32
- end # module Identity
33
- end # module Fog
@@ -1,20 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def remove_user_from_tenant(tenant_id, user_id, role_id)
6
- request(
7
- :expects => [200, 204],
8
- :method => 'DELETE',
9
- :path => "/tenants/#{tenant_id}/users/#{user_id}/roles/OS-KSADM/#{role_id}"
10
- )
11
- end
12
- end # class Real
13
-
14
- class Mock
15
- def remove_user_from_tenant(tenant_id, user_id, role_id)
16
- end # def remove_user_from_tenant
17
- end # class Mock
18
- end # class OpenStack
19
- end # module Identity
20
- end
@@ -1,19 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def set_tenant(tenant)
6
- @openstack_must_reauthenticate = true
7
- @openstack_tenant = tenant.to_s
8
- authenticate
9
- end
10
- end
11
-
12
- class Mock
13
- def set_tenant(tenant)
14
- true
15
- end
16
- end
17
- end # class OpenStack
18
- end # module Identity
19
- end # module Fog
@@ -1,28 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def update_tenant(id, attributes)
6
- request(
7
- :expects => [200],
8
- :method => 'PUT',
9
- :path => "tenants/#{id}",
10
- :body => Fog::JSON.encode({ 'tenant' => attributes })
11
- )
12
- end # def create_tenant
13
- end # class Real
14
-
15
- class Mock
16
- def update_tenant(id, attributes)
17
- response = Excon::Response.new
18
- response.status = [200, 204][rand(1)]
19
- attributes = {'enabled' => true, 'id' => '1'}.merge(attributes)
20
- response.body = {
21
- 'tenant' => attributes
22
- }
23
- response
24
- end # def create_tenant
25
- end # class Mock
26
- end # class OpenStack
27
- end # module Identity
28
- end # module Fog
@@ -1,32 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def update_user(user_id, options = {})
6
- url = options.delete('url') || "/users/#{user_id}"
7
- request(
8
- :body => Fog::JSON.encode({ 'user' => options }),
9
- :expects => 200,
10
- :method => 'PUT',
11
- :path => url
12
- )
13
- end
14
- end
15
-
16
- class Mock
17
- def update_user(user_id, options)
18
- response = Excon::Response.new
19
- if user = self.data[:users][user_id]
20
- if options['name']
21
- user['name'] = options['name']
22
- end
23
- response.status = 200
24
- response
25
- else
26
- raise Fog::Identity::OpenStack::NotFound
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,20 +0,0 @@
1
- module Fog
2
- module Identity
3
- class OpenStack
4
- class Real
5
- def validate_token(token_id, tenant_id=nil)
6
- request(
7
- :expects => [200, 203],
8
- :method => 'GET',
9
- :path => "tokens/#{token_id}"+(tenant_id ? "?belongsTo=#{tenant_id}" : '')
10
- )
11
- end
12
- end
13
-
14
- class Mock
15
- def validate_token(token_id, tenant_id=nil)
16
- end
17
- end
18
- end
19
- end
20
- end