digital_ocean 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/.gitignore +0 -1
  2. data/CHANGELOG.md +40 -0
  3. data/LICENSE.txt +1 -1
  4. data/README.md +114 -2
  5. data/digital_ocean.gemspec +1 -0
  6. data/doc/DigitalOcean/API.html +844 -0
  7. data/doc/DigitalOcean/AuthenticationMiddleware.html +342 -0
  8. data/doc/DigitalOcean/Resource/Base.html +206 -0
  9. data/doc/DigitalOcean/Resource/Droplet.html +1016 -0
  10. data/doc/DigitalOcean/Resource/Image.html +312 -0
  11. data/doc/DigitalOcean/Resource/Region.html +247 -0
  12. data/doc/DigitalOcean/Resource/SSHKey.html +312 -0
  13. data/doc/DigitalOcean/Resource/Size.html +208 -0
  14. data/doc/DigitalOcean/Resource.html +117 -0
  15. data/doc/DigitalOcean.html +131 -0
  16. data/doc/_index.html +213 -0
  17. data/doc/class_list.html +53 -0
  18. data/doc/css/common.css +1 -0
  19. data/doc/css/full_list.css +57 -0
  20. data/doc/css/style.css +328 -0
  21. data/doc/file.README.html +402 -0
  22. data/doc/file_list.html +55 -0
  23. data/doc/frames.html +28 -0
  24. data/doc/index.html +402 -0
  25. data/doc/js/app.js +214 -0
  26. data/doc/js/full_list.js +173 -0
  27. data/doc/js/jquery.js +4 -0
  28. data/doc/method_list.html +332 -0
  29. data/doc/top-level-namespace.html +112 -0
  30. data/lib/digital_ocean/api.rb +28 -0
  31. data/lib/digital_ocean/resource/droplet.rb +2 -2
  32. data/lib/digital_ocean/resource/region.rb +3 -0
  33. data/lib/digital_ocean/version.rb +1 -1
  34. data/spec/api_spec.rb +8 -4
  35. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_create/should_be_successful.yml +7 -5
  36. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_create/should_return_droplet_id.yml +50 -0
  37. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_delete/should_be_successful.yml +8 -6
  38. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_disable_backups/should_be_successful.yml +8 -6
  39. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_enable_backups/should_be_successful.yml +8 -6
  40. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_list/should_be_successful.yml +7 -5
  41. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_list/should_return_a_list_of_all_droplets.yml +7 -5
  42. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/{_reset_root_password → _password_reset}/should_be_successful.yml +10 -9
  43. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_power_cycle/should_be_successful.yml +8 -6
  44. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_power_off/should_be_successful.yml +8 -6
  45. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_power_on/should_be_successful.yml +8 -6
  46. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_reboot/should_be_successful.yml +8 -6
  47. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_rebuild/should_be_successful.yml +8 -6
  48. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_resize/should_be_successful.yml +8 -6
  49. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_restore/should_be_successful.yml +1 -1
  50. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_show/should_be_successful.yml +6 -4
  51. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_shutdown/should_be_successful.yml +8 -6
  52. data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_snapshot/should_be_successful.yml +8 -6
  53. metadata +34 -7
