fog-proxmox 0.5.5 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +7 -0
  3. data/.travis.yml +1 -0
  4. data/.vscode/launch.json +3 -21
  5. data/.vscode/settings.json +7 -7
  6. data/Gemfile.lock +39 -39
  7. data/README.md +9 -2
  8. data/examples/compute.rb +20 -23
  9. data/examples/identity.rb +16 -21
  10. data/fog-proxmox.gemspec +1 -2
  11. data/lib/fog/compute/proxmox.rb +2 -8
  12. data/lib/fog/compute/proxmox/models/disk.rb +13 -11
  13. data/lib/fog/compute/proxmox/models/disks.rb +3 -5
  14. data/lib/fog/compute/proxmox/models/interface.rb +6 -11
  15. data/lib/fog/compute/proxmox/models/interfaces.rb +3 -5
  16. data/lib/fog/compute/proxmox/models/node.rb +38 -43
  17. data/lib/fog/compute/proxmox/models/nodes.rb +5 -11
  18. data/lib/fog/compute/proxmox/models/server.rb +123 -80
  19. data/lib/fog/compute/proxmox/models/server_config.rb +56 -24
  20. data/lib/fog/compute/proxmox/models/servers.rb +34 -26
  21. data/lib/fog/compute/proxmox/models/snapshot.rb +28 -14
  22. data/lib/fog/compute/proxmox/models/snapshots.rb +9 -17
  23. data/lib/fog/compute/proxmox/models/storage.rb +15 -11
  24. data/lib/fog/compute/proxmox/models/storages.rb +13 -22
  25. data/lib/fog/compute/proxmox/models/task.rb +10 -14
  26. data/lib/fog/compute/proxmox/models/tasks.rb +9 -18
  27. data/lib/fog/compute/proxmox/models/volume.rb +12 -12
  28. data/lib/fog/compute/proxmox/models/volumes.rb +10 -19
  29. data/lib/fog/compute/proxmox/requests/action_server.rb +1 -4
  30. data/lib/fog/compute/proxmox/requests/clone_server.rb +1 -4
  31. data/lib/fog/compute/proxmox/requests/create_backup.rb +1 -4
  32. data/lib/fog/compute/proxmox/requests/create_server.rb +1 -4
  33. data/lib/fog/compute/proxmox/requests/create_snapshot.rb +1 -4
  34. data/lib/fog/compute/proxmox/requests/create_spice.rb +1 -4
  35. data/lib/fog/compute/proxmox/requests/create_term.rb +1 -4
  36. data/lib/fog/compute/proxmox/requests/create_vnc.rb +1 -4
  37. data/lib/fog/compute/proxmox/requests/delete_server.rb +1 -4
  38. data/lib/fog/compute/proxmox/requests/delete_snapshot.rb +1 -4
  39. data/lib/fog/compute/proxmox/requests/get_node_statistics.rb +1 -4
  40. data/lib/fog/compute/proxmox/requests/get_server_config.rb +1 -4
  41. data/lib/fog/compute/proxmox/requests/get_server_status.rb +1 -4
  42. data/lib/fog/compute/proxmox/requests/{get_snapshot.rb → get_snapshot_config.rb} +5 -8
  43. data/lib/fog/compute/proxmox/requests/get_task.rb +1 -4
  44. data/lib/fog/compute/proxmox/requests/get_vnc.rb +1 -4
  45. data/lib/fog/compute/proxmox/requests/list_nodes.rb +1 -2
  46. data/lib/fog/compute/proxmox/requests/list_storages.rb +3 -1
  47. data/lib/fog/compute/proxmox/requests/log_task.rb +1 -4
  48. data/lib/fog/compute/proxmox/requests/move_disk.rb +1 -4
  49. data/lib/fog/compute/proxmox/requests/move_volume.rb +1 -4
  50. data/lib/fog/compute/proxmox/requests/next_vmid.rb +5 -3
  51. data/lib/fog/compute/proxmox/requests/resize_container.rb +1 -4
  52. data/lib/fog/compute/proxmox/requests/status_task.rb +1 -4
  53. data/lib/fog/compute/proxmox/requests/update_server.rb +1 -4
  54. data/lib/fog/identity/proxmox.rb +2 -8
  55. data/lib/fog/identity/proxmox/models/domain.rb +25 -21
  56. data/lib/fog/identity/proxmox/models/{ldap.rb → domain_type.rb} +9 -18
  57. data/lib/fog/identity/proxmox/models/domains.rb +6 -76
  58. data/lib/fog/identity/proxmox/models/group.rb +6 -19
  59. data/lib/fog/identity/proxmox/models/groups.rb +6 -12
  60. data/lib/fog/identity/proxmox/models/permission.rb +27 -31
  61. data/lib/fog/identity/proxmox/models/permissions.rb +8 -25
  62. data/lib/fog/identity/proxmox/models/pool.rb +9 -22
  63. data/lib/fog/identity/proxmox/models/pools.rb +7 -13
  64. data/lib/fog/identity/proxmox/models/principal.rb +1 -6
  65. data/lib/fog/identity/proxmox/models/role.rb +7 -20
  66. data/lib/fog/identity/proxmox/models/roles.rb +6 -13
  67. data/lib/fog/identity/proxmox/models/user.rb +7 -21
  68. data/lib/fog/identity/proxmox/models/users.rb +6 -12
  69. data/lib/fog/identity/proxmox/requests/check_permissions.rb +1 -4
  70. data/lib/fog/identity/proxmox/requests/list_roles.rb +0 -1
  71. data/lib/fog/identity/proxmox/requests/read_version.rb +1 -5
  72. data/lib/fog/identity/proxmox/requests/update_group.rb +2 -3
  73. data/lib/fog/identity/proxmox/requests/{add_permission.rb → update_permissions.rb} +4 -4
  74. data/lib/fog/network/proxmox/models/network.rb +12 -18
  75. data/lib/fog/network/proxmox/models/networks.rb +11 -17
  76. data/lib/fog/network/proxmox/models/node.rb +14 -10
  77. data/lib/fog/network/proxmox/models/nodes.rb +5 -11
  78. data/lib/fog/network/proxmox/requests/create_network.rb +1 -4
  79. data/lib/fog/network/proxmox/requests/delete_network.rb +1 -4
  80. data/lib/fog/network/proxmox/requests/get_network.rb +1 -4
  81. data/lib/fog/network/proxmox/requests/get_node.rb +1 -4
  82. data/lib/fog/network/proxmox/requests/power_node.rb +1 -4
  83. data/lib/fog/network/proxmox/requests/update_network.rb +1 -4
  84. data/lib/fog/{compute/proxmox/requests/check_vmid.rb → proxmox/attributes.rb} +9 -17
  85. data/lib/fog/proxmox/core.rb +2 -1
  86. data/lib/fog/proxmox/helpers/cpu_helper.rb +6 -3
  87. data/lib/fog/proxmox/helpers/disk_helper.rb +1 -1
  88. data/lib/fog/proxmox/helpers/nic_helper.rb +37 -22
  89. data/lib/fog/proxmox/version.rb +1 -1
  90. data/lib/fog/storage/proxmox.rb +1 -1
  91. data/spec/compute_spec.rb +64 -45
  92. data/spec/fixtures/proxmox/compute/containers.yml +1684 -4137
  93. data/spec/fixtures/proxmox/compute/identity_ticket.yml +4 -4
  94. data/spec/fixtures/proxmox/compute/nodes.yml +21 -21
  95. data/spec/fixtures/proxmox/compute/servers.yml +3065 -7741
  96. data/spec/fixtures/proxmox/compute/snapshots.yml +279 -827
  97. data/spec/fixtures/proxmox/compute/storages.yml +60 -21
  98. data/spec/fixtures/proxmox/compute/tasks.yml +56 -98
  99. data/spec/fixtures/proxmox/identity/auth.yml +6 -6
  100. data/spec/fixtures/proxmox/identity/domains.yml +252 -84
  101. data/spec/fixtures/proxmox/identity/groups.yml +93 -54
  102. data/spec/fixtures/proxmox/identity/identity_ticket.yml +4 -4
  103. data/spec/fixtures/proxmox/identity/permissions.yml +317 -79
  104. data/spec/fixtures/proxmox/identity/pools.yml +266 -71
  105. data/spec/fixtures/proxmox/identity/read_version.yml +6 -6
  106. data/spec/fixtures/proxmox/identity/roles.yml +96 -57
  107. data/spec/fixtures/proxmox/identity/users.yml +224 -107
  108. data/spec/fixtures/proxmox/network/identity_ticket.yml +4 -4
  109. data/spec/fixtures/proxmox/network/networks.yml +54 -95
  110. data/spec/helpers/nic_helper_spec.rb +4 -4
  111. data/spec/identity_spec.rb +38 -46
  112. data/spec/network_spec.rb +1 -1
  113. metadata +9 -23
  114. data/lib/fog/compute/proxmox/models/container.rb +0 -86
  115. data/lib/fog/compute/proxmox/models/container_config.rb +0 -114
  116. data/lib/fog/compute/proxmox/models/containers.rb +0 -43
  117. data/lib/fog/compute/proxmox/requests/get_node.rb +0 -44
  118. data/lib/fog/compute/proxmox/requests/get_storage.rb +0 -44
  119. data/lib/fog/identity/proxmox/models/activedirectory.rb +0 -57
  120. data/lib/fog/identity/proxmox/models/oath.rb +0 -50
  121. data/lib/fog/identity/proxmox/models/pam.rb +0 -46
  122. data/lib/fog/identity/proxmox/models/pve.rb +0 -46
  123. data/lib/fog/identity/proxmox/models/yubico.rb +0 -51
  124. data/lib/fog/identity/proxmox/requests/remove_permission.rb +0 -42
  125. data/lib/fog/proxmox/models/collection.rb +0 -85
  126. data/lib/fog/proxmox/models/model.rb +0 -58
