ivapi 1.0.2 → 1.0.3
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/README.md +2 -0
- data/lib/ivapi/client/server.rb +35 -9
- data/lib/ivapi/version.rb +1 -1
- data/spec/fixtures/server_firewall.json +3 -0
- data/spec/ivapi/client/server_spec.rb +11 -5
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 535ebd41e87d2ce434325939ed2cce35cdc8a556
|
4
|
+
data.tar.gz: e7f94686b9a33f2a30f54a7dfd2868e143f17714
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc7dbcdfb2bae8e214856d0c3b7ce581bdef424039bd1dde5dfb99eaaf35a413372aaeac7e9c8a6a37545e5d7fb404515a2fe5d5c96e67780b8c42f2ac265fba
|
7
|
+
data.tar.gz: 53d8ea927d775fc9d9ffaca25734e887033f23ab27963b32cc5e4c98dcebaa723a19a4382d98c9d3923166ae7c7b4beb51519e59d4cb8a1d61262fe3d75078da
|
data/README.md
CHANGED
@@ -6,6 +6,7 @@ Gem which helps to communicate with [iv.lt][] API
|
|
6
6
|
[][travis]
|
7
7
|
[][gemnasium]
|
8
8
|
[][coveralls]
|
9
|
+
[][codeclimate]
|
9
10
|
|
10
11
|
## Installation
|
11
12
|
|
@@ -52,6 +53,7 @@ See [LICENSE][] for details.
|
|
52
53
|
[travis]: http://travis-ci.org/jpalumickas/ivapi
|
53
54
|
[gemnasium]: https://gemnasium.com/jpalumickas/ivapi
|
54
55
|
[coveralls]: https://coveralls.io/r/jpalumickas/ivapi
|
56
|
+
[codeclimate]: https://codeclimate.com/github/jpalumickas/ivapi
|
55
57
|
|
56
58
|
[iv.lt]: http://www.iv.lt
|
57
59
|
[license]: LICENSE.md
|
data/lib/ivapi/client/server.rb
CHANGED
@@ -50,17 +50,22 @@ module Ivapi
|
|
50
50
|
|
51
51
|
# Send command to recreate the server.
|
52
52
|
#
|
53
|
+
# os - The String of OS id.
|
54
|
+
# new_password - The String of new server password (8-64 lenght).
|
55
|
+
#
|
53
56
|
# Returns The Integer of task id.
|
54
|
-
def server_recreate
|
55
|
-
params = { command: 'server_recreate', id: server_id }
|
57
|
+
def server_recreate(os, options={})
|
58
|
+
params = options.merge({ command: 'server_recreate', id: server_id, os: os })
|
56
59
|
get('/json.php', params)
|
57
60
|
end
|
58
61
|
|
59
62
|
# Send command to reset server password.
|
60
63
|
#
|
64
|
+
# new_password - The String of new server password (8-64 lenght).
|
65
|
+
#
|
61
66
|
# Returns The Integer of task id.
|
62
|
-
def server_reset_password
|
63
|
-
params = { command: 'server_reset_password', id: server_id }
|
67
|
+
def server_reset_password(options={})
|
68
|
+
params = options.merge({ command: 'server_reset_password', id: server_id })
|
64
69
|
get('/json.php', params)
|
65
70
|
end
|
66
71
|
|
@@ -72,21 +77,42 @@ module Ivapi
|
|
72
77
|
get('/json.php', params)
|
73
78
|
end
|
74
79
|
|
80
|
+
# Send command to change firewall settings
|
81
|
+
#
|
82
|
+
# pps - The Integer of incoming ICMP, UDP, TCP joins per second (1000 - 5000).
|
83
|
+
# pps_icmp - The Integer of ICMP packets per second (0 or 10 - 500).
|
84
|
+
# pps_udp - The Integer of UDP packets per second (0 or 10 - 500).
|
85
|
+
# pps_syn - The Integer of TCP SYN packets per second from one IP (0 or 2 - 20).
|
86
|
+
# connlimit - The Integer of collateral connections from one IP (0 or 16 - 512).
|
87
|
+
#
|
88
|
+
# Returns The Hash of new firewall settings.
|
89
|
+
def server_firewall(options={})
|
90
|
+
params = options.merge({ command: 'server_firewall', id: server_id })
|
91
|
+
get('/json.php', params)
|
92
|
+
end
|
93
|
+
|
75
94
|
# Send command to change server plan.
|
76
95
|
#
|
96
|
+
# cpu - The Integer of GHz (2 - 16)
|
97
|
+
# ram - The Integer of MB (2048 - 16384)
|
98
|
+
# quota - The Integer of GB (20 - 800)
|
99
|
+
# bandwidth - The Integer of Mbps (20 - 400)
|
100
|
+
#
|
77
101
|
# Returns The Integer of task id.
|
78
|
-
def server_change
|
79
|
-
params = { command: 'server_change', id: server_id }
|
102
|
+
def server_change(options={})
|
103
|
+
params = options.merge({ command: 'server_change', id: server_id })
|
80
104
|
get('/json.php', params)
|
81
105
|
end
|
82
106
|
|
83
107
|
# Send command to change server hostname.
|
84
108
|
#
|
109
|
+
# domain - The String of new server hostname.
|
110
|
+
#
|
85
111
|
# Returns The Integer of task id.
|
86
|
-
def server_domain
|
87
|
-
params = { command: 'server_domain', id: server_id }
|
112
|
+
def server_domain(domain)
|
113
|
+
params = { command: 'server_domain', id: server_id, domain: domain }
|
88
114
|
get('/json.php', params)
|
89
115
|
end
|
90
116
|
end
|
91
117
|
end
|
92
|
-
end
|
118
|
+
end
|
data/lib/ivapi/version.rb
CHANGED
@@ -44,8 +44,8 @@ describe Ivapi::Client::Server do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
it "should recreate server" do
|
47
|
-
stub_command("server_recreate", {id: 3}).to_return(json_response("server_recreate.json"))
|
48
|
-
server_recreate = @client.server_recreate
|
47
|
+
stub_command("server_recreate", {id: 3, os: "debian-6.0-x86_64"}).to_return(json_response("server_recreate.json"))
|
48
|
+
server_recreate = @client.server_recreate("debian-6.0-x86_64")
|
49
49
|
expect(server_recreate.task_id).to eq("12")
|
50
50
|
end
|
51
51
|
|
@@ -61,6 +61,12 @@ describe Ivapi::Client::Server do
|
|
61
61
|
expect(server_flush_iptables.task_id).to eq("16")
|
62
62
|
end
|
63
63
|
|
64
|
+
it "should change server firewall settings" do
|
65
|
+
stub_command("server_firewall", {id: 3}).to_return(json_response("server_firewall.json"))
|
66
|
+
server_firewall = @client.server_firewall
|
67
|
+
expect(server_firewall.pps).to eq("1000")
|
68
|
+
end
|
69
|
+
|
64
70
|
it "should change server plan" do
|
65
71
|
stub_command("server_change", {id: 3}).to_return(json_response("server_change.json"))
|
66
72
|
server_change = @client.server_change
|
@@ -68,9 +74,9 @@ describe Ivapi::Client::Server do
|
|
68
74
|
end
|
69
75
|
|
70
76
|
it "should change server hostname" do
|
71
|
-
stub_command("server_domain", {id: 3}).to_return(json_response("server_domain.json"))
|
72
|
-
server_domain = @client.server_domain
|
77
|
+
stub_command("server_domain", {id: 3, domain: "example.com"}).to_return(json_response("server_domain.json"))
|
78
|
+
server_domain = @client.server_domain("example.com")
|
73
79
|
expect(server_domain.task_id).to eq("15")
|
74
80
|
end
|
75
81
|
|
76
|
-
end
|
82
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ivapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justas Palumickas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -128,6 +128,7 @@ files:
|
|
128
128
|
- spec/fixtures/account_services.json
|
129
129
|
- spec/fixtures/server_change.json
|
130
130
|
- spec/fixtures/server_domain.json
|
131
|
+
- spec/fixtures/server_firewall.json
|
131
132
|
- spec/fixtures/server_flush_iptables.json
|
132
133
|
- spec/fixtures/server_graphs.json
|
133
134
|
- spec/fixtures/server_info.json
|
@@ -173,6 +174,7 @@ test_files:
|
|
173
174
|
- spec/fixtures/account_services.json
|
174
175
|
- spec/fixtures/server_change.json
|
175
176
|
- spec/fixtures/server_domain.json
|
177
|
+
- spec/fixtures/server_firewall.json
|
176
178
|
- spec/fixtures/server_flush_iptables.json
|
177
179
|
- spec/fixtures/server_graphs.json
|
178
180
|
- spec/fixtures/server_info.json
|