@@ -0,0 +1,332 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+
7
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
8
+
9
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
10
+
11
+
12
+
13
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
+
17
+
18
+ <base id="base_target" target="_parent" />
19
+ </head>
20
+ <body>
21
+ <script type="text/javascript" charset="utf-8">
22
+ if (window.top.frames.main) {
23
+ document.getElementById('base_target').target = 'main';
24
+ document.body.className = 'frames';
25
+ }
26
+ </script>
27
+ <div id="content">
28
+ <h1 id="full_list_header">Method List</h1>
29
+ <div id="nav">
30
+
31
+ <span><a target="_self" href="class_list.html">
32
+ Classes
33
+ </a></span>
34
+
35
+ <span><a target="_self" href="method_list.html">
36
+ Methods
37
+ </a></span>
38
+
39
+ <span><a target="_self" href="file_list.html">
40
+ Files
41
+ </a></span>
42
+
43
+ </div>
44
+ <div id="search">Search: <input type="text" /></div>
45
+
46
+ <ul id="full_list" class="method">
47
+
48
+
49
+ <li class="r1 ">
50
+ <span class='object_link'><a href="DigitalOcean/AuthenticationMiddleware.html#call-instance_method" title="DigitalOcean::AuthenticationMiddleware#call (method)">#call</a></span>
51
+
52
+ <small>DigitalOcean::AuthenticationMiddleware</small>
53
+
54
+ </li>
55
+
56
+
57
+ <li class="r2 ">
58
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#create-instance_method" title="DigitalOcean::Resource::Droplet#create (method)">#create</a></span>
59
+
60
+ <small>DigitalOcean::Resource::Droplet</small>
61
+
62
+ </li>
63
+
64
+
65
+ <li class="r1 ">
66
+ <span class='object_link'><a href="DigitalOcean/API.html#default_faraday-instance_method" title="DigitalOcean::API#default_faraday (method)">#default_faraday</a></span>
67
+
68
+ <small>DigitalOcean::API</small>
69
+
70
+ </li>
71
+
72
+
73
+ <li class="r2 ">
74
+ <span class='object_link'><a href="DigitalOcean/Resource/SSHKey.html#delete-instance_method" title="DigitalOcean::Resource::SSHKey#delete (method)">#delete</a></span>
75
+
76
+ <small>DigitalOcean::Resource::SSHKey</small>
77
+
78
+ </li>
79
+
80
+
81
+ <li class="r1 ">
82
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#delete-instance_method" title="DigitalOcean::Resource::Droplet#delete (method)">#delete</a></span>
83
+
84
+ <small>DigitalOcean::Resource::Droplet</small>
85
+
86
+ </li>
87
+
88
+
89
+ <li class="r2 ">
90
+ <span class='object_link'><a href="DigitalOcean/Resource/Image.html#delete-instance_method" title="DigitalOcean::Resource::Image#delete (method)">#delete</a></span>
91
+
92
+ <small>DigitalOcean::Resource::Image</small>
93
+
94
+ </li>
95
+
96
+
97
+ <li class="r1 ">
98
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#disable_backups-instance_method" title="DigitalOcean::Resource::Droplet#disable_backups (method)">#disable_backups</a></span>
99
+
100
+ <small>DigitalOcean::Resource::Droplet</small>
101
+
102
+ </li>
103
+
104
+
105
+ <li class="r2 ">
106
+ <span class='object_link'><a href="DigitalOcean/API.html#droplets-instance_method" title="DigitalOcean::API#droplets (method)">#droplets</a></span>
107
+
108
+ <small>DigitalOcean::API</small>
109
+
110
+ </li>
111
+
112
+
113
+ <li class="r1 ">
114
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#enable_backups-instance_method" title="DigitalOcean::Resource::Droplet#enable_backups (method)">#enable_backups</a></span>
115
+
116
+ <small>DigitalOcean::Resource::Droplet</small>
117
+
118
+ </li>
119
+
120
+
121
+ <li class="r2 ">
122
+ <span class='object_link'><a href="DigitalOcean/API.html#images-instance_method" title="DigitalOcean::API#images (method)">#images</a></span>
123
+
124
+ <small>DigitalOcean::API</small>
125
+
126
+ </li>
127
+
128
+
129
+ <li class="r1 ">
130
+ <span class='object_link'><a href="DigitalOcean/API.html#initialize-instance_method" title="DigitalOcean::API#initialize (method)">#initialize</a></span>
131
+
132
+ <small>DigitalOcean::API</small>
133
+
134
+ </li>
135
+
136
+
137
+ <li class="r2 ">
138
+ <span class='object_link'><a href="DigitalOcean/AuthenticationMiddleware.html#initialize-instance_method" title="DigitalOcean::AuthenticationMiddleware#initialize (method)">#initialize</a></span>
139
+
140
+ <small>DigitalOcean::AuthenticationMiddleware</small>
141
+
142
+ </li>
143
+
144
+
145
+ <li class="r1 ">
146
+ <span class='object_link'><a href="DigitalOcean/Resource/Base.html#initialize-instance_method" title="DigitalOcean::Resource::Base#initialize (method)">#initialize</a></span>
147
+
148
+ <small>DigitalOcean::Resource::Base</small>
149
+
150
+ </li>
151
+
152
+
153
+ <li class="r2 ">
154
+ <span class='object_link'><a href="DigitalOcean/Resource/Size.html#list-instance_method" title="DigitalOcean::Resource::Size#list (method)">#list</a></span>
155
+
156
+ <small>DigitalOcean::Resource::Size</small>
157
+
158
+ </li>
159
+
160
+
161
+ <li class="r1 ">
162
+ <span class='object_link'><a href="DigitalOcean/Resource/SSHKey.html#list-instance_method" title="DigitalOcean::Resource::SSHKey#list (method)">#list</a></span>
163
+
164
+ <small>DigitalOcean::Resource::SSHKey</small>
165
+
166
+ </li>
167
+
168
+
169
+ <li class="r2 ">
170
+ <span class='object_link'><a href="DigitalOcean/Resource/Region.html#list-instance_method" title="DigitalOcean::Resource::Region#list (method)">#list</a></span>
171
+
172
+ <small>DigitalOcean::Resource::Region</small>
173
+
174
+ </li>
175
+
176
+
177
+ <li class="r1 ">
178
+ <span class='object_link'><a href="DigitalOcean/Resource/Image.html#list-instance_method" title="DigitalOcean::Resource::Image#list (method)">#list</a></span>
179
+
180
+ <small>DigitalOcean::Resource::Image</small>
181
+
182
+ </li>
183
+
184
+
185
+ <li class="r2 ">
186
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#list-instance_method" title="DigitalOcean::Resource::Droplet#list (method)">#list</a></span>
187
+
188
+ <small>DigitalOcean::Resource::Droplet</small>
189
+
190
+ </li>
191
+
192
+
193
+ <li class="r1 ">
194
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#password_reset-instance_method" title="DigitalOcean::Resource::Droplet#password_reset (method)">#password_reset</a></span>
195
+
196
+ <small>DigitalOcean::Resource::Droplet</small>
197
+
198
+ </li>
199
+
200
+
201
+ <li class="r2 ">
202
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#power_cycle-instance_method" title="DigitalOcean::Resource::Droplet#power_cycle (method)">#power_cycle</a></span>
203
+
204
+ <small>DigitalOcean::Resource::Droplet</small>
205
+
206
+ </li>
207
+
208
+
209
+ <li class="r1 ">
210
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#power_off-instance_method" title="DigitalOcean::Resource::Droplet#power_off (method)">#power_off</a></span>
211
+
212
+ <small>DigitalOcean::Resource::Droplet</small>
213
+
214
+ </li>
215
+
216
+
217
+ <li class="r2 ">
218
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#power_on-instance_method" title="DigitalOcean::Resource::Droplet#power_on (method)">#power_on</a></span>
219
+
220
+ <small>DigitalOcean::Resource::Droplet</small>
221
+
222
+ </li>
223
+
224
+
225
+ <li class="r1 ">
226
+ <span class='object_link'><a href="DigitalOcean/AuthenticationMiddleware.html#query_params-instance_method" title="DigitalOcean::AuthenticationMiddleware#query_params (method)">#query_params</a></span>
227
+
228
+ <small>DigitalOcean::AuthenticationMiddleware</small>
229
+
230
+ </li>
231
+
232
+
233
+ <li class="r2 ">
234
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#reboot-instance_method" title="DigitalOcean::Resource::Droplet#reboot (method)">#reboot</a></span>
235
+
236
+ <small>DigitalOcean::Resource::Droplet</small>
237
+
238
+ </li>
239
+
240
+
241
+ <li class="r1 ">
242
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#rebuild-instance_method" title="DigitalOcean::Resource::Droplet#rebuild (method)">#rebuild</a></span>
243
+
244
+ <small>DigitalOcean::Resource::Droplet</small>
245
+
246
+ </li>
247
+
248
+
249
+ <li class="r2 ">
250
+ <span class='object_link'><a href="DigitalOcean/API.html#regions-instance_method" title="DigitalOcean::API#regions (method)">#regions</a></span>
251
+
252
+ <small>DigitalOcean::API</small>
253
+
254
+ </li>
255
+
256
+
257
+ <li class="r1 ">
258
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#resize-instance_method" title="DigitalOcean::Resource::Droplet#resize (method)">#resize</a></span>
259
+
260
+ <small>DigitalOcean::Resource::Droplet</small>
261
+
262
+ </li>
263
+
264
+
265
+ <li class="r2 ">
266
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#restore-instance_method" title="DigitalOcean::Resource::Droplet#restore (method)">#restore</a></span>
267
+
268
+ <small>DigitalOcean::Resource::Droplet</small>
269
+
270
+ </li>
271
+
272
+
273
+ <li class="r1 ">
274
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#show-instance_method" title="DigitalOcean::Resource::Droplet#show (method)">#show</a></span>
275
+
276
+ <small>DigitalOcean::Resource::Droplet</small>
277
+
278
+ </li>
279
+
280
+
281
+ <li class="r2 ">
282
+ <span class='object_link'><a href="DigitalOcean/Resource/Image.html#show-instance_method" title="DigitalOcean::Resource::Image#show (method)">#show</a></span>
283
+
284
+ <small>DigitalOcean::Resource::Image</small>
285
+
286
+ </li>
287
+
288
+
289
+ <li class="r1 ">
290
+ <span class='object_link'><a href="DigitalOcean/Resource/SSHKey.html#show-instance_method" title="DigitalOcean::Resource::SSHKey#show (method)">#show</a></span>
291
+
292
+ <small>DigitalOcean::Resource::SSHKey</small>
293
+
294
+ </li>
295
+
296
+
297
+ <li class="r2 ">
298
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#shutdown-instance_method" title="DigitalOcean::Resource::Droplet#shutdown (method)">#shutdown</a></span>
299
+
300
+ <small>DigitalOcean::Resource::Droplet</small>
301
+
302
+ </li>
303
+
304
+
305
+ <li class="r1 ">
306
+ <span class='object_link'><a href="DigitalOcean/API.html#sizes-instance_method" title="DigitalOcean::API#sizes (method)">#sizes</a></span>
307
+
308
+ <small>DigitalOcean::API</small>
309
+
310
+ </li>
311
+
312
+
313
+ <li class="r2 ">
314
+ <span class='object_link'><a href="DigitalOcean/Resource/Droplet.html#snapshot-instance_method" title="DigitalOcean::Resource::Droplet#snapshot (method)">#snapshot</a></span>
315
+
316
+ <small>DigitalOcean::Resource::Droplet</small>
317
+
318
+ </li>
319
+
320
+
321
+ <li class="r1 ">
322
+ <span class='object_link'><a href="DigitalOcean/API.html#ssh_keys-instance_method" title="DigitalOcean::API#ssh_keys (method)">#ssh_keys</a></span>
323
+
324
+ <small>DigitalOcean::API</small>
325
+
326
+ </li>
327
+
328
+
329
+ </ul>
330
+ </div>
331
+ </body>
332
+ </html>
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Top Level Namespace
8
+
9
+ &mdash; Documentation by YARD 0.8.3
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '';
20
+ framesUrl = "frames.html#!" + escape(window.location.href);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="_index.html">Index</a> &raquo;
35
+
36
+
37
+ <span class="title">Top Level Namespace</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Top Level Namespace
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ </dl>
82
+ <div class="clear"></div>
83
+
84
+ <h2>Defined Under Namespace</h2>
85
+ <p class="children">
86
+
87
+
88
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="DigitalOcean.html" title="DigitalOcean (module)">DigitalOcean</a></span>
89
+
90
+
91
+
92
+
93
+ </p>
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+ </div>
104
+
105
+ <div id="footer">
106
+ Generated on Wed Feb 20 12:33:48 2013 by
107
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
+ 0.8.3 (ruby-1.9.3).
109
+ </div>
110
+
111
+ </body>
112
+ </html>
@@ -1,5 +1,18 @@
1
1
  module DigitalOcean
