proxmox 0.0.3 → 0.0.4
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.
- checksums.yaml +7 -0
- data/.travis.yml +3 -1
- data/Gemfile +1 -1
- data/Guardfile +1 -1
- data/README.md +1 -0
- data/lib/proxmox.rb +80 -62
- data/lib/proxmox/version.rb +3 -1
- data/spec/lib/proxmox_spec.rb +24 -24
- data/spec/spec_helper.rb +0 -1
- metadata +20 -39
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a0cb791599d7e86814bd315d98332457483388f1
|
4
|
+
data.tar.gz: 26178642ae7b41d0a78f2616cb4e138ee31cd37a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1b4576b42bc811172fa73f71be042cba8820c0c21b5eceaf7a8e3c767c310083d0cb131441c7d95fe7c89e72f699554a4868d45ebdc3775c7fe9d5a58bc1254e
|
7
|
+
data.tar.gz: fd4e9e4cad618122de8564cf2bd97b072c85a8355d1b0c1d978659b9e211b0e1f575152edb0688d35e5e5938d4867d5a258467b57e07e7d85ddc844b907c059e
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -12,7 +12,6 @@ group :developpement do
|
|
12
12
|
gem "wdm" if RUBY_PLATFORM =~ /mingw/
|
13
13
|
gem "ruby_gntp" if RUBY_PLATFORM =~ /mingw/
|
14
14
|
|
15
|
-
gem "spork"
|
16
15
|
gem "guard-spork"
|
17
16
|
|
18
17
|
gem "yard"
|
@@ -21,6 +20,7 @@ group :developpement do
|
|
21
20
|
end
|
22
21
|
|
23
22
|
group :test do
|
23
|
+
gem "spork"
|
24
24
|
gem "simplecov"
|
25
25
|
gem "json", '~> 1.7.7'
|
26
26
|
gem "coveralls"
|
data/Guardfile
CHANGED
data/README.md
CHANGED
@@ -9,6 +9,7 @@ Current build:
|
|
9
9
|
[](https://coveralls.io/r/nledez/proxmox)
|
10
10
|
[](https://gemnasium.com/nledez/proxmox)
|
11
11
|
[](https://codeclimate.com/github/nledez/proxmox)
|
12
|
+
[](http://inch-ci.org/github/nledez/proxmox)
|
12
13
|
|
13
14
|
[RubyGem](http://rubygems.org/gems/proxmox)
|
14
15
|
|
data/lib/proxmox.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
1
3
|
require 'proxmox/version'
|
2
4
|
require 'rest_client'
|
3
5
|
require 'json'
|
@@ -14,20 +16,21 @@ module Proxmox
|
|
14
16
|
# Create a object to manage a Proxmox server through API
|
15
17
|
#
|
16
18
|
# :call-seq:
|
17
|
-
# new(pve_cluster, node, username, password, realm) -> Proxmox
|
19
|
+
# new(pve_cluster, node, username, password, realm, ssl_options) -> Proxmox
|
18
20
|
#
|
19
21
|
# Example:
|
20
22
|
#
|
21
|
-
# Proxmox::Proxmox.new(
|
23
|
+
# Proxmox::Proxmox.new('https://the-proxmox-server:8006/api2/json/', 'node', 'root', 'secret', 'pam', {verify_ssl: false})
|
22
24
|
#
|
23
|
-
def initialize(pve_cluster, node, username, password, realm)
|
25
|
+
def initialize(pve_cluster, node, username, password, realm, ssl_options = {})
|
24
26
|
@pve_cluster = pve_cluster
|
25
27
|
@node = node
|
26
28
|
@username = username
|
27
29
|
@password = password
|
28
30
|
@realm = realm
|
31
|
+
@ssl_options = ssl_options
|
29
32
|
@connection_status = 'error'
|
30
|
-
@site = RestClient::Resource.new(@pve_cluster)
|
33
|
+
@site = RestClient::Resource.new(@pve_cluster, @ssl_options)
|
31
34
|
@auth_params = create_ticket
|
32
35
|
end
|
33
36
|
|
@@ -41,7 +44,7 @@ module Proxmox
|
|
41
44
|
#
|
42
45
|
# Example:
|
43
46
|
#
|
44
|
-
# taskstatus
|
47
|
+
# taskstatus 'UPID:localhost:00051DA0:119EAABC:521CCB19:vzcreate:203:root@pam:'
|
45
48
|
#
|
46
49
|
# Examples return:
|
47
50
|
# - running
|
@@ -72,17 +75,17 @@ module Proxmox
|
|
72
75
|
# Example return:
|
73
76
|
#
|
74
77
|
# {
|
75
|
-
#
|
76
|
-
#
|
77
|
-
#
|
78
|
-
#
|
79
|
-
#
|
78
|
+
# 'ubuntu-10.04-standard_10.04-4_i386' => {
|
79
|
+
# 'format' => 'tgz',
|
80
|
+
# 'content' => 'vztmpl',
|
81
|
+
# 'volid' => 'local:vztmpl/ubuntu-10.04-standard_10.04-4_i386.tar.gz',
|
82
|
+
# 'size' => 142126884
|
80
83
|
# },
|
81
|
-
#
|
82
|
-
#
|
83
|
-
#
|
84
|
-
#
|
85
|
-
#
|
84
|
+
# 'ubuntu-12.04-standard_12.04-1_i386' => {
|
85
|
+
# 'format' => 'tgz',
|
86
|
+
# 'content' => 'vztmpl',
|
87
|
+
# 'volid' => 'local:vztmpl/ubuntu-12.04-standard_12.04-1_i386.tar.gz',
|
88
|
+
# 'size' => 130040792
|
86
89
|
# }
|
87
90
|
# }
|
88
91
|
#
|
@@ -109,27 +112,27 @@ module Proxmox
|
|
109
112
|
#
|
110
113
|
# Example return:
|
111
114
|
# {
|
112
|
-
#
|
113
|
-
#
|
114
|
-
#
|
115
|
-
#
|
116
|
-
#
|
117
|
-
#
|
118
|
-
#
|
119
|
-
#
|
120
|
-
#
|
121
|
-
#
|
122
|
-
#
|
123
|
-
#
|
124
|
-
#
|
125
|
-
#
|
126
|
-
#
|
127
|
-
#
|
128
|
-
#
|
129
|
-
#
|
130
|
-
#
|
131
|
-
#
|
132
|
-
#
|
115
|
+
# '101' => {
|
116
|
+
# 'maxswap' => 536870912,
|
117
|
+
# 'disk' => 405168128,
|
118
|
+
# 'ip' => '192.168.1.5',
|
119
|
+
# 'status' => 'running',
|
120
|
+
# 'netout' => 272,
|
121
|
+
# 'maxdisk' => 4294967296,
|
122
|
+
# 'maxmem' => 536870912,
|
123
|
+
# 'uptime' => 3068073,
|
124
|
+
# 'swap' => 0,
|
125
|
+
# 'vmid' => '101',
|
126
|
+
# 'nproc' => '10',
|
127
|
+
# 'diskread' => 0,
|
128
|
+
# 'cpu' => 0.00031670581100007,
|
129
|
+
# 'netin' => 0,
|
130
|
+
# 'name' => 'test2.domain.com',
|
131
|
+
# 'failcnt' => 0,
|
132
|
+
# 'diskwrite' => 0,
|
133
|
+
# 'mem' => 22487040,
|
134
|
+
# 'type' => 'openvz',
|
135
|
+
# 'cpus' => 1
|
133
136
|
# },
|
134
137
|
# [...]
|
135
138
|
# }
|
@@ -152,8 +155,8 @@ module Proxmox
|
|
152
155
|
#
|
153
156
|
# Examples:
|
154
157
|
#
|
155
|
-
# openvz_post(
|
156
|
-
# openvz_post(
|
158
|
+
# openvz_post('ubuntu-10.04-standard_10.04-4_i386', 200)
|
159
|
+
# openvz_post('ubuntu-10.04-standard_10.04-4_i386', 200, {'hostname' => 'test.test.com', 'password' => 'testt' })
|
157
160
|
#
|
158
161
|
# Example return:
|
159
162
|
#
|
@@ -276,26 +279,41 @@ module Proxmox
|
|
276
279
|
# Example return:
|
277
280
|
#
|
278
281
|
# {
|
279
|
-
#
|
280
|
-
#
|
281
|
-
#
|
282
|
-
#
|
283
|
-
#
|
284
|
-
#
|
285
|
-
#
|
286
|
-
#
|
287
|
-
#
|
288
|
-
#
|
289
|
-
#
|
290
|
-
#
|
291
|
-
#
|
292
|
-
#
|
282
|
+
# 'quotaugidlimit' => 0,
|
283
|
+
# 'disk' => 0,
|
284
|
+
# 'ostemplate' => 'ubuntu-10.04-standard_10.04-4_i386.tar.gz',
|
285
|
+
# 'hostname' => 'test.test.com',
|
286
|
+
# 'nameserver' => '127.0.0.1 192.168.1.1',
|
287
|
+
# 'memory' => 256,
|
288
|
+
# 'searchdomain' => 'domain.com',
|
289
|
+
# 'onboot' => 0,
|
290
|
+
# 'cpuunits' => 1000,
|
291
|
+
# 'swap' => 256,
|
292
|
+
# 'quotatime' => 0,
|
293
|
+
# 'digest' => 'e7e6e21a215af6b9da87a8ecb934956b8983f960',
|
294
|
+
# 'cpus' => 1,
|
295
|
+
# 'storage' => 'local'
|
293
296
|
# }
|
294
297
|
#
|
295
298
|
def openvz_config(vmid)
|
296
299
|
http_action_get "nodes/#{@node}/openvz/#{vmid}/config"
|
297
300
|
end
|
298
301
|
|
302
|
+
# Set CT config
|
303
|
+
#
|
304
|
+
# :call-seq:
|
305
|
+
# openvz_config_set(vmid, parameters) -> Nil
|
306
|
+
#
|
307
|
+
# Return nil
|
308
|
+
#
|
309
|
+
# Example:
|
310
|
+
#
|
311
|
+
# openvz_config(200, { 'swap' => 2048 })
|
312
|
+
#
|
313
|
+
# Example return:
|
314
|
+
#
|
315
|
+
# nil
|
316
|
+
#
|
299
317
|
def openvz_config_set(vmid, data)
|
300
318
|
http_action_put("nodes/#{@node}/openvz/#{vmid}/config", data)
|
301
319
|
end
|
@@ -304,12 +322,12 @@ module Proxmox
|
|
304
322
|
|
305
323
|
# Methods manages auth
|
306
324
|
def create_ticket
|
307
|
-
post_param = { :
|
325
|
+
post_param = { username: @username, realm: @realm, password: @password }
|
308
326
|
@site['access/ticket'].post post_param do |response, request, result, &block|
|
309
327
|
if response.code == 200
|
310
328
|
extract_ticket response
|
311
329
|
else
|
312
|
-
@connection_status =
|
330
|
+
@connection_status = 'error'
|
313
331
|
end
|
314
332
|
end
|
315
333
|
end
|
@@ -320,32 +338,32 @@ module Proxmox
|
|
320
338
|
ticket = data['data']['ticket']
|
321
339
|
csrf_prevention_token = data['data']['CSRFPreventionToken']
|
322
340
|
unless ticket.nil?
|
323
|
-
token = 'PVEAuthCookie=' + ticket.gsub!(/:/,'%3A').gsub!(/=/,'%3D')
|
341
|
+
token = 'PVEAuthCookie=' + ticket.gsub!(/:/, '%3A').gsub!(/=/, '%3D')
|
324
342
|
end
|
325
|
-
@connection_status =
|
343
|
+
@connection_status = 'connected'
|
326
344
|
{
|
327
|
-
:
|
328
|
-
:
|
345
|
+
CSRFPreventionToken: csrf_prevention_token,
|
346
|
+
cookie: token
|
329
347
|
}
|
330
348
|
end
|
331
349
|
|
332
350
|
# Extract data or return error
|
333
351
|
def check_response(response)
|
334
|
-
if
|
352
|
+
if response.code == 200
|
335
353
|
JSON.parse(response.body)['data']
|
336
354
|
else
|
337
|
-
|
355
|
+
'NOK: error code = ' + response.code.to_s
|
338
356
|
end
|
339
357
|
end
|
340
358
|
|
341
359
|
# Methods manage http dialogs
|
342
|
-
def http_action_post(url, data =
|
360
|
+
def http_action_post(url, data = '')
|
343
361
|
@site[url].post data, @auth_params do |response, request, result, &block|
|
344
362
|
check_response response
|
345
363
|
end
|
346
364
|
end
|
347
365
|
|
348
|
-
def http_action_put(url, data =
|
366
|
+
def http_action_put(url, data = '')
|
349
367
|
@site[url].put data, @auth_params do |response, request, result, &block|
|
350
368
|
check_response response
|
351
369
|
end
|
data/lib/proxmox/version.rb
CHANGED
data/spec/lib/proxmox_spec.rb
CHANGED
@@ -48,10 +48,10 @@ describe Proxmox do
|
|
48
48
|
:headers => @common_headers_out,
|
49
49
|
:body => '{"data":null}'
|
50
50
|
)
|
51
|
-
@server1.connection_status.
|
51
|
+
expect(@server1.connection_status).to eq "connected"
|
52
52
|
|
53
53
|
server2 = Proxmox::Proxmox.new("http://localhost:8006/api2/json/", "localhost", "root", "bad", "pam")
|
54
|
-
server2.connection_status.
|
54
|
+
expect(server2.connection_status).to eq "error"
|
55
55
|
end
|
56
56
|
|
57
57
|
it "should get task status" do
|
@@ -73,8 +73,8 @@ describe Proxmox do
|
|
73
73
|
)
|
74
74
|
|
75
75
|
# Get status
|
76
|
-
@server1.task_status("UPID:localhost:00051DA0:119EAABB:521CCB19:vzcreate:200:root@pam:").
|
77
|
-
@server1.task_status("UPID:localhost:00055DDA:11A99D07:521CE71F:vzcreate:200:root@pam:").
|
76
|
+
expect(@server1.task_status("UPID:localhost:00051DA0:119EAABB:521CCB19:vzcreate:200:root@pam:")).to be_eql "stopped:OK"
|
77
|
+
expect(@server1.task_status("UPID:localhost:00055DDA:11A99D07:521CE71F:vzcreate:200:root@pam:")).to be_eql "running"
|
78
78
|
end
|
79
79
|
|
80
80
|
it "should get template list" do
|
@@ -86,8 +86,8 @@ describe Proxmox do
|
|
86
86
|
:body => '{"data":[{"format":"tgz","content":"vztmpl","volid":"local:vztmpl/ubuntu-10.04-standard_10.04-4_i386.tar.gz","size":142126884},{"format":"tgz","content":"vztmpl","volid":"local:vztmpl/ubuntu-12.04-standard_12.04-1_i386.tar.gz","size":130040792}]}'
|
87
87
|
)
|
88
88
|
|
89
|
-
@server1.templates.
|
90
|
-
@server1.templates.keys.sort.
|
89
|
+
expect(@server1.templates).to be_an_instance_of Hash
|
90
|
+
expect(@server1.templates.keys.sort).to be_eql [ 'ubuntu-10.04-standard_10.04-4_i386', 'ubuntu-12.04-standard_12.04-1_i386' ]
|
91
91
|
end
|
92
92
|
|
93
93
|
it "should get openvz vm list" do
|
@@ -107,12 +107,12 @@ describe Proxmox do
|
|
107
107
|
:body => '{"data":[{"maxswap":536870912,"disk":404041728,"ip":"192.168.1.5","status":"running","netout":272,"maxdisk":4294967296,"maxmem":536870912,"uptime":6176,"swap":0,"vmid":"101","nproc":"10","diskread":0,"cpu":0.00161487378340585,"netin":0,"name":"test2.dummy.tld","failcnt":0,"diskwrite":0,"mem":21299200,"type":"openvz","cpus":1},{"maxswap":2147483648,"disk":0,"ip":"10.0.0.1","status":"stopped","netout":0,"maxdisk":10737418240,"maxmem":1073741824,"uptime":0,"swap":0,"vmid":"102","nproc":0,"diskread":0,"cpu":0,"netin":0,"name":"test3.other.domain","failcnt":0,"diskwrite":0,"mem":0,"type":"openvz","cpus":2},{"maxswap":536870912,"disk":387194880,"ip":"192.168.1.1","status":"running","netout":272,"maxdisk":4294967296,"maxmem":536870912,"uptime":19449,"swap":0,"vmid":"100","nproc":"17","diskread":0,"cpu":0.000589570582552814,"netin":0,"name":"test.dummy.tld","failcnt":0,"diskwrite":0,"mem":28282880,"type":"openvz","cpus":1}]}'
|
108
108
|
)
|
109
109
|
|
110
|
-
@server1.openvz_get.
|
111
|
-
@server1.openvz_get.keys.sort.
|
110
|
+
expect(@server1.openvz_get).to be_an_instance_of Hash
|
111
|
+
expect(@server1.openvz_get.keys.sort).to be_eql [ '100', '101' ]
|
112
112
|
|
113
113
|
server2 = Proxmox::Proxmox.new("http://localhost:8006/api2/json/", "otherone", "root", "secret", "pam")
|
114
|
-
server2.openvz_get.
|
115
|
-
server2.openvz_get.keys.sort.
|
114
|
+
expect(server2.openvz_get).to be_an_instance_of Hash
|
115
|
+
expect(server2.openvz_get.keys.sort).to be_eql [ '100', '101', '102' ]
|
116
116
|
end
|
117
117
|
|
118
118
|
it "should create a container" do
|
@@ -143,9 +143,9 @@ describe Proxmox do
|
|
143
143
|
)
|
144
144
|
|
145
145
|
#Create the vm
|
146
|
-
@server1.openvz_post("ubuntu-10.04-standard_10.04-4_i386", 200).
|
147
|
-
@server1.openvz_post("ubuntu-10.04-standard_10.04-4_i386", 203, { 'hostname' => 'vm1.domain.com', 'password' => 'secret', 'memory' => 512, 'swap' => 512, 'disk' => 4 }).
|
148
|
-
@server1.openvz_post("ubuntu-10.04-standard_10.04-4_i386", 204).
|
146
|
+
expect(@server1.openvz_post("ubuntu-10.04-standard_10.04-4_i386", 200)).to be_eql "UPID:localhost:00051DA0:119EAABB:521CCB19:vzcreate:200:root@pam:"
|
147
|
+
expect(@server1.openvz_post("ubuntu-10.04-standard_10.04-4_i386", 203, { 'hostname' => 'vm1.domain.com', 'password' => 'secret', 'memory' => 512, 'swap' => 512, 'disk' => 4 })).to be_eql "UPID:localhost:00051DA0:119EAABC:521CCB19:vzcreate:203:root@pam:"
|
148
|
+
expect(@server1.openvz_post("ubuntu-10.04-standard_10.04-4_i386", 204)).to be_eql "NOK: error code = 500"
|
149
149
|
end
|
150
150
|
|
151
151
|
it "should delete openvz container" do
|
@@ -165,8 +165,8 @@ describe Proxmox do
|
|
165
165
|
)
|
166
166
|
|
167
167
|
# Delete the vm
|
168
|
-
@server1.openvz_delete(200).
|
169
|
-
@server1.openvz_delete(201).
|
168
|
+
expect(@server1.openvz_delete(200)).to be_eql 'UPID:localhost:0005C1EB:11BAA4EB:521D12B8:vzdestroy:200:root@pam:'
|
169
|
+
expect(@server1.openvz_delete(201)).to be_eql 'NOK: error code = 500'
|
170
170
|
end
|
171
171
|
|
172
172
|
it "should get container status" do
|
@@ -178,9 +178,9 @@ describe Proxmox do
|
|
178
178
|
:body => '{"data":{"maxswap":268435456,"disk":0,"ip":"-","status":"stopped","ha":0,"netout":0,"maxdisk":9.44473296573929e+21,"maxmem":268435456,"uptime":0,"swap":0,"nproc":0,"diskread":0,"cpu":0,"netin":0,"name":"CT200","failcnt":0,"diskwrite":0,"mem":0,"type":"openvz","cpus":1}}'
|
179
179
|
)
|
180
180
|
|
181
|
-
@server1.openvz_status(200).
|
182
|
-
@server1.openvz_status(200)['status'].
|
183
|
-
@server1.openvz_status(200)['cpus'].
|
181
|
+
expect(@server1.openvz_status(200)).to be_an_instance_of Hash
|
182
|
+
expect(@server1.openvz_status(200)['status']).to be_eql "stopped"
|
183
|
+
expect(@server1.openvz_status(200)['cpus']).to be_eql 1
|
184
184
|
end
|
185
185
|
|
186
186
|
it "should start & stop vm" do
|
@@ -206,9 +206,9 @@ describe Proxmox do
|
|
206
206
|
:body => '{"data":"UPID:ks311324:0005D91C:11BE5277:521D1C23:vzshutdown:200:root@pam:"}'
|
207
207
|
)
|
208
208
|
|
209
|
-
@server1.openvz_start(200).
|
210
|
-
@server1.openvz_stop(200).
|
211
|
-
@server1.openvz_shutdown(200).
|
209
|
+
expect(@server1.openvz_start(200)).to be_eql "UPID:ks311324:0005D91C:11BE5277:521D1C23:vzstart:200:root@pam:"
|
210
|
+
expect(@server1.openvz_stop(200)).to be_eql "UPID:ks311324:0005D91C:11BE5277:521D1C23:vzstop:200:root@pam:"
|
211
|
+
expect(@server1.openvz_shutdown(200)).to be_eql "UPID:ks311324:0005D91C:11BE5277:521D1C23:vzshutdown:200:root@pam:"
|
212
212
|
end
|
213
213
|
|
214
214
|
it "should get container config" do
|
@@ -220,9 +220,9 @@ describe Proxmox do
|
|
220
220
|
:body => '{"data":{"quotaugidlimit":0,"disk":0,"ostemplate":"ubuntu-10.04-standard_10.04-4_i386.tar.gz","nameserver":"127.0.0.1 192.168.1.1","memory":256,"searchdomain":"domain.com","onboot":0,"cpuunits":1000,"swap":256,"quotatime":0,"digest":"5a6f4052d559d3ecc89c849214f482217018a07e","cpus":1,"storage":"local"}}'
|
221
221
|
)
|
222
222
|
|
223
|
-
@server1.openvz_config(200).
|
224
|
-
@server1.openvz_config(200)['searchdomain'].
|
225
|
-
@server1.openvz_config(200)['ostemplate'].
|
223
|
+
expect(@server1.openvz_config(200)).to be_an_instance_of Hash
|
224
|
+
expect(@server1.openvz_config(200)['searchdomain']).to be_eql "domain.com"
|
225
|
+
expect(@server1.openvz_config(200)['ostemplate']).to be_eql "ubuntu-10.04-standard_10.04-4_i386.tar.gz"
|
226
226
|
end
|
227
227
|
|
228
228
|
it "should modify container config" do
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,94 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: proxmox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nicolas Ledez
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-11-28 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rest-client
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 1.6.7
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 1.6.7
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: bundler
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '1.3'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '1.3'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rspec
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: webmock
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
description: A library to drive a Proxmox host
|
@@ -98,9 +87,9 @@ executables: []
|
|
98
87
|
extensions: []
|
99
88
|
extra_rdoc_files: []
|
100
89
|
files:
|
101
|
-
- .gitignore
|
102
|
-
- .rspec
|
103
|
-
- .travis.yml
|
90
|
+
- ".gitignore"
|
91
|
+
- ".rspec"
|
92
|
+
- ".travis.yml"
|
104
93
|
- Gemfile
|
105
94
|
- Guardfile
|
106
95
|
- LICENSE.txt
|
@@ -114,35 +103,27 @@ files:
|
|
114
103
|
homepage: https://github.com/nledez/proxmox
|
115
104
|
licenses:
|
116
105
|
- MIT
|
106
|
+
metadata: {}
|
117
107
|
post_install_message:
|
118
108
|
rdoc_options: []
|
119
109
|
require_paths:
|
120
110
|
- lib
|
121
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
112
|
requirements:
|
124
|
-
- -
|
113
|
+
- - ">="
|
125
114
|
- !ruby/object:Gem::Version
|
126
115
|
version: '0'
|
127
|
-
segments:
|
128
|
-
- 0
|
129
|
-
hash: 3719547986360865543
|
130
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
|
-
none: false
|
132
117
|
requirements:
|
133
|
-
- -
|
118
|
+
- - ">="
|
134
119
|
- !ruby/object:Gem::Version
|
135
120
|
version: '0'
|
136
|
-
segments:
|
137
|
-
- 0
|
138
|
-
hash: 3719547986360865543
|
139
121
|
requirements: []
|
140
122
|
rubyforge_project:
|
141
|
-
rubygems_version:
|
123
|
+
rubygems_version: 2.2.0
|
142
124
|
signing_key:
|
143
|
-
specification_version:
|
125
|
+
specification_version: 4
|
144
126
|
summary: You need to manage a proxmox host with Ruby? This library is for you.
|
145
127
|
test_files:
|
146
128
|
- spec/lib/proxmox_spec.rb
|
147
129
|
- spec/spec_helper.rb
|
148
|
-
has_rdoc:
|