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,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/settings/networks/404.json
5
+ uri: http://<USER>:<PASS>@<URL>:80/settings/networks/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
@@ -27,7 +27,7 @@
27
27
  x-runtime:
28
28
  - "0.106262"
29
29
  set-cookie:
30
- - _onapp_session=WHAT; path=/; HttpOnly
30
+ - <REDACTED>
31
31
  cache-control:
32
32
  - no-cache
33
33
  status:
@@ -39,13 +39,13 @@
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/settings/networks/16.json
42
+ uri: http://<USER>:<PASS>@<URL>:80/settings/networks/16.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
@@ -66,7 +66,7 @@
66
66
  date:
67
67
  - Tue, 19 Apr 2011 15:58:48 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/settings/networks/1.json?network[label]=one
5
+ uri: http://<USER>:<PASS>@<URL>:80/settings/networks/1.json?network[label]=one
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
  x-runtime:
30
30
  - "0.011287"
31
31
  set-cookie:
32
- - _onapp_session=WHAT; path=/; HttpOnly
32
+ - <REDACTED>
33
33
  cache-control:
34
34
  - max-age=0, private, must-revalidate
35
35
  status:
@@ -41,13 +41,13 @@
41
41
  - !ruby/struct:VCR::HTTPInteraction
42
42
  request: !ruby/struct:VCR::Request
43
43
  method: :put
44
- uri: http://user:pass@www.example.com:80/settings/networks/1.json?network[network_group_id]=1
44
+ uri: http://<USER>:<PASS>@<URL>:80/settings/networks/1.json?network[network_group_id]=1
45
45
  body:
46
46
  headers:
47
47
  content-type:
48
48
  - application/json
49
49
  authorization:
50
- - Basic WHAT
50
+ - Basic <REDACTED>
51
51
  response: !ruby/struct:VCR::Response
52
52
  status: !ruby/struct:VCR::ResponseStatus
53
53
  code: 200
@@ -68,7 +68,7 @@
68
68
  x-runtime:
69
69
  - "0.009696"
70
70
  set-cookie:
71
- - _onapp_session=WHAT; path=/; HttpOnly
71
+ - <REDACTED>
72
72
  cache-control:
73
73
  - max-age=0, private, must-revalidate
74
74
  status:
@@ -80,13 +80,13 @@
80
80
  - !ruby/struct:VCR::HTTPInteraction
81
81
  request: !ruby/struct:VCR::Request
82
82
  method: :put
83
- uri: http://user:pass@www.example.com:80/settings/networks/1.json?network[identifier]=lolzsdfds
83
+ uri: http://<USER>:<PASS>@<URL>:80/settings/networks/1.json?network[identifier]=lolzsdfds
84
84
  body:
85
85
  headers:
86
86
  content-type:
87
87
  - application/json
88
88
  authorization:
89
- - Basic WHAT
89
+ - Basic <REDACTED>
90
90
  response: !ruby/struct:VCR::Response
91
91
  status: !ruby/struct:VCR::ResponseStatus
92
92
  code: 200
@@ -107,7 +107,7 @@
107
107
  x-runtime:
108
108
  - "0.012071"
109
109
  set-cookie:
110
- - _onapp_session=WHAT; path=/; HttpOnly
110
+ - <REDACTED>
111
111
  cache-control:
112
112
  - max-age=0, private, must-revalidate
113
113
  status:
@@ -119,13 +119,13 @@
119
119
  - !ruby/struct:VCR::HTTPInteraction
120
120
  request: !ruby/struct:VCR::Request
121
121
  method: :put
122
- uri: http://user:pass@www.example.com:80/settings/networks/1.json?network[vlan]=1
122
+ uri: http://<USER>:<PASS>@<URL>:80/settings/networks/1.json?network[vlan]=1
123
123
  body:
124
124
  headers:
125
125
  content-type:
126
126
  - application/json
127
127
  authorization:
128
- - Basic WHAT
128
+ - Basic <REDACTED>
129
129
  response: !ruby/struct:VCR::Response
130
130
  status: !ruby/struct:VCR::ResponseStatus
131
131
  code: 200
@@ -146,7 +146,7 @@
146
146
  x-runtime:
147
147
  - "0.013193"
148
148
  set-cookie:
149
- - _onapp_session=WHAT; path=/; HttpOnly
149
+ - <REDACTED>
150
150
  cache-control:
151
151
  - max-age=0, private, must-revalidate
152
152
  status:
@@ -158,13 +158,13 @@
158
158
  - !ruby/struct:VCR::HTTPInteraction
159
159
  request: !ruby/struct:VCR::Request
160
160
  method: :put
161
- uri: http://user:pass@www.example.com:80/settings/networks/1.json?network[identifier]=woah&network[label]=two&network[vlan]=2
161
+ uri: http://<USER>:<PASS>@<URL>:80/settings/networks/1.json?network[identifier]=woah&network[label]=two&network[vlan]=2
162
162
  body:
163
163
  headers:
164
164
  content-type:
165
165
  - application/json
