fog-proxmox 0.13.0 → 0.14.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 (174) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -1
  3. data/docs/compute.md +23 -7
  4. data/docs/identity.md +31 -6
  5. data/examples/compute.rb +11 -11
  6. data/examples/identity.rb +28 -15
  7. data/fog-proxmox.gemspec +1 -1
  8. data/lib/fog/proxmox.rb +16 -76
  9. data/lib/fog/proxmox/auth/token.rb +88 -0
  10. data/lib/fog/proxmox/auth/token/access_ticket.rb +85 -0
  11. data/lib/fog/proxmox/auth/token/user_token.rb +94 -0
  12. data/lib/fog/{compute/proxmox.rb → proxmox/compute.rb} +31 -16
  13. data/lib/fog/{compute/proxmox → proxmox/compute}/models/disk.rb +15 -2
  14. data/lib/fog/{compute/proxmox → proxmox/compute}/models/disks.rb +5 -1
  15. data/lib/fog/{compute/proxmox → proxmox/compute}/models/interface.rb +4 -0
  16. data/lib/fog/{compute/proxmox → proxmox/compute}/models/interfaces.rb +1 -1
  17. data/lib/fog/{compute/proxmox → proxmox/compute}/models/node.rb +0 -0
  18. data/lib/fog/{compute/proxmox → proxmox/compute}/models/nodes.rb +1 -1
  19. data/lib/fog/{compute/proxmox → proxmox/compute}/models/server.rb +2 -2
  20. data/lib/fog/{compute/proxmox → proxmox/compute}/models/server_config.rb +8 -0
  21. data/lib/fog/{compute/proxmox → proxmox/compute}/models/servers.rb +1 -1
  22. data/lib/fog/{compute/proxmox → proxmox/compute}/models/snapshot.rb +0 -0
  23. data/lib/fog/{compute/proxmox → proxmox/compute}/models/snapshots.rb +1 -1
  24. data/lib/fog/{compute/proxmox → proxmox/compute}/models/storage.rb +0 -0
  25. data/lib/fog/{compute/proxmox → proxmox/compute}/models/storages.rb +1 -1
  26. data/lib/fog/{compute/proxmox → proxmox/compute}/models/task.rb +0 -0
  27. data/lib/fog/{compute/proxmox → proxmox/compute}/models/tasks.rb +1 -1
  28. data/lib/fog/{compute/proxmox → proxmox/compute}/models/volume.rb +6 -0
  29. data/lib/fog/{compute/proxmox → proxmox/compute}/models/volumes.rb +1 -1
  30. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/action_server.rb +0 -0
  31. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/clone_server.rb +0 -0
  32. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_backup.rb +0 -0
  33. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_server.rb +0 -0
  34. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_snapshot.rb +0 -0
  35. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_spice.rb +0 -0
  36. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_term.rb +0 -0
  37. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_vnc.rb +0 -0
  38. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/delete_server.rb +0 -0
  39. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/delete_snapshot.rb +0 -0
  40. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/delete_volume.rb +0 -0
  41. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_node_statistics.rb +0 -0
  42. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_server_config.rb +0 -0
  43. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_server_status.rb +0 -0
  44. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_snapshot_config.rb +0 -0
  45. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_task.rb +0 -0
  46. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_vnc.rb +0 -0
  47. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_volume.rb +0 -0
  48. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_nodes.rb +0 -0
  49. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_servers.rb +0 -0
  50. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_snapshots.rb +0 -0
  51. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_storages.rb +0 -0
  52. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_tasks.rb +0 -0
  53. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_volumes.rb +0 -0
  54. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/log_task.rb +0 -0
  55. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/migrate_server.rb +0 -0
  56. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/move_disk.rb +0 -0
  57. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/move_volume.rb +0 -0
  58. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/next_vmid.rb +0 -0
  59. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/resize_container.rb +0 -0
  60. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/resize_server.rb +0 -0
  61. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/rollback_snapshot.rb +0 -0
  62. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/status_task.rb +0 -0
  63. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/stop_task.rb +0 -0
  64. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/template_server.rb +0 -0
  65. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/update_server.rb +0 -0
  66. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/update_snapshot.rb +0 -0
  67. data/lib/fog/proxmox/core.rb +66 -57
  68. data/lib/fog/proxmox/hash.rb +2 -2
  69. data/lib/fog/proxmox/helpers/cpu_helper.rb +48 -9
  70. data/lib/fog/proxmox/helpers/disk_helper.rb +42 -22
  71. data/lib/fog/proxmox/helpers/nic_helper.rb +28 -20
  72. data/lib/fog/{identity/proxmox.rb → proxmox/identity.rb} +31 -17
  73. data/lib/fog/{identity/proxmox → proxmox/identity}/models/domain.rb +0 -0
  74. data/lib/fog/{identity/proxmox → proxmox/identity}/models/domain_type.rb +0 -0
  75. data/lib/fog/{identity/proxmox → proxmox/identity}/models/domains.rb +1 -1
  76. data/lib/fog/{identity/proxmox → proxmox/identity}/models/group.rb +4 -2
  77. data/lib/fog/{identity/proxmox → proxmox/identity}/models/groups.rb +1 -1
  78. data/lib/fog/{identity/proxmox → proxmox/identity}/models/permission.rb +0 -0
  79. data/lib/fog/{identity/proxmox → proxmox/identity}/models/permissions.rb +1 -1
  80. data/lib/fog/{identity/proxmox → proxmox/identity}/models/pool.rb +0 -0
  81. data/lib/fog/{identity/proxmox → proxmox/identity}/models/pools.rb +1 -1
  82. data/lib/fog/{identity/proxmox → proxmox/identity}/models/principal.rb +0 -0
  83. data/lib/fog/{identity/proxmox → proxmox/identity}/models/role.rb +0 -0
  84. data/lib/fog/{identity/proxmox → proxmox/identity}/models/roles.rb +1 -1
  85. data/lib/fog/proxmox/identity/models/token.rb +71 -0
  86. data/lib/fog/proxmox/identity/models/token_info.rb +41 -0
  87. data/lib/fog/proxmox/identity/models/tokens.rb +58 -0
  88. data/lib/fog/{identity/proxmox → proxmox/identity}/models/user.rb +25 -2
  89. data/lib/fog/{identity/proxmox → proxmox/identity}/models/users.rb +1 -1
  90. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/change_password.rb +0 -0
  91. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/check_permissions.rb +0 -0
  92. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_domain.rb +0 -0
  93. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_group.rb +0 -0
  94. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_pool.rb +0 -0
  95. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_role.rb +0 -0
  96. data/lib/fog/proxmox/identity/requests/create_token.rb +40 -0
  97. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_user.rb +0 -0
  98. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_domain.rb +0 -0
  99. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_group.rb +0 -0
  100. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_pool.rb +0 -0
  101. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_role.rb +0 -0
  102. data/lib/fog/proxmox/identity/requests/delete_token.rb +40 -0
  103. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_user.rb +0 -0
  104. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_domain.rb +0 -0
  105. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_group.rb +0 -0
  106. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_pool.rb +0 -0
  107. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_role.rb +0 -0
  108. data/lib/fog/proxmox/identity/requests/get_token_info.rb +41 -0
  109. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_user.rb +0 -0
  110. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_domains.rb +0 -0
  111. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_groups.rb +0 -0
  112. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_permissions.rb +0 -0
  113. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_pools.rb +0 -0
  114. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_roles.rb +0 -0
  115. data/lib/fog/proxmox/identity/requests/list_tokens.rb +41 -0
  116. data/lib/fog/proxmox/identity/requests/list_user_permissions.rb +44 -0
  117. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_users.rb +0 -0
  118. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/read_version.rb +0 -0
  119. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_domain.rb +0 -0
  120. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_group.rb +0 -0
  121. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_permissions.rb +0 -0
  122. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_pool.rb +0 -0
  123. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_role.rb +0 -0
  124. data/lib/fog/proxmox/identity/requests/update_token.rb +41 -0
  125. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_user.rb +0 -0
  126. data/lib/fog/{network/proxmox.rb → proxmox/network.rb} +21 -14
  127. data/lib/fog/{network/proxmox → proxmox/network}/models/network.rb +0 -0
  128. data/lib/fog/{network/proxmox → proxmox/network}/models/networks.rb +1 -1
  129. data/lib/fog/{network/proxmox → proxmox/network}/models/node.rb +1 -1
  130. data/lib/fog/{network/proxmox → proxmox/network}/models/nodes.rb +1 -1
  131. data/lib/fog/{network/proxmox → proxmox/network}/requests/create_network.rb +0 -0
  132. data/lib/fog/{network/proxmox → proxmox/network}/requests/delete_network.rb +0 -0
  133. data/lib/fog/{network/proxmox → proxmox/network}/requests/get_network.rb +0 -0
  134. data/lib/fog/{network/proxmox → proxmox/network}/requests/get_node.rb +0 -0
  135. data/lib/fog/{network/proxmox → proxmox/network}/requests/list_networks.rb +0 -0
  136. data/lib/fog/{network/proxmox → proxmox/network}/requests/list_nodes.rb +0 -0
  137. data/lib/fog/{network/proxmox → proxmox/network}/requests/power_node.rb +0 -0
  138. data/lib/fog/{network/proxmox → proxmox/network}/requests/update_network.rb +0 -0
  139. data/lib/fog/{storage/proxmox.rb → proxmox/storage.rb} +1 -1
  140. data/lib/fog/proxmox/version.rb +1 -1
  141. data/spec/compute_spec.rb +4 -4
  142. data/spec/fixtures/proxmox/compute/common_auth.yml +40 -0
  143. data/spec/fixtures/proxmox/compute/containers.yml +1752 -7568
  144. data/spec/fixtures/proxmox/compute/nodes.yml +24 -30
  145. data/spec/fixtures/proxmox/compute/servers.yml +5015 -10683
  146. data/spec/fixtures/proxmox/compute/snapshots.yml +479 -1719
  147. data/spec/fixtures/proxmox/compute/storages.yml +32 -40
  148. data/spec/fixtures/proxmox/compute/tasks.yml +118 -338
  149. data/spec/fixtures/proxmox/identity/auth.yml +10 -12
  150. data/spec/fixtures/proxmox/identity/auth_access_ticket.yml +77 -0
  151. data/spec/fixtures/proxmox/identity/auth_user_token.yml +77 -0
  152. data/spec/fixtures/proxmox/identity/common_auth.yml +40 -0
  153. data/spec/fixtures/proxmox/identity/domains.yml +145 -181
  154. data/spec/fixtures/proxmox/identity/groups.yml +72 -90
  155. data/spec/fixtures/proxmox/identity/permissions.yml +297 -189
  156. data/spec/fixtures/proxmox/identity/pools.yml +176 -421
  157. data/spec/fixtures/proxmox/identity/read_version.yml +7 -9
  158. data/spec/fixtures/proxmox/identity/roles.yml +69 -87
  159. data/spec/fixtures/proxmox/identity/tokens.yml +494 -0
  160. data/spec/fixtures/proxmox/identity/users.yml +149 -187
  161. data/spec/fixtures/proxmox/network/common_auth.yml +40 -0
  162. data/spec/fixtures/proxmox/network/networks.yml +99 -96
  163. data/spec/helpers/cpu_helper_spec.rb +27 -20
  164. data/spec/helpers/disk_helper_spec.rb +231 -187
  165. data/spec/helpers/nic_helper_spec.rb +113 -114
  166. data/spec/identity_spec.rb +110 -28
  167. data/spec/network_spec.rb +3 -3
  168. data/spec/proxmox_vcr.rb +24 -22
  169. data/spec/spec_helper.rb +4 -3
  170. metadata +155 -139
  171. data/spec/fixtures/proxmox/compute/identity_ticket.yml +0 -40
  172. data/spec/fixtures/proxmox/identity/identity_ticket.yml +0 -40
  173. data/spec/fixtures/proxmox/identity/renew.yml +0 -40
  174. data/spec/fixtures/proxmox/network/identity_ticket.yml +0 -40
