squall 0.0.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/.gitignore +10 -0
  2. data/.rspec +2 -0
  3. data/.rvmrc +1 -0
  4. data/.travis.yml +7 -0
  5. data/Gemfile +3 -0
  6. data/Gemfile.lock +100 -0
  7. data/LICENSE +1 -1
  8. data/README.md +69 -0
  9. data/Rakefile +48 -42
  10. data/lib/squall/base.rb +96 -0
  11. data/lib/squall/config.rb +26 -0
  12. data/lib/squall/exception.rb +13 -0
  13. data/lib/squall/hypervisor.rb +46 -16
  14. data/lib/squall/ip_address.rb +13 -0
  15. data/lib/squall/network.rb +42 -0
  16. data/lib/squall/params.rb +50 -0
  17. data/lib/squall/role.rb +56 -0
  18. data/lib/squall/statistic.rb +10 -0
  19. data/lib/squall/template.rb +22 -0
  20. data/lib/squall/transaction.rb +16 -0
  21. data/lib/squall/user.rb +87 -0
  22. data/lib/squall/version.rb +3 -0
  23. data/lib/squall/virtual_machine.rb +169 -41
  24. data/lib/squall.rb +76 -20
  25. data/spec/params_spec.rb +195 -0
  26. data/spec/spec_helper.rb +47 -0
  27. data/spec/squall/base_spec.rb +135 -0
  28. data/spec/squall/config_spec.rb +44 -0
  29. data/spec/squall/hypervisor_spec.rb +143 -0
  30. data/spec/squall/ip_address_spec.rb +32 -0
  31. data/spec/squall/network_spec.rb +121 -0
  32. data/spec/squall/role_spec.rb +123 -0
  33. data/spec/squall/statistic_spec.rb +23 -0
  34. data/spec/squall/template_spec.rb +59 -0
  35. data/spec/squall/transaction_spec.rb +42 -0
  36. data/spec/squall/user_spec.rb +195 -0
  37. data/spec/squall/virtual_machine_spec.rb +471 -0
  38. data/spec/squall_spec.rb +67 -0
  39. data/spec/vcr_cassettes/hypervisor/create.yml +77 -0
  40. data/spec/vcr_cassettes/hypervisor/delete.yml +77 -0
  41. data/spec/vcr_cassettes/hypervisor/edit.yml +79 -0
  42. data/spec/vcr_cassettes/hypervisor/list.yml +40 -0
  43. data/spec/vcr_cassettes/hypervisor/reboot.yml +77 -0
  44. data/spec/vcr_cassettes/hypervisor/show.yml +77 -0
  45. data/spec/vcr_cassettes/ipaddress/list.yml +77 -0
  46. data/spec/vcr_cassettes/network/create.yml +196 -0
  47. data/spec/vcr_cassettes/network/delete.yml +77 -0
  48. data/spec/vcr_cassettes/network/edit.yml +233 -0
  49. data/spec/vcr_cassettes/network/list.yml +40 -0
  50. data/spec/vcr_cassettes/role/create.yml +77 -0
  51. data/spec/vcr_cassettes/role/delete.yml +77 -0
  52. data/spec/vcr_cassettes/role/edit.yml +139 -0
  53. data/spec/vcr_cassettes/role/list.yml +40 -0
  54. data/spec/vcr_cassettes/role/permissions.yml +40 -0
  55. data/spec/vcr_cassettes/role/show.yml +77 -0
  56. data/spec/vcr_cassettes/statistic/usage_statistics.yml +40 -0
  57. data/spec/vcr_cassettes/template/download.yml +40 -0
  58. data/spec/vcr_cassettes/template/list.yml +40 -0
  59. data/spec/vcr_cassettes/template/make_public.yml +77 -0
  60. data/spec/vcr_cassettes/transaction/list.yml +40 -0
  61. data/spec/vcr_cassettes/transaction/show.yml +77 -0
  62. data/spec/vcr_cassettes/user/activate.yml +40 -0
  63. data/spec/vcr_cassettes/user/create.yml +116 -0
  64. data/spec/vcr_cassettes/user/delete.yml +77 -0
  65. data/spec/vcr_cassettes/user/edit_role.yml +116 -0
  66. data/spec/vcr_cassettes/user/generate_api_key.yml +40 -0
  67. data/spec/vcr_cassettes/user/list.yml +40 -0
  68. data/spec/vcr_cassettes/user/show.yml +77 -0
  69. data/spec/vcr_cassettes/user/stats.yml +40 -0
  70. data/spec/vcr_cassettes/user/suspend.yml +40 -0
  71. data/spec/vcr_cassettes/user/virtual_machines.yml +79 -0
  72. data/spec/vcr_cassettes/virtual_machine/build.yml +77 -0
  73. data/spec/vcr_cassettes/virtual_machine/change_owner.yml +108 -0
  74. data/spec/vcr_cassettes/virtual_machine/change_password.yml +77 -0
  75. data/spec/vcr_cassettes/virtual_machine/create.yml +40 -0
  76. data/spec/vcr_cassettes/virtual_machine/delete.yml +77 -0
  77. data/spec/vcr_cassettes/virtual_machine/edit.yml +77 -0
  78. data/spec/vcr_cassettes/virtual_machine/list.yml +40 -0
  79. data/spec/vcr_cassettes/virtual_machine/migrate.yml +116 -0
  80. data/spec/vcr_cassettes/virtual_machine/reboot.yml +77 -0
  81. data/spec/vcr_cassettes/virtual_machine/resize.yml +77 -0
  82. data/spec/vcr_cassettes/virtual_machine/show.yml +77 -0
  83. data/spec/vcr_cassettes/virtual_machine/shutdown.yml +77 -0
  84. data/spec/vcr_cassettes/virtual_machine/startup.yml +77 -0
  85. data/spec/vcr_cassettes/virtual_machine/stop.yml +77 -0
  86. data/spec/vcr_cassettes/virtual_machine/suspend.yml +77 -0
  87. data/spec/vcr_cassettes/virtual_machine/unlock.yml +77 -0
  88. data/spec/vcr_cassettes/virtual_machine/unsuspend.yml +77 -0
  89. data/squall.gemspec +25 -62
  90. metadata +224 -42
  91. data/.document +0 -5
  92. data/README.rdoc +0 -17
  93. data/VERSION.yml +0 -5
  94. data/lib/squall/client.rb +0 -87
  95. data/test/fixtures/virtual_machines.json +0 -1
  96. data/test/fixtures/virtual_machines_1.json +0 -1
  97. data/test/helper.rb +0 -31
  98. data/test/test_client.rb +0 -152
  99. data/test/test_squall.rb +0 -12
  100. data/test/test_virtual_machine.rb +0 -98
