knife-digital_ocean 2.3.3 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
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