@@ -17,35 +17,27 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/models/collection'
21
20
  require 'fog/compute/proxmox/models/task'
22
21
 
23
22
  module Fog
24
23
  module Compute
25
24
  class Proxmox
26
25
  # class Tasks Collection of node
27
- class Tasks < Fog::Proxmox::Collection
26
+ class Tasks < Fog::Collection
28
27
  model Fog::Compute::Proxmox::Task
29
- attribute :node
28
+ attribute :node_id
30
29
 
31
- def new(attributes = {})
32
- requires :node
33
- super({ node: node }.merge(attributes))
30
+ def new(new_attributes = {})
31
+ super({ node_id: node_id }.merge(new_attributes))
34
32
  end
35
33
 
36
- def search(options = {})
37
- requires :node
38
- load_response(service.list_tasks(node.node, options), 'tasks')
39
- end
40
-
41
- def all
42
- search
34
+ def all(filters = {})
35
+ load service.list_tasks(node_id, filters)
43
36
  end
44
37
 
45
38
  def log(id)
46
- requires :node
47
39
  log = ''
48
- log_array = service.log_task(node.node, id, {})
40
+ log_array = service.log_task(node_id, id, {})
49
41
  log_array.each do |line_hash|
50
42
  log += line_hash['t'].to_s + "\n"