@@ -0,0 +1,233 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :put
5
+ uri: http://user:pass@www.example.com:80/settings/networks/1.json?network[label]=one
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic WHAT
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, 19 Apr 2011 15:27:17 GMT
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ x-runtime:
30
+ - "0.011287"
31
+ set-cookie:
32
+ - _onapp_session=WHAT; path=/; HttpOnly
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@www.example.com:80/settings/networks/1.json?network[network_group_id]=1
45
+ body:
46
+ headers:
47
+ content-type:
48
+ - application/json
49
+ authorization:
50
+ - Basic WHAT
51
+ response: !ruby/struct:VCR::Response
52
+ status: !ruby/struct:VCR::ResponseStatus
53
+ code: 200
54
+ message: OK
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
+ etag:
61
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
62
+ content-type:
63
+ - application/json; charset=utf-8
64
+ date:
65
+ - Tue, 19 Apr 2011 15:27:17 GMT
66
+ server:
67
+ - Apache/2.2.3 (CentOS)
68
+ x-runtime:
69
+ - "0.009696"
70
+ set-cookie:
71
+ - _onapp_session=WHAT; path=/; HttpOnly
72
+ cache-control:
73
+ - max-age=0, private, must-revalidate
74
+ status:
75
+ - "200"
76
+ transfer-encoding:
77
+ - chunked
78
+ body: "{}"
79
+ http_version: "1.1"
80
+ - !ruby/struct:VCR::HTTPInteraction
81
+ request: !ruby/struct:VCR::Request
82
+ method: :put
83
+ uri: http://user:pass@www.example.com:80/settings/networks/1.json?network[identifier]=lolzsdfds
84
+ body:
85
+ headers:
86
+ content-type:
87
+ - application/json
88
+ authorization:
89
+ - Basic WHAT
90
+ response: !ruby/struct:VCR::Response
91
+ status: !ruby/struct:VCR::ResponseStatus
92
+ code: 200
93
+ message: OK
94
+ headers:
95
+ x-ua-compatible:
96
+ - IE=Edge,chrome=1
97
+ x-powered-by:
98
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
99
+ etag:
100
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
101
+ content-type:
102
+ - application/json; charset=utf-8
103
+ date:
104
+ - Tue, 19 Apr 2011 15:27:17 GMT
105
+ server:
106
+ - Apache/2.2.3 (CentOS)
107
+ x-runtime:
108
+ - "0.012071"
109
+ set-cookie:
110
+ - _onapp_session=WHAT; path=/; HttpOnly
111
+ cache-control:
112
+ - max-age=0, private, must-revalidate
113
+ status:
114
+ - "200"
115
+ transfer-encoding:
116
+ - chunked
117
+ body: "{}"
118
+ http_version: "1.1"
119
+ - !ruby/struct:VCR::HTTPInteraction
120
+ request: !ruby/struct:VCR::Request
121
+ method: :put
122
+ uri: http://user:pass@www.example.com:80/settings/networks/1.json?network[vlan]=1
123
+ body:
124
+ headers:
125
+ content-type:
126
+ - application/json
127
+ authorization:
128
+ - Basic WHAT
129
+ response: !ruby/struct:VCR::Response
130
+ status: !ruby/struct:VCR::ResponseStatus
131
+ code: 200
132
+ message: OK
133
+ headers:
134
+ x-ua-compatible:
135
+ - IE=Edge,chrome=1
136
+ x-powered-by:
137
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
138
+ etag:
139
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
140
+ content-type:
141
+ - application/json; charset=utf-8
142
+ date:
143
+ - Tue, 19 Apr 2011 15:27:17 GMT
144
+ server:
145
+ - Apache/2.2.3 (CentOS)
146
+ x-runtime:
147
+ - "0.013193"
148
+ set-cookie:
149
+ - _onapp_session=WHAT; path=/; HttpOnly
150
+ cache-control:
151
+ - max-age=0, private, must-revalidate
152
+ status:
153
+ - "200"
154
+ transfer-encoding:
155
+ - chunked
156
+ body: "{}"
157
+ http_version: "1.1"
158
+ - !ruby/struct:VCR::HTTPInteraction
159
+ request: !ruby/struct:VCR::Request
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
162
+ body:
163
+ headers:
164
+ content-type:
165
+ - application/json
166
+ authorization:
167
+ - Basic WHAT
168
+ response: !ruby/struct:VCR::Response
169
+ status: !ruby/struct:VCR::ResponseStatus
170
+ code: 200
171
+ message: OK
172
+ headers:
173
+ x-ua-compatible:
174
+ - IE=Edge,chrome=1
175
+ x-powered-by:
176
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
177
+ etag:
178
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
179
+ content-type:
180
+ - application/json; charset=utf-8
181
+ date:
182
+ - Tue, 19 Apr 2011 15:27:17 GMT
183
+ server:
184
+ - Apache/2.2.3 (CentOS)
185
+ x-runtime:
186
+ - "0.010704"
187
+ set-cookie:
188
+ - _onapp_session=WHAT; path=/; HttpOnly
189
+ cache-control:
190
+ - max-age=0, private, must-revalidate
191
+ status:
192
+ - "200"
193
+ transfer-encoding:
194
+ - chunked
195
+ body: "{}"
196
+ http_version: "1.1"
197
+ - !ruby/struct:VCR::HTTPInteraction
198
+ request: !ruby/struct:VCR::Request
199
+ method: :put
200
+ uri: http://user:pass@www.example.com:80/settings/networks/404.json?
201
+ body:
202
+ headers:
203
+ content-type:
204
+ - application/json
205
+ authorization:
206
+ - Basic WHAT
207
+ response: !ruby/struct:VCR::Response
208
+ status: !ruby/struct:VCR::ResponseStatus
209
+ code: 404
210
+ message: Not Found
211
+ headers:
212
+ x-ua-compatible:
213
+ - IE=Edge,chrome=1
214
+ x-powered-by:
215
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
216
+ content-type:
217
+ - application/json; charset=utf-8
218
+ x-runtime:
219
+ - "0.006840"
220
+ server:
221
+ - Apache/2.2.3 (CentOS)
222
+ date:
223
+ - Tue, 19 Apr 2011 15:27:18 GMT
224
+ set-cookie:
225
+ - _onapp_session=WHAT; path=/; HttpOnly
226
+ status:
227
+ - "404"
228
+ cache-control:
229
+ - no-cache
230
+ transfer-encoding:
231
+ - chunked
232
+ body: "{\"error\":\"Resource not found\"}"
233
+ 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@www.example.com:80/settings/networks.json
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic WHAT
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
+ - "\"b94035730510fea1df4c67b9372a2169\""
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.008425"
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ date:
30
+ - Mon, 18 Apr 2011 18:29:14 GMT
31
+ set-cookie:
32
+ - _onapp_session=WHAT; path=/; HttpOnly
33
+ status:
34
+ - "200"
35
+ cache-control:
36
+ - max-age=0, private, must-revalidate
37
+ transfer-encoding:
38
+ - chunked
39
+ body: "[{\"network\":{\"label\":\"Test\",\"created_at\":\"2011-04-18T17:27:24Z\",\"network_group_id\":2,\"updated_at\":\"2011-04-18T17:27:24Z\",\"id\":1,\"vlan\":null,\"identifier\":\"xv33gh9bv881wg\"}},{\"network\":{\"label\":\"Test2\",\"created_at\":\"2011-04-18T18:25:35Z\",\"network_group_id\":2,\"updated_at\":\"2011-04-18T18:25:35Z\",\"id\":2,\"vlan\":null,\"identifier\":\"oi6qzar592yci4\"}}]"
40
+ http_version: "1.1"
@@ -0,0 +1,77 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: http://user:pass@www.example.com:80/roles.json?role[identifier]=testing&role[label]=Test
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic WHAT
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 422
15
+ message: Unprocessable Entity
16
+ headers:
17
+ x-ua-compatible:
18
+ - IE=Edge,chrome=1
19
+ x-powered-by:
20
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
+ content-type:
22
+ - application/json; charset=utf-8
23
+ x-runtime:
24
+ - "0.008168"
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ date:
28
+ - Mon, 18 Apr 2011 14:51:07 GMT
29
+ set-cookie:
30
+ - _onapp_session=WHAT; path=/; HttpOnly
31
+ status:
32
+ - "422"
33
+ cache-control:
34
+ - no-cache
35
+ transfer-encoding:
36
+ - chunked
37
+ body: "{\"identifier\":[\"has already been taken\"]}"
38
+ http_version: "1.1"
39
+ - !ruby/struct:VCR::HTTPInteraction
40
+ request: !ruby/struct:VCR::Request
41
+ method: :post
42
+ uri: http://user:pass@www.example.com:80/roles.json?role[identifier]=testing-create&role[label]=Test%20Create
43
+ body:
44
+ headers:
45
+ content-type:
46
+ - application/json
47
+ authorization:
48
+ - Basic WHAT
49
+ response: !ruby/struct:VCR::Response
50
+ status: !ruby/struct:VCR::ResponseStatus
51
+ code: 201
52
+ message: Created
53
+ headers:
54
+ x-ua-compatible:
55
+ - IE=Edge,chrome=1
56
+ location:
57
+ - http://www.example.com/roles/7
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.019195"
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ date:
67
+ - Mon, 18 Apr 2011 14:54:29 GMT
68
+ set-cookie:
69
+ - _onapp_session=WHAT; path=/; HttpOnly
70
+ status:
71
+ - "201"
72
+ cache-control:
73
+ - no-cache
74
+ transfer-encoding:
75
+ - chunked
76
+ body: "{\"role\":{\"label\":\"Test Create\",\"created_at\":\"2011-04-18T14:54:29Z\",\"updated_at\":\"2011-04-18T14:54:29Z\",\"id\":7,\"permissions\":[],\"identifier\":\"testing-create\"}}"
77
+ 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@www.example.com:80/roles/5.json
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic WHAT
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 404
15
+ message: Not Found
16
+ headers:
17
+ x-ua-compatible:
18
+ - IE=Edge,chrome=1
19
+ x-powered-by:
20
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
21
+ content-type:
22
+ - application/json; charset=utf-8
23
+ date:
24
+ - Fri, 15 Apr 2011 16:42:52 GMT
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ x-runtime:
28
+ - "0.065155"
29
+ set-cookie:
30
+ - _onapp_session=WHAT; path=/; HttpOnly
31
+ cache-control:
32
+ - no-cache
33
+ status:
34
+ - "404"
35
+ transfer-encoding:
36
+ - chunked
37
+ body: "{\"error\":\"Resource not found\"}"
38
+ http_version: "1.1"
39
+ - !ruby/struct:VCR::HTTPInteraction
40
+ request: !ruby/struct:VCR::Request
41
+ method: :delete
42
+ uri: http://user:pass@www.example.com:80/roles/3.json
43
+ body:
44
+ headers:
45
+ content-type:
46
+ - application/json
47
+ authorization:
48
+ - Basic WHAT
49
+ response: !ruby/struct:VCR::Response
50
+ status: !ruby/struct:VCR::ResponseStatus
51
+ code: 200
52
+ message: OK
53
+ headers:
54
+ x-ua-compatible:
55
+ - IE=Edge,chrome=1
56
+ etag:
57
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
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.137829"
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ date:
67
+ - Fri, 15 Apr 2011 16:42:52 GMT
68
+ set-cookie:
69
+ - _onapp_session=WHAT; path=/; HttpOnly
70
+ status:
71
+ - "200"
72
+ cache-control:
73
+ - max-age=0, private, must-revalidate
74
+ transfer-encoding:
75
+ - chunked
76
+ body: "{}"
77
+ http_version: "1.1"
@@ -0,0 +1,139 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :put
5
+ uri: http://user:pass@www.example.com:80/roles/5.json?
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic WHAT
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.021298"
25
+ server:
26
+ - Apache/2.2.3 (CentOS)
27
+ date:
28
+ - Thu, 14 Apr 2011 18:59:36 GMT
29
+ set-cookie:
30
+ - _onapp_session=WHAT; path=/; HttpOnly
31
+ status:
32
+ - "404"
33
+ cache-control:
34
+ - no-cache
35
+ transfer-encoding:
36
+ - chunked
37
+ body: "{\"error\":\"Resource not found\"}"
38
+ http_version: "1.1"
39
+ - !ruby/struct:VCR::HTTPInteraction
40
+ request: !ruby/struct:VCR::Request
41
+ method: :get
42
+ uri: http://user:pass@www.example.com:80/roles/3.json
43
+ body:
44
+ headers:
45
+ content-type:
46
+ - application/json
47
+ authorization:
48
+ - Basic WHAT
49
+ response: !ruby/struct:VCR::Response
50
+ status: !ruby/struct:VCR::ResponseStatus
51
+ code: 200
52
+ message: OK
53
+ headers:
54
+ x-ua-compatible:
55
+ - IE=Edge,chrome=1
56
+ x-powered-by:
57
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
58
+ etag:
59
+ - "\"5c677ed1b8019c0e54089a5ec6c1eb0c\""
60
+ content-type:
61
+ - application/json; charset=utf-8
62
+ date:
63
+ - Thu, 14 Apr 2011 18:59:36 GMT
64
+ server:
65
+ - Apache/2.2.3 (CentOS)
66
+ x-runtime:
67
+ - "0.007870"
68
+ set-cookie:
69
+ - _onapp_session=WHAT; path=/; HttpOnly
70
+ cache-control:
71
+ - max-age=0, private, must-revalidate
72
+ status:
73
+ - "200"
74
+ transfer-encoding:
75
+ - chunked
76
+ body: "{\"role\":{\"label\":\"Other\",\"created_at\":\"2011-04-14T18:52:37Z\",\"updated_at\":\"2011-04-14T18:52:37Z\",\"id\":3,\"permissions\":[],\"identifier\":\"5ix73iwvoh7anf\"}}"
77
+ http_version: "1.1"
78
+ - !ruby/struct:VCR::HTTPInteraction
79
+ request: !ruby/struct:VCR::Request
80
+ method: :put
81
+ uri: http://user:pass@www.example.com:80/roles/3.json?role[label]=New
82
+ body:
83
+ headers:
84
+ content-type:
85
+ - application/json
86
+ authorization:
87
+ - Basic WHAT
88
+ response: !ruby/struct:VCR::Response
89
+ status: !ruby/struct:VCR::ResponseStatus
90
+ code: 200
91
+ message: OK
92
+ headers:
93
+ x-ua-compatible:
94
+ - IE=Edge,chrome=1
95
+ etag:
96
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
97
+ x-powered-by:
98
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.1
99
+ content-type:
100
+ - application/json; charset=utf-8
101
+ x-runtime:
102
+ - "0.020769"
103
+ server:
104
+ - Apache/2.2.3 (CentOS)
105
+ date:
106
+ - Thu, 14 Apr 2011 19:06:11 GMT
107
+ set-cookie:
108
+ - _onapp_session=WHAT; path=/; HttpOnly
109
+ status:
110
+ - "200"
111
+ cache-control:
112
+ - max-age=0, private, must-revalidate
113
+ transfer-encoding:
114
+ - chunked
115
+ body: "{}"
116
+ http_version: "1.1"
117
+ - !ruby/struct:VCR::HTTPInteraction
118
+ request: !ruby/struct:VCR::Request
119
+ method: :get
120
+ uri: http://user:pass@www.example.com:80/roles/3.json
121
+ body:
122
+ headers:
123
+ content-type:
124
+ - application/json
125
+ authorization:
126
+ - Basic WHAT
127
+ response: !ruby/struct:VCR::Response
128
+ status: !ruby/struct:VCR::ResponseStatus
129
+ code: 302
130
+ message: Found
131
+ headers:
132
+ location:
133
+ - http://www.iana.org/domains/example/
134
+ server:
135
+ - BigIP
136
+ content-length:
137
+ - "0"
138
+ body:
139
+ http_version: "1.0"
@@ -0,0 +1,40 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://user:pass@www.example.com:80/roles.json
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - application/json
10
+ authorization:
11
+ - Basic WHAT
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
+ - "\"265c70174a00c8f0c648acf1627afa32\""
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
+ - "4.604464"
27
+ server:
28
+ - Apache/2.2.3 (CentOS)
29
+ date:
30
+ - Thu, 14 Apr 2011 17:45:59 GMT
31
+ set-cookie:
32
+ - _onapp_session=WHAT; path=/; HttpOnly
33
+ status:
34
+ - "200"
35
+ cache-control:
36
+ - max-age=0, private, must-revalidate
37
+ transfer-encoding:
38
+ - chunked
39
+ body: "[{\"role\":{\"label\":\"Administrator\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":1,\"permissions\":[{\"permission\":{\"label\":\"Any action on virtual machines\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":1,\"identifier\":\"virtual_machines\"}},{\"permission\":{\"label\":\"Any action on users\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":11,\"identifier\":\"users\"}},{\"permission\":{\"label\":\"Any action on hypervisors\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":19,\"identifier\":\"hypervisors\"}},{\"permission\":{\"label\":\"Any action on disks\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":24,\"identifier\":\"disks\"}},{\"permission\":{\"label\":\"Any action on templates\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":32,\"identifier\":\"templates\"}},{\"permission\":{\"label\":\"Any action on backups\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":44,\"identifier\":\"backups\"}},{\"permission\":{\"label\":\"Any action on data_stores\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":55,\"identifier\":\"data_stores\"}},{\"permission\":{\"label\":\"Any action on permissions\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":60,\"identifier\":\"permissions\"}},{\"permission\":{\"label\":\"Any action on networks\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":65,\"identifier\":\"networks\"}},{\"permission\":{\"label\":\"Any action on ip addresses\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":70,\"identifier\":\"ip_addresses\"}},{\"permission\":{\"label\":\"Any action on nameservers\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":75,\"identifier\":\"nameservers\"}},{\"permission\":{\"label\":\"Any action on transactions\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":82,\"identifier\":\"transactions\"}},{\"permission\":{\"label\":\"Any action on resource limit\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":85,\"identifier\":\"resource_limits\"}},{\"permission\":{\"label\":\"Create a new resource limit\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":87,\"identifier\":\"resource_limits.create\"}},{\"permission\":{\"label\":\"Destroy any resource limit\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":89,\"identifier\":\"resource_limits.delete\"}},{\"permission\":{\"label\":\"See all resource limits\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":86,\"identifier\":\"resource_limits.read\"}},{\"permission\":{\"label\":\"Update any resource limit\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":88,\"identifier\":\"resource_limits.update\"}},{\"permission\":{\"label\":\"Unlock any virtual machine\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":90,\"identifier\":\"virtual_machines.unlock\"}},{\"permission\":{\"label\":\"Any action on Roles\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":91,\"identifier\":\"roles\"}},{\"permission\":{\"label\":\"Any action on groups\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":96,\"identifier\":\"groups\"}},{\"permission\":{\"label\":\"Any action on payments\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":101,\"identifier\":\"payments\"}},{\"permission\":{\"label\":\"Any action on Settings\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":107,\"identifier\":\"settings\"}},{\"permission\":{\"label\":\"See Alerts\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":110,\"identifier\":\"dashboard.alerts\"}},{\"permission\":{\"label\":\"Any action Sysuser Tools\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":111,\"identifier\":\"sysuser_tools.read\"}},{\"permission\":{\"label\":\"Send Support requests\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":113,\"identifier\":\"help.read\"}},{\"permission\":{\"label\":\"Full access to Statistics\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":116,\"identifier\":\"vm_stats\"}},{\"permission\":{\"label\":\"See All Statistics\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":117,\"identifier\":\"io_stats\"}},{\"permission\":{\"label\":\"See Global Statistic\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":123,\"identifier\":\"dashboard.global_stats\"}},{\"permission\":{\"label\":\"All actions on Dashboard\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":124,\"identifier\":\"dashboard\"}},{\"permission\":{\"label\":\"All actions on Sysuser Tools\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":125,\"identifier\":\"sysuser_tools\"}},{\"permission\":{\"label\":\"All actions on Help\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":126,\"identifier\":\"help\"}},{\"permission\":{\"label\":\"Any action on schedules\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":127,\"identifier\":\"schedules\"}},{\"permission\":{\"label\":\"Delete all transactions from log\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":135,\"identifier\":\"transactions.delete\"}},{\"permission\":{\"label\":\"Any action on schedule logs\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":137,\"identifier\":\"schedule_logs\"}},{\"permission\":{\"label\":\"Migrate any virtual machine\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":143,\"identifier\":\"virtual_machines.migrate\"}},{\"permission\":{\"label\":\"Reboot any hypervisor\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":145,\"identifier\":\"hypervisors.reboot\"}},{\"permission\":{\"label\":\"All actions on virtual machine's IP addresses\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":146,\"identifier\":\"ip_address_joins\"}},{\"permission\":{\"label\":\"Reset root password to any virtual machine\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":153,\"identifier\":\"virtual_machines.reset_root_password\"}},{\"permission\":{\"label\":\"Unlock any disk\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":155,\"identifier\":\"disks.unlock\"}},{\"permission\":{\"label\":\"Any action on log items\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":156,\"identifier\":\"log_items\"}},{\"permission\":{\"label\":\"Autobackup for any disk\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":163,\"identifier\":\"disks.autobackup\"}},{\"permission\":{\"label\":\"All actions on datastores on Hypervisor\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":165,\"identifier\":\"data_store_joins\"}},{\"permission\":{\"label\":\"Any action on autobackup templates\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":169,\"identifier\":\"autobackup_templates\"}},{\"permission\":{\"label\":\"Update any autobackup template\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":170,\"identifier\":\"autobackup_templates.update\"}},{\"permission\":{\"label\":\"See all autobackup templates\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":171,\"identifier\":\"autobackup_templates.read\"}},{\"permission\":{\"label\":\"Change an owner of any virtual machine\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":172,\"identifier\":\"virtual_machines.change_owner\"}},{\"permission\":{\"label\":\"Any action on data store zones\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":173,\"identifier\":\"data_store_zones\"}},{\"permission\":{\"label\":\"Any action on network zones\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":179,\"identifier\":\"network_zones\"}},{\"permission\":{\"label\":\"Any action on billing plans\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":185,\"identifier\":\"billing_plans\"}},{\"permission\":{\"label\":\"Any action on resources\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":191,\"identifier\":\"base_resources\"}},{\"permission\":{\"label\":\"User can Login AS any user.\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":197,\"identifier\":\"users.login_as\"}},{\"permission\":{\"label\":\"Any action on isos\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":198,\"identifier\":\"isos\"}},{\"permission\":{\"label\":\"Any action on hypervisor zones\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":211,\"identifier\":\"hypervisor_zones\"}},{\"permission\":{\"label\":\"Any action on mounting ISO\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":217,\"identifier\":\"iso_joins\"}},{\"permission\":{\"label\":\"Change Suspended status for Virtual Machine\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":224,\"identifier\":\"virtual_machines.suspend\"}},{\"permission\":{\"label\":\"Show Hypervisor Zones on VirtualMachine creation\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":225,\"identifier\":\"hypervisor_zones.read_vm_creation\"}},{\"permission\":{\"label\":\"Show Hypervisors on VirtualMachine creation.\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":226,\"identifier\":\"hypervisors.read_vm_creation\"}},{\"permission\":{\"label\":\"See All Statistics\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":117,\"identifier\":\"io_stats\"}},{\"permission\":{\"label\":\"See all IO Statistics\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":227,\"identifier\":\"io_stats.read\"}},{\"permission\":{\"label\":\"See All Statistics\",\"created_at\":\"2011-04-13T14:37:45Z\",\"updated_at\":\"2011-04-13T14:37:45Z\",\"id\":231,\"identifier\":\"vm_stats.read\"}},{\"permission\":{\"label\":\"See License Details\",\"created_at\":\"2011-04-13T14:37:45Z\",\"updated_at\":\"2011-04-13T14:37:45Z\",\"id\":232,\"identifier\":\"dashboard.licensing\"}}],\"identifier\":\"user\"}},{\"role\":{\"label\":\"User\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":2,\"permissions\":[{\"permission\":{\"label\":\"Create a new virtual machine\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":4,\"identifier\":\"virtual_machines.create\"}},{\"permission\":{\"label\":\"See own virtual machines\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":3,\"identifier\":\"virtual_machines.read.own\"}},{\"permission\":{\"label\":\"Update own virtual machine\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":6,\"identifier\":\"virtual_machines.update.own\"}},{\"permission\":{\"label\":\"Destroy own virtual machine\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":8,\"identifier\":\"virtual_machines.delete.own\"}},{\"permission\":{\"label\":\"Console to own virtual machine\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":10,\"identifier\":\"virtual_machines.console.own\"}},{\"permission\":{\"label\":\"See own users\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":13,\"identifier\":\"users.read.own\"}},{\"permission\":{\"label\":\"Update own user\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":16,\"identifier\":\"users.update.own\"}},{\"permission\":{\"label\":\"See all hypervisors\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":20,\"identifier\":\"hypervisors.read\"}},{\"permission\":{\"label\":\"Create a new disk\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":27,\"identifier\":\"disks.create\"}},{\"permission\":{\"label\":\"See own disks\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":26,\"identifier\":\"disks.read.own\"}},{\"permission\":{\"label\":\"Update own disk\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":29,\"identifier\":\"disks.update.own\"}},{\"permission\":{\"label\":\"Destroy own disk\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":31,\"identifier\":\"disks.delete.own\"}},{\"permission\":{\"label\":\"Create and Manage Templates\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":42,\"identifier\":\"templates.manage.own\"}},{\"permission\":{\"label\":\"Create an own backup\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":48,\"identifier\":\"backups.create.own\"}},{\"permission\":{\"label\":\"See own backups\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":46,\"identifier\":\"backups.read.own\"}},{\"permission\":{\"label\":\"Update own backup\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":50,\"identifier\":\"backups.update.own\"}},{\"permission\":{\"label\":\"Destroy own backup\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":52,\"identifier\":\"backups.delete.own\"}},{\"permission\":{\"label\":\"Convert own backup to template\",\"created_at\":\"2011-04-13T14:37:38Z\",\"updated_at\":\"2011-04-13T14:37:38Z\",\"id\":54,\"identifier\":\"backups.convert.own\"}},{\"permission\":{\"label\":\"See all data_stores\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":56,\"identifier\":\"data_stores.read\"}},{\"permission\":{\"label\":\"See all networks\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":66,\"identifier\":\"networks.read\"}},{\"permission\":{\"label\":\"See all ip addresses\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":71,\"identifier\":\"ip_addresses.read\"}},{\"permission\":{\"label\":\"See all nameservers\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":76,\"identifier\":\"nameservers.read\"}},{\"permission\":{\"label\":\"Any power action on own virtual machines\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":81,\"identifier\":\"virtual_machines.power.own\"}},{\"permission\":{\"label\":\"See details of own transaction\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":84,\"identifier\":\"transactions.read.own\"}},{\"permission\":{\"label\":\"See all Roles\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":92,\"identifier\":\"roles.read\"}},{\"permission\":{\"label\":\"See all groups\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":97,\"identifier\":\"groups.read\"}},{\"permission\":{\"label\":\"See all payments\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":102,\"identifier\":\"payments.read\"}},{\"permission\":{\"label\":\"See own payments\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":106,\"identifier\":\"payments.read.own\"}},{\"permission\":{\"label\":\"See own resource limits\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":114,\"identifier\":\"resource_limits.read.own\"}},{\"permission\":{\"label\":\"See Own Statistics\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":118,\"identifier\":\"io_stats.own\"}},{\"permission\":{\"label\":\"See list of own transactions\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":122,\"identifier\":\"transactions.list.own\"}},{\"permission\":{\"label\":\"Delete own transactions from logs\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":136,\"identifier\":\"transactions.delete.own\"}},{\"permission\":{\"label\":\"Migrate own virtual machine\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":144,\"identifier\":\"virtual_machines.migrate.own\"}},{\"permission\":{\"label\":\"Add IP address to own virtual machine\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":148,\"identifier\":\"ip_address_joins.create.own\"}},{\"permission\":{\"label\":\"See IP addresses assigned to any virtual machines\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":149,\"identifier\":\"ip_address_joins.read\"}},{\"permission\":{\"label\":\"Remove IP address from own virtual machine\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":152,\"identifier\":\"ip_address_joins.delete.own\"}},{\"permission\":{\"label\":\"Reset root password to own virtual machine\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":154,\"identifier\":\"virtual_machines.reset_root_password.own\"}},{\"permission\":{\"label\":\"See details of own log item\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":158,\"identifier\":\"log_items.read.own\"}},{\"permission\":{\"label\":\"See list of own log items\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":160,\"identifier\":\"log_items.list.own\"}},{\"permission\":{\"label\":\"Delete own log item\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":162,\"identifier\":\"log_items.delete.own\"}},{\"permission\":{\"label\":\"Autobackup for own disk\",\"created_at\":\"2011-04-13T14:37:40Z\",\"updated_at\":\"2011-04-13T14:37:40Z\",\"id\":164,\"identifier\":\"disks.autobackup.own\"}},{\"permission\":{\"label\":\"Create and Manage ISOs\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":208,\"identifier\":\"isos.manage.own\"}},{\"permission\":{\"label\":\"See own mounted ISOs\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":219,\"identifier\":\"iso_joins.read.own\"}},{\"permission\":{\"label\":\"Mount own ISO\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":221,\"identifier\":\"iso_joins.create.own\"}},{\"permission\":{\"label\":\"Umount own mounted ISOs\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":223,\"identifier\":\"iso_joins.delete.own\"}},{\"permission\":{\"label\":\"See own IO Statistics\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":228,\"identifier\":\"io_stats.read.own\"}},{\"permission\":{\"label\":\"See own billing plan\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":229,\"identifier\":\"billing_plans.read.own\"}},{\"permission\":{\"label\":\"See own base resources\",\"created_at\":\"2011-04-13T14:37:41Z\",\"updated_at\":\"2011-04-13T14:37:41Z\",\"id\":230,\"identifier\":\"base_resources.read.own\"}},{\"permission\":{\"label\":\"See Own Virtual Machine Statistics\",\"created_at\":\"2011-04-13T14:37:39Z\",\"updated_at\":\"2011-04-13T14:37:39Z\",\"id\":119,\"identifier\":\"vm_stats.read.own\"}}],\"identifier\":\"user\"}}]"
40
+ http_version: "1.1"