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.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +7 -0
- data/.travis.yml +1 -0
- data/.vscode/launch.json +3 -21
- data/.vscode/settings.json +7 -7
- data/Gemfile.lock +39 -39
- data/README.md +9 -2
- data/examples/compute.rb +20 -23
- data/examples/identity.rb +16 -21
- data/fog-proxmox.gemspec +1 -2
- data/lib/fog/compute/proxmox.rb +2 -8
- data/lib/fog/compute/proxmox/models/disk.rb +13 -11
- data/lib/fog/compute/proxmox/models/disks.rb +3 -5
- data/lib/fog/compute/proxmox/models/interface.rb +6 -11
- data/lib/fog/compute/proxmox/models/interfaces.rb +3 -5
- data/lib/fog/compute/proxmox/models/node.rb +38 -43
- data/lib/fog/compute/proxmox/models/nodes.rb +5 -11
- data/lib/fog/compute/proxmox/models/server.rb +123 -80
- data/lib/fog/compute/proxmox/models/server_config.rb +56 -24
- data/lib/fog/compute/proxmox/models/servers.rb +34 -26
- data/lib/fog/compute/proxmox/models/snapshot.rb +28 -14
- data/lib/fog/compute/proxmox/models/snapshots.rb +9 -17
- data/lib/fog/compute/proxmox/models/storage.rb +15 -11
- data/lib/fog/compute/proxmox/models/storages.rb +13 -22
- data/lib/fog/compute/proxmox/models/task.rb +10 -14
- data/lib/fog/compute/proxmox/models/tasks.rb +9 -18
- data/lib/fog/compute/proxmox/models/volume.rb +12 -12
- data/lib/fog/compute/proxmox/models/volumes.rb +10 -19
- data/lib/fog/compute/proxmox/requests/action_server.rb +1 -4
- data/lib/fog/compute/proxmox/requests/clone_server.rb +1 -4
- data/lib/fog/compute/proxmox/requests/create_backup.rb +1 -4
- data/lib/fog/compute/proxmox/requests/create_server.rb +1 -4
- data/lib/fog/compute/proxmox/requests/create_snapshot.rb +1 -4
- data/lib/fog/compute/proxmox/requests/create_spice.rb +1 -4
- data/lib/fog/compute/proxmox/requests/create_term.rb +1 -4
- data/lib/fog/compute/proxmox/requests/create_vnc.rb +1 -4
- data/lib/fog/compute/proxmox/requests/delete_server.rb +1 -4
- data/lib/fog/compute/proxmox/requests/delete_snapshot.rb +1 -4
- data/lib/fog/compute/proxmox/requests/get_node_statistics.rb +1 -4
- data/lib/fog/compute/proxmox/requests/get_server_config.rb +1 -4
- data/lib/fog/compute/proxmox/requests/get_server_status.rb +1 -4
- data/lib/fog/compute/proxmox/requests/{get_snapshot.rb → get_snapshot_config.rb} +5 -8
- data/lib/fog/compute/proxmox/requests/get_task.rb +1 -4
- data/lib/fog/compute/proxmox/requests/get_vnc.rb +1 -4
- data/lib/fog/compute/proxmox/requests/list_nodes.rb +1 -2
- data/lib/fog/compute/proxmox/requests/list_storages.rb +3 -1
- data/lib/fog/compute/proxmox/requests/log_task.rb +1 -4
- data/lib/fog/compute/proxmox/requests/move_disk.rb +1 -4
- data/lib/fog/compute/proxmox/requests/move_volume.rb +1 -4
- data/lib/fog/compute/proxmox/requests/next_vmid.rb +5 -3
- data/lib/fog/compute/proxmox/requests/resize_container.rb +1 -4
- data/lib/fog/compute/proxmox/requests/status_task.rb +1 -4
- data/lib/fog/compute/proxmox/requests/update_server.rb +1 -4
- data/lib/fog/identity/proxmox.rb +2 -8
- data/lib/fog/identity/proxmox/models/domain.rb +25 -21
- data/lib/fog/identity/proxmox/models/{ldap.rb → domain_type.rb} +9 -18
- data/lib/fog/identity/proxmox/models/domains.rb +6 -76
- data/lib/fog/identity/proxmox/models/group.rb +6 -19
- data/lib/fog/identity/proxmox/models/groups.rb +6 -12
- data/lib/fog/identity/proxmox/models/permission.rb +27 -31
- data/lib/fog/identity/proxmox/models/permissions.rb +8 -25
- data/lib/fog/identity/proxmox/models/pool.rb +9 -22
- data/lib/fog/identity/proxmox/models/pools.rb +7 -13
- data/lib/fog/identity/proxmox/models/principal.rb +1 -6
- data/lib/fog/identity/proxmox/models/role.rb +7 -20
- data/lib/fog/identity/proxmox/models/roles.rb +6 -13
- data/lib/fog/identity/proxmox/models/user.rb +7 -21
- data/lib/fog/identity/proxmox/models/users.rb +6 -12
- data/lib/fog/identity/proxmox/requests/check_permissions.rb +1 -4
- data/lib/fog/identity/proxmox/requests/list_roles.rb +0 -1
- data/lib/fog/identity/proxmox/requests/read_version.rb +1 -5
- data/lib/fog/identity/proxmox/requests/update_group.rb +2 -3
- data/lib/fog/identity/proxmox/requests/{add_permission.rb → update_permissions.rb} +4 -4
- data/lib/fog/network/proxmox/models/network.rb +12 -18
- data/lib/fog/network/proxmox/models/networks.rb +11 -17
- data/lib/fog/network/proxmox/models/node.rb +14 -10
- data/lib/fog/network/proxmox/models/nodes.rb +5 -11
- data/lib/fog/network/proxmox/requests/create_network.rb +1 -4
- data/lib/fog/network/proxmox/requests/delete_network.rb +1 -4
- data/lib/fog/network/proxmox/requests/get_network.rb +1 -4
- data/lib/fog/network/proxmox/requests/get_node.rb +1 -4
- data/lib/fog/network/proxmox/requests/power_node.rb +1 -4
- data/lib/fog/network/proxmox/requests/update_network.rb +1 -4
- data/lib/fog/{compute/proxmox/requests/check_vmid.rb → proxmox/attributes.rb} +9 -17
- data/lib/fog/proxmox/core.rb +2 -1
- data/lib/fog/proxmox/helpers/cpu_helper.rb +6 -3
- data/lib/fog/proxmox/helpers/disk_helper.rb +1 -1
- data/lib/fog/proxmox/helpers/nic_helper.rb +37 -22
- data/lib/fog/proxmox/version.rb +1 -1
- data/lib/fog/storage/proxmox.rb +1 -1
- data/spec/compute_spec.rb +64 -45
- data/spec/fixtures/proxmox/compute/containers.yml +1684 -4137
- data/spec/fixtures/proxmox/compute/identity_ticket.yml +4 -4
- data/spec/fixtures/proxmox/compute/nodes.yml +21 -21
- data/spec/fixtures/proxmox/compute/servers.yml +3065 -7741
- data/spec/fixtures/proxmox/compute/snapshots.yml +279 -827
- data/spec/fixtures/proxmox/compute/storages.yml +60 -21
- data/spec/fixtures/proxmox/compute/tasks.yml +56 -98
- data/spec/fixtures/proxmox/identity/auth.yml +6 -6
- data/spec/fixtures/proxmox/identity/domains.yml +252 -84
- data/spec/fixtures/proxmox/identity/groups.yml +93 -54
- data/spec/fixtures/proxmox/identity/identity_ticket.yml +4 -4
- data/spec/fixtures/proxmox/identity/permissions.yml +317 -79
- data/spec/fixtures/proxmox/identity/pools.yml +266 -71
- data/spec/fixtures/proxmox/identity/read_version.yml +6 -6
- data/spec/fixtures/proxmox/identity/roles.yml +96 -57
- data/spec/fixtures/proxmox/identity/users.yml +224 -107
- data/spec/fixtures/proxmox/network/identity_ticket.yml +4 -4
- data/spec/fixtures/proxmox/network/networks.yml +54 -95
- data/spec/helpers/nic_helper_spec.rb +4 -4
- data/spec/identity_spec.rb +38 -46
- data/spec/network_spec.rb +1 -1
- metadata +9 -23
- data/lib/fog/compute/proxmox/models/container.rb +0 -86
- data/lib/fog/compute/proxmox/models/container_config.rb +0 -114
- data/lib/fog/compute/proxmox/models/containers.rb +0 -43
- data/lib/fog/compute/proxmox/requests/get_node.rb +0 -44
- data/lib/fog/compute/proxmox/requests/get_storage.rb +0 -44
- data/lib/fog/identity/proxmox/models/activedirectory.rb +0 -57
- data/lib/fog/identity/proxmox/models/oath.rb +0 -50
- data/lib/fog/identity/proxmox/models/pam.rb +0 -46
- data/lib/fog/identity/proxmox/models/pve.rb +0 -46
- data/lib/fog/identity/proxmox/models/yubico.rb +0 -51
- data/lib/fog/identity/proxmox/requests/remove_permission.rb +0 -42
- data/lib/fog/proxmox/models/collection.rb +0 -85
- 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::
|
26
|
+
class Tasks < Fog::Collection
|
28
27
|
model Fog::Compute::Proxmox::Task
|
29
|
-
attribute :
|
28
|
+
attribute :node_id
|
30
29
|
|
31
|
-
def new(
|
32
|
-
|
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
|
37
|
-
|
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(
|
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
|
-
|
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(
|
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::
|
33
|
+
class Volume < Fog::Model
|
36
34
|
identity :volid
|
37
35
|
attribute :content
|
38
36
|
attribute :size
|
39
37
|
attribute :format
|
40
|
-
attribute :
|
41
|
-
attribute :
|
38
|
+
attribute :node_id
|
39
|
+
attribute :storage_id
|
42
40
|
attribute :vmid
|
43
41
|
|
44
|
-
def
|
45
|
-
|
46
|
-
|
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
|
-
|
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
|
-
|
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::
|
26
|
+
class Volumes < Fog::Collection
|
28
27
|
model Fog::Compute::Proxmox::Volume
|
29
|
-
attribute :
|
30
|
-
attribute :
|
28
|
+
attribute :node_id
|
29
|
+
attribute :storage_id
|
31
30
|
|
32
|
-
def new(
|
33
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
44
|
+
all(vmid: vmid)
|
52
45
|
end
|
53
46
|
|
54
47
|
def get(id)
|
55
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
|