dorb 0.0.1.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +16 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +198 -0
  8. data/Rakefile +4 -0
  9. data/dorb.gemspec +30 -0
  10. data/lib/dorb.rb +18 -0
  11. data/lib/dorb/config.rb +36 -0
  12. data/lib/dorb/core_ext/hash.rb +24 -0
  13. data/lib/dorb/droplet.rb +10 -0
  14. data/lib/dorb/image.rb +10 -0
  15. data/lib/dorb/region.rb +10 -0
  16. data/lib/dorb/resource.rb +126 -0
  17. data/lib/dorb/size.rb +16 -0
  18. data/lib/dorb/ssh_key.rb +10 -0
  19. data/lib/dorb/version.rb +3 -0
  20. data/spec/config_spec.rb +34 -0
  21. data/spec/droplet_spec.rb +7 -0
  22. data/spec/fixtures/cassettes/DORB_Droplet/all.yml +57 -0
  23. data/spec/fixtures/cassettes/DORB_Droplet/find.yml +111 -0
  24. data/spec/fixtures/cassettes/DORB_Droplet/find_missing.yml +57 -0
  25. data/spec/fixtures/cassettes/DORB_Image/all.yml +75 -0
  26. data/spec/fixtures/cassettes/DORB_Image/find.yml +129 -0
  27. data/spec/fixtures/cassettes/DORB_Image/find_missing.yml +57 -0
  28. data/spec/fixtures/cassettes/DORB_Region/all.yml +58 -0
  29. data/spec/fixtures/cassettes/DORB_Region/find.yml +112 -0
  30. data/spec/fixtures/cassettes/DORB_Region/find_missing.yml +57 -0
  31. data/spec/fixtures/cassettes/DORB_SSHKey/all.yml +57 -0
  32. data/spec/fixtures/cassettes/DORB_SSHKey/find.yml +113 -0
  33. data/spec/fixtures/cassettes/DORB_SSHKey/find_missing.yml +57 -0
  34. data/spec/fixtures/cassettes/DORB_Size/all.yml +597 -0
  35. data/spec/fixtures/cassettes/DORB_Size/find.yml +651 -0
  36. data/spec/fixtures/cassettes/DORB_Size/find_missing.yml +57 -0
  37. data/spec/image_spec.rb +7 -0
  38. data/spec/region_spec.rb +7 -0
  39. data/spec/size_spec.rb +19 -0
  40. data/spec/spec_helper.rb +17 -0
  41. data/spec/ssh_key_spec.rb +7 -0
  42. data/spec/support/shared_examples_for_resource.rb +40 -0
  43. data/spec/support/vcr.rb +8 -0
  44. metadata +209 -0
