squall 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/.gitignore +3 -0
  2. data/.rbenv-version +1 -0
  3. data/.rspec +1 -1
  4. data/.rvmrc +41 -1
  5. data/.travis.yml +13 -3
  6. data/README.md +122 -27
  7. data/Rakefile +5 -34
  8. data/lib/squall/data_store_zone.rb +58 -0
  9. data/lib/squall/firewall_rule.rb +66 -0
  10. data/lib/squall/hypervisor.rb +63 -11
  11. data/lib/squall/hypervisor_zone.rb +135 -0
  12. data/lib/squall/ip_address.rb +50 -3
  13. data/lib/squall/ip_address_join.rb +46 -0
  14. data/lib/squall/network.rb +21 -4
  15. data/lib/squall/network_zone.rb +73 -0
  16. data/lib/squall/payment.rb +59 -0
  17. data/lib/squall/role.rb +28 -11
  18. data/lib/squall/statistic.rb +3 -3
  19. data/lib/squall/{base.rb → support/base.rb} +8 -4
  20. data/lib/squall/{config.rb → support/config.rb} +4 -0
  21. data/lib/squall/{exception.rb → support/exception.rb} +0 -0
  22. data/lib/squall/{params.rb → support/params.rb} +0 -0
  23. data/lib/squall/support/version.rb +3 -0
  24. data/lib/squall/support/yaml.rb +5 -0
  25. data/lib/squall/template.rb +4 -0
  26. data/lib/squall/transaction.rb +4 -0
  27. data/lib/squall/user.rb +126 -30
  28. data/lib/squall/user_group.rb +56 -0
  29. data/lib/squall/virtual_machine.rb +176 -52
  30. data/lib/squall/whitelist.rb +74 -0
  31. data/lib/squall.rb +21 -12
  32. data/spec/spec_helper.rb +21 -16
  33. data/spec/squall/data_store_zone_spec.rb +97 -0
  34. data/spec/squall/firewall_rule_spec.rb +112 -0
  35. data/spec/squall/hypervisor_spec.rb +101 -48
  36. data/spec/squall/hypervisor_zone_spec.rb +190 -0
  37. data/spec/squall/ip_address_join_spec.rb +67 -0
  38. data/spec/squall/ip_address_spec.rb +68 -6
  39. data/spec/squall/network_spec.rb +0 -1
  40. data/spec/squall/network_zone_spec.rb +147 -0
  41. data/spec/squall/payment_spec.rb +98 -0
  42. data/spec/squall/role_spec.rb +31 -46
  43. data/spec/squall/statistic_spec.rb +7 -9
  44. data/spec/squall/{base_spec.rb → support/base_spec.rb} +5 -7
  45. data/spec/squall/{config_spec.rb → support/config_spec.rb} +0 -0
  46. data/spec/{params_spec.rb → squall/support/params_spec.rb} +0 -0
  47. data/spec/squall/template_spec.rb +0 -1
  48. data/spec/squall/transaction_spec.rb +0 -1
  49. data/spec/squall/user_group_spec.rb +74 -0
  50. data/spec/squall/user_spec.rb +142 -59
  51. data/spec/squall/virtual_machine_spec.rb +179 -67
  52. data/spec/squall/whitelist_spec.rb +113 -0
  53. data/spec/squall_spec.rb +4 -8
  54. data/spec/vcr_cassettes/data_store_zone/create.yml +40 -0
  55. data/spec/vcr_cassettes/data_store_zone/delete.yml +77 -0
  56. data/spec/vcr_cassettes/data_store_zone/edit.yml +77 -0
  57. data/spec/vcr_cassettes/data_store_zone/list.yml +40 -0
  58. data/spec/vcr_cassettes/data_store_zone/show.yml +77 -0
  59. data/spec/vcr_cassettes/firewall_rule/create.yml +75 -0
  60. data/spec/vcr_cassettes/firewall_rule/delete.yml +75 -0
  61. data/spec/vcr_cassettes/firewall_rule/edit.yml +75 -0
  62. data/spec/vcr_cassettes/firewall_rule/list.yml +40 -0
  63. data/spec/vcr_cassettes/hypervisor/add_data_store_join.yml +40 -0
  64. data/spec/vcr_cassettes/hypervisor/add_network_join.yml +40 -0
  65. data/spec/vcr_cassettes/hypervisor/create.yml +7 -44
  66. data/spec/vcr_cassettes/hypervisor/data_store_joins.yml +40 -0
  67. data/spec/vcr_cassettes/hypervisor/delete.yml +11 -11
  68. data/spec/vcr_cassettes/hypervisor/edit.yml +7 -46
  69. data/spec/vcr_cassettes/hypervisor/list.yml +7 -7
  70. data/spec/vcr_cassettes/hypervisor/network_joins.yml +40 -0
  71. data/spec/vcr_cassettes/hypervisor/reboot.yml +13 -13
  72. data/spec/vcr_cassettes/hypervisor/remove_data_store_join.yml +40 -0
  73. data/spec/vcr_cassettes/hypervisor/remove_network_join.yml +40 -0
  74. data/spec/vcr_cassettes/hypervisor/show.yml +13 -13
  75. data/spec/vcr_cassettes/hypervisor_zones/add_data_store_join.yml +40 -0
  76. data/spec/vcr_cassettes/hypervisor_zones/add_network_join.yml +40 -0
  77. data/spec/vcr_cassettes/hypervisor_zones/create.yml +40 -0
  78. data/spec/vcr_cassettes/hypervisor_zones/data_store_joins.yml +40 -0
  79. data/spec/vcr_cassettes/hypervisor_zones/delete.yml +77 -0
  80. data/spec/vcr_cassettes/hypervisor_zones/edit.yml +77 -0
  81. data/spec/vcr_cassettes/hypervisor_zones/hypervisors.yml +40 -0
  82. data/spec/vcr_cassettes/hypervisor_zones/list.yml +40 -0
  83. data/spec/vcr_cassettes/hypervisor_zones/network_joins.yml +40 -0
  84. data/spec/vcr_cassettes/hypervisor_zones/remove_data_store_join.yml +40 -0
  85. data/spec/vcr_cassettes/hypervisor_zones/remove_network_join.yml +40 -0
  86. data/spec/vcr_cassettes/hypervisor_zones/show.yml +77 -0
  87. data/spec/vcr_cassettes/ipaddress/create.yml +40 -0
  88. data/spec/vcr_cassettes/ipaddress/delete.yml +40 -0
  89. data/spec/vcr_cassettes/ipaddress/edit.yml +40 -0
  90. data/spec/vcr_cassettes/ipaddress/list.yml +17 -17
  91. data/spec/vcr_cassettes/ipaddress_join/assign.yml +77 -0
  92. data/spec/vcr_cassettes/ipaddress_join/delete.yml +77 -0
  93. data/spec/vcr_cassettes/ipaddress_join/list.yml +77 -0
  94. data/spec/vcr_cassettes/network/create.yml +15 -15
  95. data/spec/vcr_cassettes/network/delete.yml +6 -6
  96. data/spec/vcr_cassettes/network/edit.yml +18 -18
  97. data/spec/vcr_cassettes/network/list.yml +3 -3
  98. data/spec/vcr_cassettes/network_zones/attach.yml +114 -0
  99. data/spec/vcr_cassettes/network_zones/create.yml +40 -0
  100. data/spec/vcr_cassettes/network_zones/delete.yml +77 -0
  101. data/spec/vcr_cassettes/network_zones/detach.yml +114 -0
  102. data/spec/vcr_cassettes/network_zones/edit.yml +77 -0
  103. data/spec/vcr_cassettes/network_zones/list.yml +40 -0
  104. data/spec/vcr_cassettes/network_zones/show.yml +77 -0
  105. data/spec/vcr_cassettes/payment/create.yml +78 -0
  106. data/spec/vcr_cassettes/payment/delete.yml +77 -0
  107. data/spec/vcr_cassettes/payment/edit.yml +77 -0
  108. data/spec/vcr_cassettes/payment/list.yml +41 -0
  109. data/spec/vcr_cassettes/role/create.yml +7 -44
  110. data/spec/vcr_cassettes/role/delete.yml +6 -6
  111. data/spec/vcr_cassettes/role/edit.yml +13 -75
  112. data/spec/vcr_cassettes/role/list.yml +7 -7
  113. data/spec/vcr_cassettes/role/permissions.yml +7 -7
  114. data/spec/vcr_cassettes/role/show.yml +13 -13
  115. data/spec/vcr_cassettes/statistic/usage_statistics.yml +7 -7
  116. data/spec/vcr_cassettes/template/list.yml +3 -3
  117. data/spec/vcr_cassettes/template/make_public.yml +6 -6
  118. data/spec/vcr_cassettes/transaction/list.yml +3 -3
  119. data/spec/vcr_cassettes/transaction/show.yml +6 -6
  120. data/spec/vcr_cassettes/user/activate.yml +7 -7
  121. data/spec/vcr_cassettes/user/create.yml +7 -83
  122. data/spec/vcr_cassettes/user/data_store_zones.yml +79 -0
  123. data/spec/vcr_cassettes/user/delete.yml +11 -11
  124. data/spec/vcr_cassettes/user/edit.yml +40 -0
  125. data/spec/vcr_cassettes/user/edit_role.yml +9 -9
  126. data/spec/vcr_cassettes/user/generate_api_key.yml +7 -7
  127. data/spec/vcr_cassettes/user/hypervisors.yml +77 -0
  128. data/spec/vcr_cassettes/user/limits.yml +77 -0
  129. data/spec/vcr_cassettes/user/list.yml +8 -8
  130. data/spec/vcr_cassettes/user/monthly_bills.yml +40 -0
  131. data/spec/vcr_cassettes/user/network_zones.yml +79 -0
  132. data/spec/vcr_cassettes/user/show.yml +29 -29
  133. data/spec/vcr_cassettes/user/stats.yml +6 -6
  134. data/spec/vcr_cassettes/user/suspend.yml +7 -7
  135. data/spec/vcr_cassettes/user/virtual_machines.yml +18 -20
  136. data/spec/vcr_cassettes/user_group/create.yml +40 -0
  137. data/spec/vcr_cassettes/user_group/delete.yml +77 -0
  138. data/spec/vcr_cassettes/user_group/edit.yml +77 -0
  139. data/spec/vcr_cassettes/user_group/list.yml +40 -0
  140. data/spec/vcr_cassettes/virtual_machine/build.yml +7 -7
  141. data/spec/vcr_cassettes/virtual_machine/change_owner.yml +8 -8
  142. data/spec/vcr_cassettes/virtual_machine/change_password.yml +13 -13
  143. data/spec/vcr_cassettes/virtual_machine/console.yml +63 -0
  144. data/spec/vcr_cassettes/virtual_machine/create.yml +9 -11
  145. data/spec/vcr_cassettes/virtual_machine/delete.yml +11 -11
  146. data/spec/vcr_cassettes/virtual_machine/edit.yml +16 -18
  147. data/spec/vcr_cassettes/virtual_machine/list.yml +3 -3
  148. data/spec/vcr_cassettes/virtual_machine/migrate.yml +22 -24
  149. data/spec/vcr_cassettes/virtual_machine/reboot.yml +22 -22
  150. data/spec/vcr_cassettes/virtual_machine/resize.yml +13 -13
  151. data/spec/vcr_cassettes/virtual_machine/segregate.yml +114 -0
  152. data/spec/vcr_cassettes/virtual_machine/set_ssh_keys.yml +77 -0
  153. data/spec/vcr_cassettes/virtual_machine/set_vip.yml +77 -0
  154. data/spec/vcr_cassettes/virtual_machine/show.yml +6 -6
  155. data/spec/vcr_cassettes/virtual_machine/shutdown.yml +6 -6
  156. data/spec/vcr_cassettes/virtual_machine/startup.yml +6 -6
  157. data/spec/vcr_cassettes/virtual_machine/stats.yml +63 -0
  158. data/spec/vcr_cassettes/virtual_machine/stop.yml +22 -22
  159. data/spec/vcr_cassettes/virtual_machine/suspend.yml +13 -13
  160. data/spec/vcr_cassettes/virtual_machine/unlock.yml +13 -13
  161. data/spec/vcr_cassettes/virtual_machine/unsuspend.yml +6 -6
  162. data/spec/vcr_cassettes/whitelist/create.yml +77 -0
  163. data/spec/vcr_cassettes/whitelist/delete.yml +77 -0
  164. data/spec/vcr_cassettes/whitelist/edit.yml +77 -0
  165. data/spec/vcr_cassettes/whitelist/list.yml +40 -0
  166. data/spec/vcr_cassettes/whitelist/show.yml +77 -0
  167. data/squall.gemspec +3 -2
  168. metadata +247 -131
  169. data/Gemfile.lock +0 -100
  170. data/lib/squall/version.rb +0 -3
