squall 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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"