@@ -21,19 +21,66 @@ require 'spec_helper'
21
21
  require_relative './proxmox_vcr'
22
22
 
23
23
  describe Fog::Proxmox::Identity do
24
+
24
25
  before :all do
25
- Excon.defaults[:ssl_ca_file] = 'spec/fixtures/proxmox/pve.home'
26
26
  @proxmox_vcr = ProxmoxVCR.new(
27
27
  vcr_directory: 'spec/fixtures/proxmox/identity',
28
28
  service_class: Fog::Proxmox::Identity
29
29
  )
30
30
  @service = @proxmox_vcr.service
31
- @pve_url = @proxmox_vcr.url
31
+ @proxmox_url = @proxmox_vcr.url
32
32
  @username = @proxmox_vcr.username
33
33
  @password = @proxmox_vcr.password
34
+ @tokenid = @proxmox_vcr.tokenid
35
+ @token = @proxmox_vcr.token
34
36
  end
35
37
 
36
- it 'checks ticket with path and privs' do
38
+ it 'authenticates with access ticket' do
39
+ VCR.use_cassette('auth_access_ticket') do
40
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_auth_method: Fog::Proxmox::Auth::Token::AccessTicket::NAME, proxmox_username: @username, proxmox_password: @password)
41
+ _(proc do
42
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_auth_method: Fog::Proxmox::Auth::Token::AccessTicket::NAME, proxmox_username: @username, proxmox_password: 'wrong_password')
43
+ end).must_raise Excon::Errors::Unauthorized
44
+ _(proc do
45
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_username: @username, proxmox_password: @password)
46
+ end).must_raise ArgumentError
47
+ _(proc do
48
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_auth_method: Fog::Proxmox::Auth::Token::AccessTicket::NAME, proxmox_password: @password)
49
+ end).must_raise Fog::Proxmox::Auth::Token::AccessTicket::URIError
50
+ _(proc do
51
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_auth_method: Fog::Proxmox::Auth::Token::AccessTicket::NAME, proxmox_username: @username)
52
+ end).must_raise Fog::Proxmox::Auth::Token::AccessTicket::URIError
53
+ _(proc do
54
+ Fog::Proxmox::Identity.new(proxmox_auth_method: Fog::Proxmox::Auth::Token::AccessTicket::NAME, proxmox_username: @username, proxmox_password: 'wrong_password')
55
+ end).must_raise ArgumentError
56
+ end
57
+ end
58
+
59
+ it 'authenticates with user token' do
60
+ VCR.use_cassette('auth_user_token') do
61
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_auth_method: Fog::Proxmox::Auth::Token::UserToken::NAME, proxmox_userid: @username, proxmox_tokenid: @tokenid, proxmox_token: @token)
62
+ _(proc do
63
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_auth_method: Fog::Proxmox::Auth::Token::UserToken::NAME, proxmox_userid: @username, proxmox_tokenid: @tokenid, proxmox_token: 'wrong_token')
64
+ end).must_raise Excon::Errors::Unauthorized
65
+ _(proc do
66
+ Fog::Proxmox::Identity.new(proxmox_auth_method: Fog::Proxmox::Auth::Token::UserToken::NAME, proxmox_userid: @username, proxmox_tokenid: @tokenid, proxmox_token: 'wrong_token')
67
+ end).must_raise ArgumentError
68
+ _(proc do
69
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_userid: @username, proxmox_tokenid: @tokenid, proxmox_token: 'wrong_token')
70
+ end).must_raise ArgumentError
71
+ _(proc do
72
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_auth_method: Fog::Proxmox::Auth::Token::UserToken::NAME, proxmox_userid: @username, proxmox_token: @token)
73
+ end).must_raise Fog::Proxmox::Auth::Token::UserToken::URIError
74
+ _(proc do
75
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_auth_method: Fog::Proxmox::Auth::Token::UserToken::NAME, proxmox_tokenid: @tokenid, proxmox_token: @token)
76
+ end).must_raise Fog::Proxmox::Auth::Token::UserToken::URIError
77
+ _(proc do
78
+ Fog::Proxmox::Identity.new(proxmox_url: @proxmox_url, proxmox_auth_method: Fog::Proxmox::Auth::Token::UserToken::NAME, proxmox_userid: @username, proxmox_tokenid: @tokenid)
79
+ end).must_raise Fog::Proxmox::Auth::Token::UserToken::URIError
80
+ end
81
+ end
82
+
83
+ it 'checks access ticket with path and privs' do
37
84
  VCR.use_cassette('auth') do
