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
@@ -2,39 +2,37 @@
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/virtual_machines.json?virtual_machine[memory]=512&virtual_machine[cpus]=1&virtual_machine[label]=testmachine&virtual_machine[cpu_shares]=10&virtual_machine[hostname]=testmachine&virtual_machine[primary_disk_size]=10&virtual_machine[hypervisor_id]=5
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines.json?virtual_machine[cpu_shares]=10&virtual_machine[primary_disk_size]=10&virtual_machine[template_id]=1&virtual_machine[label]=testmachine&virtual_machine[hostname]=testmachine&virtual_machine[memory]=512&virtual_machine[cpus]=1
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
11
+ - Basic <REDACTED>
12
12
  response: !ruby/struct:VCR::Response
13
13
  status: !ruby/struct:VCR::ResponseStatus
14
- code: 201
15
- message: Created
14
+ code: 422
15
+ message: Unprocessable Entity
16
16
  headers:
17
17
  x-ua-compatible:
18
18
  - IE=Edge,chrome=1
19
- location:
20
- - https://www.example.com/virtual_machines/70
21
19
  x-powered-by:
22
20
  - Phusion Passenger (mod_rails/mod_rack) 3.0.1
23
21
  content-type:
24
22
  - application/json; charset=utf-8
25
23
  x-runtime:
26
- - "0.057999"
24
+ - "0.285970"
27
25
  server:
28
26
  - Apache/2.2.3 (CentOS)
29
27
  date:
30
- - Tue, 19 Apr 2011 20:08:35 GMT
28
+ - Tue, 07 Feb 2012 16:55:28 GMT
31
29
  set-cookie:
32
- - _onapp_session=WHAT; path=/; HttpOnly
30
+ - _session_id=23378ba2608e14050dacc611f4c12762; path=/; HttpOnly
33
31
  status:
34
- - "201"
32
+ - "422"
35
33
  cache-control:
36
34
  - no-cache
37
35
  transfer-encoding:
38
36
  - chunked
39
- body: "{\"virtual_machine\":{\"label\":\"testmachine\",\"cpus\":1,\"operating_system_distro\":null,\"created_at\":\"2011-04-19T20:08:35Z\",\"template_id\":null,\"operating_system\":null,\"cpu_shares\":10,\"updated_at\":\"2011-04-19T20:08:35Z\",\"memory\":512,\"local_remote_access_port\":null,\"allowed_swap\":true,\"recovery_mode\":null,\"allow_resize_without_reboot\":null,\"xen_id\":null,\"id\":70,\"hypervisor_id\":5,\"user_id\":4,\"template_label\":null,\"hostname\":\"testmachine\",\"booted\":false,\"remote_access_password\":null,\"min_disk_size\":null,\"initial_root_password\":\"nsdjsadfj2134\",\"identifier\":\"sadfs23\",\"locked\":false,\"built\":false}}"
37
+ body: "{\"errors\":[\"Network interfaces is invalid\"]}"
40
38
  http_version: "1.1"
@@ -2,13 +2,13 @@
2
2
  - !ruby/struct:VCR::HTTPInteraction
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :delete
5
- uri: http://user:pass@www.example.com:80/virtual_machines/404.json
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/404.json
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
11
+ - Basic <REDACTED>
12
12
  response: !ruby/struct:VCR::Response
13
13
  status: !ruby/struct:VCR::ResponseStatus
14
14
  code: 404
@@ -21,31 +21,31 @@
21
21
  content-type:
22
22
  - application/json; charset=utf-8
23
23
  date:
24
- - Fri, 29 Apr 2011 15:54:28 GMT
24
+ - Wed, 08 Feb 2012 18:29:22 GMT
25
25
  server:
26
26
  - Apache/2.2.3 (CentOS)
27
27
  x-runtime:
28
- - "0.028585"
28
+ - "0.028383"
29
29
  set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
30
+ - <REDACTED>
31
31
  cache-control:
32
32
  - no-cache
33
33
  status:
34
34
  - "404"
35
35
  transfer-encoding:
36
36
  - chunked
37
- body: "{\"error\":\"Resource not found\"}"
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: :delete
42
- uri: http://user:pass@www.example.com:80/virtual_machines/2.json
42
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1.json
43
43
  body:
44
44
  headers:
