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 +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +28 -8
- data/knife-digital_ocean.gemspec +1 -0
- data/lib/chef/knife/digital_ocean_droplet_create.rb +27 -2
- data/lib/chef/knife/digital_ocean_droplet_destroy.rb +7 -2
- data/lib/knife-digital_ocean/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/droplet_power.yml +13 -12
- data/spec/fixtures/vcr_cassettes/droplet_powercycle.yml +13 -74
- data/spec/fixtures/vcr_cassettes/droplet_reboot.yml +13 -74
- data/spec/fixtures/vcr_cassettes/droplet_rebuild.yml +14 -13
- data/spec/fixtures/vcr_cassettes/droplet_rename.yml +13 -74
- data/spec/fixtures/vcr_cassettes/droplet_resize.yml +14 -13
- data/spec/fixtures/vcr_cassettes/droplet_snapshot.yml +13 -1004
- data/spec/lib/chef/knife/digital_ocean_droplet_power_spec.rb +1 -1
- data/spec/lib/chef/knife/digital_ocean_droplet_powercycle_spec.rb +1 -1
- data/spec/lib/chef/knife/digital_ocean_droplet_reboot_spec.rb +1 -1
- data/spec/lib/chef/knife/digital_ocean_droplet_rebuild_spec.rb +2 -2
- data/spec/lib/chef/knife/digital_ocean_droplet_rename_spec.rb +1 -1
- data/spec/lib/chef/knife/digital_ocean_droplet_resize_spec.rb +1 -1
- data/spec/lib/chef/knife/digital_ocean_droplet_snapshot_spec.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bedce18b715271ffb566428d10d5ab93e1af8f2
|
4
|
+
data.tar.gz: 5ba947ad792cfa26ec4232457cea6e79cf6dd96c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 138af5bec6a1ea1483e41cd5b30503ba53007f04e8f3203288c5e153d63702f8660dc36d350b4e4bb60e169f61c86b3ea5a81c39e66578bbab700f5e604df7fe
|
7
|
+
data.tar.gz: acebc494d1a7b4dab59844e9ac9358837eeae99e28c55c5e9d7a202eb801db06622924d91f5e8fc091f728fb9b531ee1cebb05f54f22d697e7c0afa96f130d3f
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
[](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 **
|
118
|
-
If you use ```knife-
|
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
|
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 -
|
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 -
|
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
|
|
data/knife-digital_ocean.gemspec
CHANGED
@@ -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?
|
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)
|
40
|
-
ui.error('Server cannot be empty.
|
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
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: post
|
5
|
-
uri: https://api.digitalocean.com/v2/droplets/
|
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.
|
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
|
-
-
|
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
|
-
- '
|
45
|
+
- '5000'
|
46
46
|
Ratelimit-Remaining:
|
47
|
-
- '
|
47
|
+
- '4997'
|
48
48
|
Ratelimit-Reset:
|
49
|
-
- '
|
49
|
+
- '1428797844'
|
50
50
|
Etag:
|
51
|
-
- '"
|
51
|
+
- '"8add870987c9c4e49d74ba6b653690a3"'
|
52
52
|
Cache-Control:
|
53
53
|
- max-age=0, private, must-revalidate
|
54
54
|
X-Request-Id:
|
55
|
-
-
|
55
|
+
- e2cac9ba-7bc9-444f-939c-02c57920221c
|
56
56
|
X-Runtime:
|
57
|
-
- '0.
|
57
|
+
- '0.166743'
|
58
58
|
Cf-Ray:
|
59
|
-
-
|
59
|
+
- 1d5a76021bd31834-EWR
|
60
60
|
body:
|
61
61
|
encoding: UTF-8
|
62
|
-
string: '{"action":{"id":
|
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:
|
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/
|
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.
|
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
|
-
-
|
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
|
-
- '
|
45
|
+
- '5000'
|
46
46
|
Ratelimit-Remaining:
|
47
|
-
- '
|
47
|
+
- '4994'
|
48
48
|
Ratelimit-Reset:
|
49
|
-
- '
|
49
|
+
- '1428797844'
|
50
50
|
Etag:
|
51
|
-
- '"
|
51
|
+
- '"584c42220a5ecaaddd2c2acbbfcc79bf"'
|
52
52
|
Cache-Control:
|
53
53
|
- max-age=0, private, must-revalidate
|
54
54
|
X-Request-Id:
|
55
|
-
-
|
55
|
+
- b5a00c07-3d6b-44a8-897c-8dd6fdc2d22a
|
56
56
|
X-Runtime:
|
57
|
-
- '0.
|
57
|
+
- '0.177778'
|
58
58
|
Cf-Ray:
|
59
|
-
-
|
59
|
+
- 1d5a7a65e40400ad-EWR
|
60
60
|
body:
|
61
61
|
encoding: UTF-8
|
62
|
-
string: '{"action":{"id":
|
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:
|
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/
|
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.
|
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
|
-
-
|
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
|
-
- '
|
45
|
+
- '5000'
|
46
46
|
Ratelimit-Remaining:
|
47
|
-
- '
|
47
|
+
- '4991'
|
48
48
|
Ratelimit-Reset:
|
49
|
-
- '
|
49
|
+
- '1428797844'
|
50
50
|
Etag:
|
51
|
-
- '"
|
51
|
+
- '"e54fdd7c533ef5a8cdfb54debefe0692"'
|
52
52
|
Cache-Control:
|
53
53
|
- max-age=0, private, must-revalidate
|
54
54
|
X-Request-Id:
|
55
|
-
-
|
55
|
+
- d3fc2240-c74e-4833-8170-5ac720a71c89
|
56
56
|
X-Runtime:
|
57
|
-
- '0.
|
57
|
+
- '0.151267'
|
58
58
|
Cf-Ray:
|
59
|
-
-
|
59
|
+
- 1d5a7c6f5be71876-EWR
|
60
60
|
body:
|
61
61
|
encoding: UTF-8
|
62
|
-
string: '{"action":{"id":
|
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:
|
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/
|
5
|
+
uri: https://api.digitalocean.com/v2/droplets/4829346/actions
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
|
-
string: '{"type":"rebuild","image":"
|
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.
|
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
|
-
-
|
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
|
-
- '
|
45
|
+
- '5000'
|
46
46
|
Ratelimit-Remaining:
|
47
|
-
- '
|
47
|
+
- '4986'
|
48
48
|
Ratelimit-Reset:
|
49
|
-
- '
|
49
|
+
- '1428797844'
|
50
50
|
Etag:
|
51
|
-
- '"
|
51
|
+
- '"d44909df3094d7c57563eeff2ae9a9c7"'
|
52
52
|
Cache-Control:
|
53
53
|
- max-age=0, private, must-revalidate
|
54
54
|
X-Request-Id:
|
55
|
-
-
|
55
|
+
- 5e399a3c-23cc-4647-8d3c-abd6dc42233a
|
56
56
|
X-Runtime:
|
57
|
-
- '0.
|
57
|
+
- '0.124368'
|
58
58
|
Cf-Ray:
|
59
|
-
-
|
59
|
+
- 1d5a7f75b3a61876-EWR
|
60
60
|
body:
|
61
61
|
encoding: UTF-8
|
62
|
-
string: '{"action":{"id":
|
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:
|
65
|
+
recorded_at: Sat, 11 Apr 2015 23:33:41 GMT
|
65
66
|
recorded_with: VCR 2.9.3
|