hetzner-api 1.0.4 → 1.0.5
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.
- data/.travis.yml +0 -1
- data/Gemfile.lock +14 -14
- data/README.rdoc +3 -1
- data/hetzner-api.gemspec +3 -3
- data/lib/hetzner-api.rb +1 -0
- data/lib/hetzner/api/boot.rb +1 -0
- data/lib/hetzner/api/boot/linux.rb +22 -0
- data/lib/hetzner/api/version.rb +1 -1
- data/spec/api_stubs.rb +9 -0
- data/spec/fixtures/boot/linux/delete.raw +13 -0
- data/spec/fixtures/boot/linux/get.raw +13 -0
- data/spec/fixtures/boot/linux/post.raw +13 -0
- data/spec/hetzner_api_spec.rb +21 -0
- metadata +13 -9
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
hetzner-api (1.0.
|
4
|
+
hetzner-api (1.0.5)
|
5
5
|
httparty (~> 0.8.3)
|
6
6
|
json
|
7
7
|
thor
|
@@ -30,16 +30,16 @@ GEM
|
|
30
30
|
gherkin (2.11.0)
|
31
31
|
json (>= 1.4.6)
|
32
32
|
growl (1.0.3)
|
33
|
-
guard (1.
|
33
|
+
guard (1.2.3)
|
34
34
|
listen (>= 0.4.2)
|
35
35
|
thor (>= 0.14.6)
|
36
|
-
guard-rspec (1.
|
36
|
+
guard-rspec (1.2.0)
|
37
37
|
guard (>= 1.1)
|
38
38
|
httparty (0.8.3)
|
39
39
|
multi_json (~> 1.0)
|
40
40
|
multi_xml
|
41
41
|
json (1.7.3)
|
42
|
-
listen (0.4.
|
42
|
+
listen (0.4.7)
|
43
43
|
rb-fchange (~> 0.0.5)
|
44
44
|
rb-fsevent (~> 0.9.1)
|
45
45
|
rb-inotify (~> 0.8.8)
|
@@ -51,14 +51,14 @@ GEM
|
|
51
51
|
rb-fsevent (0.9.1)
|
52
52
|
rb-inotify (0.8.8)
|
53
53
|
ffi (>= 0.5.0)
|
54
|
-
rspec (2.
|
55
|
-
rspec-core (~> 2.
|
56
|
-
rspec-expectations (~> 2.
|
57
|
-
rspec-mocks (~> 2.
|
58
|
-
rspec-core (2.
|
59
|
-
rspec-expectations (2.
|
54
|
+
rspec (2.11.0)
|
55
|
+
rspec-core (~> 2.11.0)
|
56
|
+
rspec-expectations (~> 2.11.0)
|
57
|
+
rspec-mocks (~> 2.11.0)
|
58
|
+
rspec-core (2.11.1)
|
59
|
+
rspec-expectations (2.11.2)
|
60
60
|
diff-lcs (~> 1.1.3)
|
61
|
-
rspec-mocks (2.
|
61
|
+
rspec-mocks (2.11.1)
|
62
62
|
thor (0.15.3)
|
63
63
|
xml-simple (1.1.1)
|
64
64
|
|
@@ -68,11 +68,11 @@ PLATFORMS
|
|
68
68
|
DEPENDENCIES
|
69
69
|
aruba
|
70
70
|
background_process (~> 1.3)
|
71
|
-
bundler (~> 1.1.
|
71
|
+
bundler (~> 1.1.5)
|
72
72
|
cucumber (~> 1.2.1)
|
73
73
|
fakeweb
|
74
74
|
growl
|
75
|
-
guard-rspec (~> 1.
|
75
|
+
guard-rspec (~> 1.2.0)
|
76
76
|
hetzner-api!
|
77
77
|
rake (~> 0.9.2.2)
|
78
|
-
rspec (~> 2.
|
78
|
+
rspec (~> 2.11.0)
|
data/README.rdoc
CHANGED
@@ -125,4 +125,6 @@ The gem and the author are not related to Hetzner AG!
|
|
125
125
|
|
126
126
|
Copyright (c) 2012 Roland Moriz. See LICENSE for details.
|
127
127
|
|
128
|
-
{Ruby on Rails
|
128
|
+
{Ruby on Rails Freelancer}[https://roland.io/]
|
129
|
+
|
130
|
+
{Ruby on Rails Entwicklung}[https://moriz.de/] -> Moriz GmbH
|
data/hetzner-api.gemspec
CHANGED
@@ -23,9 +23,9 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_dependency 'json'
|
24
24
|
s.add_dependency 'xml-simple'
|
25
25
|
|
26
|
-
s.add_development_dependency "bundler", "~> 1.1.
|
27
|
-
s.add_development_dependency "rspec", "~> 2.
|
28
|
-
s.add_development_dependency "guard-rspec", "~> 1.
|
26
|
+
s.add_development_dependency "bundler", "~> 1.1.5"
|
27
|
+
s.add_development_dependency "rspec", "~> 2.11.0"
|
28
|
+
s.add_development_dependency "guard-rspec", "~> 1.2.0"
|
29
29
|
s.add_development_dependency "growl"
|
30
30
|
s.add_development_dependency "background_process", "~> 1.3"
|
31
31
|
s.add_development_dependency "fakeweb"
|
data/lib/hetzner-api.rb
CHANGED
@@ -11,6 +11,7 @@ require 'hetzner/api/server'
|
|
11
11
|
require 'hetzner/api/ip'
|
12
12
|
require 'hetzner/api/subnet'
|
13
13
|
require 'hetzner/api/traffic'
|
14
|
+
require 'hetzner/api/boot/linux'
|
14
15
|
require 'hetzner/api/boot/rescue'
|
15
16
|
require 'hetzner/api/boot/vnc'
|
16
17
|
require 'hetzner/api/boot/windows'
|
data/lib/hetzner/api/boot.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
module Hetzner
|
2
|
+
class API
|
3
|
+
module Boot
|
4
|
+
module Linux
|
5
|
+
def boot_linux?(ip)
|
6
|
+
path = "/boot/#{ip}/linux"
|
7
|
+
perform_get path
|
8
|
+
end
|
9
|
+
|
10
|
+
def boot_linux!(ip, dist, arch, lang)
|
11
|
+
path = "/boot/#{ip}/linux"
|
12
|
+
perform_post path, :query => {:dist => dist, :arch => arch, :lang => lang }
|
13
|
+
end
|
14
|
+
|
15
|
+
def disable_boot_linux!(ip)
|
16
|
+
path = "/boot/#{ip}/linux"
|
17
|
+
perform_delete path
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/hetzner/api/version.rb
CHANGED
data/spec/api_stubs.rb
CHANGED
@@ -77,6 +77,15 @@ FakeWeb.register_uri :post, uri("#{WORKING_IP}/plesk?arch=32&lang=en_US&dist=F
|
|
77
77
|
FakeWeb.register_uri :delete, uri("#{WORKING_IP}/plesk"),
|
78
78
|
:response => fixture('plesk/delete.raw')
|
79
79
|
|
80
|
+
FakeWeb.register_uri :get, uri("#{WORKING_IP}/linux"),
|
81
|
+
:response => fixture('linux/get.raw')
|
82
|
+
|
83
|
+
FakeWeb.register_uri :post, uri("#{WORKING_IP}/linux?dist=CentOS%206.3%20minimal&lang=en&arch=64"),
|
84
|
+
:response => fixture('linux/post.raw')
|
85
|
+
|
86
|
+
FakeWeb.register_uri :delete, uri("#{WORKING_IP}/linux"),
|
87
|
+
:response => fixture('linux/delete.raw')
|
88
|
+
|
80
89
|
|
81
90
|
@resource = 'wol'
|
82
91
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Content-Type: application/json
|
3
|
+
|
4
|
+
{
|
5
|
+
"linux": {
|
6
|
+
"server_ip": "11.11.11.111",
|
7
|
+
"dist": ["CentOS 5.8 minimal","CentOS 6.3 minimal","Debian 6.0 LAMP","Debian 6.0 minimal","openSUSE 12.2 minimal","Ubuntu 12.04 LTS minimal"],
|
8
|
+
"arch": [64,32],
|
9
|
+
"lang": ["en"],
|
10
|
+
"active": false,
|
11
|
+
"password": null
|
12
|
+
}
|
13
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Content-Type: application/json
|
3
|
+
|
4
|
+
{
|
5
|
+
"linux": {
|
6
|
+
"server_ip": "11.11.11.111",
|
7
|
+
"dist": ["CentOS 5.8 minimal","CentOS 6.3 minimal","Debian 6.0 LAMP","Debian 6.0 minimal","openSUSE 12.2 minimal","Ubuntu 12.04 LTS minimal"],
|
8
|
+
"arch": [64,32],
|
9
|
+
"lang": ["en"],
|
10
|
+
"active": false,
|
11
|
+
"password": null
|
12
|
+
}
|
13
|
+
}
|
data/spec/hetzner_api_spec.rb
CHANGED
@@ -80,6 +80,27 @@ describe "Boot" do
|
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
|
+
describe "a linux system" do
|
84
|
+
before(:all) do
|
85
|
+
@hetzner_api = Hetzner::API.new API_USERNAME, API_PASSWORD
|
86
|
+
end
|
87
|
+
|
88
|
+
it "should be able to query the boot options" do
|
89
|
+
result = @hetzner_api.boot_linux? WORKING_IP
|
90
|
+
result.response.should be_an_instance_of Net::HTTPOK
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should be able to activate the installation" do
|
94
|
+
result = @hetzner_api.boot_linux! WORKING_IP, "CentOS 6.3 minimal", "64", "en"
|
95
|
+
result.response.should be_an_instance_of Net::HTTPOK
|
96
|
+
end
|
97
|
+
|
98
|
+
it "should be able to deactivate the installation" do
|
99
|
+
result = @hetzner_api.disable_boot_linux! WORKING_IP
|
100
|
+
result.response.should be_an_instance_of Net::HTTPOK
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
83
104
|
describe "the rescue system" do
|
84
105
|
before(:all) do
|
85
106
|
@h = Hetzner::API.new API_USERNAME, API_PASSWORD
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hetzner-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
@@ -82,7 +82,7 @@ dependencies:
|
|
82
82
|
requirements:
|
83
83
|
- - ~>
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version: 1.1.
|
85
|
+
version: 1.1.5
|
86
86
|
type: :development
|
87
87
|
prerelease: false
|
88
88
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -90,7 +90,7 @@ dependencies:
|
|
90
90
|
requirements:
|
91
91
|
- - ~>
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version: 1.1.
|
93
|
+
version: 1.1.5
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: rspec
|
96
96
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
requirements:
|
99
99
|
- - ~>
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version: 2.
|
101
|
+
version: 2.11.0
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
104
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -106,7 +106,7 @@ dependencies:
|
|
106
106
|
requirements:
|
107
107
|
- - ~>
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 2.
|
109
|
+
version: 2.11.0
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
111
|
name: guard-rspec
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,7 +114,7 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.
|
117
|
+
version: 1.2.0
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -122,7 +122,7 @@ dependencies:
|
|
122
122
|
requirements:
|
123
123
|
- - ~>
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 1.
|
125
|
+
version: 1.2.0
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: growl
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -242,6 +242,7 @@ files:
|
|
242
242
|
- hetzner-api.gemspec
|
243
243
|
- lib/hetzner-api.rb
|
244
244
|
- lib/hetzner/api/boot.rb
|
245
|
+
- lib/hetzner/api/boot/linux.rb
|
245
246
|
- lib/hetzner/api/boot/plesk.rb
|
246
247
|
- lib/hetzner/api/boot/rescue.rb
|
247
248
|
- lib/hetzner/api/boot/vnc.rb
|
@@ -258,6 +259,9 @@ files:
|
|
258
259
|
- lib/hetzner/api/wol.rb
|
259
260
|
- spec/api_stubs.rb
|
260
261
|
- spec/fixtures/boot/get_with_ip.raw
|
262
|
+
- spec/fixtures/boot/linux/delete.raw
|
263
|
+
- spec/fixtures/boot/linux/get.raw
|
264
|
+
- spec/fixtures/boot/linux/post.raw
|
261
265
|
- spec/fixtures/boot/plesk/delete.raw
|
262
266
|
- spec/fixtures/boot/plesk/get.raw
|
263
267
|
- spec/fixtures/boot/plesk/post.raw
|
@@ -314,7 +318,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
314
318
|
version: '0'
|
315
319
|
segments:
|
316
320
|
- 0
|
317
|
-
hash:
|
321
|
+
hash: -1770334295152892560
|
318
322
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
319
323
|
none: false
|
320
324
|
requirements:
|