45
45
  content-type:
46
46
  - application/json
47
47
  authorization:
48
- - Basic WHAT
48
+ - Basic <REDACTED>
49
49
  response: !ruby/struct:VCR::Response
50
50
  status: !ruby/struct:VCR::ResponseStatus
51
51
  code: 200
@@ -60,13 +60,13 @@
60
60
  content-type:
61
61
  - application/json; charset=utf-8
62
62
  x-runtime:
63
- - "0.052069"
63
+ - "0.050863"
64
64
  server:
65
65
  - Apache/2.2.3 (CentOS)
66
66
  date:
67
- - Fri, 29 Apr 2011 15:54:28 GMT
67
+ - Wed, 08 Feb 2012 18:29:23 GMT
68
68
  set-cookie:
69
- - _onapp_session=WHAT; path=/; HttpOnly
69
+ - <REDACTED>
70
70
  status:
71
71
  - "200"
72
72
  cache-control:
@@ -2,13 +2,13 @@
2
2
  - !ruby/struct:VCR::HTTPInteraction
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :put
5
- uri: http://user:pass@www.example.com:80/virtual_machines/404.json?virtual_machine[label]=1
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/404.json?virtual_machine[label]=1
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
11
+ - Basic <REDACTED>
12
12
  response: !ruby/struct:VCR::Response
13
13
  status: !ruby/struct:VCR::ResponseStatus
14
14
  code: 404
@@ -21,57 +21,55 @@
21
21
  content-type:
22
22
  - application/json; charset=utf-8
23
23
  date:
24
- - Tue, 26 Apr 2011 15:59:09 GMT
24
+ - Tue, 07 Feb 2012 23:06:33 GMT
25
25
  server:
26
26
  - Apache/2.2.3 (CentOS)
27
27
  x-runtime:
28
- - "0.172782"
28
+ - "0.030322"
29
29
  set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
30
+ - <REDACTED>
31
31
  cache-control:
32
32
  - no-cache
33
33
  status:
34
34
  - "404"
35
35
  transfer-encoding:
36
36
  - chunked
37
- body: "{\"error\":\"Resource not found\"}"
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: :put
42
- uri: http://user:pass@www.example.com:80/virtual_machines/1.json?virtual_machine[label]=testing
42
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1.json?virtual_machine[label]=testing
43
43
  body:
44
44
  headers:
45
45
  content-type:
46
46
  - application/json
47
47
  authorization:
48
- - Basic WHAT
48
+ - Basic <REDACTED>
49
49
  response: !ruby/struct:VCR::Response
50
50
  status: !ruby/struct:VCR::ResponseStatus
51
- code: 200
52
- message: OK
51
+ code: 201
52
+ message: Created
53
53
  headers:
54
54
  x-ua-compatible:
55
55
  - IE=Edge,chrome=1
56
- etag:
57
- - "\"99914b932bd37a50b983c5e7c90ae93b\""
58
56
  x-powered-by:
59
57
  - Phusion Passenger (mod_rails/mod_rack) 3.0.1
60
58
  content-type:
61
59
  - application/json; charset=utf-8
62
60
  x-runtime:
63
- - "0.030066"
61
+ - "0.049298"
64
62
  server:
65
63
  - Apache/2.2.3 (CentOS)
66
64
  date:
67
- - Tue, 26 Apr 2011 16:00:52 GMT
65
+ - Tue, 07 Feb 2012 23:06:34 GMT
68
66
  set-cookie:
69
- - _onapp_session=WHAT; path=/; HttpOnly
67
+ - <REDACTED>
70
68
  status:
71
- - "200"
69
+ - "201"
72
70
  cache-control:
73
- - max-age=0, private, must-revalidate
71
+ - no-cache
74
72
  transfer-encoding:
75
73
  - chunked
