knife-digital_ocean 2.3.3 → 2.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73192c1b247e22398a959acbe60689e8d7040b07
4
- data.tar.gz: 0748be70ba48aa8db59caae5db24f4d3b79341b8
3
+ metadata.gz: 1bedce18b715271ffb566428d10d5ab93e1af8f2
4
+ data.tar.gz: 5ba947ad792cfa26ec4232457cea6e79cf6dd96c
5
5
  SHA512:
6
- metadata.gz: ea388feae1759114eb9c840f24a26dfa1c2bc74358fc04810ff474bb3ebed644a51ed0b7a4d35350b1c5ebeffaf86ca88b24d43bd8cfb069eb51edc58c1aed41
7
- data.tar.gz: 0434cc07075a03ab9196ec5052704a44d0912a82f1a33d77c848d7a74814c79ada2ad46f9a56dc32cc9c38e3a496eabb6bb96e8f42769dde7967db3f72467d7b
6
+ metadata.gz: 138af5bec6a1ea1483e41cd5b30503ba53007f04e8f3203288c5e153d63702f8660dc36d350b4e4bb60e169f61c86b3ea5a81c39e66578bbab700f5e604df7fe
7
+ data.tar.gz: acebc494d1a7b4dab59844e9ac9358837eeae99e28c55c5e9d7a202eb801db06622924d91f5e8fc091f728fb9b531ee1cebb05f54f22d697e7c0afa96f130d3f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 2.4.0 / 2015-04-11
2
+
3
+ * Add knife-zero bootstrapping support
4
+
1
5
  # 2.3.3 / 2015-03-17
2
6
 
3
7
  * Bump droplet_kit version to fix a few bugs with api changes.