51
43
  end
@@ -53,10 +45,9 @@ module Fog
53
45
  end
54
46
 
55
47
  def get(id)
56
- requires :node
57
- status_details = service.status_task(node.node, id)
48
+ status_details = service.status_task(node_id, id)
58
49
  task_hash = status_details.merge(log: log(id))
59
- task_data = task_hash.merge(node: node, upid: id)
50
+ task_data = task_hash.merge(node_id: node_id, upid: id)
60
51
  new(task_data)
61
52
  end
62
53
 
@@ -26,34 +26,34 @@
26
26
 
27
27
  # frozen_string_literal: true
28
28
 
29
- require 'fog/proxmox/models/model'
30
-
31
29
  module Fog
32
30
  module Compute
33
31
  class Proxmox
34
32
  # class Volume model
35
- class Volume < Fog::Proxmox::Model
33
+ class Volume < Fog::Model
36
34
  identity :volid
37
35
  attribute :content
38
36
  attribute :size
39
37
  attribute :format
40
- attribute :node
41
- attribute :storage
38
+ attribute :node_id
39
+ attribute :storage_id
42
40
  attribute :vmid
43
41
 
44
- def new(attributes = {})
45
- requires :node, :storage
46
- super({ node: node, storage: storage }.merge(attributes))
42
+ def initialize(new_attributes = {})
43
+ prepare_service_value(new_attributes)
44
+ attributes[:node_id] = new_attributes[:node_id] unless new_attributes[:node_id].nil?
45
+ attributes[:storage_id] = new_attributes[:storage_id] unless new_attributes[:storage_id].nil?
46
+ attributes[:volid] = new_attributes['volid'] unless new_attributes['volid'].nil?
47
+ requires :node_id, :storage_id, :volid
48
+ super(new_attributes)
47
49
  end
48
50
 
49
51
  def destroy
50
- requires :node, :volid, :storage
51
- service.delete_volume(node, storage, volid)
52
+ service.delete_volume(node_id, storage_id, volid)
52
53
  end
53
54
 
54
55
  def restore(vmid, options = {})
