ivapi 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c45d6330029687cd322bf6c8444a70db40d88600
4
- data.tar.gz: 2f2f394de5d0fec3237dea040ed41451cf7385de
3
+ metadata.gz: 535ebd41e87d2ce434325939ed2cce35cdc8a556
4
+ data.tar.gz: e7f94686b9a33f2a30f54a7dfd2868e143f17714
5
5
  SHA512:
6
- metadata.gz: 837c689274155406120292bba73ba59c3a9ce75e93b89a6324305a0104061615c9fd39bd5246a424670f8682e3e6295079472c3f874adb55c3fc2479993b88e6
7
- data.tar.gz: 9e7f2ab09aee0a4a01badcadc2a525a3635ff398774ecac374361979b4a1bd6ffa891785794156b73d061c7f39bd4f68ec8aaf5bd243232e11841fc5f66ef11e
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
  [![Build Status](https://secure.travis-ci.org/jpalumickas/ivapi.png?branch=master)][travis]
7
7
  [![Dependency Status](https://gemnasium.com/jpalumickas/ivapi.png?travis)][gemnasium]
8
8
  [![Coverage Status](https://coveralls.io/repos/jpalumickas/ivapi/badge.png?branch=master)][coveralls]
9
+ [![Code Climate](https://codeclimate.com/github/jpalumickas/ivapi.png)][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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Ivapi
2
- VERSION = '1.0.2'
2
+ VERSION = '1.0.3'
3
3
  end
@@ -0,0 +1,3 @@
1
+ {
2
+ "pps": "1000"
3
+ }
@@ -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.2
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-05-10 00:00:00.000000000 Z
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