38
85
  principal = { username: @username, password: @password, privs: ['User.Modify'], path: 'access', otp: 'proxmox01' }
39
86
  permissions = @service.check_permissions(principal)
@@ -44,26 +91,6 @@ describe Fog::Proxmox::Identity do
44
91
  end
45
92
  end
46
93
 
47
- it 'renew expired ticket' do
48
- VCR.use_cassette('renew') do
49
- @connection_options = {}
50
- # ignore enterprise proxy
51
- @connection_options[:disable_proxy] = true if ENV['DISABLE_PROXY'] == 'true'
52
- # ignore dev certificates on servers
53
- @connection_options[:ssl_verify_peer] = false if ENV['SSL_VERIFY_PEER'] == 'false'
54
- connection_params = {
55
- pve_url: @pve_url,
56
- pve_username: @username,
57
- pve_password: @password,
58
- pve_ticket_lifetime: - (100 * 60 * 60), # ticket has expired from 100 hours
59
- connection_options: @connection_options
60
- }
61
- _(Fog::Proxmox.credentials_has_expired?).must_equal false
62
- Fog::Proxmox.authenticate(connection_params)
63
- _(Fog::Proxmox.credentials_has_expired?).must_equal true
64
- end
65
- end
66
-
67
94
  it 'reads server version' do
68
95
  VCR.use_cassette('read_version') do
69
96
  version = @service.read_version
@@ -207,7 +234,7 @@ describe Fog::Proxmox::Identity do
207
234
  _(proc do
208
235
  @service.domains.create(ldap_hash)
209
236
  end).must_raise Excon::Errors::InternalServerError
210
- # # Create 2nd time must fails
237
+ # Create 2nd time must fails
211
238
  _(proc do
212
239
  @service.domains.create(ad_hash)
213
240
  end).must_raise Excon::Errors::InternalServerError
@@ -217,10 +244,10 @@ describe Fog::Proxmox::Identity do
217
244
  ldap.update
218
245
  # Find by id
219
246
  ad = @service.domains.get ad_hash[:realm]
220
- # ad.wont_be_nil
247
+ _(ad).wont_be_nil
221
248
  ad.type.tfa = 'type=yubico,id=1,key=2,url=http://localhost'
222
249
  ad.update
223
- # # all groups
250
+ # all groups
224
251
  domains_all = @service.domains.all
225
252
  _(domains_all).wont_be_nil
226
253
  _(domains_all).wont_be_empty
@@ -246,8 +273,12 @@ describe Fog::Proxmox::Identity do
246
273
  lastname: 'Sinclar',
247
274
  email: 'bobsinclar@proxmox.com'