2
2
  class API
3
+ # Creates a new API client instance.
4
+ #
5
+ # @param [Hash] params
6
+ # @option params [String] :client_id The client_id (required)
7
+ # @option params [String] :api_key The api_key (required)
8
+ # @option params [String] :base_url ('https://api.digitalocean.com/') API base url
9
+ # @option params [Symbol] :faraday_adapter ('Faraday.default_adapter') Faraday adapter/http client library to use.
10
+ # @raise [ArgumentError] when no client_id is provided
11
+ # @raise [ArgumentError] when no api_key is provided
12
+ # @example
13
+ # client = DigitalOcean::API.new :client_id => '######', :api_key => '#######'
14
+ #
15
+ # @see [Faraday]
3
16
  def initialize(params)
4
17
  @client_id = params[:client_id]
5
18
  @api_key = params[:api_key]
@@ -12,22 +25,37 @@ module DigitalOcean
12
25
  raise ArgumentError, ':api_key missing' unless @api_key
13
26
  end
14
27
 
28
+ # Access Droplets (virtual machines)
29
+ # @see DigitalOcean::Resource::Droplet
30
+ # @return [DigitalOcean::Resource::Droplet]
15
31
  def droplets
16
32
  DigitalOcean::Resource::Droplet.new(@faraday)