@@ -0,0 +1,77 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :put
5
+ uri: http://<USER>:<PASS>@<URL>:80/data_store_zones/1.json?pack[label]=Updated%20zone
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
+ x-powered-by:
20
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
+ etag:
22
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
23
+ content-type:
24
+ - application/json; charset=utf-8
25
+ date:
26
+ - Tue, 14 Feb 2012 15:03:45 GMT
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ x-runtime:
30
+ - "0.025885"
31
+ set-cookie:
32
+ - <REDACTED>
33
+ cache-control:
34
+ - max-age=0, private, must-revalidate
35
+ status:
36
+ - "200"
37
+ transfer-encoding:
38
+ - chunked
39
+ body: "{}"
40
+ http_version: "1.1"
41
+ - !ruby/struct:VCR::HTTPInteraction
42
+ request: !ruby/struct:VCR::Request
43
+ method: :put
44
+ uri: http://<USER>:<PASS>@<URL>:80/data_store_zones/404.json?pack[label]=My%20zone
45
+ body:
46
+ headers:
47
+ content-type:
48
+ - application/json
49
+ authorization:
50
+ - Basic <REDACTED>
51
+ response: !ruby/struct:VCR::Response
52
+ status: !ruby/struct:VCR::ResponseStatus
53
+ code: 404
54
+ message: Not Found
55
+ headers:
56
+ x-ua-compatible:
57
+ - IE=Edge,chrome=1
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.027918"
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ date:
67
+ - Tue, 14 Feb 2012 15:03:45 GMT
68
+ set-cookie:
69
+ - <REDACTED>
70
+ status:
71
+ - "404"
72
+ cache-control:
73
+ - no-cache
74
+ transfer-encoding:
75
+ - chunked
76
+ body: "{\"errors\":[\"Resource not found\"]}"
77
+ http_version: "1.1"
@@ -0,0 +1,40 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://<USER>:<PASS>@<URL>:80/data_store_zones.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
+ - "\"87c3eabdace0723f1bfee1b019867811\""
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.022496"
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ date:
30
+ - Tue, 14 Feb 2012 15:00:51 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: "[{\"data_store_group\":{\"label\":\"Default DataStore Zone\",\"created_at\":\"2011-07-20T15:49:07Z\",\"updated_at\":\"2011-07-20T15:49:07Z\",\"id\":1}},{\"data_store_group\":{\"label\":\"Test DataStoreZone\",\"created_at\":\"2011-10-04T20:09:10Z\",\"updated_at\":\"2011-10-04T20:09:10Z\",\"id\":7}},{\"data_store_group\":{\"label\":\"My zone\",\"created_at\":\"2012-02-14T14:59:58Z\",\"updated_at\":\"2012-02-14T14:59:58Z\",\"id\":30}}]"
40
+ 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/data_store_zones/404.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
+ - Tue, 14 Feb 2012 15:01:48 GMT
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ x-runtime:
28
+ - "0.034144"
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: :get
42
+ uri: http://<USER>:<PASS>@<URL>:80/data_store_zones/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
+ - "\"2467c1ee932cdd32243eca1883e6f75d\""
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.286577"
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ date:
67
+ - Tue, 14 Feb 2012 15:01:49 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: "{\"data_store_group\":{\"label\":\"My zone\",\"created_at\":\"2012-02-14T14:59:58Z\",\"updated_at\":\"2012-02-14T14:59:58Z\",\"id\":30}}"
77
+ http_version: "1.1"
@@ -0,0 +1,75 @@
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/firewall_rules.json?firewall_rule[command]=DROP&firewall_rule[protocol]=TCP&firewall_rule[network_interface_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
+ - Mon, 13 Feb 2012 21:47:22 GMT
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ x-runtime:
28
+ - "0.025134"
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/firewall_rules.json?firewall_rule[command]=DROP&firewall_rule[protocol]=TCP&firewall_rule[network_interface_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
+ x-powered-by:
57
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
58
+ content-type:
59
+ - application/json; charset=utf-8
60
+ x-runtime:
61
+ - "0.033919"
62
+ server:
63
+ - Apache/2.2.3 (CentOS)
64
+ date:
65
+ - Mon, 13 Feb 2012 21:47:23 GMT
66
+ set-cookie:
67
+ - <REDACTED>
68
+ status:
69
+ - "201"
70
+ cache-control:
71
+ - no-cache
72
+ transfer-encoding:
73
+ - chunked
74
+ body: "{\"firewall_rule\":{\"address\":null,\"position\":1,\"created_at\":\"2012-02-13T21:47:23Z\",\"command\":\"DROP\",\"port\":null,\"updated_at\":\"2012-02-13T21:47:23Z\",\"protocol\":\"TCP\",\"id\":3,\"network_interface_id\":1341}}"
75
+ http_version: "1.1"
@@ -0,0 +1,75 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :delete
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/firewall_rules/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
+ 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
+ - Mon, 13 Feb 2012 21:55:06 GMT
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ x-runtime:
28
+ - "0.030314"
29
+ set-cookie:
30
+ - <REDACTED>
31
+ cache-control:
32
+ - no-cache
33
+ status:
34
+ - "200"
35
+ transfer-encoding:
36
+ - chunked
37
+ body: " "
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/firewall_rules/404.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: 404
52
+ message: Not Found
53
+ headers:
54
+ x-ua-compatible:
55
+ - IE=Edge,chrome=1
56
+ x-powered-by:
57
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
58
+ content-type:
59
+ - application/json; charset=utf-8
60
+ x-runtime:
61
+ - "0.034516"
62
+ server:
63
+ - Apache/2.2.3 (CentOS)
64
+ date:
65
+ - Mon, 13 Feb 2012 21:55:06 GMT
66
+ set-cookie:
67
+ - <REDACTED>
68
+ status:
69
+ - "404"
70
+ cache-control:
71
+ - no-cache
72
+ transfer-encoding:
73
+ - chunked
74
+ body: "{\"errors\":[\"Resource not found\"]}"
75
+ http_version: "1.1"
@@ -0,0 +1,75 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :put
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/firewall_rules/1.json?firewall_rule[port]=1000
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
+ 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
+ - Mon, 13 Feb 2012 21:52:40 GMT
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ x-runtime:
28
+ - "0.032279"
29
+ set-cookie:
30
+ - <REDACTED>
31
+ cache-control:
32
+ - no-cache
33
+ status:
34
+ - "200"
35
+ transfer-encoding:
36
+ - chunked
37
+ body: " "
38
+ http_version: "1.1"
39
+ - !ruby/struct:VCR::HTTPInteraction
40
+ request: !ruby/struct:VCR::Request
41
+ method: :put
42
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/firewall_rules/404.json?firewall_rule[command]=DROP&firewall_rule[protocol]=TCP&firewall_rule[network_interface_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: 404
52
+ message: Not Found
53
+ headers:
54
+ x-ua-compatible:
55
+ - IE=Edge,chrome=1
56
+ x-powered-by:
57
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
58
+ content-type:
59
+ - application/json; charset=utf-8
60
+ x-runtime:
61
+ - "0.036448"
62
+ server:
63
+ - Apache/2.2.3 (CentOS)
64
+ date:
65
+ - Mon, 13 Feb 2012 21:52:40 GMT
66
+ set-cookie:
67
+ - <REDACTED>
68
+ status:
69
+ - "404"
70
+ cache-control:
71
+ - no-cache
72
+ transfer-encoding:
73
+ - chunked
74
+ body: "{\"errors\":[\"Resource not found\"]}"
75
+ http_version: "1.1"
@@ -0,0 +1,40 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/firewall_rules.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
+ - "\"d751713988987e9331980363e24189ce\""
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.021576"
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ date:
30
+ - Mon, 13 Feb 2012 21:44:03 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: :post
5
+ uri: http://<USER>:<PASS>@<URL>:80/settings/hypervisors/1/data_store_joins.json?data_store_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: 201
15
+ message: Created
16
+ headers:
17
+ x-ua-compatible:
18
+ - IE=Edge,chrome=1
19
+ location:
20
+ - http://<URL>/settings/hypervisors/1/data_store_joins/10
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.032309"
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ date:
30
+ - Tue, 14 Feb 2012 22:19:13 GMT
31
+ set-cookie:
32
+ - <REDACTED>
33
+ status:
34
+ - "201"
35
+ cache-control:
36
+ - no-cache
37
+ transfer-encoding:
38
+ - chunked
39
+ body: "{\"data_store_join\":{\"created_at\":\"2012-02-14T22:19:13Z\",\"target_join_type\":\"Hypervisor\",\"updated_at\":\"2012-02-14T22:19:13Z\",\"data_store_id\":1,\"hypervisor_id\":null,\"id\":10,\"target_join_id\":1}}"
40
+ http_version: "1.1"
@@ -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/hypervisors/1/network_joins.json?network_join[network_id]=1&network_join[interface]=interface
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/hypervisors/1
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.039842"
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ date:
30
+ - Tue, 14 Feb 2012 22:31:10 GMT
31
+ set-cookie:
32
+ - <REDACTED>
33
+ status:
34
+ - "201"
35
+ cache-control:
36
+ - no-cache
37
+ transfer-encoding:
38
+ - chunked
39
+ body: "{\"hypervisor\":{\"called_in_at\":\"2012-02-14T22:31:00Z\",\"disable_failover\":false,\"label\":\"A new label\",\"redis_password\":null,\"created_at\":\"2010-10-27T14:26:13Z\",\"spare\":false,\"hypervisor_type\":\"xen\",\"used_cpu_resources\":62,\"updated_at\":\"2012-02-14T22:31:00Z\",\"enabled\":true,\"hypervisor_group_id\":3,\"id\":1,\"xen_info\":null,\"failure_count\":0,\"health\":{\"xm_list\":\"Name ID Mem VCPUs State Time(s)\\nDomain-0 0 400 4 r----- 332624.7\\ncdwr52nml5cm5h 472 128 1 -b---- 1438.5\\ncjiul6p4pljqzy 527 1000 1 -b---- 296.5\\nctuvu5qz1ap7ps 458 128 1 -b---- 406.4\\ngn7d6jnmpemmyr 516 128 1 -b---- 3837.4\\njigzq41nxdkyb1 496 256 1 -b---- 1370.6\\nwbbuk1v46rtwrv 512 256 1 -b---- 1400.8\",\"lvdisplay\":\"/dev/onapp-ukacvtyffbu7e2/b4e22zed3qtr1o:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:6\\n /dev/onapp-ukacvtyffbu7e2/dryizrlcppmlu4:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:7\\n /dev/onapp-ukacvtyffbu7e2/o0kmh9ku7qy3no:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:8\\n /dev/onapp-ukacvtyffbu7e2/o5lf2f0hix23je:onapp-ukacvtyffbu7e2:3:1:-1:1:14680064:1792:-1:0:-1:253:9\\n /dev/onapp-ukacvtyffbu7e2/at69z3ob30gxkx:onapp-ukacvtyffbu7e2:3:1:-1:1:2097152:256:-1:0:-1:253:10\\n /dev/onapp-ukacvtyffbu7e2/ueggtw68xeivhp:onapp-ukacvtyffbu7e2:3:1:-1:1:4194304:512:-1:0:-1:253:11\\n /dev/onapp-ukacvtyffbu7e2/xkgt397e7u4w9p:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:1\\n /dev/onapp-ukacvtyffbu7e2/ttq3ooicr5864d:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:12\\n /dev/onapp-ukacvtyffbu7e2/pgk8qpfsi7pmb7:onapp-ukacvtyffbu7e2:3:0:-1:0:10485760:1280:-1:0:-1:-1:-1\\n /dev/onapp-ukacvtyffbu7e2/qcucjz2iwa042r:onapp-ukacvtyffbu7e2:3:0:-1:0:18874368:2304:-1:0:-1:-1:-1\\n /dev/onapp-ukacvtyffbu7e2/paoj98s8ab6xm7:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:28\\n /dev/onapp-ukacvtyffbu7e2/tn07zjp6fqdzmo:onapp-ukacvtyffbu7e2:3:1:-1:1:20971520:2560:-1:0:-1:253:26\\n /dev/onapp-ukacvtyffbu7e2/quvtn019emeokt:onapp-ukacvtyffbu7e2:3:1:-1:0:20971520:2560:-1:0:-1:253:27\\n /dev/onapp-ukacvtyffbu7e2/pxf4f8jv89a25k:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:2\\n /dev/onapp-ukacvtyffbu7e2/ng7qnw7g4to49a:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:3\\n /dev/onapp-ukacvtyffbu7e2/e14c5fpe4v2il8:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:15\\n /dev/onapp-ukacvtyffbu7e2/bipqs17ua7v03g:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:17\\n /dev/onapp-ukacvtyffbu7e2/le3fb7b3vtbwro:onapp-ukacvtyffbu7e2:3:1:-1:0:18874368:2304:-1:0:-1:253:19\\n /dev/onapp-ukacvtyffbu7e2/o3pfa7brassr6i:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:20\\n /dev/onapp-ukacvtyffbu7e2/ijylbulp0xxw84:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:13\\n /dev/onapp-ukacvtyffbu7e2/tou7rg4r4955ax:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:14\\n /dev/onapp-ukacvtyffbu7e2/h1grds33sqw1oc:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:21\\n /dev/onapp-ukacvtyffbu7e2/yrm9f0x6csmbiv:onapp-ukacvtyffbu7e2:3:1:-1:1:10485760:1280:-1:0:-1:253:25\\n /dev/onapp-ukacvtyffbu7e2/jl91kniaxd896a:onapp-ukacvtyffbu7e2:3:1:-1:1:2097152:256:-1:0:-1:253:31\\n /dev/onapp-ukacvtyffbu7e2/aexz48o75wxhjx:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:24\\n /dev/onapp-ukacvtyffbu7e2/pwepelx057b87j:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:32\\n /dev/onapp-ukacvtyffbu7e2/h9p98zppnop4ex:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:33\\n /dev/onapp-ukacvtyffbu7e2/t6hfu501rt1nxo:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:34\\n /dev/onapp-ukacvtyffbu7e2/vjvd2vrg23eqjf:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:35\\n /dev/onapp-ukacvtyffbu7e2/x55mec29cjkzqc:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:36\\n /dev/onapp-ukacvtyffbu7e2/hplh25hp8slttw:onapp-ukacvtyffbu7e2:3:1:-1:1:10485760:1280:-1:0:-1:253:37\\n /dev/onapp-ukacvtyffbu7e2/s085phsmxmctqd:onapp-ukacvtyffbu7e2:3:1:-1:1:2097152:256:-1:0:-1:253:38\\n /dev/onapp-ukacvtyffbu7e2/py3iav1zxalpd6:onapp-ukacvtyffbu7e2:3:1:-1:1:10485760:1280:-1:0:-1:253:4\\n /dev/onapp-ukacvtyffbu7e2/ipklcg0nezecc4:onapp-ukacvtyffbu7e2:3:1:-1:1:2097152:256:-1:0:-1:253:5\\n /dev/onapp-ukacvtyffbu7e2/wwov2b9z8yl4po:onapp-ukacvtyffbu7e2:3:0:-1:0:10485760:1280:-1:0:-1:-1:-1\\n /dev/onapp-ukacvtyffbu7e2/mn5w2mljspgbda:onapp-ukacvtyffbu7e2:3:0:-1:0:2097152:256:-1:0:-1:-1:-1\\n /dev/onapp-ukacvtyffbu7e2/sizt08r3m9w323:onapp-ukacvtyffbu7e2:3:1:-1:1:10485760:1280:-1:0:-1:253:22\\n /dev/onapp-ukacvtyffbu7e2/hkdgg5uqulrhc4:onapp-ukacvtyffbu7e2:3:1:-1:1:2097152:256:-1:0:-1:253:23\\n /dev/onapp-ukacvtyffbu7e2/wjtlfkultkc1uu:onapp-ukacvtyffbu7e2:3:1:-1:0:10485760:1280:-1:0:-1:253:0\\n /dev/onapp-ukacvtyffbu7e2/hkv9989iasjbvu:onapp-ukacvtyffbu7e2:3:1:-1:0:2097152:256:-1:0:-1:253:16\\n /dev/onapp-ukacvtyffbu7e2/tchoh6vkllaevn:onapp-ukacvtyffbu7e2:3:1:-1:1:41943040:5120:-1:0:-1:253:18\\n /dev/onapp-ukacvtyffbu7e2/y62d9yyf100eon:onapp-ukacvtyffbu7e2:3:0:-1:0:10485760:1280:-1:0:-1:-1:-1\\n /dev/onapp-ukacvtyffbu7e2/fhhgg1z95bilgg:onapp-ukacvtyffbu7e2:3:0:-1:0:2097152:256:-1:0:-1:-1:-1\",\"memory\":\"total used free shared buffers cached\\nMem: 400 351 48 0 35 82\\n-/+ buffers/cache: 233 166\\nSwap: 4000 123 3877\",\"xm_info\":\"host : dev7-hv1\\nrelease : 2.6.18-274.7.1.el5xen\\nversion : #1 SMP Thu Oct 20 17:06:34 EDT 2011\\nmachine : x86_64\\nnr_cpus : 4\\nnr_nodes : 1\\ncores_per_socket : 4\\nthreads_per_core : 1\\ncpu_mhz : 2128\\nhw_caps : bfebfbff:28100800:00000000:00000340:009ce3bd:00000000:00000001:00000000\\nvirt_caps : hvm\\ntotal_memory : 6135\\nfree_memory : 3759\\nnode_to_cpu : node0:0-3\\nnode_to_memory : node0:3759\\nxen_major : 3\\nxen_minor : 4\\nxen_extra : .3\\nxen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 \\nxen_scheduler : credit\\nxen_pagesize : 4096\\nplatform_params : virt_start=0xffff800000000000\\nxen_changeset : unavailable\\ncc_compiler : gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)\\ncc_compile_by : root\\ncc_compile_domain : \\ncc_compile_date : Mon Jul 18 01:25:23 EDT 2011\\nxend_config_format : 4\",\"netstats\":\"lo 8355847 8355847\\neth0 111477694210 34663354644\\neth1 7186973563092 1106583411165\\neth2 12365790937 1741025088\\nsit0 0 0\\nvif0.0 0 0\\nveth0 0 0\\nvif0.1 0 0\\nveth1 0 0\\nvif0.2 0 0\\nveth2 0 0\\nvif0.3 0 0\\nveth3 0 0\\nvif0.4 0 0\\nveth4 0 0\\ngc82xdul9xjfix 60546249 2835007\\nga70spphc5e60t 0 0\\n63bo17nh4977nz 3808 344104\\neth0.2 0 693122\\numby2f4cyyvbo0 14392546 17662736\\nkx5bosu7gjj5r8 39770132 37207217\\nkvqeiwoocwicol 51927451 43165779\\nctcgb235tebmu2 58674492 46829323\\npb98pl3ddnqkmk 24964365 14153985\\nj8y3awef2cxp99 11055356 13004415\",\"vgdisplay\":\"onapp-ukacvtyffbu7e2:r/w:772:-1:0:43:13:-1:0:1:1:488333312:4096:119222:44800:74422:kMezd1-tNCg-XwOm-A3b3-hf59-2z02-YlMd66\",\"uptime\":\"22:31:00 up 71 days, 16:05, 1 user, load average: 0.02, 0.02, 0.00\",\"disk\":\"Filesystem Size Used Avail Use% Mounted on\\n/dev/sda3 25G 6.0G 18G 26% /\\n/dev/sda1 99M 78M 17M 83% /boot\\ntmpfs 200M 0 200M 0% /dev/shm\\nnone 200M 512K 200M 1% /var/lib/xenstored\\n/dev/mapper/onapp--ukacvtyffbu7e2-tn07zjp6fqdzmo\\n 9.9G 1.2G 8.2G 13% /mnt/onapp-tmp-tn07zjp6fqdzmo\\nsshfs#root@<URL>:/onapp/templates\\n 1000G 0 1000G 0% /mnt/onapp-provision\"},\"total_cpus\":4,\"total_memory\":6135,\"memory_overhead\":464,\"cpu_cores\":4,\"free_memory\":1380,\"ip_address\":\"109.123.105.196\",\"locked\":false,\"online\":true,\"data_store_free_space\":2}}"
40
+ http_version: "1.1"
@@ -2,50 +2,13 @@
2
2
  - !ruby/struct:VCR::HTTPInteraction
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :post
5
- uri: http://user:pass@www.example.com:80/settings/hypervisors.json?hypervisor[ip_address]=123.123.123.123&hypervisor[hypervisor_type]=xen&hypervisor[label]=Testing
5
+ uri: http://<USER>:<PASS>@<URL>:80/settings/hypervisors.json?hypervisor[label]=A%20new%20hypervisor&hypervisor[ip_address]=127.126.126.126&hypervisor[hypervisor_type]=xen
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
12
- response: !ruby/struct:VCR::Response
13
- status: !ruby/struct:VCR::ResponseStatus
14
- code: 422
15
- message: Unprocessable Entity
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
- - Fri, 15 Apr 2011 20:51:38 GMT
25
- server:
26
- - Apache/2.2.3 (CentOS)
27
- x-runtime:
28
- - "0.009919"
29
- set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
31
- cache-control:
32
- - no-cache
33
- status:
34
- - "422"
35
- transfer-encoding:
36
- - chunked
37
- body: "{\"label\":[\"has already been taken\"],\"ip_address\":[\"has already been taken\"]}"
38
- http_version: "1.1"
39
- - !ruby/struct:VCR::HTTPInteraction
40
- request: !ruby/struct:VCR::Request
41
- method: :post
42
- uri: http://user:pass@www.example.com:80/settings/hypervisors.json?hypervisor[ip_address]=126.126.126.126&hypervisor[hypervisor_type]=xen&hypervisor[label]=Brand%20new
43
- body:
44
- headers:
45
- content-type:
46
- - application/json
47
- authorization:
48
- - Basic WHAT
11
+ - Basic <REDACTED>
49
12
  response: !ruby/struct:VCR::Response
50
13
  status: !ruby/struct:VCR::ResponseStatus
51
14
  code: 201
@@ -54,24 +17,24 @@
54
17
  x-ua-compatible:
55
18
  - IE=Edge,chrome=1
56
19
  location:
57
- - http://www.example.com/settings/hypervisors/3
20
+ - http://<URL>/settings/hypervisors/9
58
21
  x-powered-by:
59
22
  - Phusion Passenger (mod_rails/mod_rack) 3.0.1
60
23
  content-type:
61
24
  - application/json; charset=utf-8
62
25
  x-runtime:
63
- - "0.016771"
26
+ - "0.039541"
64
27
  server:
65
28
  - Apache/2.2.3 (CentOS)
66
29
  date:
67
- - Fri, 15 Apr 2011 20:52:02 GMT
30
+ - Tue, 14 Feb 2012 21:59:37 GMT
68
31
  set-cookie:
69
- - _onapp_session=WHAT; path=/; HttpOnly
32
+ - <REDACTED>
70
33
  status:
71
34
  - "201"
72
35
  cache-control:
73
36
  - no-cache
74
37
  transfer-encoding:
75
38
  - chunked
76
- body: "{\"hypervisor\":{\"called_in_at\":null,\"label\":\"Brand new\",\"created_at\":\"2011-04-15T20:52:02Z\",\"spare\":false,\"hypervisor_type\":\"xen\",\"updated_at\":\"2011-04-15T20:52:02Z\",\"enabled\":true,\"hypervisor_group_id\":null,\"id\":3,\"xen_info\":null,\"failure_count\":0,\"health\":null,\"memory_overhead\":464,\"ip_address\":\"126.126.126.126\",\"locked\":false,\"online\":false}}"
39
+ body: "{\"hypervisor\":{\"called_in_at\":null,\"disable_failover\":false,\"label\":\"A new hypervisor\",\"redis_password\":null,\"created_at\":\"2012-02-14T21:59:37Z\",\"spare\":false,\"hypervisor_type\":\"xen\",\"used_cpu_resources\":0,\"updated_at\":\"2012-02-14T21:59:37Z\",\"enabled\":true,\"hypervisor_group_id\":null,\"id\":9,\"xen_info\":null,\"failure_count\":0,\"health\":null,\"total_cpus\":0,\"total_memory\":0,\"memory_overhead\":464,\"cpu_cores\":0,\"free_memory\":-464,\"ip_address\":\"127.126.126.126\",\"locked\":false,\"online\":false,\"data_store_free_space\":0}}"
77
40
  http_version: "1.1"