248
275
  }
249
- @service.roles.create(roleid: 'PVETestAdmin', privs: 'User.Modify,Group.Allocate')
250
- role = @service.roles.get('PVETestAdmin')
276
+ role_hash = {
277
+ roleid: 'PVETestAdmin',
278
+ privs: 'User.Modify,Group.Allocate'
279
+ }
280
+ @service.roles.create(role_hash)
281
+ role = @service.roles.get(role_hash[:roleid])
251
282
  _(role).wont_be_nil
252
283
  @service.users.create(bob_hash)
253
284
  bob = @service.users.get bob_hash[:userid]
@@ -258,6 +289,10 @@ describe Fog::Proxmox::Identity do
258
289
  permissions = @service.permissions.all
259
290
  _(permissions).wont_be_empty
260
291
  _(permissions).must_include permission
292
+ # Read user permissions
293
+ _(bob.permissions).wont_be_empty
294
+ _(bob.permissions.keys).must_include '/access'
295
+ _(bob.permissions.keys).must_include '/access/groups'
261
296
  # Remove ACL to users
262
297
  permissions.destroy(type: 'user', roleid: role.roleid, path: '/access', ugid: bob.userid)
263
298
  permission = @service.permissions.get('user', role.roleid, '/access', bob.userid)
@@ -278,6 +313,8 @@ describe Fog::Proxmox::Identity do
278
313
  _(permissions).must_be_empty
279
314
  group1.destroy
280
315
  role.destroy
316
+ role = @service.roles.get(role_hash[:roleid])
317
+ _(role).must_be_nil
281
318
  end
282
319
  end
283
320
 
@@ -319,4 +356,49 @@ describe Fog::Proxmox::Identity do
319
356
  _(pool).must_be_nil
320
357
  end
321
358
  end
359
+
360
+ it 'CRUD user tokens' do
361
+ VCR.use_cassette('tokens') do
362
+ # Get user
363
+ bob_hash = {
364
+ userid: 'bobsinclar@pve',
365
+ password: 'bobsinclar1',
366
+ firstname: 'Bob',
367
+ lastname: 'Sinclar',
368
+ email: 'bobsinclar@proxmox.com'
369
+ }
370
+ token_hash = {
371
+ userid: bob_hash[:userid],
372
+ tokenid: 'bobsinclar1'
373
+ }
374
+ @service.users.create(bob_hash)
375
+ bob = @service.users.get token_hash[:userid]
376
+ _(bob).wont_be_nil
377
+ # Create Token
378
+ token = bob.tokens.create(token_hash)
379
+ token_info = token.info
380
+ _(token_info).wont_be_nil
381
+ # all user tokens
382
+ tokens_all = bob.tokens.all
383
+ _(tokens_all).wont_be_nil
384
+ _(tokens_all).wont_be_empty
385
+ _(tokens_all).must_include token
386
+ # Find token info by tokenid
387
+ token_get = bob.tokens.get(token_hash[:tokenid])
388
+ _(token_get).wont_be_nil
389
+ _(token_get).must_equal token
390
+ # Update
391
+ token.comment = 'test'
392
+ token.expire = 0
393
+ token.privsep = 0
394
+ token.update
395
+ # Delete
396
+ token.destroy
397
+ token = bob.tokens.get token_hash[:tokenid]
398
+ _(token).must_be_nil
399
+ bob.destroy
400
+ bob= @service.users.get bob_hash[:userid]
401
+ _(bob).must_be_nil
402
+ end
403
+ end
322
404
  end
data/spec/network_spec.rb CHANGED
@@ -27,11 +27,11 @@ describe Fog::Proxmox::Network do
27
27
  service_class: Fog::Proxmox::Network
28
28
  )
29
29
  @service = @proxmox_vcr.service
30
- @pve_url = @proxmox_vcr.url
30
+ @proxmox_url = @proxmox_vcr.url
31
31
  @username = @proxmox_vcr.username
32
32
  @password = @proxmox_vcr.password
33
- @ticket = @proxmox_vcr.ticket
34
- @csrftoken = @proxmox_vcr.csrftoken
33
+ @tokenid = @proxmox_vcr.tokenid
34
+ @token = @proxmox_vcr.token
35
35
  end
36
36
 
37
37
  it 'CRUD networks' do
data/spec/proxmox_vcr.rb CHANGED
@@ -20,35 +20,34 @@
20
20
 
21
21
  # There are basically two modes of operation for these specs.
22
22
  #
23
- # 1. ENV[PVE_URL] exists: talk to an actual Proxmox server and record HTTP
23
+ # 1. ENV[PROXMOX_URL] exists: talk to an actual Proxmox server and record HTTP
24
24
  # traffic in VCRs at "spec/debug" (credentials are read from the conventional
25
- # environment variables: PVE_URL, PVE_USERNAME, PVE_PASSWORD)
25
+ # environment variables: PROXMOX_URL, PROXMOX_USERNAME, PROXMOX_PASSWORD)
26
26
  # 2. otherwise (Travis etc.): use VCRs at "spec/fixtures/proxmox/#{service}"
27
27
 
28
28
  require 'vcr'
29
+ require 'fog/proxmox/auth/token'
29
30
 
30
31
  class ProxmoxVCR
31
32
  attr_reader :username,
32
33
  :password,
33
- :ticket,
34
- :csrftoken,
34
+ :tokenid,
35
+ :token,
35
36
  :service,
36
- :url,
37
- :path,
38
- :deadline
37
+ :url
39
38
 
40
39
  def initialize(options)
41
40
  @vcr_directory = options[:vcr_directory]
42
41
  @service_class = options[:service_class]
43
42
  @connection_options = options[:connection_options] || {}
44
43
 
45
- use_recorded = !ENV.key?('PVE_URL') || ENV['USE_VCR'] == 'true'
44
+ use_recorded = !ENV.key?('PROXMOX_URL') || ENV['USE_VCR'] == 'true'
46
45
 
47
46
  if use_recorded
48
47
  Fog.interval = 0
49
48
  @url = 'https://192.168.56.101:8006/api2/json'
50
49
  else
51
- @url = ENV['PVE_URL']
50
+ @url = ENV['PROXMOX_URL']
52
51
  end
53
52
 
54
53
  VCR.configure do |config|
@@ -65,27 +64,30 @@ class ProxmoxVCR
65
64
  config.debug_logger = nil # use $stderr to debug
66
65
  end