76
- body: "{}"
74
+ body: "{\"virtual_machine\":{\"monthly_bandwidth_used\":30090,\"aflexi_id\":null,\"cpus\":1,\"label\":\"testing\",\"created_at\":\"2011-12-16T11:46:18Z\",\"operating_system_distro\":\"2003\",\"cpu_shares\":25,\"enable_autoscale\":false,\"operating_system\":\"windows\",\"template_id\":1,\"allowed_swap\":false,\"local_remote_access_port\":null,\"memory\":2048,\"updated_at\":\"2012-02-07T21:14:06Z\",\"allow_resize_without_reboot\":false,\"recovery_mode\":false,\"enable_monitis\":false,\"hypervisor_id\":1,\"id\":1333,\"update_billing_stat\":false,\"xen_id\":null,\"admin_note\":null,\"allowed_hot_migrate\":false,\"user_id\":1,\"note\":null,\"strict_virtual_machine_id\":null,\"suspended\":false,\"vip\":null,\"booted\":false,\"hostname\":\"VH\",\"max_memory\":32768,\"template_label\":\"Windows Server 2003 x86\",\"total_disk_size\":14,\"add_to_marketplace\":null,\"identifier\":\"rq2l6j9j8jg51a\",\"initial_root_password\":\"123passqwe\",\"min_disk_size\":10,\"remote_access_password\":null,\"built\":true,\"locked\":false,\"state\":\"new\",\"ip_addresses\":[{\"ip_address\":{\"address\":\"83.170.67.231\",\"disallowed_primary\":false,\"netmask\":\"255.255.255.224\",\"created_at\":\"2011-01-20T11:23:30Z\",\"broadcast\":\"83.170.67.255\",\"updated_at\":\"2011-10-10T09:15:15Z\",\"network_id\":1,\"network_address\":\"83.170.67.224\",\"id\":33448,\"free\":false,\"gateway\":\"83.170.67.225\"}}]}}"
77
75
  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://user:pass@www.example.com:80/virtual_machines.json
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines.json
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
11
+ - Basic <REDACTED>
12
12
  response: !ruby/struct:VCR::Response
13
13
  status: !ruby/struct:VCR::ResponseStatus
14
14
  code: 200
@@ -29,7 +29,7 @@
29
29
  date:
30
30
  - Tue, 19 Apr 2011 16:56:19 GMT
31
31
  set-cookie:
32
- - _onapp_session=WHAT; path=/; HttpOnly
32
+ - <REDACTED>
33
33
  status:
34
34
  - "200"
35
35
  cache-control:
@@ -2,13 +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/virtual_machines/404/migrate.json?destination=1
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/404/migrate.json?virtual_machine[destination]=1
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
11
+ - Basic <REDACTED>
12
12
  response: !ruby/struct:VCR::Response
13
13
  status: !ruby/struct:VCR::ResponseStatus
14
14
  code: 404
@@ -21,70 +21,68 @@
21
21
  content-type:
22
22
  - application/json; charset=utf-8
23
23
  x-runtime:
24
- - "0.009243"
24
+ - "0.060264"
25
25
  server:
26
26
  - Apache/2.2.3 (CentOS)
27
27
  date:
28
- - Thu, 28 Apr 2011 15:46:14 GMT
28
+ - Wed, 08 Feb 2012 17:15:22 GMT
29
29
  set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
30
+ - <REDACTED>
31
31
  status:
32
32
  - "404"
33
33
  cache-control:
34
34
  - no-cache
35
35
  transfer-encoding:
36
36
  - chunked
37
- body: "{\"error\":\"Resource not found\"}"
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: :post
42
- uri: http://user:pass@www.example.com:80/virtual_machines/1/migrate.json?destination=404
42
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/migrate.json?virtual_machine[destination]=404
43
43
  body:
44
44
  headers:
45
45
  content-type:
46
46
  - application/json
47
47
  authorization:
48
- - Basic WHAT
48
+ - Basic <REDACTED>
49
49
  response: !ruby/struct:VCR::Response
50
50
  status: !ruby/struct:VCR::ResponseStatus
51
- code: 201
52
- message: Created
51
+ code: 404
52
+ message: Not Found
53
53
  headers:
54
54
  x-ua-compatible:
55
55
  - IE=Edge,chrome=1
56
56
  x-powered-by:
57
57
  - Phusion Passenger (mod_rails/mod_rack) 3.0.1
58
- location:
59
- - http://www.example.com/virtual_machines/7z2gzavnrhmmt3
60
58
  content-type:
61
59
  - application/json; charset=utf-8
62
60
  date:
63
- - Thu, 28 Apr 2011 15:46:14 GMT
61
+ - Wed, 08 Feb 2012 17:15:23 GMT
64
62
  server:
65
63
  - Apache/2.2.3 (CentOS)