data/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  [![Coverage Status](https://coveralls.io/repos/rmoriz/knife-digital_ocean/badge.png?branch=master)](https://coveralls.io/r/rmoriz/knife-digital_ocean?branch=master)
9
9
 
10
10
  This is a plugin for [Chef's](http://www.opscode.com/chef/) [knife](http://wiki.opscode.com/display/chef/Knife) tool. It allows you to bootstrap virtual machines with [DigitalOcean.com](https://www.digitalocean.com/) including the initial bootstrapping of chef on that system.
11
- You can also use [knife-solo](http://matschaffer.github.com/knife-solo/) for chef bootstrapping or skip it altogether for another solution.
11
+ You can also use [knife-solo](http://matschaffer.github.com/knife-solo/) or [knife-zero](https://github.com/higanworks/knife-zero) for chef bootstrapping or skip it altogether for another solution.
12
12
 
13
13
  This knife plugin uses the [droplet_kit](https://github.com/digitalocean/droplet_kit) rubygem.
14
14
 
@@ -114,8 +114,9 @@ knife[:digital_ocean_access_token] = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
114
114
  There are three different ways of creating a server/droplet instance:
115
115
 
116
116
  If you just want to launch an instance
117
- form the command line without any bootstrapping, go for option **C**.
118
- If you use ```knife-solo``` try **B** and if you are a ```chef-server```-fan
117
+ form the command line without any bootstrapping, go for option **D**.
118
+ If you use ```knife-zero``` try **C**,
119
+ if you use ```knife-solo``` try **B** and if you are a ```chef-server```-fan
119
120
  use method **A**:
120
121
  #### A. With bootstrapping in an chef-server environment:
121
122
 
@@ -195,7 +196,26 @@ __Example__
195
196
  --solo
196
197
  ```
197
198
 
198
- #### C. With your custom external bootstrapping script or without chef at all
199
+ #### C. With knife-zero bootstrapping
200
+
201
+ You need to have [knife-zero](https://github.com/higanworks/knife-zero) gem installed.
202
+
203
+ This will create a droplet and run `knife zero bootstrap <IP>` equivalent for it.
204
+ Please consult the [knife-zero documentation](https://github.com/higanworks/knife-zero#knife-zero-bootstrap) for further details.
205
+
206
+ __Example__
207
+
208
+ ```bash
209
+ ➜ knife digital_ocean droplet create --server-name awesome-vm1.vm.io \
210
+ --image debian-7-0-x64 \
211
+ --location lon1 \
212
+ --size 2gb \
213
+ --ssh-keys 1234,4567 \
214
+ --run-list "<RUNLIST>" \
215
+ --zero
216
+ ```
217
+
218
+ #### D. With your custom external bootstrapping script or without chef at all
199
219
 
200
220
  This will just create a droplet and return its IP-address. Nothing else. You can now run your custom solution to provision the droplet.
201
221
 
@@ -243,12 +263,12 @@ OK
243
263
 
244
264
  #### Turn Power On/Off
245
265
  ```shell
246
- ➜ knife digital_ocean power -I 1824315 -A on
266
+ ➜ knife digital_ocean power -I 1824315 -a on
247
267
  OK
248
268
  ```
249
269
 
250
270
  ```shell
251
- ➜ knife digital_ocean power -I 1824315 -A off
271
+ ➜ knife digital_ocean power -I 1824315 -a off
252
272
  OK
253
273
  ```
254
274
 
@@ -446,13 +466,13 @@ example.com 1800
446
466
  #### Create a domain record
447
467
 
448
468
  ```shell
449
- ➜ knife digital_ocean domain create -D example.com -T cname -N www -a @
469
+ ➜ knife digital_ocean domain record create -D example.com -T cname -N www -a @
450
470
  ```
451
471
 
452
472
  #### Destroy a domain record
453
473
 
454
474
  ```shell
455
- ➜ knife digital_ocean domain destroy -D example.com -R 3355880
475
+ ➜ knife digital_ocean domain record destroy -D example.com -R 3355880
456
476
  OK
457
477
  ```
458
478
 
@@ -20,6 +20,7 @@ Gem::Specification.new do |gem|
20
20
  gem.add_development_dependency 'rubocop', '~> 0.27'
21
21
  gem.add_development_dependency 'rake'
22
22
  gem.add_development_dependency 'knife-solo'
23
+ gem.add_development_dependency 'knife-zero'
23
24
  gem.add_development_dependency 'webmock', '~> 1.20'
24
25
  gem.add_development_dependency 'vcr', '~> 2.9'
25
26
  gem.add_development_dependency 'guard', '~> 2.8'
@@ -25,6 +25,7 @@ class Chef
25
25
  # Knife loads subcommands automatically, so we can just check if the
26
26
  # class exists.
27
27
  Chef::Knife::SoloBootstrap.load_deps if defined? Chef::Knife::SoloBootstrap
28
+ Chef::Knife::ZeroBootstrap.load_deps if defined? Chef::Knife::ZeroBootstrap
28
29
  end
29
30
 
30
31
  banner 'knife digital_ocean droplet create (options)'
@@ -75,6 +76,11 @@ class Chef
75
76
  description: 'Do a chef-solo bootstrap on the droplet using knife-solo',
76
77
  proc: proc { |s| Chef::Config[:knife][:solo] = s }
77
78
 
79
+ option :zero,
80
+ long: '--[no-]zero',
81
+ description: 'Do a chef-zero bootstrap on the droplet using knife-zero',
82
+ proc: proc {|z| Chef::Config[:knife][:zero] = z }
83
+
78
84
  option :ssh_user,
79
85
  short: '-x USERNAME',
80
86
  long: '--ssh-user USERNAME',
@@ -196,6 +202,15 @@ class Chef
196
202
  exit 1
197
203
  end
198
204
 
205
+ if zero_bootstrap? && !defined?(Chef::Knife::ZeroBootstrap)
206
+ ui.error [
207
+ 'Knife plugin knife-zero was not found.',
208
+ 'Please add the knife-zero gem to your Gemfile or',
209
+ 'install it manually with `gem install knife-zero`.'
210
+ ].join(' ')
211
+ exit 1
212
+ end
213
+
199
214
  droplet = DropletKit::Droplet.new(name: locate_config_value(:server_name),
200
215
  size: locate_config_value(:size),
201
216
  image: locate_config_value(:image),
@@ -232,7 +247,7 @@ class Chef
232
247
  puts 'done'
233
248
  end
234
249
 
235
- if locate_config_value(:bootstrap) || solo_bootstrap?
250
+ if locate_config_value(:bootstrap) || solo_bootstrap? || zero_bootstrap?
236
251
  bootstrap_for_node(ip_address).run
237
252
  else
238
253
  puts ip_address
@@ -293,12 +308,22 @@ class Chef
293
308
  end
294
309
 
295
310
  def bootstrap_class
296
- solo_bootstrap? ? Chef::Knife::SoloBootstrap : Chef::Knife::Bootstrap
311
+ if solo_bootstrap?
312
+ Chef::Knife::SoloBootstrap
313
+ elsif zero_bootstrap?
314
+ Chef::Knife::ZeroBootstrap
315
+ else
316
+ Chef::Knife::Bootstrap
317
+ end
297
318
  end
298
319
 
299
320
  def solo_bootstrap?
300
321
  config[:solo] || (config[:solo].nil? && Chef::Config[:knife][:solo])
301
322
  end
323
+
324
+ def zero_bootstrap?
325
+ config[:zero] || (config[:zero].nil? && Chef::Config[:knife][:zero])
326
+ end
302
327
  end
303
328
  end
304
329
  end
@@ -36,11 +36,16 @@ class Chef
36
36
 
37
37
  droplets_ids = []
38
38
 
39
- unless locate_config_value(:server) || locate_config_value(:all)
40
- ui.error('Server cannot be empty. ALL DATA WILL BE LOST! => -S <server-id>')
39
+ unless locate_config_value(:server)
40
+ ui.error('Server cannot be empty. => -S <server-id>')
41
41
  exit 1
42
42
  end
43
43
 
44
+ unless locate_config_value(:all)
45
+ ui.error('Warning all servers will be lost unless you exit with ctrl-c now!')
46
+ 15.times{|x| print x; print 13.chr; sleep 15}
47
+ end
48
+
44
49
  if locate_config_value(:all) && !client.droplets
45
50
  ui.error('You don`t have droplets')
46
51
  exit 1
@@ -1,5 +1,5 @@
1
1
  module Knife
2
2
  module DigitalOcean
3
- VERSION = '2.3.3'
3
+ VERSION = '2.4.0'
4
4
  end
5
5
  end
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://api.digitalocean.com/v2/droplets/3195306/actions
5
+ uri: https://api.digitalocean.com/v2/droplets/4829346/actions
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{"type":"power_off"}'
@@ -12,7 +12,7 @@ http_interactions:
12
12
  Authorization:
13
13
  - Bearer FAKE_ACCESS_TOKEN
14
14
  User-Agent:
15
- - Faraday v0.9.0
15
+ - Faraday v0.9.1
16
16
  Accept-Encoding:
17
17
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
18
  Accept:
@@ -25,7 +25,7 @@ http_interactions:
25
25
  Server:
26
26
  - cloudflare-nginx
27
27
  Date:
28
- - Tue, 18 Nov 2014 03:33:42 GMT
28
+ - Sat, 11 Apr 2015 23:27:14 GMT
29
29
  Content-Type:
30
30
  - application/json; charset=utf-8
31
31
  Transfer-Encoding:
@@ -42,24 +42,25 @@ http_interactions:
42
42
  X-Content-Type-Options:
43
43
  - nosniff
44
44
  Ratelimit-Limit:
45
- - '1200'
45
+ - '5000'
46
46
  Ratelimit-Remaining:
47
- - '1188'
47
+ - '4997'
48
48
  Ratelimit-Reset:
49
- - '1416284457'
49
+ - '1428797844'
50
50
  Etag:
51
- - '"1bc3da4be4525c3ccefeb5adf66857cf"'
51
+ - '"8add870987c9c4e49d74ba6b653690a3"'
52
52
  Cache-Control:
53
53
  - max-age=0, private, must-revalidate
54
54
  X-Request-Id:
55
- - 32dc4a00-abd4-4d8b-96f1-2b491f05bc95
55
+ - e2cac9ba-7bc9-444f-939c-02c57920221c
56
56
  X-Runtime:
57
- - '0.120867'
57
+ - '0.166743'
58
58
  Cf-Ray:
59
- - 18b11bad05190ecd-EWR
59
+ - 1d5a76021bd31834-EWR
60
60
  body:
61
61
  encoding: UTF-8
62
- string: '{"action":{"id":37043145,"status":"in-progress","type":"power_off","started_at":"2014-11-18T03:33:42Z","completed_at":null,"resource_id":3195306,"resource_type":"droplet","region":"nyc1"}}'
62
+ string: '{"action":{"id":47949289,"status":"in-progress","type":"power_off","started_at":"2015-04-11T23:27:14Z","completed_at":null,"resource_id":4829346,"resource_type":"droplet","region":{"name":"New
63
+ York 3","slug":"nyc3","sizes":["512mb","1gb","2gb","4gb","8gb","16gb","32gb","48gb","64gb"],"features":["virtio","private_networking","backups","ipv6","metadata"],"available":true},"region_slug":"nyc3"}}'
63
64
  http_version:
64
- recorded_at: Tue, 18 Nov 2014 03:33:42 GMT
65
+ recorded_at: Sat, 11 Apr 2015 23:27:14 GMT
65
66
  recorded_with: VCR 2.9.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://api.digitalocean.com/v2/droplets/3193966/actions
5
+ uri: https://api.digitalocean.com/v2/droplets/4829346/actions
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{"type":"power_cycle"}'
@@ -12,7 +12,7 @@ http_interactions:
12
12
  Authorization:
13
13
  - Bearer FAKE_ACCESS_TOKEN
14
14
  User-Agent:
15
- - Faraday v0.9.0
15
+ - Faraday v0.9.1
16
16
  Accept-Encoding:
17
17
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
18
  Accept:
@@ -25,7 +25,7 @@ http_interactions:
25
25
  Server:
26
26
  - cloudflare-nginx
27
27
  Date:
28
- - Tue, 18 Nov 2014 01:45:59 GMT
28
+ - Sat, 11 Apr 2015 23:30:14 GMT
29
29
  Content-Type:
30
30
  - application/json; charset=utf-8
31
31
  Transfer-Encoding:
@@ -42,86 +42,25 @@ http_interactions:
42
42
  X-Content-Type-Options:
43
43
  - nosniff
44
44
  Ratelimit-Limit:
45
- - '1200'
45
+ - '5000'
46
46
  Ratelimit-Remaining:
47
- - '1124'
47
+ - '4994'
48
48
  Ratelimit-Reset:
49
- - '1416274890'
49
+ - '1428797844'
50
50
  Etag:
51
- - '"101af51ace9699b82585e8eccb827f99"'
51
+ - '"584c42220a5ecaaddd2c2acbbfcc79bf"'
52
52
  Cache-Control:
53
53
  - max-age=0, private, must-revalidate
54
54
  X-Request-Id:
55
- - 9e5617cd-453c-45a7-a0d7-1f137640db5a
55
+ - b5a00c07-3d6b-44a8-897c-8dd6fdc2d22a
56
56
  X-Runtime:
57
- - '0.080858'
57
+ - '0.177778'
58
58
  Cf-Ray:
59
- - 18b07de2187a0ec7-EWR
59
+ - 1d5a7a65e40400ad-EWR
60
60
  body:
61
61
  encoding: UTF-8
62
- string: '{"action":{"id":37038185,"status":"in-progress","type":"power_cycle","started_at":"2014-11-18T01:45:59Z","completed_at":null,"resource_id":3193966,"resource_type":"droplet","region":"nyc3"}}'
62
+ string: '{"action":{"id":47949379,"status":"in-progress","type":"power_cycle","started_at":"2015-04-11T23:30:14Z","completed_at":null,"resource_id":4829346,"resource_type":"droplet","region":{"name":"New
63
+ York 3","slug":"nyc3","sizes":["512mb","1gb","2gb","4gb","8gb","16gb","32gb","48gb","64gb"],"features":["virtio","private_networking","backups","ipv6","metadata"],"available":true},"region_slug":"nyc3"}}'
63
64
  http_version:
64
- recorded_at: Tue, 18 Nov 2014 01:45:59 GMT
65
- - request:
66
- method: get
67
- uri: https://api.digitalocean.com/v2/droplets/3193966
68
- body:
69
- encoding: US-ASCII
70
- string: ''
71
- headers:
72
- Content-Type:
73
- - application/json
74
- Authorization:
75
- - Bearer FAKE_ACCESS_TOKEN
76
- User-Agent:
77
- - Faraday v0.9.0
78
- Accept-Encoding:
79
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
80
- Accept:
81
- - "*/*"
82
- response:
83
- status:
84
- code: 200
85
- message: OK
86
- headers:
87
- Server:
88
- - cloudflare-nginx
89
- Date:
90
- - Tue, 18 Nov 2014 01:46:02 GMT
91
- Content-Type:
92
- - application/json; charset=utf-8
93
- Transfer-Encoding:
94
- - chunked
95
- Connection:
96
- - keep-alive
97
- Set-Cookie: _COOKIE_ID_
98
- Status:
99
- - 200 OK
100
- X-Frame-Options:
101
- - SAMEORIGIN
102
- X-Xss-Protection:
103
- - 1; mode=block
104
- X-Content-Type-Options:
105
- - nosniff
106
- Ratelimit-Limit:
107
- - '1200'
108
- Ratelimit-Remaining:
109
- - '1123'
110
- Ratelimit-Reset:
111
- - '1416275267'
112
- Cache-Control:
113
- - max-age=0, private, must-revalidate
114
- X-Request-Id:
115
- - 8721b3f7-6e49-4e20-853c-d966b8997887
116
- X-Runtime:
117
- - '0.173148'
118
- Cf-Ray:
119
- - 18b07df667200ecd-EWR
120
- body:
121
- encoding: UTF-8
122
- string: '{"droplet":{"id":3193966,"name":"twerkit.gregf.org","memory":512,"vcpus":1,"disk":20,"locked":true,"status":"active","kernel":{"id":952,"name":"Debian
123
- 7.0 x64 vmlinuz-3.2.0-4-amd64 (3.2.54-2)","version":"3.2.0-4-amd64"},"created_at":"2014-11-18T00:29:26Z","features":["virtio"],"backup_ids":[],"snapshot_ids":[8073571],"image":{"id":8073571,"name":"rebuild-snapshot","distribution":"Debian","slug":null,"public":false,"regions":["nyc3","nyc3"],"created_at":"2014-11-18T00:58:36Z","min_disk_size":20},"size_slug":"512mb","networks":{"v4":[{"ip_address":"104.236.29.101","netmask":"255.255.192.0","gateway":"104.236.0.1","type":"public"}],"v6":[]},"region":{"name":"New
124
- York 3","slug":"nyc3","sizes":["32gb","16gb","2gb","1gb","4gb","8gb","512mb","64gb","48gb"],"features":["virtio","private_networking","backups","ipv6","metadata"],"available":true}}}'
125
- http_version:
126
- recorded_at: Tue, 18 Nov 2014 01:46:02 GMT
65
+ recorded_at: Sat, 11 Apr 2015 23:30:14 GMT
127
66
  recorded_with: VCR 2.9.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://api.digitalocean.com/v2/droplets/3193966/actions
5
+ uri: https://api.digitalocean.com/v2/droplets/4829346/actions
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{"type":"reboot"}'
@@ -12,7 +12,7 @@ http_interactions:
12
12
  Authorization:
13
13
  - Bearer FAKE_ACCESS_TOKEN
14
14
  User-Agent:
15
- - Faraday v0.9.0
15
+ - Faraday v0.9.1
16
16
  Accept-Encoding:
17
17
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
18
  Accept:
@@ -25,7 +25,7 @@ http_interactions:
25
25
  Server:
26
26
  - cloudflare-nginx
27
27
  Date:
28
- - Tue, 18 Nov 2014 01:41:07 GMT
28
+ - Sat, 11 Apr 2015 23:31:37 GMT
29
29
  Content-Type:
30
30
  - application/json; charset=utf-8
31
31
  Transfer-Encoding:
@@ -42,86 +42,25 @@ http_interactions:
42
42
  X-Content-Type-Options:
43
43
  - nosniff
44
44
  Ratelimit-Limit:
45
- - '1200'
45
+ - '5000'
46
46
  Ratelimit-Remaining:
47
- - '1122'
47
+ - '4991'
48
48
  Ratelimit-Reset:
49
- - '1416274185'
49
+ - '1428797844'
50
50
  Etag:
51
- - '"ea16d151f923280378c717a31aaad83e"'
51
+ - '"e54fdd7c533ef5a8cdfb54debefe0692"'
52
52
  Cache-Control:
53
53
  - max-age=0, private, must-revalidate
54
54
  X-Request-Id:
55
- - 54ec5e08-8122-4e3d-a487-093b8998dcb0
55
+ - d3fc2240-c74e-4833-8170-5ac720a71c89
56
56
  X-Runtime:
57
- - '0.162645'
57
+ - '0.151267'
58
58
  Cf-Ray:
59
- - 18b076bdd9640ec7-EWR
59
+ - 1d5a7c6f5be71876-EWR
60
60
  body:
61
61
  encoding: UTF-8
62
- string: '{"action":{"id":37037990,"status":"in-progress","type":"reboot","started_at":"2014-11-18T01:41:07Z","completed_at":null,"resource_id":3193966,"resource_type":"droplet","region":"nyc3"}}'
62
+ string: '{"action":{"id":47949421,"status":"in-progress","type":"reboot","started_at":"2015-04-11T23:31:37Z","completed_at":null,"resource_id":4829346,"resource_type":"droplet","region":{"name":"New
63
+ York 3","slug":"nyc3","sizes":["512mb","1gb","2gb","4gb","8gb","16gb","32gb","48gb","64gb"],"features":["virtio","private_networking","backups","ipv6","metadata"],"available":true},"region_slug":"nyc3"}}'
63
64
  http_version:
64
- recorded_at: Tue, 18 Nov 2014 01:41:07 GMT
65
- - request:
66
- method: get
67
- uri: https://api.digitalocean.com/v2/droplets/3193966
68
- body:
69
- encoding: US-ASCII
70
- string: ''
71
- headers:
72
- Content-Type:
73
- - application/json
74
- Authorization:
75
- - Bearer FAKE_ACCESS_TOKEN
76
- User-Agent:
77
- - Faraday v0.9.0
78
- Accept-Encoding:
79
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
80
- Accept:
81
- - "*/*"
82
- response:
83
- status:
84
- code: 200
85
- message: OK
86
- headers:
87
- Server:
88
- - cloudflare-nginx
89
- Date:
90
- - Tue, 18 Nov 2014 01:41:10 GMT
91
- Content-Type:
92
- - application/json; charset=utf-8
93
- Transfer-Encoding:
94
- - chunked
95
- Connection:
96
- - keep-alive
97
- Set-Cookie: _COOKIE_ID_
98
- Status:
99
- - 200 OK
100
- X-Frame-Options:
101
- - SAMEORIGIN
102
- X-Xss-Protection:
103
- - 1; mode=block
104
- X-Content-Type-Options:
105
- - nosniff
106
- Ratelimit-Limit:
107
- - '1200'
108
- Ratelimit-Remaining:
109
- - '1121'
110
- Ratelimit-Reset:
111
- - '1416274890'
112
- Cache-Control:
113
- - max-age=0, private, must-revalidate
114
- X-Request-Id:
115
- - 79774f3b-ac64-450f-9603-0e8a32ac35d6
116
- X-Runtime:
117
- - '0.125194'
118
- Cf-Ray:
119
- - 18b076d3a4aa0ecd-EWR
120
- body:
121
- encoding: UTF-8
122
- string: '{"droplet":{"id":3193966,"name":"twerkit.gregf.org","memory":512,"vcpus":1,"disk":20,"locked":true,"status":"active","kernel":{"id":952,"name":"Debian
123
- 7.0 x64 vmlinuz-3.2.0-4-amd64 (3.2.54-2)","version":"3.2.0-4-amd64"},"created_at":"2014-11-18T00:29:26Z","features":["virtio"],"backup_ids":[],"snapshot_ids":[8073571],"image":{"id":8073571,"name":"rebuild-snapshot","distribution":"Debian","slug":null,"public":false,"regions":["nyc3","nyc3"],"created_at":"2014-11-18T00:58:36Z","min_disk_size":20},"size_slug":"512mb","networks":{"v4":[{"ip_address":"104.236.29.101","netmask":"255.255.192.0","gateway":"104.236.0.1","type":"public"}],"v6":[]},"region":{"name":"New
124
- York 3","slug":"nyc3","sizes":["32gb","16gb","2gb","1gb","4gb","8gb","512mb","64gb","48gb"],"features":["virtio","private_networking","backups","ipv6","metadata"],"available":true}}}'
125
- http_version:
126
- recorded_at: Tue, 18 Nov 2014 01:41:10 GMT
65
+ recorded_at: Sat, 11 Apr 2015 23:31:37 GMT
127
66
  recorded_with: VCR 2.9.3
@@ -2,17 +2,17 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://api.digitalocean.com/v2/droplets/3193966/actions
5
+ uri: https://api.digitalocean.com/v2/droplets/4829346/actions
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"type":"rebuild","image":"8073571"}'
8
+ string: '{"type":"rebuild","image":"10322059"}'
9
9
  headers:
10
10
  Content-Type:
11
11
  - application/json
12
12
  Authorization:
13
13
  - Bearer FAKE_ACCESS_TOKEN
14
14
  User-Agent:
15
- - Faraday v0.9.0
15
+ - Faraday v0.9.1
16
16
  Accept-Encoding:
17
17
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
18
  Accept:
@@ -25,7 +25,7 @@ http_interactions:
25
25
  Server:
26
26
  - cloudflare-nginx
27
27
  Date:
28
- - Tue, 18 Nov 2014 03:22:25 GMT
28
+ - Sat, 11 Apr 2015 23:33:41 GMT
29
29
  Content-Type:
30
30
  - application/json; charset=utf-8
31
31
  Transfer-Encoding:
@@ -42,24 +42,25 @@ http_interactions:
42
42
  X-Content-Type-Options:
43
43
  - nosniff
44
44
  Ratelimit-Limit:
45
- - '1200'
45
+ - '5000'
46
46
  Ratelimit-Remaining:
47
- - '1197'
47
+ - '4986'
48
48
  Ratelimit-Reset:
49
- - '1416284457'
49
+ - '1428797844'
50
50
  Etag:
51
- - '"ea08394e50630400950fc136b07a7c45"'
51
+ - '"d44909df3094d7c57563eeff2ae9a9c7"'
52
52
  Cache-Control:
53
53
  - max-age=0, private, must-revalidate
54
54
  X-Request-Id:
55
- - 46a6bdb7-12e5-4670-ae26-95599119689c
55
+ - 5e399a3c-23cc-4647-8d3c-abd6dc42233a
56
56
  X-Runtime:
57
- - '0.124437'
57
+ - '0.124368'
58
58
  Cf-Ray:
59
- - 18b10b27665a0ecd-EWR
59
+ - 1d5a7f75b3a61876-EWR
60
60
  body:
61
61
  encoding: UTF-8
62
- string: '{"action":{"id":37042642,"status":"in-progress","type":"rebuild","started_at":"2014-11-18T03:22:25Z","completed_at":null,"resource_id":3193966,"resource_type":"droplet","region":"nyc3"}}'
62
+ string: '{"action":{"id":47949482,"status":"in-progress","type":"rebuild","started_at":"2015-04-11T23:33:41Z","completed_at":null,"resource_id":4829346,"resource_type":"droplet","region":{"name":"New
63
+ York 3","slug":"nyc3","sizes":["512mb","1gb","2gb","4gb","8gb","16gb","32gb","48gb","64gb"],"features":["virtio","private_networking","backups","ipv6","metadata"],"available":true},"region_slug":"nyc3"}}'
63
64
  http_version:
64
- recorded_at: Tue, 18 Nov 2014 03:22:25 GMT
65
+ recorded_at: Sat, 11 Apr 2015 23:33:41 GMT
65
66
  recorded_with: VCR 2.9.3