67
66
 
68
- # ignore enterprise proxy
69
- @connection_options[:disable_proxy] = true if ENV['DISABLE_PROXY'] == 'true'
70
-
71
- # ignore dev certificates on servers
72
- @connection_options[:ssl_verify_peer] = false if ENV['SSL_VERIFY_PEER'] == 'false'
73
-
74
- VCR.use_cassette('identity_ticket') do
75
- Fog::Proxmox.clear_credentials
67
+ VCR.use_cassette('common_auth') do
68
+ Fog::Proxmox.clear_token_cache
76
69
 
70
+ @auth_method = Fog::Proxmox::Auth::Token::AccessTicket::NAME
77
71
  @username = 'root@pam'
78
72
  @password = 'proxmox01'
73
+ @tokenid = 'root1'
74
+ @token = 'ed6402b4-641d-46b1-b20a-33ba9ba12f54'
79
75
 
80
76
  unless use_recorded
81
- @username = ENV['PVE_USERNAME'] || options[:username] || @username
82
- @password = ENV['PVE_PASSWORD'] || options[:password] || @password
77
+ @auth_method = ENV['PROXMOX_AUTH_METHOD'] || options[:auth_method] || @auth_method
78
+ @username = ENV['PROXMOX_USERNAME'] || options[:username] || @username
79
+ @password = ENV['PROXMOX_PASSWORD'] || options[:password] || @password
80
+ @tokenid = ENV['PROXMOX_TOKENID'] || options[:tokenid] || @tokenid
81
+ @token = ENV['PROXMOX_TOKEN'] || options[:token] || @token
83
82
  end
84
83
 
85
84
  connection_params = {
86
- pve_url: @url,
87
- pve_username: @username,
88
- pve_password: @password,
85
+ proxmox_url: @url,
86
+ proxmox_auth_method: @auth_method,
87
+ proxmox_username: @username,
88
+ proxmox_password: @password,
89
+ proxmox_tokenid: @tokenid,
90
+ proxmox_token: @token,
89
91
  connection_options: @connection_options
90
92
  }
91
93
 
data/spec/spec_helper.rb CHANGED
@@ -23,9 +23,10 @@ require 'simplecov'
23
23
  SimpleCov.start do
24
24
  add_filter '/spec/'
25
25
  add_group 'Core', 'lib/fog/proxmox'
26
- add_group 'Identity', 'lib/fog/identity'
27
- add_group 'Compute', 'lib/fog/compute'
28
- add_group 'Network', 'lib/fog/network'
26
+ add_group 'Auth', 'lib/fog/proxmox/auth'
27
+ add_group 'Identity', 'lib/fog/proxmox/identity'
28
+ add_group 'Compute', 'lib/fog/proxmox/compute'
29
+ add_group 'Network', 'lib/fog/proxmox/network'
29
30
  end
30
31
 
31
32
  require 'minitest/autorun'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-proxmox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tristan Robert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-22 00:00:00.000000000 Z
11
+ date: 2021-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler-audit
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.6'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: debase
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -234,20 +248,6 @@ dependencies:
234
248
  - - "~>"
235
249
  - !ruby/object:Gem::Version
236
250
  version: '3.5'
237
- - !ruby/object:Gem::Dependency
238
- name: bundler-audit
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - "~>"
242
- - !ruby/object:Gem::Version
243
- version: '0.6'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - "~>"
249
- - !ruby/object:Gem::Version
250
- version: '0.6'
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: fog-core
253
253
  requirement: !ruby/object:Gem::Requirement
@@ -331,121 +331,66 @@ files:
331
331
  - examples/compute.rb
332
332
  - examples/identity.rb
333
333
  - fog-proxmox.gemspec