66
64
  x-runtime:
67
- - "0.324360"
65
+ - "0.025739"
68
66
  set-cookie:
69
- - _onapp_session=WHAT; path=/; HttpOnly
67
+ - <REDACTED>
70
68
  cache-control:
71
69
  - no-cache
72
70
  status:
73
- - "201"
71
+ - "404"
74
72
  transfer-encoding:
75
73
  - chunked
76
- body: "{\"virtual_machine\":{\"monthly_bandwidth_used\":0,\"cpus\":1,\"label\":\"testing\",\"created_at\":\"2011-04-19T18:30:33Z\",\"operating_system_distro\":null,\"cpu_shares\":1,\"operating_system\":null,\"template_id\":null,\"allowed_swap\":true,\"local_remote_access_port\":null,\"memory\":100,\"updated_at\":\"2011-04-28T15:31:27Z\",\"allow_resize_without_reboot\":null,\"recovery_mode\":null,\"hypervisor_id\":1,\"id\":1,\"xen_id\":null,\"user_note\":null,\"allowed_hot_migrate\":null,\"user_id\":2,\"note\":null,\"strict_virtual_machine_id\":null,\"suspended\":false,\"total_disk_size\":0,\"booted\":false,\"hostname\":\"bob\",\"template_label\":null,\"identifier\":\"7z2gzavnrhmmt3\",\"initial_root_password\":\"ip8pwfqj60y6\",\"min_disk_size\":null,\"remote_access_password\":null,\"built\":false,\"locked\":false,\"ip_addresses\":[]}}"
74
+ body: "{\"errors\":[\"Resource not found\"]}"
77
75
  http_version: "1.1"
78
76
  - !ruby/struct:VCR::HTTPInteraction
79
77
  request: !ruby/struct:VCR::Request
80
78
  method: :post
81
- uri: http://user:pass@www.example.com:80/virtual_machines/1/migrate.json?destination=2
79
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/migrate.json?virtual_machine[destination]=2
82
80
  body:
83
81
  headers:
84
82
  content-type:
85
83
  - application/json
86
84
  authorization:
87
- - Basic WHAT
85
+ - Basic <REDACTED>
88
86
  response: !ruby/struct:VCR::Response
89
87
  status: !ruby/struct:VCR::ResponseStatus
90
88
  code: 201
@@ -93,24 +91,24 @@
93
91
  x-ua-compatible:
94
92
  - IE=Edge,chrome=1
95
93
  location:
96
- - http://www.example.com/virtual_machines/7z2gzavnrhmmt3
94
+ - http://www.example.com/virtual_machines/rq2l6j9j8jg51a
97
95
  x-powered-by:
98
96
  - Phusion Passenger (mod_rails/mod_rack) 3.0.1
99
97
  content-type:
100
98
  - application/json; charset=utf-8
101
99
  x-runtime:
102
- - "0.027207"
100
+ - "0.277810"
103
101
  server:
104
102
  - Apache/2.2.3 (CentOS)
105
103
  date:
106
- - Thu, 28 Apr 2011 15:51:06 GMT
104
+ - Wed, 08 Feb 2012 17:15:24 GMT
107
105
  set-cookie:
108
- - _onapp_session=WHAT; path=/; HttpOnly
106
+ - <REDACTED>
109
107
  status:
110
108
  - "201"
111
109
  cache-control:
112
110
  - no-cache
113
111
  transfer-encoding:
114
112
  - chunked
