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 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