334
- - lib/fog/compute/proxmox.rb
335
- - lib/fog/compute/proxmox/models/disk.rb
336
- - lib/fog/compute/proxmox/models/disks.rb
337
- - lib/fog/compute/proxmox/models/interface.rb
338
- - lib/fog/compute/proxmox/models/interfaces.rb
339
- - lib/fog/compute/proxmox/models/node.rb
340
- - lib/fog/compute/proxmox/models/nodes.rb
341
- - lib/fog/compute/proxmox/models/server.rb
342
- - lib/fog/compute/proxmox/models/server_config.rb
343
- - lib/fog/compute/proxmox/models/servers.rb
344
- - lib/fog/compute/proxmox/models/snapshot.rb
345
- - lib/fog/compute/proxmox/models/snapshots.rb
346
- - lib/fog/compute/proxmox/models/storage.rb
347
- - lib/fog/compute/proxmox/models/storages.rb
348
- - lib/fog/compute/proxmox/models/task.rb
349
- - lib/fog/compute/proxmox/models/tasks.rb
350
- - lib/fog/compute/proxmox/models/volume.rb
351
- - lib/fog/compute/proxmox/models/volumes.rb
352
- - lib/fog/compute/proxmox/requests/action_server.rb
353
- - lib/fog/compute/proxmox/requests/clone_server.rb
354
- - lib/fog/compute/proxmox/requests/create_backup.rb
355
- - lib/fog/compute/proxmox/requests/create_server.rb
356
- - lib/fog/compute/proxmox/requests/create_snapshot.rb
357
- - lib/fog/compute/proxmox/requests/create_spice.rb
358
- - lib/fog/compute/proxmox/requests/create_term.rb
359
- - lib/fog/compute/proxmox/requests/create_vnc.rb
360
- - lib/fog/compute/proxmox/requests/delete_server.rb
361
- - lib/fog/compute/proxmox/requests/delete_snapshot.rb
362
- - lib/fog/compute/proxmox/requests/delete_volume.rb
363
- - lib/fog/compute/proxmox/requests/get_node_statistics.rb
364
- - lib/fog/compute/proxmox/requests/get_server_config.rb
365
- - lib/fog/compute/proxmox/requests/get_server_status.rb
366
- - lib/fog/compute/proxmox/requests/get_snapshot_config.rb
367
- - lib/fog/compute/proxmox/requests/get_task.rb
368
- - lib/fog/compute/proxmox/requests/get_vnc.rb
369
- - lib/fog/compute/proxmox/requests/get_volume.rb
370
- - lib/fog/compute/proxmox/requests/list_nodes.rb
371
- - lib/fog/compute/proxmox/requests/list_servers.rb
372
- - lib/fog/compute/proxmox/requests/list_snapshots.rb
373
- - lib/fog/compute/proxmox/requests/list_storages.rb
374
- - lib/fog/compute/proxmox/requests/list_tasks.rb
375
- - lib/fog/compute/proxmox/requests/list_volumes.rb
376
- - lib/fog/compute/proxmox/requests/log_task.rb
377
- - lib/fog/compute/proxmox/requests/migrate_server.rb
378
- - lib/fog/compute/proxmox/requests/move_disk.rb
379
- - lib/fog/compute/proxmox/requests/move_volume.rb
380
- - lib/fog/compute/proxmox/requests/next_vmid.rb
381
- - lib/fog/compute/proxmox/requests/resize_container.rb
382
- - lib/fog/compute/proxmox/requests/resize_server.rb
383
- - lib/fog/compute/proxmox/requests/rollback_snapshot.rb
384
- - lib/fog/compute/proxmox/requests/status_task.rb
385
- - lib/fog/compute/proxmox/requests/stop_task.rb
386
- - lib/fog/compute/proxmox/requests/template_server.rb
387
- - lib/fog/compute/proxmox/requests/update_server.rb
388
- - lib/fog/compute/proxmox/requests/update_snapshot.rb
389
- - lib/fog/identity/proxmox.rb
390
- - lib/fog/identity/proxmox/models/domain.rb
391
- - lib/fog/identity/proxmox/models/domain_type.rb
392
- - lib/fog/identity/proxmox/models/domains.rb
393
- - lib/fog/identity/proxmox/models/group.rb
394
- - lib/fog/identity/proxmox/models/groups.rb
395
- - lib/fog/identity/proxmox/models/permission.rb
396
- - lib/fog/identity/proxmox/models/permissions.rb
397
- - lib/fog/identity/proxmox/models/pool.rb
398
- - lib/fog/identity/proxmox/models/pools.rb
399
- - lib/fog/identity/proxmox/models/principal.rb
400
- - lib/fog/identity/proxmox/models/role.rb
401
- - lib/fog/identity/proxmox/models/roles.rb
402
- - lib/fog/identity/proxmox/models/user.rb
403
- - lib/fog/identity/proxmox/models/users.rb
404
- - lib/fog/identity/proxmox/requests/change_password.rb
405
- - lib/fog/identity/proxmox/requests/check_permissions.rb
406
- - lib/fog/identity/proxmox/requests/create_domain.rb
407
- - lib/fog/identity/proxmox/requests/create_group.rb
408
- - lib/fog/identity/proxmox/requests/create_pool.rb
409
- - lib/fog/identity/proxmox/requests/create_role.rb
410
- - lib/fog/identity/proxmox/requests/create_user.rb
411
- - lib/fog/identity/proxmox/requests/delete_domain.rb
412
- - lib/fog/identity/proxmox/requests/delete_group.rb
413
- - lib/fog/identity/proxmox/requests/delete_pool.rb
414
- - lib/fog/identity/proxmox/requests/delete_role.rb
415
- - lib/fog/identity/proxmox/requests/delete_user.rb
416
- - lib/fog/identity/proxmox/requests/get_domain.rb
417
- - lib/fog/identity/proxmox/requests/get_group.rb
418
- - lib/fog/identity/proxmox/requests/get_pool.rb
419
- - lib/fog/identity/proxmox/requests/get_role.rb
420
- - lib/fog/identity/proxmox/requests/get_user.rb
421
- - lib/fog/identity/proxmox/requests/list_domains.rb
422
- - lib/fog/identity/proxmox/requests/list_groups.rb
423
- - lib/fog/identity/proxmox/requests/list_permissions.rb
424
- - lib/fog/identity/proxmox/requests/list_pools.rb
425
- - lib/fog/identity/proxmox/requests/list_roles.rb
426
- - lib/fog/identity/proxmox/requests/list_users.rb
427
- - lib/fog/identity/proxmox/requests/read_version.rb
428
- - lib/fog/identity/proxmox/requests/update_domain.rb
429
- - lib/fog/identity/proxmox/requests/update_group.rb
430
- - lib/fog/identity/proxmox/requests/update_permissions.rb
431
- - lib/fog/identity/proxmox/requests/update_pool.rb
432
- - lib/fog/identity/proxmox/requests/update_role.rb
433
- - lib/fog/identity/proxmox/requests/update_user.rb
434
- - lib/fog/network/proxmox.rb
435
- - lib/fog/network/proxmox/models/network.rb
436
- - lib/fog/network/proxmox/models/networks.rb
437
- - lib/fog/network/proxmox/models/node.rb
438
- - lib/fog/network/proxmox/models/nodes.rb
439
- - lib/fog/network/proxmox/requests/create_network.rb
440
- - lib/fog/network/proxmox/requests/delete_network.rb
441
- - lib/fog/network/proxmox/requests/get_network.rb
442
- - lib/fog/network/proxmox/requests/get_node.rb
443
- - lib/fog/network/proxmox/requests/list_networks.rb
444
- - lib/fog/network/proxmox/requests/list_nodes.rb
445
- - lib/fog/network/proxmox/requests/power_node.rb
446
- - lib/fog/network/proxmox/requests/update_network.rb
447
334
  - lib/fog/proxmox.rb
448
335
  - lib/fog/proxmox/attributes.rb
