vultr 0.2.0 → 0.2.1
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 +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
|