squall 1.0.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/.rbenv-version +1 -0
- data/.rspec +1 -1
- data/.rvmrc +41 -1
- data/.travis.yml +13 -3
- data/README.md +122 -27
- data/Rakefile +5 -34
- data/lib/squall/data_store_zone.rb +58 -0
- data/lib/squall/firewall_rule.rb +66 -0
- data/lib/squall/hypervisor.rb +63 -11
- data/lib/squall/hypervisor_zone.rb +135 -0
- data/lib/squall/ip_address.rb +50 -3
- data/lib/squall/ip_address_join.rb +46 -0
- data/lib/squall/network.rb +21 -4
- data/lib/squall/network_zone.rb +73 -0
- data/lib/squall/payment.rb +59 -0
- data/lib/squall/role.rb +28 -11
- data/lib/squall/statistic.rb +3 -3
- data/lib/squall/{base.rb → support/base.rb} +8 -4
- data/lib/squall/{config.rb → support/config.rb} +4 -0
- data/lib/squall/{exception.rb → support/exception.rb} +0 -0
- data/lib/squall/{params.rb → support/params.rb} +0 -0
- data/lib/squall/support/version.rb +3 -0
- data/lib/squall/support/yaml.rb +5 -0
- data/lib/squall/template.rb +4 -0
- data/lib/squall/transaction.rb +4 -0
- data/lib/squall/user.rb +126 -30
- data/lib/squall/user_group.rb +56 -0
- data/lib/squall/virtual_machine.rb +176 -52
- data/lib/squall/whitelist.rb +74 -0
- data/lib/squall.rb +21 -12
- data/spec/spec_helper.rb +21 -16
- data/spec/squall/data_store_zone_spec.rb +97 -0
- data/spec/squall/firewall_rule_spec.rb +112 -0
- data/spec/squall/hypervisor_spec.rb +101 -48
- data/spec/squall/hypervisor_zone_spec.rb +190 -0
- data/spec/squall/ip_address_join_spec.rb +67 -0
- data/spec/squall/ip_address_spec.rb +68 -6
- data/spec/squall/network_spec.rb +0 -1
- data/spec/squall/network_zone_spec.rb +147 -0
- data/spec/squall/payment_spec.rb +98 -0
- data/spec/squall/role_spec.rb +31 -46
- data/spec/squall/statistic_spec.rb +7 -9
- data/spec/squall/{base_spec.rb → support/base_spec.rb} +5 -7
- data/spec/squall/{config_spec.rb → support/config_spec.rb} +0 -0
- data/spec/{params_spec.rb → squall/support/params_spec.rb} +0 -0
- data/spec/squall/template_spec.rb +0 -1
- data/spec/squall/transaction_spec.rb +0 -1
- data/spec/squall/user_group_spec.rb +74 -0
- data/spec/squall/user_spec.rb +142 -59
- data/spec/squall/virtual_machine_spec.rb +179 -67
- data/spec/squall/whitelist_spec.rb +113 -0
- data/spec/squall_spec.rb +4 -8
- data/spec/vcr_cassettes/data_store_zone/create.yml +40 -0
- data/spec/vcr_cassettes/data_store_zone/delete.yml +77 -0
- data/spec/vcr_cassettes/data_store_zone/edit.yml +77 -0
- data/spec/vcr_cassettes/data_store_zone/list.yml +40 -0
- data/spec/vcr_cassettes/data_store_zone/show.yml +77 -0
- data/spec/vcr_cassettes/firewall_rule/create.yml +75 -0
- data/spec/vcr_cassettes/firewall_rule/delete.yml +75 -0
- data/spec/vcr_cassettes/firewall_rule/edit.yml +75 -0
- data/spec/vcr_cassettes/firewall_rule/list.yml +40 -0
- data/spec/vcr_cassettes/hypervisor/add_data_store_join.yml +40 -0
- data/spec/vcr_cassettes/hypervisor/add_network_join.yml +40 -0
- data/spec/vcr_cassettes/hypervisor/create.yml +7 -44
- data/spec/vcr_cassettes/hypervisor/data_store_joins.yml +40 -0
- data/spec/vcr_cassettes/hypervisor/delete.yml +11 -11
- data/spec/vcr_cassettes/hypervisor/edit.yml +7 -46
- data/spec/vcr_cassettes/hypervisor/list.yml +7 -7
- data/spec/vcr_cassettes/hypervisor/network_joins.yml +40 -0
- data/spec/vcr_cassettes/hypervisor/reboot.yml +13 -13
- data/spec/vcr_cassettes/hypervisor/remove_data_store_join.yml +40 -0
- data/spec/vcr_cassettes/hypervisor/remove_network_join.yml +40 -0
- data/spec/vcr_cassettes/hypervisor/show.yml +13 -13
- data/spec/vcr_cassettes/hypervisor_zones/add_data_store_join.yml +40 -0
- data/spec/vcr_cassettes/hypervisor_zones/add_network_join.yml +40 -0
- data/spec/vcr_cassettes/hypervisor_zones/create.yml +40 -0
- data/spec/vcr_cassettes/hypervisor_zones/data_store_joins.yml +40 -0
- data/spec/vcr_cassettes/hypervisor_zones/delete.yml +77 -0
- data/spec/vcr_cassettes/hypervisor_zones/edit.yml +77 -0
- data/spec/vcr_cassettes/hypervisor_zones/hypervisors.yml +40 -0
- data/spec/vcr_cassettes/hypervisor_zones/list.yml +40 -0
- data/spec/vcr_cassettes/hypervisor_zones/network_joins.yml +40 -0
- data/spec/vcr_cassettes/hypervisor_zones/remove_data_store_join.yml +40 -0
- data/spec/vcr_cassettes/hypervisor_zones/remove_network_join.yml +40 -0
- data/spec/vcr_cassettes/hypervisor_zones/show.yml +77 -0
- data/spec/vcr_cassettes/ipaddress/create.yml +40 -0
- data/spec/vcr_cassettes/ipaddress/delete.yml +40 -0
- data/spec/vcr_cassettes/ipaddress/edit.yml +40 -0
- data/spec/vcr_cassettes/ipaddress/list.yml +17 -17
- data/spec/vcr_cassettes/ipaddress_join/assign.yml +77 -0
- data/spec/vcr_cassettes/ipaddress_join/delete.yml +77 -0
- data/spec/vcr_cassettes/ipaddress_join/list.yml +77 -0
- data/spec/vcr_cassettes/network/create.yml +15 -15
- data/spec/vcr_cassettes/network/delete.yml +6 -6
- data/spec/vcr_cassettes/network/edit.yml +18 -18
- data/spec/vcr_cassettes/network/list.yml +3 -3
- data/spec/vcr_cassettes/network_zones/attach.yml +114 -0
- data/spec/vcr_cassettes/network_zones/create.yml +40 -0
- data/spec/vcr_cassettes/network_zones/delete.yml +77 -0
- data/spec/vcr_cassettes/network_zones/detach.yml +114 -0
- data/spec/vcr_cassettes/network_zones/edit.yml +77 -0
- data/spec/vcr_cassettes/network_zones/list.yml +40 -0
- data/spec/vcr_cassettes/network_zones/show.yml +77 -0
- data/spec/vcr_cassettes/payment/create.yml +78 -0
- data/spec/vcr_cassettes/payment/delete.yml +77 -0
- data/spec/vcr_cassettes/payment/edit.yml +77 -0
- data/spec/vcr_cassettes/payment/list.yml +41 -0
- data/spec/vcr_cassettes/role/create.yml +7 -44
- data/spec/vcr_cassettes/role/delete.yml +6 -6
- data/spec/vcr_cassettes/role/edit.yml +13 -75
- data/spec/vcr_cassettes/role/list.yml +7 -7
- data/spec/vcr_cassettes/role/permissions.yml +7 -7
- data/spec/vcr_cassettes/role/show.yml +13 -13
- data/spec/vcr_cassettes/statistic/usage_statistics.yml +7 -7
- data/spec/vcr_cassettes/template/list.yml +3 -3
- data/spec/vcr_cassettes/template/make_public.yml +6 -6
- data/spec/vcr_cassettes/transaction/list.yml +3 -3
- data/spec/vcr_cassettes/transaction/show.yml +6 -6
- data/spec/vcr_cassettes/user/activate.yml +7 -7
- data/spec/vcr_cassettes/user/create.yml +7 -83
- data/spec/vcr_cassettes/user/data_store_zones.yml +79 -0
- data/spec/vcr_cassettes/user/delete.yml +11 -11
- data/spec/vcr_cassettes/user/edit.yml +40 -0
- data/spec/vcr_cassettes/user/edit_role.yml +9 -9
- data/spec/vcr_cassettes/user/generate_api_key.yml +7 -7
- data/spec/vcr_cassettes/user/hypervisors.yml +77 -0
- data/spec/vcr_cassettes/user/limits.yml +77 -0
- data/spec/vcr_cassettes/user/list.yml +8 -8
- data/spec/vcr_cassettes/user/monthly_bills.yml +40 -0
- data/spec/vcr_cassettes/user/network_zones.yml +79 -0
- data/spec/vcr_cassettes/user/show.yml +29 -29
- data/spec/vcr_cassettes/user/stats.yml +6 -6
- data/spec/vcr_cassettes/user/suspend.yml +7 -7
- data/spec/vcr_cassettes/user/virtual_machines.yml +18 -20
- data/spec/vcr_cassettes/user_group/create.yml +40 -0
- data/spec/vcr_cassettes/user_group/delete.yml +77 -0
- data/spec/vcr_cassettes/user_group/edit.yml +77 -0
- data/spec/vcr_cassettes/user_group/list.yml +40 -0
- data/spec/vcr_cassettes/virtual_machine/build.yml +7 -7
- data/spec/vcr_cassettes/virtual_machine/change_owner.yml +8 -8
- data/spec/vcr_cassettes/virtual_machine/change_password.yml +13 -13
- data/spec/vcr_cassettes/virtual_machine/console.yml +63 -0
- data/spec/vcr_cassettes/virtual_machine/create.yml +9 -11
- data/spec/vcr_cassettes/virtual_machine/delete.yml +11 -11
- data/spec/vcr_cassettes/virtual_machine/edit.yml +16 -18
- data/spec/vcr_cassettes/virtual_machine/list.yml +3 -3
- data/spec/vcr_cassettes/virtual_machine/migrate.yml +22 -24
- data/spec/vcr_cassettes/virtual_machine/reboot.yml +22 -22
- data/spec/vcr_cassettes/virtual_machine/resize.yml +13 -13
- data/spec/vcr_cassettes/virtual_machine/segregate.yml +114 -0
- data/spec/vcr_cassettes/virtual_machine/set_ssh_keys.yml +77 -0
- data/spec/vcr_cassettes/virtual_machine/set_vip.yml +77 -0
- data/spec/vcr_cassettes/virtual_machine/show.yml +6 -6
- data/spec/vcr_cassettes/virtual_machine/shutdown.yml +6 -6
- data/spec/vcr_cassettes/virtual_machine/startup.yml +6 -6
- data/spec/vcr_cassettes/virtual_machine/stats.yml +63 -0
- data/spec/vcr_cassettes/virtual_machine/stop.yml +22 -22
- data/spec/vcr_cassettes/virtual_machine/suspend.yml +13 -13
- data/spec/vcr_cassettes/virtual_machine/unlock.yml +13 -13
- data/spec/vcr_cassettes/virtual_machine/unsuspend.yml +6 -6
- data/spec/vcr_cassettes/whitelist/create.yml +77 -0
- data/spec/vcr_cassettes/whitelist/delete.yml +77 -0
- data/spec/vcr_cassettes/whitelist/edit.yml +77 -0
- data/spec/vcr_cassettes/whitelist/list.yml +40 -0
- data/spec/vcr_cassettes/whitelist/show.yml +77 -0
- data/squall.gemspec +3 -2
- metadata +247 -131
- data/Gemfile.lock +0 -100
- data/lib/squall/version.rb +0 -3
@@ -0,0 +1,40 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :post
|
5
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks/1/ip_addresses.json?ip_address[address]=109.123.91.24&ip_address[netmask]=255.255.255.194&ip_address[network_address]=109.123.91.66&ip_address[broadcast]=109.123.91.129&ip_address[gateway]=109.123.91.67
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
content-type:
|
9
|
+
- application/json
|
10
|
+
authorization:
|
11
|
+
- Basic <REDACTED>
|
12
|
+
response: !ruby/struct:VCR::Response
|
13
|
+
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
code: 201
|
15
|
+
message: Created
|
16
|
+
headers:
|
17
|
+
x-ua-compatible:
|
18
|
+
- IE=Edge,chrome=1
|
19
|
+
location:
|
20
|
+
- http://<URL>/settings/networks/1/ip_addresses
|
21
|
+
x-powered-by:
|
22
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
23
|
+
content-type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
x-runtime:
|
26
|
+
- "0.087995"
|
27
|
+
server:
|
28
|
+
- Apache/2.2.3 (CentOS)
|
29
|
+
date:
|
30
|
+
- Wed, 15 Feb 2012 15:01:17 GMT
|
31
|
+
set-cookie:
|
32
|
+
- <REDACTED>
|
33
|
+
status:
|
34
|
+
- "201"
|
35
|
+
cache-control:
|
36
|
+
- no-cache
|
37
|
+
transfer-encoding:
|
38
|
+
- chunked
|
39
|
+
body: "{\"ip_address\":{\"netmask\":\"255.255.255.194\",\"disallowed_primary\":null,\"address\":\"109.123.91.24\",\"created_at\":null,\"network_address\":\"109.123.91.0\",\"network_id\":1,\"updated_at\":null,\"broadcast\":\"109.123.91.31\",\"free\":true,\"gateway\":\"109.123.91.67\"}}"
|
40
|
+
http_version: "1.1"
|
@@ -0,0 +1,40 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :delete
|
5
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks/1/ip_addresses/1.json
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
content-type:
|
9
|
+
- application/json
|
10
|
+
authorization:
|
11
|
+
- Basic <REDACTED>
|
12
|
+
response: !ruby/struct:VCR::Response
|
13
|
+
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
code: 200
|
15
|
+
message: OK
|
16
|
+
headers:
|
17
|
+
x-ua-compatible:
|
18
|
+
- IE=Edge,chrome=1
|
19
|
+
etag:
|
20
|
+
- "\"99914b932bd37a50b983c5e7c90ae93b\""
|
21
|
+
x-powered-by:
|
22
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
23
|
+
content-type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
x-runtime:
|
26
|
+
- "0.047822"
|
27
|
+
server:
|
28
|
+
- Apache/2.2.3 (CentOS)
|
29
|
+
date:
|
30
|
+
- Wed, 15 Feb 2012 15:00:15 GMT
|
31
|
+
set-cookie:
|
32
|
+
- <REDACTED>
|
33
|
+
status:
|
34
|
+
- "200"
|
35
|
+
cache-control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
transfer-encoding:
|
38
|
+
- chunked
|
39
|
+
body: "{}"
|
40
|
+
http_version: "1.1"
|
@@ -0,0 +1,40 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :put
|
5
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks/1/ip_addresses/1.json?ip_address[address]=109.123.91.67&ip_address[netmask]=255.255.255.193&ip_address[network_address]=109.123.91.65&ip_address[broadcast]=109.123.91.128&ip_address[gateway]=109.123.91.66
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
content-type:
|
9
|
+
- application/json
|
10
|
+
authorization:
|
11
|
+
- Basic <REDACTED>
|
12
|
+
response: !ruby/struct:VCR::Response
|
13
|
+
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
code: 200
|
15
|
+
message: OK
|
16
|
+
headers:
|
17
|
+
x-ua-compatible:
|
18
|
+
- IE=Edge,chrome=1
|
19
|
+
etag:
|
20
|
+
- "\"99914b932bd37a50b983c5e7c90ae93b\""
|
21
|
+
x-powered-by:
|
22
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
23
|
+
content-type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
x-runtime:
|
26
|
+
- "0.057182"
|
27
|
+
server:
|
28
|
+
- Apache/2.2.3 (CentOS)
|
29
|
+
date:
|
30
|
+
- Wed, 15 Feb 2012 14:51:34 GMT
|
31
|
+
set-cookie:
|
32
|
+
- <REDACTED>
|
33
|
+
status:
|
34
|
+
- "200"
|
35
|
+
cache-control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
transfer-encoding:
|
38
|
+
- chunked
|
39
|
+
body: "{}"
|
40
|
+
http_version: "1.1"
|
@@ -2,13 +2,13 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: http
|
5
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks/404/ip_addresses.json
|
6
6
|
body:
|
7
7
|
headers:
|
8
8
|
content-type:
|
9
9
|
- application/json
|
10
10
|
authorization:
|
11
|
-
- Basic
|
11
|
+
- Basic <REDACTED>
|
12
12
|
response: !ruby/struct:VCR::Response
|
13
13
|
status: !ruby/struct:VCR::ResponseStatus
|
14
14
|
code: 404
|
@@ -20,32 +20,32 @@
|
|
20
20
|
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
21
21
|
content-type:
|
22
22
|
- application/json; charset=utf-8
|
23
|
-
|
24
|
-
-
|
23
|
+
x-runtime:
|
24
|
+
- "0.044072"
|
25
25
|
server:
|
26
26
|
- Apache/2.2.3 (CentOS)
|
27
|
-
|
28
|
-
-
|
27
|
+
date:
|
28
|
+
- Wed, 15 Feb 2012 14:48:15 GMT
|
29
29
|
set-cookie:
|
30
|
-
-
|
31
|
-
cache-control:
|
32
|
-
- no-cache
|
30
|
+
- <REDACTED>
|
33
31
|
status:
|
34
32
|
- "404"
|
33
|
+
cache-control:
|
34
|
+
- no-cache
|
35
35
|
transfer-encoding:
|
36
36
|
- chunked
|
37
|
-
body: "{\"
|
37
|
+
body: "{\"errors\":[\"Resource not found\"]}"
|
38
38
|
http_version: "1.1"
|
39
39
|
- !ruby/struct:VCR::HTTPInteraction
|
40
40
|
request: !ruby/struct:VCR::Request
|
41
41
|
method: :get
|
42
|
-
uri: http
|
42
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks/1/ip_addresses.json
|
43
43
|
body:
|
44
44
|
headers:
|
45
45
|
content-type:
|
46
46
|
- application/json
|
47
47
|
authorization:
|
48
|
-
- Basic
|
48
|
+
- Basic <REDACTED>
|
49
49
|
response: !ruby/struct:VCR::Response
|
50
50
|
status: !ruby/struct:VCR::ResponseStatus
|
51
51
|
code: 200
|
@@ -54,24 +54,24 @@
|
|
54
54
|
x-ua-compatible:
|
55
55
|
- IE=Edge,chrome=1
|
56
56
|
etag:
|
57
|
-
- "\"
|
57
|
+
- "\"a1668aa86e8439987b6122febd9d3fb6\""
|
58
58
|
x-powered-by:
|
59
59
|
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
60
60
|
content-type:
|
61
61
|
- application/json; charset=utf-8
|
62
62
|
x-runtime:
|
63
|
-
- "0.
|
63
|
+
- "0.143247"
|
64
64
|
server:
|
65
65
|
- Apache/2.2.3 (CentOS)
|
66
66
|
date:
|
67
|
-
-
|
67
|
+
- Wed, 15 Feb 2012 14:48:16 GMT
|
68
68
|
set-cookie:
|
69
|
-
-
|
69
|
+
- <REDACTED>
|
70
70
|
status:
|
71
71
|
- "200"
|
72
72
|
cache-control:
|
73
73
|
- max-age=0, private, must-revalidate
|
74
74
|
transfer-encoding:
|
75
75
|
- chunked
|
76
|
-
body: "[{\"ip_address\":{\"address\":\"127.2.2.2\",\"disallowed_primary\":false,\"netmask\":\"255.255.255.0\",\"created_at\":\"2011-04-18T19:22:06Z\",\"broadcast\":\"127.2.2.255\",\"network_address\":\"127.2.2.0\",\"network_id\":1,\"updated_at\":\"2011-04-18T19:22:06Z\",\"id\":1,\"gateway\":\"127.0.0.2\"}},{\"ip_address\":{\"address\":\"127.2.2.3\",\"disallowed_primary\":false,\"netmask\":\"255.255.255.0\",\"created_at\":\"2011-04-18T19:28:07Z\",\"broadcast\":\"127.2.2.255\",\"network_address\":\"127.2.2.0\",\"network_id\":1,\"updated_at\":\"2011-04-18T19:28:07Z\",\"id\":2,\"gateway\":\"127.0.0.2\"}}]"
|
76
|
+
body: "[{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.210\",\"created_at\":\"2010-10-27T15:28:22Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:03:14Z\",\"broadcast\":\"109.123.105.223\",\"free\":false,\"id\":15,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.212\",\"created_at\":\"2010-10-27T15:28:22Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:03:14Z\",\"broadcast\":\"109.123.105.223\",\"free\":false,\"id\":17,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.213\",\"created_at\":\"2010-10-27T15:28:22Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:03:14Z\",\"broadcast\":\"109.123.105.223\",\"free\":false,\"id\":18,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.214\",\"created_at\":\"2010-10-27T15:28:22Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:03:14Z\",\"broadcast\":\"109.123.105.223\",\"free\":false,\"id\":19,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.215\",\"created_at\":\"2010-10-27T15:28:22Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:03:14Z\",\"broadcast\":\"109.123.105.223\",\"free\":false,\"id\":20,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.216\",\"created_at\":\"2010-10-27T15:28:22Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:03:14Z\",\"broadcast\":\"109.123.105.223\",\"free\":false,\"id\":21,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.217\",\"created_at\":\"2010-10-27T15:28:22Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:03:14Z\",\"broadcast\":\"109.123.105.223\",\"free\":false,\"id\":22,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.218\",\"created_at\":\"2010-10-27T15:28:22Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:03:14Z\",\"broadcast\":\"109.123.105.223\",\"free\":false,\"id\":23,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.220\",\"created_at\":\"2010-10-27T15:28:22Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:03:14Z\",\"broadcast\":\"109.123.105.223\",\"free\":false,\"id\":25,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.226\",\"created_at\":\"2011-01-20T11:23:30Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33443,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.227\",\"created_at\":\"2011-01-20T11:23:30Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33444,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.228\",\"created_at\":\"2011-01-20T11:23:30Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33445,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.229\",\"created_at\":\"2011-01-20T11:23:30Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33446,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.230\",\"created_at\":\"2011-01-20T11:23:30Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33447,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.231\",\"created_at\":\"2011-01-20T11:23:30Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33448,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.232\",\"created_at\":\"2011-01-20T11:23:30Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33449,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.233\",\"created_at\":\"2011-01-20T11:23:30Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33450,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.234\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33451,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.235\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":false,\"id\":33452,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.236\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33453,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.237\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33454,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.238\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33455,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.239\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33456,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.240\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33457,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.241\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33458,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.242\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33459,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.243\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33460,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.244\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33461,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.245\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33462,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.246\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33463,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.247\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33464,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.248\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33465,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.249\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33466,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.250\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33467,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.251\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33468,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.252\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33469,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.253\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33470,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":false,\"address\":\"83.170.67.254\",\"created_at\":\"2011-01-20T11:23:31Z\",\"network_address\":\"83.170.67.224\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"83.170.67.255\",\"free\":true,\"id\":33471,\"gateway\":\"83.170.67.225\"}},{\"ip_address\":{\"netmask\":\"\",\"disallowed_primary\":false,\"address\":\"0.0.0.109\",\"created_at\":\"2011-01-30T11:24:56Z\",\"network_address\":\"0.0.0.109\",\"network_id\":1,\"updated_at\":\"2011-01-30T11:24:56Z\",\"broadcast\":\"0.0.0.109\",\"free\":true,\"id\":33473,\"gateway\":\"0.0.0.109\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.123.105.211\",\"created_at\":\"2011-04-05T16:57:39Z\",\"network_address\":\"109.123.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"109.123.105.223\",\"free\":true,\"id\":33474,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.125.105.213\",\"created_at\":\"2011-09-28T09:23:27Z\",\"network_address\":\"109.125.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"109.125.105.223\",\"free\":true,\"id\":33476,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.126.105.213\",\"created_at\":\"2011-09-28T09:48:53Z\",\"network_address\":\"109.126.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:15Z\",\"broadcast\":\"109.126.105.223\",\"free\":true,\"id\":33477,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.127.105.213\",\"created_at\":\"2011-09-28T09:55:59Z\",\"network_address\":\"109.127.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"109.127.105.223\",\"free\":true,\"id\":33478,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.128.105.213\",\"created_at\":\"2011-09-28T09:56:58Z\",\"network_address\":\"109.128.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"109.128.105.223\",\"free\":true,\"id\":33479,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.129.105.213\",\"created_at\":\"2011-09-28T10:00:20Z\",\"network_address\":\"109.129.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"109.129.105.223\",\"free\":true,\"id\":33480,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.130.105.213\",\"created_at\":\"2011-09-28T10:01:20Z\",\"network_address\":\"109.130.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"109.130.105.223\",\"free\":true,\"id\":33481,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.131.105.213\",\"created_at\":\"2011-09-28T10:23:49Z\",\"network_address\":\"109.131.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"109.131.105.223\",\"free\":true,\"id\":33482,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.132.105.213\",\"created_at\":\"2011-09-28T10:41:59Z\",\"network_address\":\"109.132.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"109.132.105.223\",\"free\":true,\"id\":33483,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.133.105.213\",\"created_at\":\"2011-09-28T10:55:19Z\",\"network_address\":\"109.133.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"109.133.105.223\",\"free\":true,\"id\":33484,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"109.139.105.213\",\"created_at\":\"2011-09-28T11:21:13Z\",\"network_address\":\"109.139.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"109.139.105.223\",\"free\":true,\"id\":33485,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"110.159.105.213\",\"created_at\":\"2011-09-28T18:59:27Z\",\"network_address\":\"110.159.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"110.159.105.223\",\"free\":true,\"id\":33486,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"125.159.105.213\",\"created_at\":\"2011-09-28T19:03:15Z\",\"network_address\":\"125.159.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"125.159.105.223\",\"free\":true,\"id\":33487,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"196.159.105.213\",\"created_at\":\"2011-09-28T19:04:43Z\",\"network_address\":\"196.159.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"196.159.105.223\",\"free\":true,\"id\":33488,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"188.159.105.213\",\"created_at\":\"2011-09-28T19:16:26Z\",\"network_address\":\"188.159.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"188.159.105.223\",\"free\":true,\"id\":33489,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":false,\"address\":\"184.159.105.213\",\"created_at\":\"2011-09-28T19:18:44Z\",\"network_address\":\"184.159.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:15:16Z\",\"broadcast\":\"184.159.105.223\",\"free\":true,\"id\":33490,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":null,\"address\":\"184.159.105.217\",\"created_at\":\"2011-10-10T09:58:28Z\",\"network_address\":\"184.159.105.208\",\"network_id\":1,\"updated_at\":\"2011-10-10T09:58:28Z\",\"broadcast\":\"184.159.105.223\",\"free\":true,\"id\":33491,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.240\",\"disallowed_primary\":null,\"address\":\"109.123.105.100\",\"created_at\":\"2011-10-12T10:00:14Z\",\"network_address\":\"109.123.105.96\",\"network_id\":1,\"updated_at\":\"2011-10-12T10:00:14Z\",\"broadcast\":\"109.123.105.111\",\"free\":true,\"id\":33492,\"gateway\":\"109.123.105.209\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":null,\"address\":\"109.123.91.68\",\"created_at\":\"2012-02-06T18:01:24Z\",\"network_address\":\"109.123.91.64\",\"network_id\":1,\"updated_at\":\"2012-02-06T18:01:24Z\",\"broadcast\":\"109.123.91.95\",\"free\":true,\"id\":33744,\"gateway\":\"109.123.91.67\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":null,\"address\":\"109.123.91.42\",\"created_at\":\"2012-02-07T19:03:01Z\",\"network_address\":\"109.123.91.32\",\"network_id\":1,\"updated_at\":\"2012-02-07T19:03:01Z\",\"broadcast\":\"109.123.91.63\",\"free\":true,\"id\":33745,\"gateway\":\"109.123.91.67\"}},{\"ip_address\":{\"netmask\":\"255.255.255.224\",\"disallowed_primary\":null,\"address\":\"109.123.91.89\",\"created_at\":\"2012-02-07T20:37:46Z\",\"network_address\":\"109.123.91.64\",\"network_id\":1,\"updated_at\":\"2012-02-07T20:37:46Z\",\"broadcast\":\"109.123.91.95\",\"free\":true,\"id\":33746,\"gateway\":\"109.123.91.67\"}}]"
|
77
77
|
http_version: "1.1"
|
@@ -0,0 +1,77 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :post
|
5
|
+
uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/404/ip_addresses.json?ip_address_join[network_interface_id]=1&ip_address_join[ip_address_id]=1
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
content-type:
|
9
|
+
- application/json
|
10
|
+
authorization:
|
11
|
+
- Basic <REDACTED>
|
12
|
+
response: !ruby/struct:VCR::Response
|
13
|
+
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
code: 404
|
15
|
+
message: Not Found
|
16
|
+
headers:
|
17
|
+
x-ua-compatible:
|
18
|
+
- IE=Edge,chrome=1
|
19
|
+
x-powered-by:
|
20
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
21
|
+
content-type:
|
22
|
+
- application/json; charset=utf-8
|
23
|
+
date:
|
24
|
+
- Wed, 15 Feb 2012 15:37:01 GMT
|
25
|
+
server:
|
26
|
+
- Apache/2.2.3 (CentOS)
|
27
|
+
x-runtime:
|
28
|
+
- "0.020743"
|
29
|
+
set-cookie:
|
30
|
+
- <REDACTED>
|
31
|
+
cache-control:
|
32
|
+
- no-cache
|
33
|
+
status:
|
34
|
+
- "404"
|
35
|
+
transfer-encoding:
|
36
|
+
- chunked
|
37
|
+
body: "{\"errors\":[\"Resource not found\"]}"
|
38
|
+
http_version: "1.1"
|
39
|
+
- !ruby/struct:VCR::HTTPInteraction
|
40
|
+
request: !ruby/struct:VCR::Request
|
41
|
+
method: :post
|
42
|
+
uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/ip_addresses.json?ip_address_join[network_interface_id]=1&ip_address_join[ip_address_id]=1
|
43
|
+
body:
|
44
|
+
headers:
|
45
|
+
content-type:
|
46
|
+
- application/json
|
47
|
+
authorization:
|
48
|
+
- Basic <REDACTED>
|
49
|
+
response: !ruby/struct:VCR::Response
|
50
|
+
status: !ruby/struct:VCR::ResponseStatus
|
51
|
+
code: 201
|
52
|
+
message: Created
|
53
|
+
headers:
|
54
|
+
x-ua-compatible:
|
55
|
+
- IE=Edge,chrome=1
|
56
|
+
location:
|
57
|
+
- http://<URL>/virtual_machines/ap31y60820gh6g/ip_addresses/1771
|
58
|
+
x-powered-by:
|
59
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
60
|
+
content-type:
|
61
|
+
- application/json; charset=utf-8
|
62
|
+
x-runtime:
|
63
|
+
- "0.074819"
|
64
|
+
server:
|
65
|
+
- Apache/2.2.3 (CentOS)
|
66
|
+
date:
|
67
|
+
- Wed, 15 Feb 2012 15:37:02 GMT
|
68
|
+
set-cookie:
|
69
|
+
- <REDACTED>
|
70
|
+
status:
|
71
|
+
- "201"
|
72
|
+
cache-control:
|
73
|
+
- no-cache
|
74
|
+
transfer-encoding:
|
75
|
+
- chunked
|
76
|
+
body: "{\"ip_address_join\":{\"created_at\":\"2012-02-15T15:37:02Z\",\"ip_address_id\":18,\"updated_at\":\"2012-02-15T15:37:02Z\",\"id\":1771,\"network_interface_id\":1357,\"virtual_machine_id\":1359,\"ip_address\":{\"ip_address\":{\"address\":\"109.123.105.213\",\"disallowed_primary\":false,\"netmask\":\"255.255.255.240\",\"created_at\":\"2010-10-27T15:28:22Z\",\"broadcast\":\"109.123.105.223\",\"updated_at\":\"2011-10-10T09:03:14Z\",\"network_id\":1,\"network_address\":\"109.123.105.208\",\"id\":18,\"free\":false,\"gateway\":\"109.123.105.209\"}}}}"
|
77
|
+
http_version: "1.1"
|
@@ -0,0 +1,77 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :delete
|
5
|
+
uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/404/ip_addresses/1.json
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
content-type:
|
9
|
+
- application/json
|
10
|
+
authorization:
|
11
|
+
- Basic <REDACTED>
|
12
|
+
response: !ruby/struct:VCR::Response
|
13
|
+
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
code: 404
|
15
|
+
message: Not Found
|
16
|
+
headers:
|
17
|
+
x-ua-compatible:
|
18
|
+
- IE=Edge,chrome=1
|
19
|
+
x-powered-by:
|
20
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
21
|
+
content-type:
|
22
|
+
- application/json; charset=utf-8
|
23
|
+
date:
|
24
|
+
- Wed, 15 Feb 2012 15:27:07 GMT
|
25
|
+
server:
|
26
|
+
- Apache/2.2.3 (CentOS)
|
27
|
+
x-runtime:
|
28
|
+
- "0.022045"
|
29
|
+
set-cookie:
|
30
|
+
- <REDACTED>
|
31
|
+
cache-control:
|
32
|
+
- no-cache
|
33
|
+
status:
|
34
|
+
- "404"
|
35
|
+
transfer-encoding:
|
36
|
+
- chunked
|
37
|
+
body: "{\"errors\":[\"Resource not found\"]}"
|
38
|
+
http_version: "1.1"
|
39
|
+
- !ruby/struct:VCR::HTTPInteraction
|
40
|
+
request: !ruby/struct:VCR::Request
|
41
|
+
method: :delete
|
42
|
+
uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/ip_addresses/1.json
|
43
|
+
body:
|
44
|
+
headers:
|
45
|
+
content-type:
|
46
|
+
- application/json
|
47
|
+
authorization:
|
48
|
+
- Basic <REDACTED>
|
49
|
+
response: !ruby/struct:VCR::Response
|
50
|
+
status: !ruby/struct:VCR::ResponseStatus
|
51
|
+
code: 200
|
52
|
+
message: OK
|
53
|
+
headers:
|
54
|
+
x-ua-compatible:
|
55
|
+
- IE=Edge,chrome=1
|
56
|
+
etag:
|
57
|
+
- "\"99914b932bd37a50b983c5e7c90ae93b\""
|
58
|
+
x-powered-by:
|
59
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
60
|
+
content-type:
|
61
|
+
- application/json; charset=utf-8
|
62
|
+
x-runtime:
|
63
|
+
- "0.279000"
|
64
|
+
server:
|
65
|
+
- Apache/2.2.3 (CentOS)
|
66
|
+
date:
|
67
|
+
- Wed, 15 Feb 2012 15:27:07 GMT
|
68
|
+
set-cookie:
|
69
|
+
- <REDACTED>
|
70
|
+
status:
|
71
|
+
- "200"
|
72
|
+
cache-control:
|
73
|
+
- max-age=0, private, must-revalidate
|
74
|
+
transfer-encoding:
|
75
|
+
- chunked
|
76
|
+
body: "{}"
|
77
|
+
http_version: "1.1"
|
@@ -0,0 +1,77 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :get
|
5
|
+
uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/404/ip_addresses.json
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
content-type:
|
9
|
+
- application/json
|
10
|
+
authorization:
|
11
|
+
- Basic <REDACTED>
|
12
|
+
response: !ruby/struct:VCR::Response
|
13
|
+
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
code: 404
|
15
|
+
message: Not Found
|
16
|
+
headers:
|
17
|
+
x-ua-compatible:
|
18
|
+
- IE=Edge,chrome=1
|
19
|
+
x-powered-by:
|
20
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
21
|
+
content-type:
|
22
|
+
- application/json; charset=utf-8
|
23
|
+
x-runtime:
|
24
|
+
- "0.034691"
|
25
|
+
server:
|
26
|
+
- Apache/2.2.3 (CentOS)
|
27
|
+
date:
|
28
|
+
- Wed, 15 Feb 2012 15:31:02 GMT
|
29
|
+
set-cookie:
|
30
|
+
- <REDACTED>
|
31
|
+
status:
|
32
|
+
- "404"
|
33
|
+
cache-control:
|
34
|
+
- no-cache
|
35
|
+
transfer-encoding:
|
36
|
+
- chunked
|
37
|
+
body: "{\"errors\":[\"Resource not found\"]}"
|
38
|
+
http_version: "1.1"
|
39
|
+
- !ruby/struct:VCR::HTTPInteraction
|
40
|
+
request: !ruby/struct:VCR::Request
|
41
|
+
method: :get
|
42
|
+
uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/ip_addresses.json
|
43
|
+
body:
|
44
|
+
headers:
|
45
|
+
content-type:
|
46
|
+
- application/json
|
47
|
+
authorization:
|
48
|
+
- Basic <REDACTED>
|
49
|
+
response: !ruby/struct:VCR::Response
|
50
|
+
status: !ruby/struct:VCR::ResponseStatus
|
51
|
+
code: 200
|
52
|
+
message: OK
|
53
|
+
headers:
|
54
|
+
x-ua-compatible:
|
55
|
+
- IE=Edge,chrome=1
|
56
|
+
etag:
|
57
|
+
- "\"d751713988987e9331980363e24189ce\""
|
58
|
+
x-powered-by:
|
59
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.1
|
60
|
+
content-type:
|
61
|
+
- application/json; charset=utf-8
|
62
|
+
x-runtime:
|
63
|
+
- "0.031325"
|
64
|
+
server:
|
65
|
+
- Apache/2.2.3 (CentOS)
|
66
|
+
date:
|
67
|
+
- Wed, 15 Feb 2012 15:31:03 GMT
|
68
|
+
set-cookie:
|
69
|
+
- <REDACTED>
|
70
|
+
status:
|
71
|
+
- "200"
|
72
|
+
cache-control:
|
73
|
+
- max-age=0, private, must-revalidate
|
74
|
+
transfer-encoding:
|
75
|
+
- chunked
|
76
|
+
body: "[]"
|
77
|
+
http_version: "1.1"
|
@@ -2,13 +2,13 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :post
|
5
|
-
uri: http
|
5
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks.json?network[label]=networktaken
|
6
6
|
body:
|
7
7
|
headers:
|
8
8
|
content-type:
|
9
9
|
- application/json
|
10
10
|
authorization:
|
11
|
-
- Basic
|
11
|
+
- Basic <REDACTED>
|
12
12
|
response: !ruby/struct:VCR::Response
|
13
13
|
status: !ruby/struct:VCR::ResponseStatus
|
14
14
|
code: 201
|
@@ -29,7 +29,7 @@
|
|
29
29
|
date:
|
30
30
|
- Tue, 19 Apr 2011 15:54:47 GMT
|
31
31
|
set-cookie:
|
32
|
-
-
|
32
|
+
- <REDACTED>
|
33
33
|
status:
|
34
34
|
- "201"
|
35
35
|
cache-control:
|
@@ -41,13 +41,13 @@
|
|
41
41
|
- !ruby/struct:VCR::HTTPInteraction
|
42
42
|
request: !ruby/struct:VCR::Request
|
43
43
|
method: :post
|
44
|
-
uri: http
|
44
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks.json?network[identifier]=newnetworkid&network[label]=newnetwork&network[vlan]=1
|
45
45
|
body:
|
46
46
|
headers:
|
47
47
|
content-type:
|
48
48
|
- application/json
|
49
49
|
authorization:
|
50
|
-
- Basic
|
50
|
+
- Basic <REDACTED>
|
51
51
|
response: !ruby/struct:VCR::Response
|
52
52
|
status: !ruby/struct:VCR::ResponseStatus
|
53
53
|
code: 201
|
@@ -68,7 +68,7 @@
|
|
68
68
|
x-runtime:
|
69
69
|
- "0.009338"
|
70
70
|
set-cookie:
|
71
|
-
-
|
71
|
+
- <REDACTED>
|
72
72
|
cache-control:
|
73
73
|
- no-cache
|
74
74
|
status:
|
@@ -80,13 +80,13 @@
|
|
80
80
|
- !ruby/struct:VCR::HTTPInteraction
|
81
81
|
request: !ruby/struct:VCR::Request
|
82
82
|
method: :post
|
83
|
-
uri: http
|
83
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks.json?network[label]=newnetwork
|
84
84
|
body:
|
85
85
|
headers:
|
86
86
|
content-type:
|
87
87
|
- application/json
|
88
88
|
authorization:
|
89
|
-
- Basic
|
89
|
+
- Basic <REDACTED>
|
90
90
|
response: !ruby/struct:VCR::Response
|
91
91
|
status: !ruby/struct:VCR::ResponseStatus
|
92
92
|
code: 201
|
@@ -107,7 +107,7 @@
|
|
107
107
|
x-runtime:
|
108
108
|
- "0.009260"
|
109
109
|
set-cookie:
|
110
|
-
-
|
110
|
+
- <REDACTED>
|
111
111
|
cache-control:
|
112
112
|
- no-cache
|
113
113
|
status:
|
@@ -119,13 +119,13 @@
|
|
119
119
|
- !ruby/struct:VCR::HTTPInteraction
|
120
120
|
request: !ruby/struct:VCR::Request
|
121
121
|
method: :post
|
122
|
-
uri: http
|
122
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks.json?network[label]=newnetwork&network[vlan]=2
|
123
123
|
body:
|
124
124
|
headers:
|
125
125
|
content-type:
|
126
126
|
- application/json
|
127
127
|
authorization:
|
128
|
-
- Basic
|
128
|
+
- Basic <REDACTED>
|
129
129
|
response: !ruby/struct:VCR::Response
|
130
130
|
status: !ruby/struct:VCR::ResponseStatus
|
131
131
|
code: 201
|
@@ -146,7 +146,7 @@
|
|
146
146
|
date:
|
147
147
|
- Tue, 19 Apr 2011 15:55:03 GMT
|
148
148
|
set-cookie:
|
149
|
-
-
|
149
|
+
- <REDACTED>
|
150
150
|
status:
|
151
151
|
- "201"
|
152
152
|
cache-control:
|
@@ -158,13 +158,13 @@
|
|
158
158
|
- !ruby/struct:VCR::HTTPInteraction
|
159
159
|
request: !ruby/struct:VCR::Request
|
160
160
|
method: :post
|
161
|
-
uri: http
|
161
|
+
uri: http://<USER>:<PASS>@<URL>:80/settings/networks.json?network[identifier]=something&network[label]=newnetwork
|
162
162
|
body:
|
163
163
|
headers:
|
164
164
|
content-type:
|
165
165
|
- application/json
|
166
166
|
authorization:
|
167
|
-
- Basic
|
167
|
+
- Basic <REDACTED>
|
168
168
|
response: !ruby/struct:VCR::Response
|
169
169
|
status: !ruby/struct:VCR::ResponseStatus
|
170
170
|
code: 201
|
@@ -185,7 +185,7 @@
|
|
185
185
|
date:
|
186
186
|
- Tue, 19 Apr 2011 15:55:03 GMT
|
187
187
|
set-cookie:
|
188
|
-
-
|
188
|
+
- <REDACTED>
|
189
189
|
status:
|
190
190
|
- "201"
|
191
191
|
cache-control:
|