squall 0.0.3 → 1.0.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 (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"