55
- requires :node, :volid, :storage
56
- service.create_server(node, options.merge(archive: volid, storage: storage, vmid: vmid))
56
+ service.create_server(node_id, options.merge(archive: volid, storage: storage_id, vmid: vmid))
57
57
  end
58
58
  end
59
59
  end
@@ -17,44 +17,35 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/models/collection'
21
20
  require 'fog/compute/proxmox/models/volume'
22
21
 
23
22
  module Fog
24
23
  module Compute
25
24
  class Proxmox
26
25
  # class Volumes Collection of volumes
27
- class Volumes < Fog::Proxmox::Collection
26
+ class Volumes < Fog::Collection
28
27
  model Fog::Compute::Proxmox::Volume
29
- attribute :node
30
- attribute :storage
28
+ attribute :node_id
29
+ attribute :storage_id
31
30
 
32
- def new(attributes = {})
33
- requires :node, :storage
34
- super({ node: node, storage: storage }.merge(attributes))
31
+ def new(new_attributes = {})
32
+ super({ node_id: node_id, storage_id: storage_id }.merge(new_attributes))
35
33
  end
36
34
 
37
- def all
38
- search
39
- end
40
-
41
- def search(options = {})
42
- requires :node, :storage
43
- load_response(service.list_volumes(node, storage, options), 'volumes')
35
+ def all(filters = {})
36
+ load service.list_volumes(node_id, storage_id, filters)
44
37
  end
45
38
 
46
39
  def list_by_content_type(content)
47
- search(content: content)
40
+ all.select { |volume| volume.content.include? content}
48
41
  end
49
42
 
50
43
  def list_by_content_type_and_by_server(content, vmid)
51
- search(content: content, vmid: vmid)
44
+ all(vmid: vmid)
52
45
  end
53
46
 
54
47
  def get(id)
55
- all
56
- cached_volume = find { |volume| volume.id == id }
57
- return cached_volume if cached_volume
48
+ new service.get_volume(node: node_id, storage: storage_id, volume: id)
58
49
  end
59
50
 
60
51
  def destroy(id)
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -29,13 +27,12 @@ module Fog
29
27
  type = path_params[:type]
30
28
  action = path_params[:action]
31
29
  vmid = path_params[:vmid]
