droplet_kit 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +7 -0
- data/README.md +46 -12
- data/droplet_kit.gemspec +2 -1
- data/lib/droplet_kit.rb +12 -0
- data/lib/droplet_kit/client.rb +2 -0
- data/lib/droplet_kit/mappings/certificate_mapping.rb +25 -0
- data/lib/droplet_kit/mappings/droplet_mapping.rb +1 -0
- data/lib/droplet_kit/mappings/forwarding_rule_mapping.rb +19 -0
- data/lib/droplet_kit/mappings/health_check_mapping.rb +19 -0
- data/lib/droplet_kit/mappings/image_mapping.rb +5 -1
- data/lib/droplet_kit/mappings/load_balancer_mapping.rb +33 -0
- data/lib/droplet_kit/mappings/sticky_session_mapping.rb +15 -0
- data/lib/droplet_kit/models/certificate.rb +12 -0
- data/lib/droplet_kit/models/droplet.rb +1 -0
- data/lib/droplet_kit/models/forwarding_rule.rb +10 -0
- data/lib/droplet_kit/models/health_check.rb +11 -0
- data/lib/droplet_kit/models/image.rb +42 -0
- data/lib/droplet_kit/models/load_balancer.rb +17 -0
- data/lib/droplet_kit/models/sticky_session.rb +7 -0
- data/lib/droplet_kit/resources/certificate_resource.rb +30 -0
- data/lib/droplet_kit/resources/droplet_action_resource.rb +2 -2
- data/lib/droplet_kit/resources/load_balancer_resource.rb +56 -0
- data/lib/droplet_kit/version.rb +1 -1
- data/spec/fixtures/certificates/all.json +16 -0
- data/spec/fixtures/certificates/find.json +9 -0
- data/spec/fixtures/images/find.json +4 -2
- data/spec/fixtures/load_balancers/all.json +129 -0
- data/spec/fixtures/load_balancers/find.json +59 -0
- data/spec/lib/droplet_kit/resources/certificate_resource_spec.rb +90 -0
- data/spec/lib/droplet_kit/resources/droplet_action_resource_spec.rb +4 -4
- data/spec/lib/droplet_kit/resources/droplet_resource_spec.rb +2 -0
- data/spec/lib/droplet_kit/resources/image_resource_spec.rb +5 -1
- data/spec/lib/droplet_kit/resources/load_balancer_resource_spec.rb +213 -0
- data/spec/spec_helper.rb +1 -3
- metadata +41 -3
@@ -120,6 +120,7 @@ RSpec.describe DropletKit::DropletResource do
|
|
120
120
|
image: 'ubuntu-14-04-x86',
|
121
121
|
ssh_keys: [123],
|
122
122
|
backups: true,
|
123
|
+
monitoring: true,
|
123
124
|
ipv6: true,
|
124
125
|
private_networking: true,
|
125
126
|
user_data: "#cloud-config\nruncmd\n\t- echo 'Hello!'",
|
@@ -133,6 +134,7 @@ RSpec.describe DropletKit::DropletResource do
|
|
133
134
|
expect(as_hash['image']).to eq(droplet.image)
|
134
135
|
expect(as_hash['ssh_keys']).to eq(droplet.ssh_keys)
|
135
136
|
expect(as_hash['backups']).to eq(droplet.backups)
|
137
|
+
expect(as_hash['monitoring']).to eq(droplet.monitoring)
|
136
138
|
expect(as_hash['ipv6']).to eq(droplet.ipv6)
|
137
139
|
expect(as_hash['private_networking']).to eq(droplet.private_networking)
|
138
140
|
expect(as_hash['user_data']).to eq(droplet.user_data)
|
@@ -51,6 +51,10 @@ RSpec.describe DropletKit::ImageResource do
|
|
51
51
|
expect(image.public).to eq(false)
|
52
52
|
expect(image.regions).to eq(["region--1"])
|
53
53
|
expect(image.type).to eq("snapshot")
|
54
|
+
|
55
|
+
expect(image.min_disk_size).to eq(20)
|
56
|
+
expect(image.size_gigabytes).to eq(0.43)
|
57
|
+
expect(image.created_at).to eq('2014-07-29T14:35:41Z')
|
54
58
|
end
|
55
59
|
|
56
60
|
it_behaves_like 'resource that handles common errors' do
|
@@ -86,4 +90,4 @@ RSpec.describe DropletKit::ImageResource do
|
|
86
90
|
expect(image.id).to eq(146)
|
87
91
|
end
|
88
92
|
end
|
89
|
-
end
|
93
|
+
end
|
@@ -0,0 +1,213 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe DropletKit::LoadBalancerResource do
|
4
|
+
include_context 'resources'
|
5
|
+
|
6
|
+
let(:load_balancer_fixture_path) { 'load_balancers/find' }
|
7
|
+
let(:base_path) { '/v2/load_balancers'}
|
8
|
+
let(:load_balancer_id) { '37e6be88-01ec-4ec7-9bc6-a514d4719057' }
|
9
|
+
|
10
|
+
subject(:resource) { described_class.new(connection: connection) }
|
11
|
+
|
12
|
+
RSpec::Matchers.define :match_load_balancer_fixture do
|
13
|
+
match do |load_balancer|
|
14
|
+
expect(load_balancer.name).to eq('example-lb-01')
|
15
|
+
expect(load_balancer.id).to eq('4de7ac8b-495b-4884-9a69-1050c6793cd6')
|
16
|
+
expect(load_balancer.ip).to eq('104.131.186.241')
|
17
|
+
expect(load_balancer.algorithm).to eq('round_robin')
|
18
|
+
expect(load_balancer.status).to eq('active')
|
19
|
+
expect(load_balancer.created_at).to eq('2017-02-01T22:22:58Z')
|
20
|
+
expect(load_balancer.tag).to be_blank
|
21
|
+
expect(load_balancer.region).to be_kind_of(DropletKit::Region)
|
22
|
+
expect(load_balancer.region.attributes)
|
23
|
+
.to match(a_hash_including(slug: 'nyc3', name: 'New York 3',
|
24
|
+
available: true, sizes: ['512mb'], features: ['private_networking']))
|
25
|
+
expect(load_balancer.droplet_ids).to match_array([3164445, 3164444])
|
26
|
+
expect(load_balancer.sticky_sessions).to be_kind_of(DropletKit::StickySession)
|
27
|
+
expect(load_balancer.sticky_sessions.attributes)
|
28
|
+
.to match(a_hash_including(cookie_ttl_seconds: 5, cookie_name: 'DO-LB', type: 'cookies'))
|
29
|
+
expect(load_balancer.health_check).to be_kind_of(DropletKit::HealthCheck)
|
30
|
+
expect(load_balancer.health_check.attributes)
|
31
|
+
.to match(a_hash_including(protocol: 'http', port: 80, path: '/',
|
32
|
+
check_interval_seconds: 10, response_timeout_seconds: 5,
|
33
|
+
healthy_threshold: 5, unhealthy_threshold: 3))
|
34
|
+
expect(load_balancer.forwarding_rules.count).to eq(2)
|
35
|
+
expect(load_balancer.forwarding_rules.first.attributes)
|
36
|
+
.to match(a_hash_including(entry_protocol: 'http', entry_port: 80,
|
37
|
+
target_protocol: 'http', target_port: 80,
|
38
|
+
certificate_id: '', tls_passthrough: false))
|
39
|
+
expect(load_balancer.forwarding_rules.last.attributes)
|
40
|
+
.to match(a_hash_including(entry_protocol: 'https', entry_port: 444,
|
41
|
+
target_protocol: 'https', target_port: 443,
|
42
|
+
certificate_id: 'my-cert', tls_passthrough: true))
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe '#find' do
|
47
|
+
it 'returns load balancer' do
|
48
|
+
stub_do_api(File.join(base_path, load_balancer_id), :get).to_return(body: api_fixture(load_balancer_fixture_path))
|
49
|
+
load_balancer = resource.find(id: load_balancer_id)
|
50
|
+
|
51
|
+
expect(load_balancer).to match_load_balancer_fixture
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe '#all' do
|
56
|
+
let(:load_balancers_fixture_path) { 'load_balancers/all' }
|
57
|
+
|
58
|
+
it 'returns all of the load balancers' do
|
59
|
+
stub_do_api(base_path, :get).to_return(body: api_fixture(load_balancers_fixture_path))
|
60
|
+
load_balancers = resource.all
|
61
|
+
|
62
|
+
expect(load_balancers).to all(be_kind_of(DropletKit::LoadBalancer))
|
63
|
+
expect(load_balancers.first).to match_load_balancer_fixture
|
64
|
+
end
|
65
|
+
|
66
|
+
it_behaves_like 'a paginated index' do
|
67
|
+
let(:fixture_path) { load_balancers_fixture_path }
|
68
|
+
let(:api_path) { base_path }
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context 'create and update' do
|
73
|
+
let(:load_balancer) do
|
74
|
+
DropletKit::LoadBalancer.new(
|
75
|
+
name: 'example-lb-01',
|
76
|
+
algorithm: 'round_robin',
|
77
|
+
droplet_ids: [ 3164444, 3164445],
|
78
|
+
redirect_http_to_https: true,
|
79
|
+
region: 'nyc1',
|
80
|
+
forwarding_rules: [
|
81
|
+
DropletKit::ForwardingRule.new(
|
82
|
+
entry_protocol: 'https',
|
83
|
+
entry_port: 444,
|
84
|
+
target_protocol: 'https',
|
85
|
+
target_port: 443,
|
86
|
+
certificate_id: 'my-cert',
|
87
|
+
tls_passthrough: false
|
88
|
+
)
|
89
|
+
],
|
90
|
+
sticky_sessions: DropletKit::StickySession.new(
|
91
|
+
type: 'cookies',
|
92
|
+
cookie_name: 'DO-LB',
|
93
|
+
cookie_ttl_seconds: 5
|
94
|
+
),
|
95
|
+
health_check: DropletKit::HealthCheck.new(
|
96
|
+
protocol: 'http',
|
97
|
+
port: 80,
|
98
|
+
path: 'index.html',
|
99
|
+
check_interval_seconds: 10,
|
100
|
+
response_timeout_seconds: 5,
|
101
|
+
healthy_threshold: 5,
|
102
|
+
unhealthy_threshold: 3
|
103
|
+
)
|
104
|
+
)
|
105
|
+
end
|
106
|
+
|
107
|
+
describe '#create' do
|
108
|
+
let(:path) { base_path }
|
109
|
+
|
110
|
+
it 'returns created load balancer' do
|
111
|
+
json_body = DropletKit::LoadBalancerMapping.representation_for(:create, load_balancer)
|
112
|
+
stub_do_api(path, :post).with(body: json_body).to_return(body: api_fixture(load_balancer_fixture_path), status: 202)
|
113
|
+
|
114
|
+
expect(resource.create(load_balancer)).to match_load_balancer_fixture
|
115
|
+
end
|
116
|
+
|
117
|
+
it_behaves_like 'an action that handles invalid parameters' do
|
118
|
+
let(:action) { 'create' }
|
119
|
+
let(:arguments) { DropletKit::LoadBalancer.new }
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
describe '#update' do
|
124
|
+
let(:path) { base_path }
|
125
|
+
|
126
|
+
it 'returns updated load balancer' do
|
127
|
+
json_body = DropletKit::LoadBalancerMapping.representation_for(:update, load_balancer)
|
128
|
+
stub_do_api(File.join(base_path, load_balancer_id), :put).with(body: json_body).to_return(body: api_fixture(load_balancer_fixture_path), status: 200)
|
129
|
+
|
130
|
+
expect(resource.update(load_balancer, id: load_balancer_id)).to match_load_balancer_fixture
|
131
|
+
end
|
132
|
+
|
133
|
+
it_behaves_like 'an action that handles invalid parameters' do
|
134
|
+
let(:action) { 'create' }
|
135
|
+
let(:arguments) { DropletKit::LoadBalancer.new }
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
describe '#delete' do
|
141
|
+
it 'sends a delete request for the load balancer' do
|
142
|
+
request = stub_do_api(File.join(base_path, load_balancer_id), :delete)
|
143
|
+
resource.delete(id: load_balancer_id)
|
144
|
+
|
145
|
+
expect(request).to have_been_made
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
context 'droplets' do
|
150
|
+
let(:droplet_id_1) { 1 }
|
151
|
+
let(:droplet_id_2) { 2 }
|
152
|
+
|
153
|
+
describe '#add_droplets' do
|
154
|
+
it 'sends a post request for the load balancer to add droplets' do
|
155
|
+
request = stub_do_api(File.join(base_path, load_balancer_id, 'droplets'), :post).with(body: { droplet_ids: [droplet_id_1, droplet_id_2] }.to_json)
|
156
|
+
resource.add_droplets([droplet_id_1, droplet_id_2], id: load_balancer_id)
|
157
|
+
|
158
|
+
expect(request).to have_been_made
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
describe '#remove_droplets' do
|
163
|
+
it 'sends a delete request for the load balancer to remove droplet' do
|
164
|
+
request = stub_do_api(File.join(base_path, load_balancer_id, 'droplets'), :delete).with(body: { droplet_ids: [droplet_id_1]}.to_json)
|
165
|
+
resource.remove_droplets([droplet_id_1], id: load_balancer_id)
|
166
|
+
|
167
|
+
expect(request).to have_been_made
|
168
|
+
end
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
context 'forwarding_rules' do
|
173
|
+
let(:forwarding_rule_1) do
|
174
|
+
DropletKit::ForwardingRule.new(
|
175
|
+
entry_protocol: 'tcp',
|
176
|
+
entry_port: 3306,
|
177
|
+
target_protocol: 'tcp',
|
178
|
+
target_port: 3306
|
179
|
+
)
|
180
|
+
end
|
181
|
+
|
182
|
+
let(:forwarding_rule_2) do
|
183
|
+
DropletKit::ForwardingRule.new(
|
184
|
+
entry_protocol: 'https',
|
185
|
+
entry_port: 444,
|
186
|
+
target_protocol: 'https',
|
187
|
+
target_port: 443,
|
188
|
+
certificate_id: '',
|
189
|
+
tls_passthrough: true
|
190
|
+
)
|
191
|
+
end
|
192
|
+
|
193
|
+
describe '#add_forwarding_rules' do
|
194
|
+
it 'sends a post request for the load balancer to add forwarding rules' do
|
195
|
+
json_body = DropletKit::ForwardingRuleMapping.represent_collection_for(:create, [forwarding_rule_1, forwarding_rule_2])
|
196
|
+
request = stub_do_api(File.join(base_path, load_balancer_id, 'forwarding_rules'), :post).with(body: json_body)
|
197
|
+
resource.add_forwarding_rules([forwarding_rule_1, forwarding_rule_2], id: load_balancer_id)
|
198
|
+
|
199
|
+
expect(request).to have_been_made
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
describe '#remove_forwarding_rules' do
|
204
|
+
it 'sends a delete request for the load balancer to remove forwarding rule' do
|
205
|
+
json_body = DropletKit::ForwardingRuleMapping.represent_collection_for(:update, [forwarding_rule_1])
|
206
|
+
request = stub_do_api(File.join(base_path, load_balancer_id, 'forwarding_rules'), :delete).with(body: json_body)
|
207
|
+
resource.remove_forwarding_rules([forwarding_rule_1], id: load_balancer_id)
|
208
|
+
|
209
|
+
expect(request).to have_been_made
|
210
|
+
end
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -7,9 +7,7 @@ require 'addressable/uri'
|
|
7
7
|
require 'droplet_kit'
|
8
8
|
require 'webmock/rspec'
|
9
9
|
|
10
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter
|
11
|
-
SimpleCov::Formatter::HTMLFormatter
|
12
|
-
]
|
10
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(SimpleCov::Formatter::HTMLFormatter)
|
13
11
|
|
14
12
|
Dir['./spec/support/**/*.rb'].each do |file|
|
15
13
|
require file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: droplet_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Ross
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: virtus
|
@@ -142,6 +142,20 @@ dependencies:
|
|
142
142
|
- - ">="
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: rb-readline
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
type: :development
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
145
159
|
- !ruby/object:Gem::Dependency
|
146
160
|
name: sinatra
|
147
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,20 +205,25 @@ files:
|
|
191
205
|
- lib/droplet_kit/error_handling_resourcable.rb
|
192
206
|
- lib/droplet_kit/mappings/account_mapping.rb
|
193
207
|
- lib/droplet_kit/mappings/action_mapping.rb
|
208
|
+
- lib/droplet_kit/mappings/certificate_mapping.rb
|
194
209
|
- lib/droplet_kit/mappings/domain_mapping.rb
|
195
210
|
- lib/droplet_kit/mappings/domain_record_mapping.rb
|
196
211
|
- lib/droplet_kit/mappings/droplet_mapping.rb
|
197
212
|
- lib/droplet_kit/mappings/droplet_upgrade_mapping.rb
|
198
213
|
- lib/droplet_kit/mappings/error_mapping.rb
|
199
214
|
- lib/droplet_kit/mappings/floating_ip_mapping.rb
|
215
|
+
- lib/droplet_kit/mappings/forwarding_rule_mapping.rb
|
216
|
+
- lib/droplet_kit/mappings/health_check_mapping.rb
|
200
217
|
- lib/droplet_kit/mappings/image_mapping.rb
|
201
218
|
- lib/droplet_kit/mappings/kernel_mapping.rb
|
219
|
+
- lib/droplet_kit/mappings/load_balancer_mapping.rb
|
202
220
|
- lib/droplet_kit/mappings/network_detail_mapping.rb
|
203
221
|
- lib/droplet_kit/mappings/network_mapping.rb
|
204
222
|
- lib/droplet_kit/mappings/region_mapping.rb
|
205
223
|
- lib/droplet_kit/mappings/size_mapping.rb
|
206
224
|
- lib/droplet_kit/mappings/snapshot_mapping.rb
|
207
225
|
- lib/droplet_kit/mappings/ssh_key_mapping.rb
|
226
|
+
- lib/droplet_kit/mappings/sticky_session_mapping.rb
|
208
227
|
- lib/droplet_kit/mappings/tag_mapping.rb
|
209
228
|
- lib/droplet_kit/mappings/tagged_droplets_resources_mapping.rb
|
210
229
|
- lib/droplet_kit/mappings/tagged_resources_mapping.rb
|
@@ -212,13 +231,17 @@ files:
|
|
212
231
|
- lib/droplet_kit/models/account.rb
|
213
232
|
- lib/droplet_kit/models/action.rb
|
214
233
|
- lib/droplet_kit/models/base_model.rb
|
234
|
+
- lib/droplet_kit/models/certificate.rb
|
215
235
|
- lib/droplet_kit/models/domain.rb
|
216
236
|
- lib/droplet_kit/models/domain_record.rb
|
217
237
|
- lib/droplet_kit/models/droplet.rb
|
218
238
|
- lib/droplet_kit/models/droplet_upgrade.rb
|
219
239
|
- lib/droplet_kit/models/floating_ip.rb
|
240
|
+
- lib/droplet_kit/models/forwarding_rule.rb
|
241
|
+
- lib/droplet_kit/models/health_check.rb
|
220
242
|
- lib/droplet_kit/models/image.rb
|
221
243
|
- lib/droplet_kit/models/kernel.rb
|
244
|
+
- lib/droplet_kit/models/load_balancer.rb
|
222
245
|
- lib/droplet_kit/models/meta_information.rb
|
223
246
|
- lib/droplet_kit/models/network.rb
|
224
247
|
- lib/droplet_kit/models/network_hash.rb
|
@@ -227,6 +250,7 @@ files:
|
|
227
250
|
- lib/droplet_kit/models/size.rb
|
228
251
|
- lib/droplet_kit/models/snapshot.rb
|
229
252
|
- lib/droplet_kit/models/ssh_key.rb
|
253
|
+
- lib/droplet_kit/models/sticky_session.rb
|
230
254
|
- lib/droplet_kit/models/tag.rb
|
231
255
|
- lib/droplet_kit/models/tagged_droplets_resources.rb
|
232
256
|
- lib/droplet_kit/models/tagged_resources.rb
|
@@ -234,6 +258,7 @@ files:
|
|
234
258
|
- lib/droplet_kit/paginated_resource.rb
|
235
259
|
- lib/droplet_kit/resources/account_resource.rb
|
236
260
|
- lib/droplet_kit/resources/action_resource.rb
|
261
|
+
- lib/droplet_kit/resources/certificate_resource.rb
|
237
262
|
- lib/droplet_kit/resources/domain_record_resource.rb
|
238
263
|
- lib/droplet_kit/resources/domain_resource.rb
|
239
264
|
- lib/droplet_kit/resources/droplet_action_resource.rb
|
@@ -243,6 +268,7 @@ files:
|
|
243
268
|
- lib/droplet_kit/resources/floating_ip_resource.rb
|
244
269
|
- lib/droplet_kit/resources/image_action_resource.rb
|
245
270
|
- lib/droplet_kit/resources/image_resource.rb
|
271
|
+
- lib/droplet_kit/resources/load_balancer_resource.rb
|
246
272
|
- lib/droplet_kit/resources/region_resource.rb
|
247
273
|
- lib/droplet_kit/resources/size_resource.rb
|
248
274
|
- lib/droplet_kit/resources/snapshot_resource.rb
|
@@ -255,6 +281,8 @@ files:
|
|
255
281
|
- spec/fixtures/account/info.json
|
256
282
|
- spec/fixtures/actions/all.json
|
257
283
|
- spec/fixtures/actions/find.json
|
284
|
+
- spec/fixtures/certificates/all.json
|
285
|
+
- spec/fixtures/certificates/find.json
|
258
286
|
- spec/fixtures/domain_records/all.json
|
259
287
|
- spec/fixtures/domain_records/create.json
|
260
288
|
- spec/fixtures/domain_records/find.json
|
@@ -307,6 +335,8 @@ files:
|
|
307
335
|
- spec/fixtures/images/find.json
|
308
336
|
- spec/fixtures/images/private.json
|
309
337
|
- spec/fixtures/images/type.json
|
338
|
+
- spec/fixtures/load_balancers/all.json
|
339
|
+
- spec/fixtures/load_balancers/find.json
|
310
340
|
- spec/fixtures/regions/all.json
|
311
341
|
- spec/fixtures/sizes/all.json
|
312
342
|
- spec/fixtures/snapshots/all.json
|
@@ -335,6 +365,7 @@ files:
|
|
335
365
|
- spec/lib/droplet_kit/paginated_resource_spec.rb
|
336
366
|
- spec/lib/droplet_kit/resources/account_resource_spec.rb
|
337
367
|
- spec/lib/droplet_kit/resources/action_resource_spec.rb
|
368
|
+
- spec/lib/droplet_kit/resources/certificate_resource_spec.rb
|
338
369
|
- spec/lib/droplet_kit/resources/domain_record_resource_spec.rb
|
339
370
|
- spec/lib/droplet_kit/resources/domain_resource_spec.rb
|
340
371
|
- spec/lib/droplet_kit/resources/droplet_action_resource_spec.rb
|
@@ -344,6 +375,7 @@ files:
|
|
344
375
|
- spec/lib/droplet_kit/resources/floating_ip_resource_spec.rb
|
345
376
|
- spec/lib/droplet_kit/resources/image_action_resource_spec.rb
|
346
377
|
- spec/lib/droplet_kit/resources/image_resource_spec.rb
|
378
|
+
- spec/lib/droplet_kit/resources/load_balancer_resource_spec.rb
|
347
379
|
- spec/lib/droplet_kit/resources/region_resource_spec.rb
|
348
380
|
- spec/lib/droplet_kit/resources/size_resource_spec.rb
|
349
381
|
- spec/lib/droplet_kit/resources/snapshot_resource_spec.rb
|
@@ -358,7 +390,7 @@ files:
|
|
358
390
|
- spec/support/shared_examples/common_errors.rb
|
359
391
|
- spec/support/shared_examples/paginated_endpoint.rb
|
360
392
|
- spec/support/shared_examples/unsuccessful_create.rb
|
361
|
-
homepage:
|
393
|
+
homepage: https://github.com/digitalocean/droplet_kit
|
362
394
|
licenses:
|
363
395
|
- MIT
|
364
396
|
metadata: {}
|
@@ -386,6 +418,8 @@ test_files:
|
|
386
418
|
- spec/fixtures/account/info.json
|
387
419
|
- spec/fixtures/actions/all.json
|
388
420
|
- spec/fixtures/actions/find.json
|
421
|
+
- spec/fixtures/certificates/all.json
|
422
|
+
- spec/fixtures/certificates/find.json
|
389
423
|
- spec/fixtures/domain_records/all.json
|
390
424
|
- spec/fixtures/domain_records/create.json
|
391
425
|
- spec/fixtures/domain_records/find.json
|
@@ -438,6 +472,8 @@ test_files:
|
|
438
472
|
- spec/fixtures/images/find.json
|
439
473
|
- spec/fixtures/images/private.json
|
440
474
|
- spec/fixtures/images/type.json
|
475
|
+
- spec/fixtures/load_balancers/all.json
|
476
|
+
- spec/fixtures/load_balancers/find.json
|
441
477
|
- spec/fixtures/regions/all.json
|
442
478
|
- spec/fixtures/sizes/all.json
|
443
479
|
- spec/fixtures/snapshots/all.json
|
@@ -466,6 +502,7 @@ test_files:
|
|
466
502
|
- spec/lib/droplet_kit/paginated_resource_spec.rb
|
467
503
|
- spec/lib/droplet_kit/resources/account_resource_spec.rb
|
468
504
|
- spec/lib/droplet_kit/resources/action_resource_spec.rb
|
505
|
+
- spec/lib/droplet_kit/resources/certificate_resource_spec.rb
|
469
506
|
- spec/lib/droplet_kit/resources/domain_record_resource_spec.rb
|
470
507
|
- spec/lib/droplet_kit/resources/domain_resource_spec.rb
|
471
508
|
- spec/lib/droplet_kit/resources/droplet_action_resource_spec.rb
|
@@ -475,6 +512,7 @@ test_files:
|
|
475
512
|
- spec/lib/droplet_kit/resources/floating_ip_resource_spec.rb
|
476
513
|
- spec/lib/droplet_kit/resources/image_action_resource_spec.rb
|
477
514
|
- spec/lib/droplet_kit/resources/image_resource_spec.rb
|
515
|
+
- spec/lib/droplet_kit/resources/load_balancer_resource_spec.rb
|
478
516
|
- spec/lib/droplet_kit/resources/region_resource_spec.rb
|
479
517
|
- spec/lib/droplet_kit/resources/size_resource_spec.rb
|
480
518
|
- spec/lib/droplet_kit/resources/snapshot_resource_spec.rb
|