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
@@ -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"