115
- body: "{\"virtual_machine\":{\"monthly_bandwidth_used\":0,\"cpus\":1,\"label\":\"testing\",\"created_at\":\"2011-04-19T18:30:33Z\",\"operating_system_distro\":null,\"cpu_shares\":1,\"operating_system\":null,\"template_id\":null,\"allowed_swap\":true,\"local_remote_access_port\":null,\"memory\":100,\"updated_at\":\"2011-04-28T15:31:27Z\",\"allow_resize_without_reboot\":null,\"recovery_mode\":null,\"hypervisor_id\":1,\"id\":1,\"xen_id\":null,\"user_note\":null,\"allowed_hot_migrate\":null,\"user_id\":2,\"note\":null,\"strict_virtual_machine_id\":null,\"suspended\":false,\"total_disk_size\":0,\"booted\":false,\"hostname\":\"bob\",\"template_label\":null,\"identifier\":\"7z2gzavnrhmmt3\",\"initial_root_password\":\"ip8pwfqj60y6\",\"min_disk_size\":null,\"remote_access_password\":null,\"built\":false,\"locked\":false,\"ip_addresses\":[]}}"
113
+ body: "{\"virtual_machine\":{\"monthly_bandwidth_used\":30090,\"aflexi_id\":null,\"cpus\":1,\"label\":\"testing\",\"created_at\":\"2011-12-16T11:46:18Z\",\"operating_system_distro\":\"2003\",\"cpu_shares\":25,\"enable_autoscale\":false,\"operating_system\":\"windows\",\"template_id\":1,\"allowed_swap\":false,\"local_remote_access_port\":null,\"memory\":2048,\"updated_at\":\"2012-02-08T16:58:51Z\",\"allow_resize_without_reboot\":false,\"recovery_mode\":false,\"enable_monitis\":false,\"hypervisor_id\":1,\"id\":1333,\"update_billing_stat\":false,\"xen_id\":null,\"admin_note\":null,\"allowed_hot_migrate\":false,\"user_id\":100,\"note\":null,\"strict_virtual_machine_id\":null,\"suspended\":false,\"vip\":null,\"booted\":false,\"hostname\":\"VH\",\"max_memory\":32768,\"template_label\":\"Windows Server 2003 x86\",\"total_disk_size\":14,\"add_to_marketplace\":null,\"identifier\":\"rq2l6j9j8jg51a\",\"initial_root_password\":\"kghxzabxml61\",\"min_disk_size\":10,\"remote_access_password\":\"mt3n2r4gdg99\",\"built\":true,\"locked\":false,\"state\":\"new\",\"ip_addresses\":[{\"ip_address\":{\"address\":\"83.170.67.231\",\"disallowed_primary\":false,\"netmask\":\"255.255.255.224\",\"created_at\":\"2011-01-20T11:23:30Z\",\"broadcast\":\"83.170.67.255\",\"updated_at\":\"2011-10-10T09:15:15Z\",\"network_id\":1,\"network_address\":\"83.170.67.224\",\"id\":33448,\"free\":false,\"gateway\":\"83.170.67.225\"}}]}}"
116
114
  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://user:pass@www.example.com:80/virtual_machines/404/reboot.json
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/404/reboot.json
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
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
- x-runtime:
24
- - "3.096855"
23
+ date:
24
+ - Thu, 09 Feb 2012 15:09:41 GMT
25
25
  server:
26
26
  - Apache/2.2.3 (CentOS)
27
- date:
28
- - Tue, 03 May 2011 14:38:07 GMT
27
+ x-runtime:
28
+ - "0.025404"
29
29
  set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
31
- status:
32
- - "404"
30
+ - <REDACTED>
33
31
  cache-control:
34
32
  - no-cache
33
+ status:
34
+ - "404"
35
35
  transfer-encoding:
36
36
  - chunked
37
- body: "{\"error\":\"Resource not found\"}"
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: :post
42
- uri: http://user:pass@www.example.com:80/virtual_machines/1/reboot.json
42
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/reboot.json
43
43
  body:
44
44
  headers:
45
45
  content-type:
46
46
  - application/json
47
47
  authorization:
48
- - Basic WHAT
48
+ - Basic <REDACTED>
49
49
  response: !ruby/struct:VCR::Response
50
50
  status: !ruby/struct:VCR::ResponseStatus
51
51
  code: 201
@@ -53,25 +53,25 @@
53
53
  headers:
54
54
  x-ua-compatible:
55
55
  - IE=Edge,chrome=1
56
+ location:
57
+ - http://<URL>/virtual_machines/cjiul6p4pljqzy
56
58
  x-powered-by:
57
59
  - Phusion Passenger (mod_rails/mod_rack) 3.0.1
58
- location:
59
- - http://www.example.com/virtual_machines/1
60
60
  content-type:
61
61
  - application/json; charset=utf-8
62
- date:
63
- - Tue, 03 May 2011 14:39:57 GMT
62
+ x-runtime:
63
+ - "0.056977"
64
64
  server:
65
65
  - Apache/2.2.3 (CentOS)