166
166
  authorization:
167
- - Basic WHAT
167
+ - Basic <REDACTED>
168
168
  response: !ruby/struct:VCR::Response
169
169
  status: !ruby/struct:VCR::ResponseStatus
170
170
  code: 200
@@ -185,7 +185,7 @@
185
185
  x-runtime:
186
186
  - "0.010704"
187
187
  set-cookie:
188
- - _onapp_session=WHAT; path=/; HttpOnly
188
+ - <REDACTED>
189
189
  cache-control:
190
190
  - max-age=0, private, must-revalidate
191
191
  status:
@@ -197,13 +197,13 @@
197
197
  - !ruby/struct:VCR::HTTPInteraction
198
198
  request: !ruby/struct:VCR::Request
199
199
  method: :put
200
- uri: http://user:pass@www.example.com:80/settings/networks/404.json?
200
+ uri: http://<USER>:<PASS>@<URL>:80/settings/networks/404.json?
201
201
  body:
202
202
  headers:
203
203
  content-type:
204
204
  - application/json
205
205
  authorization:
206
- - Basic WHAT
206
+ - Basic <REDACTED>
207
207
  response: !ruby/struct:VCR::Response
208
208
  status: !ruby/struct:VCR::ResponseStatus
209
209
  code: 404
@@ -222,7 +222,7 @@
222
222
  date:
223
223
  - Tue, 19 Apr 2011 15:27:18 GMT
224
224
  set-cookie:
225
- - _onapp_session=WHAT; path=/; HttpOnly
225
+ - <REDACTED>
226
226
  status:
227
227
  - "404"
228
228
  cache-control:
@@ -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/settings/networks.json
5
+ uri: http://<USER>:<PASS>@<URL>:80/settings/networks.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
  - Mon, 18 Apr 2011 18:29:14 GMT
31
31
  set-cookie:
32
- - _onapp_session=WHAT; path=/; HttpOnly
32
+ - <REDACTED>
33
33
  status:
34
34
  - "200"
35
35
  cache-control:
