ivapi 0.0.6 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.rspec +2 -1
- data/.travis.yml +7 -0
- data/CONTRIBUTING.md +38 -0
- data/Gemfile +11 -1
- data/Guardfile +13 -0
- data/{LICENSE.txt → LICENSE.md} +0 -0
- data/README.md +28 -26
- data/Rakefile +8 -1
- data/ivapi.gemspec +20 -13
- data/lib/faraday/response/raise_ivapi_error.rb +24 -0
- data/lib/ivapi.rb +6 -30
- data/lib/ivapi/authentication.rb +15 -0
- data/lib/ivapi/client.rb +27 -0
- data/lib/ivapi/client/account.rb +30 -0
- data/lib/ivapi/client/server.rb +92 -0
- data/lib/ivapi/configuration.rb +43 -0
- data/lib/ivapi/connection.rb +29 -0
- data/lib/ivapi/error.rb +35 -0
- data/lib/ivapi/request.rb +22 -0
- data/lib/ivapi/version.rb +1 -1
- data/spec/fixtures/account_bonuses.json +20 -0
- data/spec/fixtures/account_info.json +42 -0
- data/spec/fixtures/account_orders.json +29 -0
- data/spec/fixtures/account_services.json +35 -0
- data/spec/fixtures/server_change.json +3 -0
- data/spec/fixtures/server_domain.json +3 -0
- data/spec/fixtures/server_graphs.json +26 -0
- data/spec/fixtures/server_info.json +30 -0
- data/spec/fixtures/server_os.json +132 -0
- data/spec/fixtures/server_reboot.json +3 -0
- data/spec/fixtures/server_recreate.json +3 -0
- data/spec/fixtures/server_reset_password.json +3 -0
- data/spec/fixtures/server_tasks.json +14 -0
- data/spec/fixtures/version.json +3 -0
- data/spec/ivapi/client/account_spec.rb +34 -0
- data/spec/ivapi/client/server_spec.rb +58 -0
- data/spec/ivapi/client_spec.rb +13 -0
- data/spec/spec_helper.rb +64 -15
- metadata +130 -21
- data/lib/ivapi/account.rb +0 -32
- data/lib/ivapi/base.rb +0 -23
- data/lib/ivapi/railtie.rb +0 -26
- data/lib/ivapi/server.rb +0 -59
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'ivapi/version'
|
3
|
+
|
4
|
+
module Ivapi
|
5
|
+
module Configuration
|
6
|
+
VALID_OPTIONS_KEYS = [
|
7
|
+
:adapter,
|
8
|
+
:faraday_config_block,
|
9
|
+
:username,
|
10
|
+
:password,
|
11
|
+
:user_agent,
|
12
|
+
:server_id
|
13
|
+
].freeze
|
14
|
+
|
15
|
+
DEFAULT_ADAPTER = Faraday.default_adapter
|
16
|
+
DEFAULT_USER_AGENT = "Ivapi Ruby Gem #{Ivapi::VERSION}".freeze
|
17
|
+
|
18
|
+
attr_accessor(*VALID_OPTIONS_KEYS)
|
19
|
+
|
20
|
+
def self.extended(base)
|
21
|
+
base.reset
|
22
|
+
end
|
23
|
+
|
24
|
+
def configure
|
25
|
+
yield self
|
26
|
+
end
|
27
|
+
|
28
|
+
def options
|
29
|
+
VALID_OPTIONS_KEYS.inject({}){|o,k| o.merge!(k => send(k)) }
|
30
|
+
end
|
31
|
+
|
32
|
+
def faraday_config(&block)
|
33
|
+
@faraday_config_block = block
|
34
|
+
end
|
35
|
+
|
36
|
+
def reset
|
37
|
+
self.adapter = DEFAULT_ADAPTER
|
38
|
+
self.username = nil
|
39
|
+
self.password = nil
|
40
|
+
self.user_agent = DEFAULT_USER_AGENT
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'faraday_middleware'
|
2
|
+
require 'faraday/response/raise_ivapi_error'
|
3
|
+
|
4
|
+
module Ivapi
|
5
|
+
module Connection
|
6
|
+
private
|
7
|
+
|
8
|
+
def connection(options={})
|
9
|
+
connection = Faraday.new(options) do |builder|
|
10
|
+
|
11
|
+
builder.request :json
|
12
|
+
|
13
|
+
builder.use Faraday::Response::RaiseIvapiError
|
14
|
+
builder.use FaradayMiddleware::FollowRedirects
|
15
|
+
builder.use FaradayMiddleware::Mashify
|
16
|
+
|
17
|
+
builder.use FaradayMiddleware::ParseJson, :content_type => /\bjson$/
|
18
|
+
|
19
|
+
faraday_config_block.call(builder) if faraday_config_block
|
20
|
+
|
21
|
+
builder.adapter *adapter
|
22
|
+
end
|
23
|
+
|
24
|
+
connection.headers[:user_agent] = user_agent
|
25
|
+
|
26
|
+
connection
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/ivapi/error.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
module Ivapi
|
2
|
+
|
3
|
+
class Error < StandardError
|
4
|
+
end
|
5
|
+
|
6
|
+
# Raised when iv.lt returns a 400 HTTP status code
|
7
|
+
class BadRequest < Error; end
|
8
|
+
|
9
|
+
# Raised when iv.lt returns a 401 HTTP status code
|
10
|
+
class Unauthorized < Error; end
|
11
|
+
|
12
|
+
# Raised when iv.lt returns a 403 HTTP status code
|
13
|
+
class Forbidden < Error; end
|
14
|
+
|
15
|
+
# Raised when iv.lt returns a 404 HTTP status code
|
16
|
+
class NotFound < Error; end
|
17
|
+
|
18
|
+
# Raised when iv.lt returns a 406 HTTP status code
|
19
|
+
class NotAcceptable < Error; end
|
20
|
+
|
21
|
+
# Raised when iv.lt returns a 422 HTTP status code
|
22
|
+
class UnprocessableEntity < Error; end
|
23
|
+
|
24
|
+
# Raised when iv.lt returns a 500 HTTP status code
|
25
|
+
class InternalServerError < Error; end
|
26
|
+
|
27
|
+
# Raised when iv.lt returns a 501 HTTP status code
|
28
|
+
class NotImplemented < Error; end
|
29
|
+
|
30
|
+
# Raised when iv.lt returns a 502 HTTP status code
|
31
|
+
class BadGateway < Error; end
|
32
|
+
|
33
|
+
# Raised when iv.lt returns a 503 HTTP status code
|
34
|
+
class ServiceUnavailable < Error; end
|
35
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Ivapi
|
2
|
+
module Request
|
3
|
+
def get(path, options={})
|
4
|
+
request(:get, path, options).body
|
5
|
+
end
|
6
|
+
|
7
|
+
def request(method, path, options={})
|
8
|
+
|
9
|
+
conn_options = {
|
10
|
+
:url => "https://api.iv.lt"
|
11
|
+
}
|
12
|
+
|
13
|
+
options.merge!(authentication)
|
14
|
+
|
15
|
+
response = connection(conn_options).send(method) do |request|
|
16
|
+
request.url(path, options)
|
17
|
+
end
|
18
|
+
|
19
|
+
response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/ivapi/version.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"bo_id": "1",
|
4
|
+
"bo_created": "2013-03-01 12:12:12",
|
5
|
+
"bo_amount": "1.00",
|
6
|
+
"bo_description": "SMS +370.61234567 (example)"
|
7
|
+
},
|
8
|
+
{
|
9
|
+
"bo_id": "2",
|
10
|
+
"bo_created": "2013-03-02 12:12:12",
|
11
|
+
"bo_amount": "2.00",
|
12
|
+
"bo_description": "SMS +370.61234568 (example)"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"bo_id": "3",
|
16
|
+
"bo_created": "2013-03-03 12:12:12",
|
17
|
+
"bo_amount": "3.00",
|
18
|
+
"bo_description": "SMS +370.61234569 (example)"
|
19
|
+
}
|
20
|
+
]
|
@@ -0,0 +1,42 @@
|
|
1
|
+
{
|
2
|
+
"ac_id":"1",
|
3
|
+
"ac_created":"2012-12-12 12:12:12",
|
4
|
+
"ac_company":null,
|
5
|
+
"ac_name":"Name Surname",
|
6
|
+
"ac_occupation":null,
|
7
|
+
"ac_code":"",
|
8
|
+
"ac_vat":null,
|
9
|
+
"ac_address":"Address",
|
10
|
+
"ac_city":"",
|
11
|
+
"ac_state":null,
|
12
|
+
"ac_zip":null,
|
13
|
+
"ac_country":"",
|
14
|
+
"ac_phone":"",
|
15
|
+
"ac_mobile":null,
|
16
|
+
"ac_fax":null,
|
17
|
+
"ac_email":"name@test.com",
|
18
|
+
"ac_bank_account":null,
|
19
|
+
"ac_bank":null,
|
20
|
+
"ac_bank_code":null,
|
21
|
+
"ac_credit":"0",
|
22
|
+
"ac_bonus":"0",
|
23
|
+
"ac_contacts":[],
|
24
|
+
"ac_users":[
|
25
|
+
{
|
26
|
+
"us_id":"1",
|
27
|
+
"us_created":"2009-10-07 21:50:17",
|
28
|
+
"us_inactive":"no",
|
29
|
+
"us_subuser":"no",
|
30
|
+
"us_nick":"foobar",
|
31
|
+
"us_description":null
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"us_id":"2",
|
35
|
+
"us_created":"2012-11-06 21:06:53",
|
36
|
+
"us_inactive":"no",
|
37
|
+
"us_subuser":"yes",
|
38
|
+
"us_nick":"foobarapi",
|
39
|
+
"us_description":"API"
|
40
|
+
}
|
41
|
+
]
|
42
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"or_id": "1",
|
4
|
+
"or_created": "2011-11-11 11:11:11",
|
5
|
+
"or_paid": null,
|
6
|
+
"or_series": null,
|
7
|
+
"or_number": null,
|
8
|
+
"or_cost": "11.11",
|
9
|
+
"or_url": "https://saskaitos.iv.lt/"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"or_id": "2",
|
13
|
+
"or_created": "2012-12-12 12:12:12",
|
14
|
+
"or_paid": "2012-12-12 13:12:12",
|
15
|
+
"or_series": "IV",
|
16
|
+
"or_number": "121212",
|
17
|
+
"or_cost": "12.12",
|
18
|
+
"or_url": "https://saskaitos.iv.lt/"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"or_id": "3",
|
22
|
+
"or_created": "2013-12-13 13:13:13",
|
23
|
+
"or_paid": "2013-12-13 14:13:13",
|
24
|
+
"or_series": "IV",
|
25
|
+
"or_number": "131313",
|
26
|
+
"or_cost": "13.13",
|
27
|
+
"or_url": "https://saskaitos.iv.lt/"
|
28
|
+
}
|
29
|
+
]
|
@@ -0,0 +1,35 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"se_id": "1",
|
4
|
+
"se_created": "2012-12-12 12:12:12",
|
5
|
+
"se_since": "2012-12-12",
|
6
|
+
"se_until": "2013-12-12",
|
7
|
+
"se_quantity": "1",
|
8
|
+
"se_price": "29.00",
|
9
|
+
"se_discount": "0",
|
10
|
+
"se_unit": "m.",
|
11
|
+
"se_description": "Adreso metinis mokestis (example.com)"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"se_id": "2",
|
15
|
+
"se_created": "2013-01-01 12:12:12",
|
16
|
+
"se_since": "2013-01-01",
|
17
|
+
"se_until": "2014-01-01",
|
18
|
+
"se_quantity": "1",
|
19
|
+
"se_price": "29.00",
|
20
|
+
"se_discount": "0",
|
21
|
+
"se_unit": "m.",
|
22
|
+
"se_description": "Adreso metinis mokestis (example2.com)"
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"se_id": "3",
|
26
|
+
"se_created": "2013-02-02 12:12:12",
|
27
|
+
"se_since": "2013-02-02",
|
28
|
+
"se_until": "2013-03-02",
|
29
|
+
"se_quantity": "1",
|
30
|
+
"se_price": "10.00",
|
31
|
+
"se_discount": "10",
|
32
|
+
"se_unit": "mėn.",
|
33
|
+
"se_description": "Serverio nuoma (planas 1GHz:1024MB:10GB:10Mbps, server.example.com)"
|
34
|
+
}
|
35
|
+
]
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"traffic_daily": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fnC3szdUWyJy6/f2+3Wg72Lg8EjVPuhB+seWKwCtm9ylMBvZbDEgBJ1ozv8DiXg/gw==",
|
3
|
+
"traffic_weekly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fnC3szdUWyJy6/f2+3Wg72KMBurzWeKRYCSdVLNTmWlS77CL7eTdjTkLzJAciTTvVw==",
|
4
|
+
"traffic_monthly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fnC3szdUWyJy6/f2+3Wg72IJIJ2nxhWjMrwzuGGORAgwUKwQu38nWYlplg5wRxTFxA==",
|
5
|
+
"traffic_yearly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fnC3szdUWyJy6/f2+3Wg72JuXq2GVfc4U3IN5b1ttsu/77CL7eTdjTkLzJAciTTvVw==",
|
6
|
+
"memory_daily": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fvgG8Tmrj9pWTH4kJUZ5p8dhvV6BorRY7r4eIEWPKbhC6aUajHks7tk9UzFXwFTWWw==",
|
7
|
+
"memory_weekly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fvgG8Tmrj9pWTH4kJUZ5p8coPSkAY/O804FmAbo5Fqw5MBvZbDEgBJ1ozv8DiXg/gw==",
|
8
|
+
"memory_monthly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fvgG8Tmrj9pWTH4kJUZ5p8dsx6X0ZOEADT7QYB6XBaIv77CL7eTdjTkLzJAciTTvVw==",
|
9
|
+
"memory_yearly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fvgG8Tmrj9pWTH4kJUZ5p8dB+gRFK17D/NMNpGQ0jL1PMBvZbDEgBJ1ozv8DiXg/gw==",
|
10
|
+
"storage_daily": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99foS0JRE/SsbS3LPwnfbWpDHg8EjVPuhB+seWKwCtm9ylMBvZbDEgBJ1ozv8DiXg/gw==",
|
11
|
+
"storage_weekly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99foS0JRE/SsbS3LPwnfbWpDGMBurzWeKRYCSdVLNTmWlS77CL7eTdjTkLzJAciTTvVw==",
|
12
|
+
"storage_monthly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99foS0JRE/SsbS3LPwnfbWpDEJIJ2nxhWjMrwzuGGORAgwUKwQu38nWYlplg5wRxTFxA==",
|
13
|
+
"storage_yearly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99foS0JRE/SsbS3LPwnfbWpDFuXq2GVfc4U3IN5b1ttsu/77CL7eTdjTkLzJAciTTvVw==",
|
14
|
+
"load_daily": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fnVCAeEd38I5tKGzFA/vKFWpce72OLQsGNBKIlyaI3VPRJcniVrpCjj+A47DMwkyfQ==",
|
15
|
+
"load_weekly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fnVCAeEd38I5tKGzFA/vKFUneWoB3RXynYY1Os3r4nqJ1/FtFwPGQkKJH2lwumDXzw==",
|
16
|
+
"load_monthly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fnVCAeEd38I5tKGzFA/vKFWZS471Ezj3JICAK6b/LIQF6aUajHks7tk9UzFXwFTWWw==",
|
17
|
+
"load_yearly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fnVCAeEd38I5tKGzFA/vKFXMoKXdsdQEoYOkY4Ri3oJi1/FtFwPGQkKJH2lwumDXzw==",
|
18
|
+
"io_daily": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fg/wdjDpwrAo65UaYdgO5Q4AISmB1PxslqPs64YrzSM9IPEGYc9YIvamuCNPzknHrg==",
|
19
|
+
"io_weekly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fnj1ZiSpBuBW3ioC9pzr2JFu+xwrNLSPGuEdd3BcqCJrO+CCnnFdRpsyRaXqzzOvbA==",
|
20
|
+
"io_monthly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fiNJIR4KyNN6HP6Q+4c6IP7/PLCBg5OEa7Yy6ZAUUmTERJcniVrpCjj+A47DMwkyfQ==",
|
21
|
+
"io_yearly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fhz6dgmYsgCwoseMpVHU2LliI5dwBut6KqqQFsscRqGcO+CCnnFdRpsyRaXqzzOvbA==",
|
22
|
+
"cpu_daily": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fqhNaiflbCcb6QuGzlRJ9yzb+vWgad6b+QP6lyFG5rCcO+CCnnFdRpsyRaXqzzOvbA==",
|
23
|
+
"cpu_weekly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fqhNaiflbCcb6QuGzlRJ9yy2R1VycHOc6baz3zRB6Am1RJcniVrpCjj+A47DMwkyfQ==",
|
24
|
+
"cpu_monthly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fqhNaiflbCcb6QuGzlRJ9yxK/MZyMfdX4eflJC8xIf8j1/FtFwPGQkKJH2lwumDXzw==",
|
25
|
+
"cpu_yearly": "//stats.serveriai.lt/graph.php?Ds252x+6Lek1o0SV2+u99fqhNaiflbCcb6QuGzlRJ9yxZA7jroJOYQwMT3OKsz00xRJcniVrpCjj+A47DMwkyfQ=="
|
26
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{
|
2
|
+
"se_id": "3",
|
3
|
+
"se_created": "2013-02-02 12:12:12",
|
4
|
+
"se_since": "2013-02-02",
|
5
|
+
"se_until": "2013-03-02",
|
6
|
+
"se_quantity": "1",
|
7
|
+
"se_price": "10.00",
|
8
|
+
"se_discount": "0",
|
9
|
+
"se_unit": "mėn.",
|
10
|
+
"se_description": "Serverio nuoma (planas 1GHz:1024MB:10GB:10Mbps, server.example.com)",
|
11
|
+
"se_plan": "1GHz:1048MB:10GB:10Mbps",
|
12
|
+
"se_domain": "server.example.com",
|
13
|
+
"se_cpu": "1",
|
14
|
+
"se_ram": "1024",
|
15
|
+
"se_quota": "10",
|
16
|
+
"se_bandwidth": "10",
|
17
|
+
"se_info": {
|
18
|
+
"in_node": "Robinija",
|
19
|
+
"in_host": "server.example.com",
|
20
|
+
"in_bw_in": "37590",
|
21
|
+
"in_bw_out": "90048",
|
22
|
+
"in_qt_limit": "100352",
|
23
|
+
"in_qt_usage": "17432",
|
24
|
+
"in_inodes_limit": "1960000",
|
25
|
+
"in_inodes_usage": "116232",
|
26
|
+
"in_mm_limit": "2048",
|
27
|
+
"in_mm_usage": "1297",
|
28
|
+
"in_ips": "12.23.34.45"
|
29
|
+
}
|
30
|
+
}
|
@@ -0,0 +1,132 @@
|
|
1
|
+
{
|
2
|
+
"centos-5-x86": {
|
3
|
+
"title": "CentOS 5",
|
4
|
+
"arch": "32-bit",
|
5
|
+
"url": "http://www.centos.org/"
|
6
|
+
},
|
7
|
+
"centos-5-x86_64": {
|
8
|
+
"title": "CentOS 5",
|
9
|
+
"url": "http://www.centos.org/",
|
10
|
+
"arch": "64-bit"
|
11
|
+
},
|
12
|
+
"centos-6-x86": {
|
13
|
+
"title": "CentOS 6",
|
14
|
+
"arch": "32-bit",
|
15
|
+
"url": "http://www.centos.org/"
|
16
|
+
},
|
17
|
+
"centos-6-x86_64": {
|
18
|
+
"url": "http://www.centos.org/",
|
19
|
+
"arch": "64-bit",
|
20
|
+
"title": "CentOS 6"
|
21
|
+
},
|
22
|
+
"centos-6-x86_64-webmin": {
|
23
|
+
"min_ram": "2048",
|
24
|
+
"panel": "yes",
|
25
|
+
"title": "Webmin 1.5 (CentOS 6, PHP 5.3)",
|
26
|
+
"url": "http://forumas.dedikuoti.lt/showthread.php?p=139",
|
27
|
+
"arch": "64-bit"
|
28
|
+
},
|
29
|
+
"debian-6.0-x86_64-ispconfig": {
|
30
|
+
"min_ram": "2048",
|
31
|
+
"url": "http://forumas.dedikuoti.lt/showthread.php?p=158",
|
32
|
+
"title": "ISPConfig 3 (Debian 6, PHP 5.3)",
|
33
|
+
"panel": "yes",
|
34
|
+
"arch": "64-bit"
|
35
|
+
},
|
36
|
+
"centos-6-x86_64-directadmin": {
|
37
|
+
"arch": "64-bit",
|
38
|
+
"verify": "http://tools.iv.lt/da/licence.php?ip=%s",
|
39
|
+
"url": "http://forumas.dedikuoti.lt/showthread.php?p=520",
|
40
|
+
"price": "99",
|
41
|
+
"min_ram": "2048",
|
42
|
+
"title": "DirectAdmin 1.4",
|
43
|
+
"panel": "yes"
|
44
|
+
},
|
45
|
+
"centos-6-x86_64-cs-1.6": {
|
46
|
+
"title": "Counter-Strike 1.6",
|
47
|
+
"arch": "64-bit",
|
48
|
+
"panel": "yes",
|
49
|
+
"url": "http://forumas.dedikuoti.lt/showthread.php?p=580",
|
50
|
+
"min_ram": "2048"
|
51
|
+
},
|
52
|
+
"debian-5.0-x86": {
|
53
|
+
"title": "Debian 5",
|
54
|
+
"arch": "32-bit",
|
55
|
+
"url": "http://www.debian.org/"
|
56
|
+
},
|
57
|
+
"debian-5.0-x86_64": {
|
58
|
+
"title": "Debian 5",
|
59
|
+
"arch": "64-bit",
|
60
|
+
"url": "http://www.debian.org/"
|
61
|
+
},
|
62
|
+
"debian-6.0-x86": {
|
63
|
+
"arch": "32-bit",
|
64
|
+
"title": "Debian 6",
|
65
|
+
"url": "http://www.debian.org/"
|
66
|
+
},
|
67
|
+
"debian-6.0-x86_64": {
|
68
|
+
"title": "Debian 6",
|
69
|
+
"url": "http://www.debian.org/",
|
70
|
+
"arch": "64-bit"
|
71
|
+
},
|
72
|
+
"fedora-15-x86": {
|
73
|
+
"arch": "32-bit",
|
74
|
+
"title": "Fedora 15",
|
75
|
+
"url": "http://fedoraproject.org/"
|
76
|
+
},
|
77
|
+
"fedora-15-x86_64": {
|
78
|
+
"arch": "64-bit",
|
79
|
+
"url": "http://fedoraproject.org/",
|
80
|
+
"title": "Fedora 15"
|
81
|
+
},
|
82
|
+
"suse-11.3-x86": {
|
83
|
+
"url": "http://www.opensuse.org/",
|
84
|
+
"arch": "32-bit",
|
85
|
+
"title": "openSUSE 11.3"
|
86
|
+
},
|
87
|
+
"suse-11.3-x86_64": {
|
88
|
+
"title": "openSUSE 11.3",
|
89
|
+
"arch": "64-bit",
|
90
|
+
"url": "http://www.opensuse.org/"
|
91
|
+
},
|
92
|
+
"suse-11.4-x86": {
|
93
|
+
"url": "http://www.opensuse.org/",
|
94
|
+
"arch": "32-bit",
|
95
|
+
"title": "openSUSE 11.4"
|
96
|
+
},
|
97
|
+
"suse-11.4-x86_64": {
|
98
|
+
"arch": "64-bit",
|
99
|
+
"title": "openSUSE 11.4",
|
100
|
+
"url": "http://www.opensuse.org/"
|
101
|
+
},
|
102
|
+
"ubuntu-10.04-x86": {
|
103
|
+
"title": "Ubuntu 10.04",
|
104
|
+
"arch": "32-bit",
|
105
|
+
"url": "http://www.ubuntu.com/"
|
106
|
+
},
|
107
|
+
"ubuntu-10.04-x86_64": {
|
108
|
+
"url": "http://www.ubuntu.com/",
|
109
|
+
"title": "Ubuntu 10.04",
|
110
|
+
"arch": "64-bit"
|
111
|
+
},
|
112
|
+
"ubuntu-11.10-x86": {
|
113
|
+
"title": "Ubuntu 11.10",
|
114
|
+
"url": "http://www.ubuntu.com/",
|
115
|
+
"arch": "32-bit"
|
116
|
+
},
|
117
|
+
"ubuntu-11.10-x86_64": {
|
118
|
+
"title": "Ubuntu 11.10",
|
119
|
+
"url": "http://www.ubuntu.com/",
|
120
|
+
"arch": "64-bit"
|
121
|
+
},
|
122
|
+
"ubuntu-12.04-x86": {
|
123
|
+
"arch": "32-bit",
|
124
|
+
"title": "Ubuntu 12.04",
|
125
|
+
"url": "http://www.ubuntu.com/"
|
126
|
+
},
|
127
|
+
"ubuntu-12.04-x86_64": {
|
128
|
+
"url": "http://www.ubuntu.com/",
|
129
|
+
"title": "Ubuntu 12.04",
|
130
|
+
"arch": "64-bit"
|
131
|
+
}
|
132
|
+
}
|