336
+ - lib/fog/proxmox/auth/token.rb
337
+ - lib/fog/proxmox/auth/token/access_ticket.rb
338
+ - lib/fog/proxmox/auth/token/user_token.rb
339
+ - lib/fog/proxmox/compute.rb
340
+ - lib/fog/proxmox/compute/models/disk.rb
341
+ - lib/fog/proxmox/compute/models/disks.rb
342
+ - lib/fog/proxmox/compute/models/interface.rb
343
+ - lib/fog/proxmox/compute/models/interfaces.rb
344
+ - lib/fog/proxmox/compute/models/node.rb
345
+ - lib/fog/proxmox/compute/models/nodes.rb
346
+ - lib/fog/proxmox/compute/models/server.rb
347
+ - lib/fog/proxmox/compute/models/server_config.rb
348
+ - lib/fog/proxmox/compute/models/servers.rb
349
+ - lib/fog/proxmox/compute/models/snapshot.rb
350
+ - lib/fog/proxmox/compute/models/snapshots.rb
351
+ - lib/fog/proxmox/compute/models/storage.rb
352
+ - lib/fog/proxmox/compute/models/storages.rb
353
+ - lib/fog/proxmox/compute/models/task.rb
354
+ - lib/fog/proxmox/compute/models/tasks.rb
355
+ - lib/fog/proxmox/compute/models/volume.rb
356
+ - lib/fog/proxmox/compute/models/volumes.rb
357
+ - lib/fog/proxmox/compute/requests/action_server.rb
358
+ - lib/fog/proxmox/compute/requests/clone_server.rb
359
+ - lib/fog/proxmox/compute/requests/create_backup.rb
360
+ - lib/fog/proxmox/compute/requests/create_server.rb
361
+ - lib/fog/proxmox/compute/requests/create_snapshot.rb
362
+ - lib/fog/proxmox/compute/requests/create_spice.rb
363
+ - lib/fog/proxmox/compute/requests/create_term.rb
364
+ - lib/fog/proxmox/compute/requests/create_vnc.rb
365
+ - lib/fog/proxmox/compute/requests/delete_server.rb
366
+ - lib/fog/proxmox/compute/requests/delete_snapshot.rb
367
+ - lib/fog/proxmox/compute/requests/delete_volume.rb
368
+ - lib/fog/proxmox/compute/requests/get_node_statistics.rb
369
+ - lib/fog/proxmox/compute/requests/get_server_config.rb
370
+ - lib/fog/proxmox/compute/requests/get_server_status.rb
371
+ - lib/fog/proxmox/compute/requests/get_snapshot_config.rb
372
+ - lib/fog/proxmox/compute/requests/get_task.rb
373
+ - lib/fog/proxmox/compute/requests/get_vnc.rb
374
+ - lib/fog/proxmox/compute/requests/get_volume.rb
375
+ - lib/fog/proxmox/compute/requests/list_nodes.rb
376
+ - lib/fog/proxmox/compute/requests/list_servers.rb
377
+ - lib/fog/proxmox/compute/requests/list_snapshots.rb
378
+ - lib/fog/proxmox/compute/requests/list_storages.rb
379
+ - lib/fog/proxmox/compute/requests/list_tasks.rb
380
+ - lib/fog/proxmox/compute/requests/list_volumes.rb
381
+ - lib/fog/proxmox/compute/requests/log_task.rb
382
+ - lib/fog/proxmox/compute/requests/migrate_server.rb
383
+ - lib/fog/proxmox/compute/requests/move_disk.rb
384
+ - lib/fog/proxmox/compute/requests/move_volume.rb
385
+ - lib/fog/proxmox/compute/requests/next_vmid.rb
386
+ - lib/fog/proxmox/compute/requests/resize_container.rb
387
+ - lib/fog/proxmox/compute/requests/resize_server.rb
388
+ - lib/fog/proxmox/compute/requests/rollback_snapshot.rb
389
+ - lib/fog/proxmox/compute/requests/status_task.rb
390
+ - lib/fog/proxmox/compute/requests/stop_task.rb
391
+ - lib/fog/proxmox/compute/requests/template_server.rb
392
+ - lib/fog/proxmox/compute/requests/update_server.rb
393
+ - lib/fog/proxmox/compute/requests/update_snapshot.rb
449
394
  - lib/fog/proxmox/core.rb
450
395
  - lib/fog/proxmox/errors.rb
451
396
  - lib/fog/proxmox/hash.rb
@@ -454,30 +399,99 @@ files:
454
399
  - lib/fog/proxmox/helpers/disk_helper.rb
455
400
  - lib/fog/proxmox/helpers/ip_helper.rb
456
401
  - lib/fog/proxmox/helpers/nic_helper.rb
402
+ - lib/fog/proxmox/identity.rb
403
+ - lib/fog/proxmox/identity/models/domain.rb
404
+ - lib/fog/proxmox/identity/models/domain_type.rb
405
+ - lib/fog/proxmox/identity/models/domains.rb
406
+ - lib/fog/proxmox/identity/models/group.rb
407
+ - lib/fog/proxmox/identity/models/groups.rb
408
+ - lib/fog/proxmox/identity/models/permission.rb
409
+ - lib/fog/proxmox/identity/models/permissions.rb
410
+ - lib/fog/proxmox/identity/models/pool.rb
411
+ - lib/fog/proxmox/identity/models/pools.rb
412
+ - lib/fog/proxmox/identity/models/principal.rb
413
+ - lib/fog/proxmox/identity/models/role.rb
414
+ - lib/fog/proxmox/identity/models/roles.rb
415
+ - lib/fog/proxmox/identity/models/token.rb
416
+ - lib/fog/proxmox/identity/models/token_info.rb
417
+ - lib/fog/proxmox/identity/models/tokens.rb
418
+ - lib/fog/proxmox/identity/models/user.rb
419
+ - lib/fog/proxmox/identity/models/users.rb
420
+ - lib/fog/proxmox/identity/requests/change_password.rb
421
+ - lib/fog/proxmox/identity/requests/check_permissions.rb
422
+ - lib/fog/proxmox/identity/requests/create_domain.rb
423
+ - lib/fog/proxmox/identity/requests/create_group.rb
424
+ - lib/fog/proxmox/identity/requests/create_pool.rb
425
+ - lib/fog/proxmox/identity/requests/create_role.rb
426
+ - lib/fog/proxmox/identity/requests/create_token.rb
427
+ - lib/fog/proxmox/identity/requests/create_user.rb
428
+ - lib/fog/proxmox/identity/requests/delete_domain.rb
429
+ - lib/fog/proxmox/identity/requests/delete_group.rb
430
+ - lib/fog/proxmox/identity/requests/delete_pool.rb
431
+ - lib/fog/proxmox/identity/requests/delete_role.rb
432
+ - lib/fog/proxmox/identity/requests/delete_token.rb
433
+ - lib/fog/proxmox/identity/requests/delete_user.rb
434
+ - lib/fog/proxmox/identity/requests/get_domain.rb
435
+ - lib/fog/proxmox/identity/requests/get_group.rb
436
+ - lib/fog/proxmox/identity/requests/get_pool.rb
437
+ - lib/fog/proxmox/identity/requests/get_role.rb
438
+ - lib/fog/proxmox/identity/requests/get_token_info.rb
439
+ - lib/fog/proxmox/identity/requests/get_user.rb
440
+ - lib/fog/proxmox/identity/requests/list_domains.rb
441
+ - lib/fog/proxmox/identity/requests/list_groups.rb
442
+ - lib/fog/proxmox/identity/requests/list_permissions.rb
443
+ - lib/fog/proxmox/identity/requests/list_pools.rb
444
+ - lib/fog/proxmox/identity/requests/list_roles.rb
445
+ - lib/fog/proxmox/identity/requests/list_tokens.rb
446
+ - lib/fog/proxmox/identity/requests/list_user_permissions.rb
447
+ - lib/fog/proxmox/identity/requests/list_users.rb
448
+ - lib/fog/proxmox/identity/requests/read_version.rb
449
+ - lib/fog/proxmox/identity/requests/update_domain.rb
450
+ - lib/fog/proxmox/identity/requests/update_group.rb
451
+ - lib/fog/proxmox/identity/requests/update_permissions.rb
452
+ - lib/fog/proxmox/identity/requests/update_pool.rb
453
+ - lib/fog/proxmox/identity/requests/update_role.rb
454
+ - lib/fog/proxmox/identity/requests/update_token.rb
455
+ - lib/fog/proxmox/identity/requests/update_user.rb
457
456
  - lib/fog/proxmox/json.rb