@@ -0,0 +1,114 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/404/networks/1/attach.json
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic <REDACTED>
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 404
15
+ message: Not Found
16
+ headers:
17
+ x-ua-compatible:
18
+ - IE=Edge,chrome=1
19
+ x-powered-by:
20
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
+ content-type:
22
+ - application/json; charset=utf-8
23
+ x-runtime:
24
+ - "0.021006"
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ date:
28
+ - Tue, 14 Feb 2012 15:41:09 GMT
29
+ set-cookie:
30
+ - <REDACTED>
31
+ status:
32
+ - "404"
33
+ cache-control:
34
+ - no-cache
35
+ transfer-encoding:
36
+ - chunked
37
+ body: "{\"errors\":[\"Resource not found\"]}"
38
+ http_version: "1.1"
39
+ - !ruby/struct:VCR::HTTPInteraction
40
+ request: !ruby/struct:VCR::Request
41
+ method: :post
42
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/1/networks/404/attach.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
+ date:
61
+ - Tue, 14 Feb 2012 15:41:10 GMT
62
+ server:
63
+ - Apache/2.2.3 (CentOS)
64
+ x-runtime:
65
+ - "0.021227"
66
+ set-cookie:
67
+ - <REDACTED>
68
+ cache-control:
69
+ - no-cache
70
+ status:
71
+ - "404"
72
+ transfer-encoding:
73
+ - chunked
74
+ body: "{\"errors\":[\"Resource not found\"]}"
75
+ http_version: "1.1"
76
+ - !ruby/struct:VCR::HTTPInteraction
77
+ request: !ruby/struct:VCR::Request
78
+ method: :post
79
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/1/networks/2/attach.json
80
+ body:
81
+ headers:
82
+ content-type:
83
+ - application/json
84
+ authorization:
85
+ - Basic <REDACTED>
86
+ response: !ruby/struct:VCR::Response
87
+ status: !ruby/struct:VCR::ResponseStatus
88
+ code: 201
89
+ message: Created
90
+ headers:
91
+ x-ua-compatible:
92
+ - IE=Edge,chrome=1
93
+ location:
94
+ - http://<URL>/network_zones/2
95
+ x-powered-by:
96
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
97
+ content-type:
98
+ - application/json; charset=utf-8
99
+ x-runtime:
100
+ - "0.025698"
101
+ server:
102
+ - Apache/2.2.3 (CentOS)
103
+ date:
104
+ - Tue, 14 Feb 2012 15:41:10 GMT
105
+ set-cookie:
106
+ - <REDACTED>
107
+ status:
108
+ - "201"
109
+ cache-control:
110
+ - no-cache
111
+ transfer-encoding:
112
+ - chunked
113
+ body: "{\"network_group\":{\"label\":\"Updated zone\",\"created_at\":\"2011-07-20T15:49:07Z\",\"updated_at\":\"2012-02-14T15:24:31Z\",\"id\":2}}"
114
+ 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/network_zones.json?pack[label]=My%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: 201
15
+ message: Created
16
+ headers:
17
+ x-ua-compatible:
18
+ - IE=Edge,chrome=1
19
+ location:
20
+ - http://<URL>/network_zones/31
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.047988"
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ date:
30
+ - Tue, 14 Feb 2012 15:24:13 GMT
31
+ set-cookie:
32
+ - <REDACTED>
33
+ status:
34
+ - "201"
35
+ cache-control:
36
+ - no-cache
37
+ transfer-encoding:
38
+ - chunked
39
+ body: "{\"network_group\":{\"label\":\"My zone\",\"created_at\":\"2012-02-14T15:24:13Z\",\"updated_at\":\"2012-02-14T15:24:13Z\",\"id\":31}}"
40
+ http_version: "1.1"
@@ -0,0 +1,77 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :delete
5
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/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
+ etag:
22
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
23
+ content-type:
24
+ - application/json; charset=utf-8
25
+ date:
26
+ - Tue, 14 Feb 2012 15:27:07 GMT
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ x-runtime:
30
+ - "0.035462"
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: :delete
44
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/404.json
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.033745"
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ date:
67
+ - Tue, 14 Feb 2012 15:27:08 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,114 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/404/networks/1/detach.json
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic <REDACTED>
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 404
15
+ message: Not Found
16
+ headers:
17
+ x-ua-compatible:
18
+ - IE=Edge,chrome=1
19
+ x-powered-by:
20
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
+ content-type:
22
+ - application/json; charset=utf-8
23
+ x-runtime:
24
+ - "0.019881"
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ date:
28
+ - Tue, 14 Feb 2012 15:42:27 GMT
29
+ set-cookie:
30
+ - <REDACTED>
31
+ status:
32
+ - "404"
33
+ cache-control:
34
+ - no-cache
35
+ transfer-encoding:
36
+ - chunked
37
+ body: "{\"errors\":[\"Resource not found\"]}"
38
+ http_version: "1.1"
39
+ - !ruby/struct:VCR::HTTPInteraction
40
+ request: !ruby/struct:VCR::Request
41
+ method: :post
42
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/1/networks/404/detach.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
+ date:
61
+ - Tue, 14 Feb 2012 15:42:27 GMT
62
+ server:
63
+ - Apache/2.2.3 (CentOS)
64
+ x-runtime:
65
+ - "0.033149"
66
+ set-cookie:
67
+ - <REDACTED>
68
+ cache-control:
69
+ - no-cache
70
+ status:
71
+ - "404"
72
+ transfer-encoding:
73
+ - chunked
74
+ body: "{\"errors\":[\"Resource not found\"]}"
75
+ http_version: "1.1"
76
+ - !ruby/struct:VCR::HTTPInteraction
77
+ request: !ruby/struct:VCR::Request
78
+ method: :post
79
+ uri: http://<USER>:<PASS>@<URL>:80/network_zones/1/networks/2/detach.json
80
+ body:
81
+ headers:
82
+ content-type:
83
+ - application/json
84
+ authorization:
85
+ - Basic <REDACTED>
86
+ response: !ruby/struct:VCR::Response
87
+ status: !ruby/struct:VCR::ResponseStatus
88
+ code: 201
89
+ message: Created
90
+ headers:
91
+ x-ua-compatible:
92
+ - IE=Edge,chrome=1
93
+ location:
94
+ - http://<URL>/network_zones/2
95
+ x-powered-by:
96
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
97
+ content-type:
98
+ - application/json; charset=utf-8
99
+ x-runtime:
100
+ - "0.029106"
101
+ server:
102
+ - Apache/2.2.3 (CentOS)
103
+ date:
104
+ - Tue, 14 Feb 2012 15:42:28 GMT
105
+ set-cookie:
106
+ - <REDACTED>
107
+ status:
108
+ - "201"
109
+ cache-control:
110
+ - no-cache
111
+ transfer-encoding:
112
+ - chunked
113
+ body: "{\"network_group\":{\"label\":\"Updated zone\",\"created_at\":\"2011-07-20T15:49:07Z\",\"updated_at\":\"2012-02-14T15:24:31Z\",\"id\":2}}"
114
+ http_version: "1.1"
@@ -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/network_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:24:31 GMT
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ x-runtime:
30
+ - "0.044567"
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/network_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.035104"
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ date:
67
+ - Tue, 14 Feb 2012 15:24:31 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/network_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
+ - "\"412900ccaad65684f1c4a5201ab4a690\""
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.022710"
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ date:
30
+ - Tue, 14 Feb 2012 15:23:33 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: "[{\"network_group\":{\"label\":\"Default Network Zone\",\"created_at\":\"2011-07-20T15:49:07Z\",\"updated_at\":\"2011-07-20T15:49:07Z\",\"id\":2}},{\"network_group\":{\"label\":\"Private\",\"created_at\":\"2011-10-17T19:53:54Z\",\"updated_at\":\"2011-10-17T19:53:54Z\",\"id\":10}}]"
40
+ http_version: "1.1"