@@ -0,0 +1,57 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.digitalocean.com/ssh_keys/0?api_key=<API_KEY>&client_id=<CLIENT_ID>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*; q=0.5, application/xml'
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Wed, 13 Mar 2013 12:15:50 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Status:
32
+ - '200'
33
+ X-Powered-By:
34
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
35
+ Strict-Transport-Security:
36
+ - max-age=31536000
37
+ X-Ua-Compatible:
38
+ - IE=Edge,chrome=1
39
+ Etag:
40
+ - ! '"0875697aacb1d5282a7eaa16a330f29e"'
41
+ Cache-Control:
42
+ - max-age=0, private, must-revalidate
43
+ Set-Cookie:
44
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTVlOTk5MmZmZTVhMjU3NmExMmMyYTNlYjYzN2Q4ZDA0BjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF9aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc3NoX2tleXMvMD9jbGllbnRfaWQ9ODRVOXFId2UyTjczZEVvUEZWcUt6JmFwaV9rZXk9cVE4bXBSaUVZZzN1TzZPckxUVGVKRDFEdlBHRVFoVm1NZUh2RHIzZG0GOwBG--a75b9d08463d9bf982288844a683f5655cc3f8aa;
45
+ path=/; secure; HttpOnly
46
+ X-Request-Id:
47
+ - 1f396baa50a1d146558f3b2954a13ed5
48
+ X-Runtime:
49
+ - '0.153002'
50
+ X-Rack-Cache:
51
+ - miss
52
+ body:
53
+ encoding: US-ASCII
54
+ string: ! '{"status":"ERROR","error_message":"No SSH Key Found"}'
55
+ http_version:
56
+ recorded_at: Wed, 13 Mar 2013 12:15:48 GMT
57
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,597 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.digitalocean.com/sizes?api_key=<API_KEY>&client_id=<CLIENT_ID>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*; q=0.5, application/xml'
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Wed, 13 Mar 2013 12:16:00 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Status:
32
+ - '200'
33
+ X-Powered-By:
34
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
35
+ Strict-Transport-Security:
36
+ - max-age=31536000
37
+ X-Ua-Compatible:
38
+ - IE=Edge,chrome=1
39
+ Etag:
40
+ - ! '"e76667b92aac8cb53c089195902c9d37"'
41
+ Cache-Control:
42
+ - max-age=0, private, must-revalidate
43
+ Set-Cookie:
44
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTU3YWMwZGE0ZDUyZDZiZGE5MTUzNzBmZWU0YzEyZDQ0BjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIn1odHRwczovL3d3dy5kaWdpdGFsb2NlYW4uY29tL2FwaS9zaXplcz9jbGllbnRfaWQ9ODRVOXFId2UyTjczZEVvUEZWcUt6JmFwaV9rZXk9cVE4bXBSaUVZZzN1TzZPckxUVGVKRDFEdlBHRVFoVm1NZUh2RHIzZG0GOwBG--1fd36964ad7eba79fdd9b7be9fe7d21a9e90a75b;
45
+ path=/; secure; HttpOnly
46
+ X-Request-Id:
47
+ - 1074e7c4d15b3cef2d94ea331d8aaf0d
48
+ X-Runtime:
49
+ - '0.190109'
50
+ X-Rack-Cache:
51
+ - miss
52
+ body:
53
+ encoding: US-ASCII
54
+ string: ! '{"status":"OK","sizes":[{"id":66,"name":"512MB"},{"id":63,"name":"1GB"},{"id":62,"name":"2GB"},{"id":64,"name":"4GB"},{"id":65,"name":"8GB"},{"id":61,"name":"16GB"},{"id":60,"name":"32GB"},{"id":70,"name":"48GB"},{"id":69,"name":"64GB"},{"id":68,"name":"96GB"}]}'
55
+ http_version:
56
+ recorded_at: Wed, 13 Mar 2013 12:15:58 GMT
57
+ - request:
58
+ method: get
59
+ uri: https://api.digitalocean.com/sizes/66?api_key=<API_KEY>&client_id=<CLIENT_ID>
60
+ body:
61
+ encoding: US-ASCII
62
+ string: ''
63
+ headers:
64
+ Accept:
65
+ - ! '*/*; q=0.5, application/xml'
66
+ Accept-Encoding:
67
+ - gzip, deflate
68
+ User-Agent:
69
+ - Ruby
70
+ response:
71
+ status:
72
+ code: 200
73
+ message: OK
74
+ headers:
75
+ Server:
76
+ - nginx
77
+ Date:
78
+ - Wed, 13 Mar 2013 12:16:01 GMT
79
+ Content-Type:
80
+ - application/json; charset=utf-8
81
+ Transfer-Encoding:
82
+ - chunked
83
+ Connection:
84
+ - keep-alive
85
+ Status:
86
+ - '200'
87
+ X-Powered-By:
88
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
89
+ Strict-Transport-Security:
90
+ - max-age=31536000
91
+ X-Ua-Compatible:
92
+ - IE=Edge,chrome=1
93
+ Etag:
94
+ - ! '"a63e1150108dfe045db0f43b6c3bbaa8"'
95
+ Cache-Control:
96
+ - max-age=0, private, must-revalidate
97
+ Set-Cookie:
98
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTM3NjYzNmUzODhjNDcwZmFkNGRiNTQ3MzQ5M2ZmMzJiBjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNjY%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--ad7f032ebb53a3d877b53f7dc1635bf542dc85c9;
99
+ path=/; secure; HttpOnly
100
+ X-Request-Id:
101
+ - 4491f97d6f6e13af87afdd42533485c7
102
+ X-Runtime:
103
+ - '0.093088'
104
+ X-Rack-Cache:
105
+ - miss
106
+ body:
107
+ encoding: US-ASCII
108
+ string: ! '{"status":"OK","size":{"cost_per_hour":0.00744,"cpu":1,"disk":20,"id":66,"memory":512,"name":"512MB"}}'
109
+ http_version:
110
+ recorded_at: Wed, 13 Mar 2013 12:15:59 GMT
111
+ - request:
112
+ method: get
113
+ uri: https://api.digitalocean.com/sizes/63?api_key=<API_KEY>&client_id=<CLIENT_ID>
114
+ body:
115
+ encoding: US-ASCII
116
+ string: ''
117
+ headers:
118
+ Accept:
119
+ - ! '*/*; q=0.5, application/xml'
120
+ Accept-Encoding:
121
+ - gzip, deflate
122
+ User-Agent:
123
+ - Ruby
124
+ response:
125
+ status:
126
+ code: 200
127
+ message: OK
128
+ headers:
129
+ Server:
130
+ - nginx
131
+ Date:
132
+ - Wed, 13 Mar 2013 12:16:01 GMT
133
+ Content-Type:
134
+ - application/json; charset=utf-8
135
+ Transfer-Encoding:
136
+ - chunked
137
+ Connection:
138
+ - keep-alive
139
+ Status:
140
+ - '200'
141
+ X-Powered-By:
142
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
143
+ Strict-Transport-Security:
144
+ - max-age=31536000
145
+ X-Ua-Compatible:
146
+ - IE=Edge,chrome=1
147
+ Etag:
148
+ - ! '"7f996900a48526a8dcfe84a792ddc1fe"'
149
+ Cache-Control:
150
+ - max-age=0, private, must-revalidate
151
+ Set-Cookie:
152
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTVlOWU1NzkwZTQwYmFhNzRjNDI5MjZjNjBiMzNmNzM5BjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNjM%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--4067340583c8f40da602600a7d0f0363b29a20cd;
153
+ path=/; secure; HttpOnly
154
+ X-Request-Id:
155
+ - c3708b57fb29690bee36d0f66fd0df39
156
+ X-Runtime:
157
+ - '0.144617'
158
+ X-Rack-Cache:
159
+ - miss
160
+ body:
161
+ encoding: US-ASCII
162
+ string: ! '{"status":"OK","size":{"cost_per_hour":0.01488,"cpu":1,"disk":30,"id":63,"memory":1024,"name":"1GB"}}'
163
+ http_version:
164
+ recorded_at: Wed, 13 Mar 2013 12:16:00 GMT
165
+ - request:
166
+ method: get
167
+ uri: https://api.digitalocean.com/sizes/62?api_key=<API_KEY>&client_id=<CLIENT_ID>
168
+ body:
169
+ encoding: US-ASCII
170
+ string: ''
171
+ headers:
172
+ Accept:
173
+ - ! '*/*; q=0.5, application/xml'
174
+ Accept-Encoding:
175
+ - gzip, deflate
176
+ User-Agent:
177
+ - Ruby
178
+ response:
179
+ status:
180
+ code: 200
181
+ message: OK
182
+ headers:
183
+ Server:
184
+ - nginx
185
+ Date:
186
+ - Wed, 13 Mar 2013 12:16:02 GMT
187
+ Content-Type:
188
+ - application/json; charset=utf-8
189
+ Transfer-Encoding:
190
+ - chunked
191
+ Connection:
192
+ - keep-alive
193
+ Status:
194
+ - '200'
195
+ X-Powered-By:
196
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
197
+ Strict-Transport-Security:
198
+ - max-age=31536000
199
+ X-Ua-Compatible:
200
+ - IE=Edge,chrome=1
201
+ Etag:
202
+ - ! '"d9ac89545e8817aae28a55bedb33079f"'
203
+ Cache-Control:
204
+ - max-age=0, private, must-revalidate
205
+ Set-Cookie:
206
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTRhYzE3OTMzMDBlYzY3YmI0NTk5MTE4ZTllOGY2MTBmBjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNjI%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--f579c782c407420868c131de2ddac5a7021a0f1f;
207
+ path=/; secure; HttpOnly
208
+ X-Request-Id:
209
+ - 1ddb983c5c3baa5e0c83dc2c7f8d8060
210
+ X-Runtime:
211
+ - '0.152224'
212
+ X-Rack-Cache:
213
+ - miss
214
+ body:
215
+ encoding: US-ASCII
216
+ string: ! '{"status":"OK","size":{"cost_per_hour":0.02976,"cpu":2,"disk":40,"id":62,"memory":2048,"name":"2GB"}}'
217
+ http_version:
218
+ recorded_at: Wed, 13 Mar 2013 12:16:00 GMT
219
+ - request:
220
+ method: get
221
+ uri: https://api.digitalocean.com/sizes/64?api_key=<API_KEY>&client_id=<CLIENT_ID>
222
+ body:
223
+ encoding: US-ASCII
224
+ string: ''
225
+ headers:
226
+ Accept:
227
+ - ! '*/*; q=0.5, application/xml'
228
+ Accept-Encoding:
229
+ - gzip, deflate
230
+ User-Agent:
231
+ - Ruby
232
+ response:
233
+ status:
234
+ code: 200
235
+ message: OK
236
+ headers:
237
+ Server:
238
+ - nginx
239
+ Date:
240
+ - Wed, 13 Mar 2013 12:16:03 GMT
241
+ Content-Type:
242
+ - application/json; charset=utf-8
243
+ Transfer-Encoding:
244
+ - chunked
245
+ Connection:
246
+ - keep-alive
247
+ Status:
248
+ - '200'
249
+ X-Powered-By:
250
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
251
+ Strict-Transport-Security:
252
+ - max-age=31536000
253
+ X-Ua-Compatible:
254
+ - IE=Edge,chrome=1
255
+ Etag:
256
+ - ! '"6d50dad2ebf484e8d1358b0dc46d079a"'
257
+ Cache-Control:
258
+ - max-age=0, private, must-revalidate
259
+ Set-Cookie:
260
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTk2OTExZjkwODc2MGYzYjU2YTJjYzM4ZTVhN2NlMTQ1BjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNjQ%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--8bb250bb95933b3836199b12496828dab4f68cd7;
261
+ path=/; secure; HttpOnly
262
+ X-Request-Id:
263
+ - ef4efd257dc350c8ad53e7519a2e7019
264
+ X-Runtime:
265
+ - '0.190546'
266
+ X-Rack-Cache:
267
+ - miss
268
+ body:
269
+ encoding: US-ASCII
270
+ string: ! '{"status":"OK","size":{"cost_per_hour":0.05952,"cpu":2,"disk":60,"id":64,"memory":4096,"name":"4GB"}}'
271
+ http_version:
272
+ recorded_at: Wed, 13 Mar 2013 12:16:01 GMT
273
+ - request:
274
+ method: get
275
+ uri: https://api.digitalocean.com/sizes/65?api_key=<API_KEY>&client_id=<CLIENT_ID>
276
+ body:
277
+ encoding: US-ASCII
278
+ string: ''
279
+ headers:
280
+ Accept:
281
+ - ! '*/*; q=0.5, application/xml'
282
+ Accept-Encoding:
283
+ - gzip, deflate
284
+ User-Agent:
285
+ - Ruby
286
+ response:
287
+ status:
288
+ code: 200
289
+ message: OK
290
+ headers:
291
+ Server:
292
+ - nginx
293
+ Date:
294
+ - Wed, 13 Mar 2013 12:16:03 GMT
295
+ Content-Type:
296
+ - application/json; charset=utf-8
297
+ Transfer-Encoding:
298
+ - chunked
299
+ Connection:
300
+ - keep-alive
301
+ Status:
302
+ - '200'
303
+ X-Powered-By:
304
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
305
+ Strict-Transport-Security:
306
+ - max-age=31536000
307
+ X-Ua-Compatible:
308
+ - IE=Edge,chrome=1
309
+ Etag:
310
+ - ! '"8c12ce828f01ca136707d9ba79af8f10"'
311
+ Cache-Control:
312
+ - max-age=0, private, must-revalidate
313
+ Set-Cookie:
314
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJThiNmNkZjBmYjllNGI2M2VkZTE3NjZjNzZmOGJhZjUzBjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNjU%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--9a5d46ec59eac0abcdbcb16a3a607e1623105b09;
315
+ path=/; secure; HttpOnly
316
+ X-Request-Id:
317
+ - e057f2fda620e57fc03c1d0ee836214a
318
+ X-Runtime:
319
+ - '0.149432'
320
+ X-Rack-Cache:
321
+ - miss
322
+ body:
323
+ encoding: US-ASCII
324
+ string: ! '{"status":"OK","size":{"cost_per_hour":0.11905,"cpu":4,"disk":80,"id":65,"memory":8192,"name":"8GB"}}'
325
+ http_version:
326
+ recorded_at: Wed, 13 Mar 2013 12:16:02 GMT
327
+ - request:
328
+ method: get
329
+ uri: https://api.digitalocean.com/sizes/61?api_key=<API_KEY>&client_id=<CLIENT_ID>
330
+ body:
331
+ encoding: US-ASCII
332
+ string: ''
333
+ headers:
334
+ Accept:
335
+ - ! '*/*; q=0.5, application/xml'
336
+ Accept-Encoding:
337
+ - gzip, deflate
338
+ User-Agent:
339
+ - Ruby
340
+ response:
341
+ status:
342
+ code: 200
343
+ message: OK
344
+ headers:
345
+ Server:
346
+ - nginx
347
+ Date:
348
+ - Wed, 13 Mar 2013 12:16:04 GMT
349
+ Content-Type:
350
+ - application/json; charset=utf-8
351
+ Transfer-Encoding:
352
+ - chunked
353
+ Connection:
354
+ - keep-alive
355
+ Status:
356
+ - '200'
357
+ X-Powered-By:
358
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
359
+ Strict-Transport-Security:
360
+ - max-age=31536000
361
+ X-Ua-Compatible:
362
+ - IE=Edge,chrome=1
363
+ Etag:
364
+ - ! '"0a9be170ed9d35115b4871e7f936bbd9"'
365
+ Cache-Control:
366
+ - max-age=0, private, must-revalidate
367
+ Set-Cookie:
368
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTgwZDc5MWVjNTY0N2EyNTBmNmZiZjU0MjFmZDAwNDg4BjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNjE%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--7dd7aac09660c25df1d35c611388a4c0a0c1bf3c;
369
+ path=/; secure; HttpOnly
370
+ X-Request-Id:
371
+ - f01f4200c49558c04770af809bb93657
372
+ X-Runtime:
373
+ - '0.160450'
374
+ X-Rack-Cache:
375
+ - miss
376
+ body:
377
+ encoding: US-ASCII
378
+ string: ! '{"status":"OK","size":{"cost_per_hour":0.2381,"cpu":8,"disk":160,"id":61,"memory":16384,"name":"16GB"}}'
379
+ http_version:
380
+ recorded_at: Wed, 13 Mar 2013 12:16:02 GMT
381
+ - request:
382
+ method: get
383
+ uri: https://api.digitalocean.com/sizes/60?api_key=<API_KEY>&client_id=<CLIENT_ID>
384
+ body:
385
+ encoding: US-ASCII
386
+ string: ''
387
+ headers:
388
+ Accept:
389
+ - ! '*/*; q=0.5, application/xml'
390
+ Accept-Encoding:
391
+ - gzip, deflate
392
+ User-Agent:
393
+ - Ruby
394
+ response:
395
+ status:
396
+ code: 200
397
+ message: OK
398
+ headers:
399
+ Server:
400
+ - nginx
401
+ Date:
402
+ - Wed, 13 Mar 2013 12:16:05 GMT
403
+ Content-Type:
404
+ - application/json; charset=utf-8
405
+ Transfer-Encoding:
406
+ - chunked
407
+ Connection:
408
+ - keep-alive
409
+ Status:
410
+ - '200'
411
+ X-Powered-By:
412
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
413
+ Strict-Transport-Security:
414
+ - max-age=31536000
415
+ X-Ua-Compatible:
416
+ - IE=Edge,chrome=1
417
+ Etag:
418
+ - ! '"a57c88b502fbe6d0b0ff6982a85cf0fc"'
419
+ Cache-Control:
420
+ - max-age=0, private, must-revalidate
421
+ Set-Cookie:
422
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTY1ODQzNjY0MGU3ZThhN2ZjOWI3YjBlMWNlZDMzYTQzBjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNjA%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--64d5f44d5fbdecd0ca13134f9e1d5b28b2e920e8;
423
+ path=/; secure; HttpOnly
424
+ X-Request-Id:
425
+ - 8f37576f15ef0e8b8626287172cf341c
426
+ X-Runtime:
427
+ - '0.206522'
428
+ X-Rack-Cache:
429
+ - miss
430
+ body:
431
+ encoding: US-ASCII
432
+ string: ! '{"status":"OK","size":{"cost_per_hour":0.47619,"cpu":12,"disk":320,"id":60,"memory":32768,"name":"32GB"}}'
433
+ http_version:
434
+ recorded_at: Wed, 13 Mar 2013 12:16:03 GMT
435
+ - request:
436
+ method: get
437
+ uri: https://api.digitalocean.com/sizes/70?api_key=<API_KEY>&client_id=<CLIENT_ID>
438
+ body:
439
+ encoding: US-ASCII
440
+ string: ''
441
+ headers:
442
+ Accept:
443
+ - ! '*/*; q=0.5, application/xml'
444
+ Accept-Encoding:
445
+ - gzip, deflate
446
+ User-Agent:
447
+ - Ruby
448
+ response:
449
+ status:
450
+ code: 200
451
+ message: OK
452
+ headers:
453
+ Server:
454
+ - nginx
455
+ Date:
456
+ - Wed, 13 Mar 2013 12:16:06 GMT
457
+ Content-Type:
458
+ - application/json; charset=utf-8
459
+ Transfer-Encoding:
460
+ - chunked
461
+ Connection:
462
+ - keep-alive
463
+ Status:
464
+ - '200'
465
+ X-Powered-By:
466
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
467
+ Strict-Transport-Security:
468
+ - max-age=31536000
469
+ X-Ua-Compatible:
470
+ - IE=Edge,chrome=1
471
+ Etag:
472
+ - ! '"5ee01f38aa85b9ae23518b00314668bb"'
473
+ Cache-Control:
474
+ - max-age=0, private, must-revalidate
475
+ Set-Cookie:
476
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWE3NzAzMDlhNzBjYTM4YTk1YzU5ZTZiNDQ0NjEwMDEwBjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNzA%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--568ae144703aa8e8fb0dfe991b6702059df2bd25;
477
+ path=/; secure; HttpOnly
478
+ X-Request-Id:
479
+ - 2429eef9dfe116091e1252b53e78de2c
480
+ X-Runtime:
481
+ - '0.149992'
482
+ X-Rack-Cache:
483
+ - miss
484
+ body:
485
+ encoding: US-ASCII
486
+ string: ! '{"status":"OK","size":{"cost_per_hour":0.71429,"cpu":16,"disk":480,"id":70,"memory":49152,"name":"48GB"}}'
487
+ http_version:
488
+ recorded_at: Wed, 13 Mar 2013 12:16:04 GMT
489
+ - request:
490
+ method: get
491
+ uri: https://api.digitalocean.com/sizes/69?api_key=<API_KEY>&client_id=<CLIENT_ID>
492
+ body:
493
+ encoding: US-ASCII
494
+ string: ''
495
+ headers:
496
+ Accept:
497
+ - ! '*/*; q=0.5, application/xml'
498
+ Accept-Encoding:
499
+ - gzip, deflate
500
+ User-Agent:
501
+ - Ruby
502
+ response:
503
+ status:
504
+ code: 200
505
+ message: OK
506
+ headers:
507
+ Server:
508
+ - nginx
509
+ Date:
510
+ - Wed, 13 Mar 2013 12:16:06 GMT
511
+ Content-Type:
512
+ - application/json; charset=utf-8
513
+ Transfer-Encoding:
514
+ - chunked
515
+ Connection:
516
+ - keep-alive
517
+ Status:
518
+ - '200'
519
+ X-Powered-By:
520
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
521
+ Strict-Transport-Security:
522
+ - max-age=31536000
523
+ X-Ua-Compatible:
524
+ - IE=Edge,chrome=1
525
+ Etag:
526
+ - ! '"5733d0aaff79733edb1b45c46b01530a"'
527
+ Cache-Control:
528
+ - max-age=0, private, must-revalidate
529
+ Set-Cookie:
530
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTdlNGI3YjVmYTZkZTJmNjViN2I0ZjJlNTEyNmI0MTBmBjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNjk%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--09872ba9f950f1507e588c0a723e18f97ea343f8;
531
+ path=/; secure; HttpOnly
532
+ X-Request-Id:
533
+ - 0580d31cd0217a63d1f56b91544b8d8d
534
+ X-Runtime:
535
+ - '0.262554'
536
+ X-Rack-Cache:
537
+ - miss
538
+ body:
539
+ encoding: US-ASCII
540
+ string: ! '{"status":"OK","size":{"cost_per_hour":0.95238,"cpu":20,"disk":640,"id":69,"memory":65536,"name":"64GB"}}'
541
+ http_version:
542
+ recorded_at: Wed, 13 Mar 2013 12:16:05 GMT
543
+ - request:
544
+ method: get
545
+ uri: https://api.digitalocean.com/sizes/68?api_key=<API_KEY>&client_id=<CLIENT_ID>
546
+ body:
547
+ encoding: US-ASCII
548
+ string: ''
549
+ headers:
550
+ Accept:
551
+ - ! '*/*; q=0.5, application/xml'
552
+ Accept-Encoding:
553
+ - gzip, deflate
554
+ User-Agent:
555
+ - Ruby
556
+ response:
557
+ status:
558
+ code: 200
559
+ message: OK
560
+ headers:
561
+ Server:
562
+ - nginx
563
+ Date:
564
+ - Wed, 13 Mar 2013 12:16:07 GMT
565
+ Content-Type:
566
+ - application/json; charset=utf-8
567
+ Transfer-Encoding:
568
+ - chunked
569
+ Connection:
570
+ - keep-alive
571
+ Status:
572
+ - '200'
573
+ X-Powered-By:
574
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
575
+ Strict-Transport-Security:
576
+ - max-age=31536000
577
+ X-Ua-Compatible:
578
+ - IE=Edge,chrome=1
579
+ Etag:
580
+ - ! '"66f71ff04ffc61fa6d10fbe4b610e985"'
581
+ Cache-Control:
582
+ - max-age=0, private, must-revalidate
583
+ Set-Cookie:
584
+ - _digitalocean2_session_v2=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTJhZWQwZDFhZmE0ZjZhMjgzYmJjMTFkYWVhNjY4YTZkBjsAVEkiEXJlZGlyZWN0X3VybAY7AEZJIgF7aHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9hcGkvc2l6ZXMvNjg%2FY2xpZW50X2lkPTg0VTlxSHdlMk43M2RFb1BGVnFLeiZhcGlfa2V5PXFROG1wUmlFWWczdU82T3JMVFRlSkQxRHZQR0VRaFZtTWVIdkRyM2RtBjsARg%3D%3D--ccffb60b977e1f2ace641055f73f8fc104617641;
585
+ path=/; secure; HttpOnly
586
+ X-Request-Id:
587
+ - e9344bfb1294577590c2d8e4750cc723
588
+ X-Runtime:
589
+ - '0.157202'
590
+ X-Rack-Cache:
591
+ - miss
592
+ body:
593
+ encoding: US-ASCII
594
+ string: ! '{"status":"OK","size":{"cost_per_hour":1.42857,"cpu":24,"disk":960,"id":68,"memory":94208,"name":"96GB"}}'
595
+ http_version:
596
+ recorded_at: Wed, 13 Mar 2013 12:16:05 GMT
597
+ recorded_with: VCR 2.4.0