66
- x-runtime:
67
- - "0.028059"
66
+ date:
67
+ - Thu, 09 Feb 2012 15:09:42 GMT
68
68
  set-cookie:
69
- - _onapp_session=WHAT; path=/; HttpOnly
70
- cache-control:
71
- - no-cache
69
+ - <REDACTED>
72
70
  status:
73
71
  - "201"
72
+ cache-control:
73
+ - no-cache
74
74
  transfer-encoding:
75
75
  - chunked
76
- body: "{\"virtual_machine\":{\"label\":\"testbye\",\"cpus\":1,\"operating_system_distro\":\"rhel\",\"created_at\":\"2011-05-03T14:02:02Z\",\"template_id\":1,\"operating_system\":\"linux\",\"cpu_shares\":1,\"updated_at\":\"2011-05-03T14:39:57Z\",\"memory\":256,\"local_remote_access_port\":5907,\"allowed_swap\":true,\"recovery_mode\":false,\"allow_resize_without_reboot\":true,\"xen_id\":17,\"id\":1,\"hypervisor_id\":6,\"user_id\":4,\"template_label\":\"CentOS 5.5 x64\",\"hostname\":\"testbye\",\"booted\":true,\"remote_access_password\":\"asdfsdf\",\"min_disk_size\":5,\"initial_root_password\":\"asdfasdf\",\"identifier\":\"safsadf\",\"locked\":true,\"built\":true}}"
76
+ body: "{\"virtual_machine\":{\"monthly_bandwidth_used\":25927,\"aflexi_id\":null,\"cpus\":1,\"label\":\"oscar-vm-do-not-delete\",\"created_at\":\"2011-12-19T16:34:51Z\",\"operating_system_distro\":\"ubuntu\",\"cpu_shares\":34,\"enable_autoscale\":true,\"operating_system\":\"linux\",\"template_id\":264,\"allowed_swap\":true,\"local_remote_access_port\":5905,\"memory\":1000,\"updated_at\":\"2012-02-09T15:09:42Z\",\"allow_resize_without_reboot\":false,\"recovery_mode\":false,\"enable_monitis\":true,\"hypervisor_id\":1,\"id\":1343,\"update_billing_stat\":true,\"xen_id\":523,\"admin_note\":null,\"allowed_hot_migrate\":false,\"user_id\":942,\"note\":null,\"strict_virtual_machine_id\":null,\"suspended\":true,\"vip\":true,\"booted\":true,\"hostname\":\"t\",\"max_memory\":16000,\"template_label\":\"Debian 6.0.0 LAMP x64\",\"total_disk_size\":10,\"add_to_marketplace\":null,\"identifier\":\"cjiul6p4pljqzy\",\"initial_root_password\":\"11111111-t\",\"min_disk_size\":5,\"remote_access_password\":\"ivnwdktwgfxj\",\"built\":true,\"locked\":true,\"state\":\"new\",\"ip_addresses\":[{\"ip_address\":{\"address\":\"109.123.105.212\",\"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\":17,\"free\":false,\"gateway\":\"109.123.105.209\"}}]}}"
77
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://user:pass@www.example.com:80/virtual_machines/404/resize.json?virtual_machine[memory]=1
5
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/404/resize.json?virtual_machine[memory]=1
6
6
  body:
7
7
  headers:
8
8
  content-type:
9
9
  - application/json
10
10
  authorization:
11
- - Basic WHAT
11
+ - Basic <REDACTED>
12
12
  response: !ruby/struct:VCR::Response
13
13
  status: !ruby/struct:VCR::ResponseStatus
14
14
  code: 404
@@ -21,31 +21,31 @@
21
21
  content-type:
22
22
  - application/json; charset=utf-8
23
23
  date:
24
- - Fri, 29 Apr 2011 16:24:21 GMT
24
+ - Wed, 08 Feb 2012 18:52:51 GMT
25
25
  server:
26
26
  - Apache/2.2.3 (CentOS)
27
27
  x-runtime:
28
- - "0.007480"
28
+ - "0.026355"
29
29
  set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
30
+ - <REDACTED>
31
31
  cache-control:
32
32
  - no-cache
33
33
  status:
34
34
  - "404"
35
35
  transfer-encoding:
36
36
  - chunked