17
33
  end
18
34
 
35
+ # Access Sizes (virtual machine types/sizes)
36
+ # @see DigitalOcean::Resource::Size
37
+ # @return [DigitalOcean::Resource::Size]
19
38
  def sizes
20
39
  DigitalOcean::Resource::Size.new(@faraday)
21
40
  end
22
41
 
42
+ # Access Regions (data center location)
43
+ # @see DigitalOcean::Resource::Region
44
+ # @return [DigitalOcean::Resource::Region]
23
45
  def regions
24
46
  DigitalOcean::Resource::Region.new(@faraday)
25
47
  end
26
48
 
49
+ # Access SSH keys
50
+ # @see DigitalOcean::Resource::SSHKey
51
+ # @return [DigitalOcean::Resource::SSHKey]
27
52
  def ssh_keys
28
53
  DigitalOcean::Resource::SSHKey.new(@faraday)
29
54
  end
30
55
 
56
+ # Access Images (Snapshots, Backups)
57
+ # @see DigitalOcean::Resource::Image
58
+ # @return [DigitalOcean::Resource::Image]
31
59
  def images
32
60
  DigitalOcean::Resource::Image.new(@faraday)
33
61
  end
@@ -40,8 +40,8 @@ module DigitalOcean
40
40
  @connection.put("/droplets/#{id}/power_off").body