457
+ - lib/fog/proxmox/network.rb
458
+ - lib/fog/proxmox/network/models/network.rb
459
+ - lib/fog/proxmox/network/models/networks.rb
460
+ - lib/fog/proxmox/network/models/node.rb
461
+ - lib/fog/proxmox/network/models/nodes.rb
462
+ - lib/fog/proxmox/network/requests/create_network.rb
463
+ - lib/fog/proxmox/network/requests/delete_network.rb
464
+ - lib/fog/proxmox/network/requests/get_network.rb
465
+ - lib/fog/proxmox/network/requests/get_node.rb
466
+ - lib/fog/proxmox/network/requests/list_networks.rb
467
+ - lib/fog/proxmox/network/requests/list_nodes.rb
468
+ - lib/fog/proxmox/network/requests/power_node.rb
469
+ - lib/fog/proxmox/network/requests/update_network.rb
470
+ - lib/fog/proxmox/storage.rb
458
471
  - lib/fog/proxmox/string.rb
459
472
  - lib/fog/proxmox/variables.rb
460
473
  - lib/fog/proxmox/version.rb
461
- - lib/fog/storage/proxmox.rb
462
474
  - spec/compute_spec.rb
475
+ - spec/fixtures/proxmox/compute/common_auth.yml
463
476
  - spec/fixtures/proxmox/compute/containers.yml
464
- - spec/fixtures/proxmox/compute/identity_ticket.yml
465
477
  - spec/fixtures/proxmox/compute/nodes.yml
466
478
  - spec/fixtures/proxmox/compute/servers.yml
467
479
  - spec/fixtures/proxmox/compute/snapshots.yml
468
480
  - spec/fixtures/proxmox/compute/storages.yml
469
481
  - spec/fixtures/proxmox/compute/tasks.yml
470
482
  - spec/fixtures/proxmox/identity/auth.yml
483
+ - spec/fixtures/proxmox/identity/auth_access_ticket.yml
484
+ - spec/fixtures/proxmox/identity/auth_user_token.yml
485
+ - spec/fixtures/proxmox/identity/common_auth.yml
471
486
  - spec/fixtures/proxmox/identity/domains.yml
472
487
  - spec/fixtures/proxmox/identity/groups.yml
473
- - spec/fixtures/proxmox/identity/identity_ticket.yml
474
488
  - spec/fixtures/proxmox/identity/permissions.yml
475
489
  - spec/fixtures/proxmox/identity/pools.yml
476
490
  - spec/fixtures/proxmox/identity/read_version.yml
477
- - spec/fixtures/proxmox/identity/renew.yml
478
491
  - spec/fixtures/proxmox/identity/roles.yml
492
+ - spec/fixtures/proxmox/identity/tokens.yml
479
493
  - spec/fixtures/proxmox/identity/users.yml
480
- - spec/fixtures/proxmox/network/identity_ticket.yml
494
+ - spec/fixtures/proxmox/network/common_auth.yml
481
495
  - spec/fixtures/proxmox/network/networks.yml
482
496
  - spec/fixtures/proxmox/pve.home
483
497
  - spec/hash_spec.rb
@@ -509,30 +523,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
509
523
  - !ruby/object:Gem::Version
510
524
  version: '0'
511
525
  requirements: []
512
- rubygems_version: 3.0.3
526
+ rubygems_version: 3.2.3
513
527
  signing_key:
514
528
  specification_version: 4
515
529
  summary: Module for the 'Fog' gem to support Proxmox VE
516
530
  test_files:
517
531
  - spec/compute_spec.rb
532
+ - spec/fixtures/proxmox/compute/common_auth.yml
518
533
  - spec/fixtures/proxmox/compute/containers.yml
519
- - spec/fixtures/proxmox/compute/identity_ticket.yml
520
534
  - spec/fixtures/proxmox/compute/nodes.yml
521
535
  - spec/fixtures/proxmox/compute/servers.yml
522
536
  - spec/fixtures/proxmox/compute/snapshots.yml
523
537
  - spec/fixtures/proxmox/compute/storages.yml
524
538
  - spec/fixtures/proxmox/compute/tasks.yml
525
539
  - spec/fixtures/proxmox/identity/auth.yml
540
+ - spec/fixtures/proxmox/identity/auth_access_ticket.yml
541
+ - spec/fixtures/proxmox/identity/auth_user_token.yml
542
+ - spec/fixtures/proxmox/identity/common_auth.yml
526
543
  - spec/fixtures/proxmox/identity/domains.yml
527
544
  - spec/fixtures/proxmox/identity/groups.yml
528
- - spec/fixtures/proxmox/identity/identity_ticket.yml
529
545
  - spec/fixtures/proxmox/identity/permissions.yml
530
546
  - spec/fixtures/proxmox/identity/pools.yml
531
547
  - spec/fixtures/proxmox/identity/read_version.yml
532
- - spec/fixtures/proxmox/identity/renew.yml
533
548
  - spec/fixtures/proxmox/identity/roles.yml
549
+ - spec/fixtures/proxmox/identity/tokens.yml
534
550
  - spec/fixtures/proxmox/identity/users.yml
535
- - spec/fixtures/proxmox/network/identity_ticket.yml
551
+ - spec/fixtures/proxmox/network/common_auth.yml
536
552
  - spec/fixtures/proxmox/network/networks.yml
537
553
  - spec/fixtures/proxmox/pve.home
538
554
  - spec/hash_spec.rb