32
- response = request(
30
+ request(
33
31
  expects: [200],
34
32
  method: 'POST',
35
33
  path: "nodes/#{node}/#{type}/#{vmid}/status/#{action}",
36
34
  body: URI.encode_www_form(body_params)
37
35
  )
38
- Fog::Proxmox::Json.get_data(response)
39
36
  end
40
37
  end
41
38
 
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -28,13 +26,12 @@ module Fog
28
26
  node = path_params[:node]
29
27
  type = path_params[:type]
30
28
  vmid = path_params[:vmid]
31
- response = request(
29
+ request(
32
30
  expects: [200],
33
31
  method: 'POST',
34
32
  path: "nodes/#{node}/#{type}/#{vmid}/clone",
35
33
  body: URI.encode_www_form(body_params)
36
34
  )
37
- Fog::Proxmox::Json.get_data(response)
38
35
  end
39
36
  end
40
37
 
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -26,13 +24,12 @@ module Fog
26
24
  class Real
27
25
  def create_backup(path_params, body_params)
28
26
  node = path_params[:node]
29
- response = request(
27
+ request(
30
28
  expects: [200],
31
29
  method: 'POST',
32
30
  path: "nodes/#{node}/vzdump",
33
31
  body: URI.encode_www_form(body_params)
34
32
  )
35
- Fog::Proxmox::Json.get_data(response)
36
33
  end
37
34
  end
38
35
 
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -27,13 +25,12 @@ module Fog
27
25
  def create_server(path_params, body_params)
28
26
  node = path_params[:node]
29
27
  type = path_params[:type]
30
- response = request(
28
+ request(
31
29
  expects: [200],
32
30
  method: 'POST',
33
31
  path: "nodes/#{node}/#{type}",
34
32
  body: URI.encode_www_form(body_params)
35
33
  )
36
- Fog::Proxmox::Json.get_data(response)
37
34
  end
38
35
  end
39
36
 
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -28,13 +26,12 @@ module Fog
28
26
  node = path_params[:node]
29
27
  type = path_params[:type]
30
28
  vmid = path_params[:vmid]
31
- response = request(
29
+ request(
32
30
  expects: [200],
33
31
  method: 'POST',
34
32
  path: "nodes/#{node}/#{type}/#{vmid}/snapshot",
35
33
  body: URI.encode_www_form(body_params)
36
34
  )
37
- Fog::Proxmox::Json.get_data(response)
38
35
  end
39
36
  end
40
37
 
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -28,13 +26,12 @@ module Fog
28
26
  node = path_params[:node]
29
27
  type = path_params[:type]
30
28
  vmid = path_params[:vmid]
31
- response = request(
29
+ request(
32
30
  expects: [200],
33
31
  method: 'POST',
34
32
  path: "nodes/#{node}/#{type}/#{vmid}/spiceproxy",
35
33
  body: URI.encode_www_form(body_params)
36
34
  )
37
- Fog::Proxmox::Json.get_data(response)
38
35
  end
39
36
  end
40
37
 
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -28,13 +26,12 @@ module Fog
28
26
  node = path_params[:node]
29
27
  type = path_params[:type]
30
28
  vmid = path_params[:vmid]
31
- response = request(
29
+ request(
32
30
  expects: [200],
33
31
  method: 'POST',
34
32
  path: "nodes/#{node}/#{type}/#{vmid}/termproxy",
35
33
  body: URI.encode_www_form(body_params)
36
34
  )
37
- Fog::Proxmox::Json.get_data(response)
38
35
  end
39
36
  end
40
37
 
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -28,13 +26,12 @@ module Fog
28
26
  node = path_params[:node]
29
27
  type = path_params[:type]
30
28
  vmid = path_params[:vmid]
31
- response = request(
29
+ request(
32
30
  expects: [200],
33
31
  method: 'POST',
34
32
  path: "nodes/#{node}/#{type}/#{vmid}/vncproxy",
35
33
  body: URI.encode_www_form(body_params)
36
34
  )
37
- Fog::Proxmox::Json.get_data(response)
38
35
  end
39
36
  end
40
37
 
@@ -18,8 +18,6 @@
18
18
 
19
19
  # frozen_string_literal: true
20
20
 
21
- require 'fog/proxmox/json'
22
-
23
21
  module Fog
24
22
  module Compute
25
23
  class Proxmox
@@ -29,13 +27,12 @@ module Fog
29
27
  node = path_params[:node]
30
28
  type = path_params[:type]
31
29
  vmid = path_params[:vmid]
32
- response = request(
30
+ request(
33
31
  expects: [200],
34
32
  method: 'DELETE',
35
33
  path: "nodes/#{node}/#{type}/#{vmid}",
36
34
  body: URI.encode_www_form(body_params)
37
35
  )
38
- Fog::Proxmox::Json.get_data(response)
39
36
  end
40
37
  end
41
38
 
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -29,13 +27,12 @@ module Fog
29
27
  type = path_params[:type]
30
28
  vmid = path_params[:vmid]
31
29
  snapname = path_params[:snapname]
32
- response = request(
30
+ request(
33
31
  expects: [200],
34
32
  method: 'DELETE',
35
33
  path: "nodes/#{node}/#{type}/#{vmid}/snapshot/#{snapname}",
36
34
  query: URI.encode_www_form(query_params)
37
35
  )
38
- Fog::Proxmox::Json.get_data(response)
39
36
  end
40
37
  end
41
38
 
@@ -18,8 +18,6 @@
18
18
 
19
19
  # frozen_string_literal: true
20
20
 
21
- require 'fog/proxmox/json'
22
-
23
21
  module Fog
24
22
  module Compute
25
23
  class Proxmox
@@ -28,13 +26,12 @@ module Fog
28
26
  def get_node_statistics(path_params,query_params)
29
27
  node = path_params[:node]
30
28
  output = path_params[:output]
31
- response = request(
29
+ request(
32
30
  expects: [200],
33
31
  method: 'GET',
34
32
  path: "nodes/#{node}/#{output}",
35
33
  query: URI.encode_www_form(query_params)
36
34
  )
37
- Fog::Proxmox::Json.get_data(response)
38
35
  end
39
36
  end
40
37
 
@@ -17,8 +17,6 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'fog/proxmox/json'
21
-
22
20
  module Fog
23
21
  module Compute
24
22
  class Proxmox
@@ -28,12 +26,11 @@ module Fog
28
26
  node = path_params[:node]
29
27
  type = path_params[:type]
30
28
  vmid = path_params[:vmid]
31
- response = request(
29
+ request(
32
30
  expects: [200],
33
31
  method: 'GET',
34
32
  path: "nodes/#{node}/#{type}/#{vmid}/config"
35
33
  )
36
- Fog::Proxmox::Json.get_data(response)
37
34
  end
38
35
  end
39
36