41
41
  end
42
42
 
43
- def reset_root_password(id)
44
- @connection.post("/droplets/#{id}/reset_root_password").body
43
+ def password_reset(id)
44
+ @connection.post("/droplets/#{id}/password_reset").body
45
45
  end
46
46
 
47
47
  def resize(id, params)
@@ -1,6 +1,9 @@
1
1
  module DigitalOcean
2
2
  module Resource
3
3
  class Region < Base
4
+ # @return [Hashie::Rash] List of all regions
5
+ # @example
6
+ # regions = client.regions.list
4
7
  def list
5
8
  @connection.get('/regions').body
6
9
  end
@@ -1,3 +1,3 @@
1
1
  module DigitalOcean
2
- VERSION = '0.0.1'
2
+ VERSION = '0.1.0'
3
3
  end
data/spec/api_spec.rb CHANGED
@@ -13,7 +13,7 @@ describe DigitalOcean::API, :vcr do
13
13
  end
14
14
 
15
15
  describe '#droplets' do
16
- let(:droplet_id) { 87071 }
16
+ let(:droplet_id) { 106265 }
17
17
 
18
18
  describe '#list' do
19
19
  let(:response) {
@@ -59,6 +59,10 @@ describe DigitalOcean::API, :vcr do
59
59
  # #<Hashie::Rash droplet=#<Hashie::Rash event_id=123456 id=87071 image_id=25306 name="t1" size_id=66> status="OK">
60
60
  response.status.should eql('OK')
61
61
  end
62
+
63
+ it 'should return droplet.id' do
64
+ response.droplet.id.should_not be_nil
65
+ end
62
66
  end
63
67
 
64
68
  describe '#reboot' do
@@ -116,13 +120,13 @@ describe DigitalOcean::API, :vcr do
116
120
  end
117
121
  end
118
122
 
119
- describe '#reset_root_password' do
123
+ describe '#password_reset' do
120
124
  let(:response) {
121
- subject.droplets.reset_root_password droplet_id
125
+ subject.droplets.password_reset droplet_id
122
126
  }
123
127
 
124
128
  it 'should be successful' do
125
- pending "does not work, ask digitalocean to fix"
129
+ # an mail with login/password is triggered...
126
130
  #<Hashie::Rash event_id=123456 status="OK">
127
131
  response.status.should eql('OK')
128
132
  end
@@ -15,7 +15,7 @@ http_interactions:
15
15
  server:
16
16
  - nginx
17
17
  date:
18
- - Thu, 24 Jan 2013 09:06:36 GMT
18
+ - Wed, 20 Feb 2013 11:05:16 GMT
19
19
  content-type:
20
20
  - application/json; charset=utf-8
21
21
  transfer-encoding:
@@ -26,6 +26,8 @@ http_interactions:
26
26
  - '200'
27
27
  x-powered-by:
28
28
  - Phusion Passenger (mod_rails/mod_rack) 3.0.11
29
+ strict-transport-security:
30
+ - max-age=31536000
29
31
  x-ua-compatible:
30
32
  - IE=Edge,chrome=1
31
33
  etag:
@@ -35,14 +37,14 @@ http_interactions:
35
37
  set-cookie:
36
38
  - _digitalocean2_session=wtf
37
39
  x-request-id:
38
- - 92c20c5ff4c03cd11de1a1faf1b3203c
40
+ - f160f34639183afd5f552d2af4b05db7
39
41
  x-runtime:
40
- - '1.849309'
42
+ - '0.333447'
41
43
  x-rack-cache:
42
44
  - miss
43
45
  body:
44
46
  encoding: US-ASCII
45
- string: ! '{"status":"OK","droplet":{"id":87071,"name":"t1","image_id":25306,"size_id":66,"event_id":594537}}'
47
+ string: ! '{"status":"OK","droplet":{"id":106267,"name":"t1","image_id":25306,"size_id":66,"event_id":765542}}'
46
48
  http_version:
47
- recorded_at: Thu, 24 Jan 2013 09:06:36 GMT
49
+ recorded_at: Wed, 20 Feb 2013 11:05:16 GMT
48
50
  recorded_with: VCR 2.4.0
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.digitalocean.com/droplets/new?client_id=client_id_XXXXXXXXXXXXXXXXXXX&api_key=api_key_YYYYYYYYYYYYYYYYYYYYY&name=t1&size_id=66&image_id=25306&region_id=2
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message:
14
+ headers:
15
+ server:
16
+ - nginx
17
+ date:
18
+ - Wed, 20 Feb 2013 11:05:17 GMT
19
+ content-type:
20
+ - application/json; charset=utf-8
21
+ transfer-encoding:
22
+ - chunked
23
+ connection:
24
+ - close
25
+ status:
26
+ - '200'
27
+ x-powered-by:
28
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
29
+ strict-transport-security:
30
+ - max-age=31536000
31
+ x-ua-compatible:
32
+ - IE=Edge,chrome=1
33
+ etag:
34
+ - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
35
+ cache-control:
36
+ - max-age=0, private, must-revalidate
37
+ set-cookie:
38
+ - _digitalocean2_session=wtf
39
+ x-request-id:
40
+ - d097a842d4b298770e6700b4999582cc
41
+ x-runtime:
42
+ - '0.530933'
43
+ x-rack-cache:
44
+ - miss
45
+ body:
46
+ encoding: US-ASCII
47
+ string: ! '{"status":"OK","droplet":{"id":106268,"name":"t1","image_id":25306,"size_id":66,"event_id":765543}}'
48
+ http_version:
49
+ recorded_at: Wed, 20 Feb 2013 11:05:17 GMT
50
+ recorded_with: VCR 2.4.0