vultr 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +49 -12
- data/lib/vultr.rb +3 -3
- data/lib/vultr/version.rb +1 -1
- data/test/test_helper.rb +6 -0
- data/test/vultr/vultr_account_test.rb +34 -0
- data/test/vultr/vultr_app_test.rb +31 -0
- data/test/vultr/vultr_backup_test.rb +27 -0
- data/test/vultr/vultr_iso_test.rb +27 -0
- data/test/vultr/vultr_os_test.rb +26 -0
- data/test/vultr/vultr_plan_test.rb +27 -0
- data/test/vultr/vultr_region_test.rb +43 -0
- data/test/vultr/vultr_snapshot_test.rb +45 -0
- data/test/vultr/vultr_sshkey_test.rb +70 -0
- data/test/vultr/vultr_startupscript_test.rb +74 -0
- data/vultr.gemspec +1 -1
- metadata +25 -15
- data/test/vultr/test_vultr_os.rb +0 -24
- data/test/vultr/test_vultr_plan.rb +0 -25
- data/test/vultr/test_vultr_region.rb +0 -20
- data/test/vultr/test_vultr_server.rb +0 -43
- data/test/vultr/test_vultr_snapshot.rb +0 -25
- data/test/vultr/test_vultr_startupscript.rb +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c12fe3beaaf22ba449d893cacbf405d6f8ad2e9f
|
4
|
+
data.tar.gz: 1d4032bfc3ea121f6911ffcc7de091419279b65c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9cfce53dd5097cc82fe1cf1916bd45da16614a52ae5b29fe9ec47c1f599734da65852cf3ccdfca8e98449fa0c46bdcd8f96fdd3999b97a0bef1f3f8c087fb3d2
|
7
|
+
data.tar.gz: 4271cb8e3353ee175b85c7ac079a4efb9cd00ffbfb9b41d9e23f9070d66c49e25313f6d0d4d40c35c1a971312f374edba0159428a9b9b11332b4351b22b1112c
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -47,28 +47,65 @@ Vultr::Server.create({DCID: dc_id, VPSPLANID: vps_plan_id, OSID: os_id})
|
|
47
47
|
## Available Commands
|
48
48
|
|
49
49
|
```ruby
|
50
|
-
Vultr::
|
51
|
-
|
52
|
-
Vultr::
|
50
|
+
Vultr::Account.info
|
51
|
+
|
52
|
+
Vultr::App.list
|
53
|
+
|
54
|
+
Vultr::Backup.list
|
55
|
+
|
56
|
+
Vultr::DNS.list
|
57
|
+
Vultr::DNS.create_domain({domain: domain, serverip: server_ip})
|
58
|
+
Vultr::DNS.delete_domain(domain: domain)
|
59
|
+
Vultr::DNS.records(domain: domain)
|
60
|
+
Vultr::DNS.create_record({domain: domain, name: name, type: type, data: data, ttl: ttl, priority: priority})
|
61
|
+
Vultr::DNS.delete_record({domain: domain, RECORDID: record_id})
|
62
|
+
|
63
|
+
Vultr::ISO.list
|
64
|
+
|
65
|
+
Vultr::OS.list
|
53
66
|
|
54
67
|
Vultr::Plan.list
|
55
68
|
|
56
69
|
Vultr::Region.list
|
57
70
|
Vultr::Region.availability(DCID: dc_id)
|
58
71
|
|
59
|
-
Vultr::StartupScript.list
|
60
|
-
Vultr::StartupScript.destroy(SCRIPTID: script_id)
|
61
|
-
Vultr::StartupScript.create({name: name, script: script})
|
62
|
-
|
63
72
|
Vultr::Server.list
|
64
|
-
Vultr::Server.reboot(SUBID: sub_id)
|
65
|
-
Vultr::Server.halt(SUBID: sub_id)
|
66
73
|
Vultr::Server.start(SUBID: sub_id)
|
74
|
+
Vultr::Server.halt(SUBID: sub_id)
|
75
|
+
Vultr::Server.reboot(SUBID: sub_id)
|
76
|
+
Vultr::Server.create({DCID: dc_id, VPSPLANID: vps_plan_id, OSID: os_id, ipxe_chain_url: ipxe_chain_url, SCRIPTID: script_id, SNAPSHOTID: snapshot_id})
|
67
77
|
Vultr::Server.destroy(SUBID: sub_id)
|
68
|
-
Vultr::Server.
|
69
|
-
|
78
|
+
Vultr::Server.label_set({SUBID: sub_id, label: label})
|
79
|
+
Vultr::Server.os_change_list(SUBID: sub_id)
|
80
|
+
Vultr::Server.os_change({SUBID: sub_id, OSID: os_id})
|
81
|
+
Vultr::Server.reinstall(SUBID: sub_id)
|
82
|
+
Vultr::Server.upgrade_plan_list(SUBID: sub_id)
|
83
|
+
Vultr::Server.upgrade_plan({SUBID: sub_id, VPSPLANID: vpsplan_id})
|
84
|
+
Vultr::Server.restore_backup({SUBID: sub_id, BACKUPID: backup_id})
|
85
|
+
Vultr::Server.restore_snapshot({SUBID: sub_id, SNAPSHOTID: snapshot_id})
|
86
|
+
Vultr::Server.list_ipv4(SUBID: sub_id)
|
87
|
+
Vultr::Server.create_ipv4({SUBID: sub_id, reboot: reboot})
|
88
|
+
Vultr::Server.destroy_ipv4({SUBID: sub_id, ip: ip})
|
89
|
+
Vultr::Server.list_ipv6(SUBID: sub_id)
|
90
|
+
Vultr::Server.reverse_default_ipv4({SUBID: sub_id, ip: ip})
|
91
|
+
Vultr::Server.reverse_delete_ipv6(SUBID: sub_id)
|
92
|
+
Vultr::Server.reverse_list_ipv6(SUBID: sub_id)
|
93
|
+
Vultr::Server.reverse_set_ipv4({SUBID: sub_id, ip: ip})
|
94
|
+
Vultr::Server.reverse_set_ipv6({SUBID: sub_id, ip: ip})
|
70
95
|
|
71
|
-
Vultr::
|
96
|
+
Vultr::Snapshot.list
|
97
|
+
Vultr::Snapshot.create(SUBID: sub_id)
|
98
|
+
Vultr::Snapshot.destroy(SNAPSHOTID: snapshot_id)
|
99
|
+
|
100
|
+
Vultr::SSHKey.list
|
101
|
+
Vultr::SSHKey.create({name: name, ssh_key: ssh_key})
|
102
|
+
Vultr::SSHKey.destroy(SSHKEYID: sshkey_id)
|
103
|
+
Vultr::SSHKey.update({SSHKEYID: sshkey_id, name: name, ssh_key: ssh_key})
|
104
|
+
|
105
|
+
Vultr::StartupScript.list
|
106
|
+
Vultr::StartupScript.create({name: name, script: script, type: type})
|
107
|
+
Vultr::StartupScript.destroy(SCRIPTID: script_id)
|
108
|
+
Vultr::StartupScript.update({SCRIPTID: script_id, name: name, script: script})
|
72
109
|
```
|
73
110
|
|
74
111
|
## Contributing
|
data/lib/vultr.rb
CHANGED
@@ -37,7 +37,7 @@ module Vultr
|
|
37
37
|
availability: [:get, '/v1/regions/availability?DCID=[DCID]']
|
38
38
|
},
|
39
39
|
Server: {
|
40
|
-
list: [:get, '/v1/server/list?api_key=[api_key]'],
|
40
|
+
list: [:get, '/v1/server/list?api_key=[api_key]', ['SUBID']],
|
41
41
|
reboot: [:post, '/v1/server/reboot?api_key=[api_key]', ['SUBID']],
|
42
42
|
halt: [:post, '/v1/server/halt?api_key=[api_key]', ['SUBID']],
|
43
43
|
start: [:post, '/v1/server/start?api_key=[api_key]', ['SUBID']],
|
@@ -46,8 +46,8 @@ module Vultr
|
|
46
46
|
['DCID', 'VPSPLANID', 'OSID', 'ipxe_chain_url', 'ISOID', 'SCRIPTID', 'SNAPSHOTID',
|
47
47
|
'enable_ipv6', 'enable_private_network', 'label', 'SSHKEYID', 'auto_backups', 'APPID']],
|
48
48
|
list_ipv4: [:get, '/v1/server/list_ipv4?api_key=[api_key]&SUBID=[SUBID]'],
|
49
|
-
create_ipv4: [:post, '/v1/server/create_ipv4?api_key=[api_key]', ['SUBID']],
|
50
|
-
destroy_ipv4: [:post, '/v1/server/destroy_ipv4?api_key=[api_key]', ['SUBID']],
|
49
|
+
create_ipv4: [:post, '/v1/server/create_ipv4?api_key=[api_key]', ['SUBID', 'reboot']],
|
50
|
+
destroy_ipv4: [:post, '/v1/server/destroy_ipv4?api_key=[api_key]', ['SUBID', 'ip']],
|
51
51
|
list_ipv6: [:get, '/v1/server/list_ipv6?api_key=[api_key]&SUBID=[SUBID]'],
|
52
52
|
label_set: [:post, '/v1/server/label_set?api_key=[api_key]', ['SUBID', 'label']],
|
53
53
|
os_change: [:post, '/v1/server/os_change?api_key=[api_key]', ['SUBID', 'OSID']],
|
data/lib/vultr/version.rb
CHANGED
data/test/test_helper.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrAccountTest < Minitest::Test
|
4
|
+
|
5
|
+
# Called before every test method runs. Can be used
|
6
|
+
# to set up fixture information.
|
7
|
+
def setup
|
8
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_account_info_url
|
12
|
+
account_info_url = 'https://api.vultr.com/v1/account/info?api_key=' + Vultr.api_key
|
13
|
+
assert_equal account_info_url, Vultr::Account._info
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_account_info_response
|
17
|
+
r = Vultr::Account.info
|
18
|
+
|
19
|
+
assert r.has_key? :status
|
20
|
+
assert_equal r[:status], 200
|
21
|
+
|
22
|
+
assert r.has_key? :result
|
23
|
+
assert r[:result].has_key? 'balance'
|
24
|
+
assert r[:result].has_key? 'pending_charges'
|
25
|
+
assert r[:result].has_key? 'last_payment_date'
|
26
|
+
assert r[:result].has_key? 'last_payment_amount'
|
27
|
+
end
|
28
|
+
|
29
|
+
# Called after every test method runs. Can be used to tear
|
30
|
+
# down fixture information.
|
31
|
+
def teardown
|
32
|
+
# Do nothing
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrAppTest < Minitest::Test
|
4
|
+
|
5
|
+
# Called before every test method runs. Can be used
|
6
|
+
# to set up fixture information.
|
7
|
+
def setup
|
8
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_app_list_url
|
12
|
+
app_list_url = 'https://api.vultr.com/v1/app/list'
|
13
|
+
assert_equal app_list_url, Vultr::App._list
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_app_list_response
|
17
|
+
r = Vultr::App.list
|
18
|
+
|
19
|
+
assert r.has_key? :status
|
20
|
+
assert_equal r[:status], 200
|
21
|
+
|
22
|
+
assert r.has_key? :result
|
23
|
+
assert_instance_of Hash, r[:result]
|
24
|
+
end
|
25
|
+
|
26
|
+
# Called after every test method runs. Can be used to tear
|
27
|
+
# down fixture information.
|
28
|
+
def teardown
|
29
|
+
# Do nothing
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrBackupTest < Minitest::Test
|
4
|
+
|
5
|
+
def setup
|
6
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_backup_list_url
|
10
|
+
backup_list_url = 'https://api.vultr.com/v1/backup/list?api_key=' + Vultr.api_key
|
11
|
+
assert_equal backup_list_url, Vultr::Backup._list
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_backup_list_response
|
15
|
+
r = Vultr::Backup.list
|
16
|
+
|
17
|
+
assert r.has_key? :status
|
18
|
+
assert_equal r[:status], 200
|
19
|
+
|
20
|
+
assert r.has_key? :result
|
21
|
+
assert_instance_of Array, r[:result]
|
22
|
+
end
|
23
|
+
|
24
|
+
def teardown
|
25
|
+
# Do nothing
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrIsoTest < Minitest::Test
|
4
|
+
|
5
|
+
def setup
|
6
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_iso_list_url
|
10
|
+
iso_list_url = 'https://api.vultr.com/v1/iso/list?api_key=' + Vultr.api_key
|
11
|
+
assert_equal iso_list_url, Vultr::ISO._list
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_iso_list_response
|
15
|
+
r = Vultr::ISO.list
|
16
|
+
|
17
|
+
assert r.has_key? :status
|
18
|
+
assert r[:status], 200
|
19
|
+
|
20
|
+
assert r.has_key? :result
|
21
|
+
assert_instance_of Hash, r[:result]
|
22
|
+
end
|
23
|
+
|
24
|
+
def teardown
|
25
|
+
# Do nothing
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrOsTest < Minitest::Test
|
4
|
+
def setup
|
5
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_os_list_url
|
9
|
+
os_list_url = 'https://api.vultr.com/v1/os/list'
|
10
|
+
assert_equal os_list_url, Vultr::OS._list
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_os_list_response
|
14
|
+
r = Vultr::OS.list
|
15
|
+
|
16
|
+
assert r.has_key? :status
|
17
|
+
assert_equal r[:status], 200
|
18
|
+
|
19
|
+
assert r.has_key? :result
|
20
|
+
assert_instance_of Hash, r[:result]
|
21
|
+
end
|
22
|
+
|
23
|
+
def teardown
|
24
|
+
# Do nothing
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrPlanTest < Minitest::Test
|
4
|
+
|
5
|
+
def setup
|
6
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_plan_list_url
|
10
|
+
plan_list_url = 'https://api.vultr.com/v1/plans/list'
|
11
|
+
assert_equal plan_list_url, Vultr::Plan._list
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_plan_list_response
|
15
|
+
r = Vultr::Plan.list
|
16
|
+
|
17
|
+
assert r.has_key? :status
|
18
|
+
assert_equal r[:status], 200
|
19
|
+
|
20
|
+
assert r.has_key? :result
|
21
|
+
assert_instance_of Hash, r[:result]
|
22
|
+
end
|
23
|
+
|
24
|
+
def teardown
|
25
|
+
# Do nothing
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrRegionTest < Minitest::Test
|
4
|
+
|
5
|
+
def setup
|
6
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_region_list_url
|
10
|
+
region_list_url = 'https://api.vultr.com/v1/regions/list'
|
11
|
+
assert_equal region_list_url, Vultr::Region._list
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_region_availability_url
|
15
|
+
region_list_url = 'https://api.vultr.com/v1/regions/availability?DCID=1'
|
16
|
+
assert_equal region_list_url, Vultr::Region._availability(DCID: 1)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_region_responses
|
20
|
+
r = Vultr::Region.list
|
21
|
+
|
22
|
+
assert r.has_key? :status
|
23
|
+
assert_equal r[:status], 200
|
24
|
+
|
25
|
+
assert r.has_key? :result
|
26
|
+
assert_instance_of Hash, r[:result]
|
27
|
+
|
28
|
+
k, v = r[:result].first
|
29
|
+
dc_id = k.to_i
|
30
|
+
|
31
|
+
r = Vultr::Region.availability(DCID: dc_id)
|
32
|
+
|
33
|
+
assert r.has_key? :status
|
34
|
+
assert_equal r[:status], 200
|
35
|
+
|
36
|
+
assert r.has_key? :result
|
37
|
+
assert_instance_of Array, r[:result]
|
38
|
+
end
|
39
|
+
|
40
|
+
def teardown
|
41
|
+
# Do nothing
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrSnapshotTest < Minitest::Test
|
4
|
+
|
5
|
+
def setup
|
6
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_snapshot_list_url
|
10
|
+
snapshot_list_url = 'https://api.vultr.com/v1/snapshot/list?api_key=' + Vultr.api_key
|
11
|
+
assert_equal snapshot_list_url, Vultr::Snapshot._list
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_snapshot_list_response
|
15
|
+
r = Vultr::Snapshot.list
|
16
|
+
|
17
|
+
assert r.has_key? :status
|
18
|
+
assert_equal r[:status], 200
|
19
|
+
|
20
|
+
assert r.has_key? :result
|
21
|
+
assert_instance_of Array, r[:result]
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_snapshot_create_url
|
25
|
+
snapshot_create_url = 'https://api.vultr.com/v1/snapshot/create?api_key=' + Vultr.api_key
|
26
|
+
assert_equal snapshot_create_url, Vultr::Snapshot._create
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_snapshot_create_response
|
30
|
+
# TODO
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_snapshot_destroy_url
|
34
|
+
snapshot_destroy_url = 'https://api.vultr.com/v1/snapshot/destroy?api_key=' + Vultr.api_key
|
35
|
+
assert_equal snapshot_destroy_url, Vultr::Snapshot._destroy
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_snapshot_destroy_response
|
39
|
+
# TODO
|
40
|
+
end
|
41
|
+
|
42
|
+
def teardown
|
43
|
+
# Do nothing
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrSshkeyTest < Minitest::Test
|
4
|
+
|
5
|
+
def setup
|
6
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_sshkey_list_url
|
10
|
+
sshkey_list_url = 'https://api.vultr.com/v1/sshkey/list?api_key=' + Vultr.api_key
|
11
|
+
assert_equal sshkey_list_url, Vultr::SSHKey._list
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_sshkey_create_url
|
15
|
+
sshkey_create_url = 'https://api.vultr.com/v1/sshkey/create?api_key=' + Vultr.api_key
|
16
|
+
assert_equal sshkey_create_url, Vultr::SSHKey._create
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_sshkey_destroy_url
|
20
|
+
sshkey_destroy_url = 'https://api.vultr.com/v1/sshkey/destroy?api_key=' + Vultr.api_key
|
21
|
+
assert_equal sshkey_destroy_url, Vultr::SSHKey._destroy
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_sshkey_update_url
|
25
|
+
sshkey_update_url = 'https://api.vultr.com/v1/sshkey/update?api_key=' + Vultr.api_key
|
26
|
+
assert_equal sshkey_update_url, Vultr::SSHKey._update
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_sshkey_responses
|
30
|
+
r = Vultr::SSHKey.create(name: 'test_ssh_key',
|
31
|
+
ssh_key: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJMDEZ80TRG4FMi3lz4zonNnUlSUd92UfOEh2OtS6Rtl9X/2vqqnbxh4tbCNUH6JGEHhjXV6JKoj3G1Tui+7keTLov9vGWJsgDCIndU5r/wUp6G99oAMpoldsuUXjh1xKYT6XrF6ud1Rd3WIFuzZAgv/dTBD+tUWr53YngqN1hJ7Ux4pxu4whMpdiaeom8cVp+u8pI9n06ESgMClPe2eloFOd1agsOmhLL4YrTveGf7DHLED39rkcEvRBSalM2q5frY0x5gx2QTDv85cHHM2gsHgJB4CwRajPUYnqjA+YH/QZIq629z29YJP3odcyDVIiFQuqCtxYPoakfTzoSP3zx tolbkni@gmail.com')
|
32
|
+
|
33
|
+
assert r.has_key? :status
|
34
|
+
assert_equal r[:status], 200
|
35
|
+
|
36
|
+
assert r.has_key? :result
|
37
|
+
assert_instance_of Hash, r[:result]
|
38
|
+
|
39
|
+
sshkey_id = r[:result]['SSHKEYID']
|
40
|
+
|
41
|
+
r = Vultr::SSHKey.update(SSHKEYID: sshkey_id,
|
42
|
+
name: 'test_ssh_key1',
|
43
|
+
ssh_key: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJMDEZ80TRG4FMi3lz4zonNnUlSUd92UfOEh2OtS6Rtl9X/2vqqnbxh4tbCNUH6JGEHhjXV6JKoj3G1Tui+7keTLov9vGWJsgDCIndU5r/wUp6G99oAMpoldsuUXjh1xKYT6XrF6ud1Rd3WIFuzZAgv/dTBD+tUWr53YngqN1hJ7Ux4pxu4whMpdiaeom8cVp+u8pI9n06ESgMClPe2eloFOd1agsOmhLL4YrTveGf7DHLED39rkcEvRBSalM2q5frY0x5gx2QTDv85cHHM2gsHgJB4CwRajPUYnqjA+YH/QZIq629z29YJP3odcyDVIiFQuqCtxYPoakfTzoSP3zx tolbkni@gmail.com')
|
44
|
+
|
45
|
+
assert r.has_key? :status
|
46
|
+
assert_equal r[:status], 200
|
47
|
+
|
48
|
+
assert r.has_key? :result
|
49
|
+
assert_empty r[:result]
|
50
|
+
|
51
|
+
r = Vultr::SSHKey.list
|
52
|
+
|
53
|
+
assert r.has_key? :status
|
54
|
+
assert_equal r[:status], 200
|
55
|
+
|
56
|
+
assert r.has_key? :result
|
57
|
+
assert_instance_of Hash, r[:result]
|
58
|
+
|
59
|
+
r = Vultr::SSHKey.destroy(SSHKEYID: sshkey_id)
|
60
|
+
assert r.has_key? :status
|
61
|
+
assert_equal r[:status], 200
|
62
|
+
|
63
|
+
assert r.has_key? :result
|
64
|
+
assert_empty r[:result]
|
65
|
+
end
|
66
|
+
|
67
|
+
def teardown
|
68
|
+
# Do nothing
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'test/test_helper'
|
2
|
+
|
3
|
+
class VultrStartupscriptTest < Minitest::Test
|
4
|
+
|
5
|
+
def setup
|
6
|
+
Vultr.api_key = ENV['VULTR_API_KEY']
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_startupscript_list_url
|
10
|
+
startupscript_list_url = 'https://api.vultr.com/v1/startupscript/list?api_key=' + Vultr.api_key
|
11
|
+
assert_equal startupscript_list_url, Vultr::StartupScript._list
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_startupscript_create_url
|
16
|
+
startupscript_create_url = 'https://api.vultr.com/v1/startupscript/create?api_key=' + Vultr.api_key
|
17
|
+
assert_equal startupscript_create_url, Vultr::StartupScript._create
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_startupscript_destroy_url
|
21
|
+
startupscript_destroy_url = 'https://api.vultr.com/v1/startupscript/destroy?api_key=' + Vultr.api_key
|
22
|
+
assert_equal startupscript_destroy_url, Vultr::StartupScript._destroy
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_startupscript_update_url
|
26
|
+
startupscript_update_url = 'https://api.vultr.com/v1/startupscript/update?api_key=' + Vultr.api_key
|
27
|
+
assert_equal startupscript_update_url, Vultr::StartupScript._update
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_startupscript_responses
|
31
|
+
r = Vultr::StartupScript.create(name: 'test_startup_script',
|
32
|
+
script: 'echo \'test\'',
|
33
|
+
type: 'boot')
|
34
|
+
|
35
|
+
assert r.has_key? :status
|
36
|
+
assert_equal r[:status], 200
|
37
|
+
|
38
|
+
assert r.has_key? :result
|
39
|
+
assert_instance_of Hash, r[:result]
|
40
|
+
|
41
|
+
script_id = r[:result]['SCRIPTID']
|
42
|
+
|
43
|
+
r = Vultr::StartupScript.update(SCRIPTID: script_id,
|
44
|
+
name: 'test_startup_script1',
|
45
|
+
script: 'echo \'test1\'')
|
46
|
+
|
47
|
+
assert r.has_key? :status
|
48
|
+
assert_equal r[:status], 200
|
49
|
+
|
50
|
+
assert r.has_key? :result
|
51
|
+
assert_empty r[:result]
|
52
|
+
|
53
|
+
r = Vultr::StartupScript.list
|
54
|
+
|
55
|
+
assert r.has_key? :status
|
56
|
+
assert_equal r[:status], 200
|
57
|
+
|
58
|
+
assert r.has_key? :result
|
59
|
+
assert_instance_of Hash, r[:result]
|
60
|
+
|
61
|
+
|
62
|
+
r = Vultr::StartupScript.destroy(SCRIPTID: script_id)
|
63
|
+
|
64
|
+
assert r.has_key? :status
|
65
|
+
assert_equal r[:status], 200
|
66
|
+
|
67
|
+
assert r.has_key? :result
|
68
|
+
assert_empty r[:result]
|
69
|
+
end
|
70
|
+
|
71
|
+
def teardown
|
72
|
+
# Do nothing
|
73
|
+
end
|
74
|
+
end
|
data/vultr.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.email = ['tolbkni@gmail.com']
|
11
11
|
s.summary = %q{Ruby bindings for VULTR API.}
|
12
12
|
s.description = %q{Ruby bindings for VULTR API.}
|
13
|
-
s.homepage = 'https://github.com/tolbkni/vultr'
|
13
|
+
s.homepage = 'https://github.com/tolbkni/vultr.rb'
|
14
14
|
s.license = 'MIT'
|
15
15
|
|
16
16
|
s.files = `git ls-files -z`.split("\x0")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vultr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tolbkni Kao
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -95,14 +95,19 @@ files:
|
|
95
95
|
- Rakefile
|
96
96
|
- lib/vultr.rb
|
97
97
|
- lib/vultr/version.rb
|
98
|
-
- test/
|
99
|
-
- test/vultr/
|
100
|
-
- test/vultr/
|
101
|
-
- test/vultr/
|
102
|
-
- test/vultr/
|
103
|
-
- test/vultr/
|
98
|
+
- test/test_helper.rb
|
99
|
+
- test/vultr/vultr_account_test.rb
|
100
|
+
- test/vultr/vultr_app_test.rb
|
101
|
+
- test/vultr/vultr_backup_test.rb
|
102
|
+
- test/vultr/vultr_iso_test.rb
|
103
|
+
- test/vultr/vultr_os_test.rb
|
104
|
+
- test/vultr/vultr_plan_test.rb
|
105
|
+
- test/vultr/vultr_region_test.rb
|
106
|
+
- test/vultr/vultr_snapshot_test.rb
|
107
|
+
- test/vultr/vultr_sshkey_test.rb
|
108
|
+
- test/vultr/vultr_startupscript_test.rb
|
104
109
|
- vultr.gemspec
|
105
|
-
homepage: https://github.com/tolbkni/vultr
|
110
|
+
homepage: https://github.com/tolbkni/vultr.rb
|
106
111
|
licenses:
|
107
112
|
- MIT
|
108
113
|
metadata: {}
|
@@ -127,9 +132,14 @@ signing_key:
|
|
127
132
|
specification_version: 4
|
128
133
|
summary: Ruby bindings for VULTR API.
|
129
134
|
test_files:
|
130
|
-
- test/
|
131
|
-
- test/vultr/
|
132
|
-
- test/vultr/
|
133
|
-
- test/vultr/
|
134
|
-
- test/vultr/
|
135
|
-
- test/vultr/
|
135
|
+
- test/test_helper.rb
|
136
|
+
- test/vultr/vultr_account_test.rb
|
137
|
+
- test/vultr/vultr_app_test.rb
|
138
|
+
- test/vultr/vultr_backup_test.rb
|
139
|
+
- test/vultr/vultr_iso_test.rb
|
140
|
+
- test/vultr/vultr_os_test.rb
|
141
|
+
- test/vultr/vultr_plan_test.rb
|
142
|
+
- test/vultr/vultr_region_test.rb
|
143
|
+
- test/vultr/vultr_snapshot_test.rb
|
144
|
+
- test/vultr/vultr_sshkey_test.rb
|
145
|
+
- test/vultr/vultr_startupscript_test.rb
|
data/test/vultr/test_vultr_os.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'vultr'
|
2
|
-
require 'minitest/autorun'
|
3
|
-
|
4
|
-
describe Vultr::OS do
|
5
|
-
|
6
|
-
let(:os) { Vultr::OS }
|
7
|
-
|
8
|
-
it 'needs to verify list os url' do
|
9
|
-
Vultr.api_key = ENV['VULTR_API_KEY']
|
10
|
-
|
11
|
-
assert_equal os._list, 'https://api.vultr.com/v1/os/list'
|
12
|
-
|
13
|
-
r = os.list
|
14
|
-
|
15
|
-
assert r.has_key? :status
|
16
|
-
assert_equal r[:status], 200
|
17
|
-
|
18
|
-
assert r.has_key? :result
|
19
|
-
r[:result].each do |k, v|
|
20
|
-
assert v.has_key?('OSID')
|
21
|
-
assert_equal k.to_i, v['OSID'].to_i
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'vultr'
|
2
|
-
require 'minitest/autorun'
|
3
|
-
|
4
|
-
describe Vultr::Plan do
|
5
|
-
|
6
|
-
let(:plan) { Vultr::Plan }
|
7
|
-
|
8
|
-
it 'needs to verify list plan url' do
|
9
|
-
assert ENV.has_key? 'VULTR_API_KEY'
|
10
|
-
Vultr.api_key = ENV['VULTR_API_KEY']
|
11
|
-
|
12
|
-
assert_equal plan._list, 'https://api.vultr.com/v1/plans/list'
|
13
|
-
|
14
|
-
r = plan.list
|
15
|
-
|
16
|
-
assert r.has_key? :status
|
17
|
-
assert_equal r[:status], 200
|
18
|
-
|
19
|
-
assert r.has_key? :result
|
20
|
-
r[:result].each do |k, v|
|
21
|
-
assert v.has_key?('VPSPLANID')
|
22
|
-
assert_equal k.to_i, v['VPSPLANID'].to_i
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'vultr'
|
2
|
-
require 'minitest/autorun'
|
3
|
-
|
4
|
-
describe Vultr::Region do
|
5
|
-
|
6
|
-
let(:region) { Vultr::Region }
|
7
|
-
|
8
|
-
it 'needs to verify list region url' do
|
9
|
-
url = region._list
|
10
|
-
|
11
|
-
url.must_equal 'https://api.vultr.com/v1/regions/list'
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'needs to verify availability region url' do
|
15
|
-
DCID = '1234'
|
16
|
-
url = region._availability('DCID' => '1234')
|
17
|
-
|
18
|
-
url.must_equal "https://api.vultr.com/v1/regions/availability?DCID=#{DCID}"
|
19
|
-
end
|
20
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
require "vultr"
|
2
|
-
require "minitest/autorun"
|
3
|
-
|
4
|
-
describe Vultr::Server do
|
5
|
-
|
6
|
-
let(:server) { Vultr::Server }
|
7
|
-
|
8
|
-
it "needs to verify list server url" do
|
9
|
-
url = server._list
|
10
|
-
|
11
|
-
url.must_equal "https://api.vultr.com/v1/server/list?api_key=api_key_required"
|
12
|
-
end
|
13
|
-
|
14
|
-
it "needs to verify reboot server url" do
|
15
|
-
url = server._reboot
|
16
|
-
|
17
|
-
url.must_equal "https://api.vultr.com/v1/server/reboot?api_key=api_key_required"
|
18
|
-
end
|
19
|
-
|
20
|
-
it "needs to verify halt server url" do
|
21
|
-
url = server._halt
|
22
|
-
|
23
|
-
url.must_equal "https://api.vultr.com/v1/server/halt?api_key=api_key_required"
|
24
|
-
end
|
25
|
-
|
26
|
-
it "needs to verify start server url" do
|
27
|
-
url = server._start
|
28
|
-
|
29
|
-
url.must_equal "https://api.vultr.com/v1/server/start?api_key=api_key_required"
|
30
|
-
end
|
31
|
-
|
32
|
-
it "needs to verify destroy server url" do
|
33
|
-
url = server._destroy
|
34
|
-
|
35
|
-
url.must_equal "https://api.vultr.com/v1/server/destroy?api_key=api_key_required"
|
36
|
-
end
|
37
|
-
|
38
|
-
it "needs to verify create server url" do
|
39
|
-
url = server._create
|
40
|
-
|
41
|
-
url.must_equal "https://api.vultr.com/v1/server/create?api_key=api_key_required"
|
42
|
-
end
|
43
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'vultr'
|
2
|
-
require "minitest/autorun"
|
3
|
-
|
4
|
-
describe Vultr::Snapshot do
|
5
|
-
|
6
|
-
let(:snapshot) { Vultr::Snapshot }
|
7
|
-
|
8
|
-
it "needs to verify list snapshot url" do
|
9
|
-
url = snapshot._list
|
10
|
-
|
11
|
-
url.must_equal "https://api.vultr.com/v1/snapshot/list?api_key=api_key_required"
|
12
|
-
end
|
13
|
-
|
14
|
-
it "needs to verify destroy snapshot url" do
|
15
|
-
url = snapshot._destroy
|
16
|
-
|
17
|
-
url.must_equal "https://api.vultr.com/v1/snapshot/destroy?api_key=api_key_required"
|
18
|
-
end
|
19
|
-
|
20
|
-
it "needs to verify create snapshot url" do
|
21
|
-
url = snapshot._create
|
22
|
-
|
23
|
-
url.must_equal "https://api.vultr.com/v1/snapshot/create?api_key=api_key_required"
|
24
|
-
end
|
25
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require "vultr"
|
2
|
-
require "minitest/autorun"
|
3
|
-
|
4
|
-
describe Vultr::StartupScript do
|
5
|
-
|
6
|
-
let(:startupscript) { Vultr::StartupScript }
|
7
|
-
|
8
|
-
it 'needs to verify list snapshot url' do
|
9
|
-
url = startupscript._list
|
10
|
-
|
11
|
-
url.must_equal "https://api.vultr.com/v1/startupscript/list?api_key=api_key_required"
|
12
|
-
end
|
13
|
-
|
14
|
-
it "needs to verify destroy snapshot url" do
|
15
|
-
url = startupscript._destroy
|
16
|
-
|
17
|
-
url.must_equal "https://api.vultr.com/v1/startupscript/destroy?api_key=api_key_required"
|
18
|
-
end
|
19
|
-
|
20
|
-
it "needs to verify create snapshot url" do
|
21
|
-
url = startupscript._create
|
22
|
-
|
23
|
-
url.must_equal "https://api.vultr.com/v1/startupscript/create?api_key=api_key_required"
|
24
|
-
end
|
25
|
-
end
|