37
- body: "{\"error\":\"Resource not found\"}"
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: :post
42
- uri: http://user:pass@www.example.com:80/virtual_machines/2/resize.json?virtual_machine[memory]=1000
42
+ uri: http://<USER>:<PASS>@<URL>:80/virtual_machines/1/resize.json?virtual_machine[memory]=1000
43
43
  body:
44
44
  headers:
45
45
  content-type:
46
46
  - application/json
47
47
  authorization:
48
- - Basic WHAT
48
+ - Basic <REDACTED>
49
49
  response: !ruby/struct:VCR::Response
50
50
  status: !ruby/struct:VCR::ResponseStatus
51
51
  code: 201
@@ -54,24 +54,24 @@
54
54
  x-ua-compatible:
55
55
  - IE=Edge,chrome=1
56
56
  location:
57
- - http://www.example.com/virtual_machines/asdfasdfdas
57
+ - http://www.example.com/virtual_machines/cjiul6p4pljqzy
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.174989"
63
+ - "0.051716"
64
64
  server:
65
65
  - Apache/2.2.3 (CentOS)
66
66
  date:
67
- - Fri, 29 Apr 2011 16:24:21 GMT
67
+ - Wed, 08 Feb 2012 18:52:51 GMT
68
68
  set-cookie:
69
- - _onapp_session=WHAT; path=/; HttpOnly
69
+ - <REDACTED>
70
70
  status:
71
71
  - "201"
72
72
  cache-control:
73
73
  - no-cache
74
74
  transfer-encoding:
75
75
  - chunked
76
- body: "{\"virtual_machine\":{\"monthly_bandwidth_used\":0,\"cpus\":1,\"label\":\"testing 2\",\"created_at\":\"2011-04-29T11:51:25Z\",\"operating_system_distro\":null,\"cpu_shares\":1,\"operating_system\":null,\"template_id\":null,\"allowed_swap\":true,\"local_remote_access_port\":null,\"memory\":1000,\"updated_at\":\"2011-04-29T16:24:21Z\",\"allow_resize_without_reboot\":null,\"recovery_mode\":null,\"hypervisor_id\":1,\"id\":2,\"xen_id\":null,\"user_note\":null,\"allowed_hot_migrate\":null,\"user_id\":2,\"note\":null,\"strict_virtual_machine_id\":null,\"suspended\":false,\"total_disk_size\":0,\"booted\":false,\"hostname\":\"hostname\",\"template_label\":null,\"identifier\":\"asdfasdfdas\",\"initial_root_password\":\"asdfdsafasd\",\"min_disk_size\":null,\"remote_access_password\":null,\"built\":false,\"locked\":true,\"ip_addresses\":[]}}"
76
+ body: "{\"virtual_machine\":{\"monthly_bandwidth_used\":25559,\"aflexi_id\":null,\"cpus\":1,\"label\":\"oscar-vm-do-not-delete\",\"created_at\":\"2011-12-19T16:34:51Z\",\"operating_system_distro\":\"ubuntu\",\"cpu_shares\":34,\"enable_autoscale\":true,\"operating_system\":\"linux\",\"template_id\":264,\"allowed_swap\":true,\"local_remote_access_port\":null,\"memory\":1000,\"updated_at\":\"2012-02-08T18:51:52Z\",\"allow_resize_without_reboot\":false,\"recovery_mode\":false,\"enable_monitis\":true,\"hypervisor_id\":1,\"id\":1343,\"update_billing_stat\":true,\"xen_id\":null,\"admin_note\":null,\"allowed_hot_migrate\":false,\"user_id\":942,\"note\":null,\"strict_virtual_machine_id\":null,\"suspended\":false,\"vip\":null,\"booted\":false,\"hostname\":\"t\",\"max_memory\":5248,\"template_label\":\"Debian 6.0.0 LAMP x64\",\"total_disk_size\":10,\"add_to_marketplace\":null,\"identifier\":\"cjiul6p4pljqzy\",\"initial_root_password\":\"11111111-t\",\"min_disk_size\":5,\"remote_access_password\":null,\"built\":true,\"locked\":false,\"state\":\"new\",\"ip_addresses\":[{\"ip_address\":{\"address\":\"109.123.105.212\",\"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\":17,\"free\":false,\"gateway\":\"109.123.105.209\"}}]}}"
77
77
  http_version: "1.1"