droplet_kit 3.15.0 → 3.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -10
- data/lib/droplet_kit/client.rb +4 -0
- data/lib/droplet_kit/error_handling_resourcable.rb +2 -0
- data/lib/droplet_kit/mappings/account_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/action_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/balance_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/cdn_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/certificate_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/container_registry_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/container_registry_repository_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/container_registry_repository_tag_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_backup_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_backup_restore_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_cluster_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_connection_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_connection_pool_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_eviction_policy_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_firewall_rule_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_maintenance_window_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_replica_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_sql_mode_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_user_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/database_user_reset_auth_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/domain_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/domain_record_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/droplet_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/droplet_upgrade_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/error_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/firewall_inbound_rule_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/firewall_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/firewall_outbound_rule_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/firewall_pending_change_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/firewall_rule_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/floating_ip_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/forwarding_rule_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/health_check_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/image_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/invoice_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/kernel_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/kubernetes_cluster_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/kubernetes_maintenance_policy_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/kubernetes_node_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/kubernetes_node_pool_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/kubernetes_options_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/links_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/load_balancer_mapping.rb +5 -0
- data/lib/droplet_kit/mappings/network_detail_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/network_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/project_assignment_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/project_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/region_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/reserved_ip_mapping.rb +21 -0
- data/lib/droplet_kit/mappings/size_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/snapshot_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/ssh_key_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/sticky_session_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/tag_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/tagged_droplets_resources_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/tagged_images_resources_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/tagged_resources_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/volume_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/vpc_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/vpc_member_mapping.rb +2 -0
- data/lib/droplet_kit/models/account.rb +2 -0
- data/lib/droplet_kit/models/action.rb +2 -0
- data/lib/droplet_kit/models/balance.rb +2 -0
- data/lib/droplet_kit/models/base_model.rb +2 -0
- data/lib/droplet_kit/models/cdn.rb +2 -0
- data/lib/droplet_kit/models/certificate.rb +2 -0
- data/lib/droplet_kit/models/container_registry.rb +2 -0
- data/lib/droplet_kit/models/container_registry_repository.rb +2 -0
- data/lib/droplet_kit/models/container_registry_repository_tag.rb +2 -0
- data/lib/droplet_kit/models/database.rb +2 -0
- data/lib/droplet_kit/models/database_backup.rb +2 -0
- data/lib/droplet_kit/models/database_cluster.rb +2 -0
- data/lib/droplet_kit/models/database_connection.rb +2 -0
- data/lib/droplet_kit/models/database_connection_pool.rb +2 -0
- data/lib/droplet_kit/models/database_eviction_policy.rb +2 -0
- data/lib/droplet_kit/models/database_firewall_rule.rb +2 -0
- data/lib/droplet_kit/models/database_maintenance_window.rb +2 -0
- data/lib/droplet_kit/models/database_replica.rb +2 -0
- data/lib/droplet_kit/models/database_sql_mode.rb +2 -0
- data/lib/droplet_kit/models/database_user.rb +2 -0
- data/lib/droplet_kit/models/database_user_mysql_settings.rb +2 -0
- data/lib/droplet_kit/models/database_user_reset_auth.rb +2 -0
- data/lib/droplet_kit/models/domain.rb +2 -0
- data/lib/droplet_kit/models/domain_record.rb +2 -0
- data/lib/droplet_kit/models/droplet.rb +2 -0
- data/lib/droplet_kit/models/droplet_upgrade.rb +2 -0
- data/lib/droplet_kit/models/firewall.rb +2 -0
- data/lib/droplet_kit/models/firewall_inbound_rule.rb +2 -0
- data/lib/droplet_kit/models/firewall_outbound_rule.rb +2 -0
- data/lib/droplet_kit/models/firewall_pending_change.rb +2 -0
- data/lib/droplet_kit/models/firewall_rule.rb +2 -0
- data/lib/droplet_kit/models/floating_ip.rb +2 -0
- data/lib/droplet_kit/models/forwarding_rule.rb +2 -0
- data/lib/droplet_kit/models/health_check.rb +2 -0
- data/lib/droplet_kit/models/image.rb +2 -0
- data/lib/droplet_kit/models/invoice.rb +2 -0
- data/lib/droplet_kit/models/kernel.rb +2 -0
- data/lib/droplet_kit/models/kubernetes_cluster.rb +2 -0
- data/lib/droplet_kit/models/kubernetes_maintenance_policy.rb +2 -0
- data/lib/droplet_kit/models/kubernetes_node.rb +2 -0
- data/lib/droplet_kit/models/kubernetes_node_pool.rb +2 -0
- data/lib/droplet_kit/models/kubernetes_options.rb +2 -0
- data/lib/droplet_kit/models/links.rb +2 -0
- data/lib/droplet_kit/models/load_balancer.rb +4 -0
- data/lib/droplet_kit/models/meta_information.rb +2 -0
- data/lib/droplet_kit/models/network.rb +2 -0
- data/lib/droplet_kit/models/network_hash.rb +2 -0
- data/lib/droplet_kit/models/pagination_information.rb +2 -0
- data/lib/droplet_kit/models/project.rb +2 -0
- data/lib/droplet_kit/models/project_assignment.rb +2 -0
- data/lib/droplet_kit/models/region.rb +2 -0
- data/lib/droplet_kit/models/reserved_ip.rb +20 -0
- data/lib/droplet_kit/models/size.rb +2 -0
- data/lib/droplet_kit/models/snapshot.rb +2 -0
- data/lib/droplet_kit/models/ssh_key.rb +2 -0
- data/lib/droplet_kit/models/sticky_session.rb +2 -0
- data/lib/droplet_kit/models/tag.rb +2 -0
- data/lib/droplet_kit/models/tagged_droplets_resources.rb +2 -0
- data/lib/droplet_kit/models/tagged_images_resources.rb +2 -0
- data/lib/droplet_kit/models/tagged_resources.rb +2 -0
- data/lib/droplet_kit/models/volume.rb +2 -0
- data/lib/droplet_kit/models/vpc.rb +2 -0
- data/lib/droplet_kit/models/vpc_member.rb +2 -0
- data/lib/droplet_kit/paginated_resource.rb +2 -0
- data/lib/droplet_kit/resources/account_resource.rb +3 -1
- data/lib/droplet_kit/resources/action_resource.rb +3 -1
- data/lib/droplet_kit/resources/balance_resource.rb +3 -1
- data/lib/droplet_kit/resources/cdn_resource.rb +2 -0
- data/lib/droplet_kit/resources/certificate_resource.rb +2 -0
- data/lib/droplet_kit/resources/container_registry_repository_resource.rb +26 -25
- data/lib/droplet_kit/resources/container_registry_resource.rb +22 -21
- data/lib/droplet_kit/resources/database_resource.rb +2 -0
- data/lib/droplet_kit/resources/domain_record_resource.rb +2 -0
- data/lib/droplet_kit/resources/domain_resource.rb +2 -0
- data/lib/droplet_kit/resources/droplet_action_resource.rb +2 -0
- data/lib/droplet_kit/resources/droplet_resource.rb +2 -0
- data/lib/droplet_kit/resources/droplet_upgrade_resource.rb +3 -1
- data/lib/droplet_kit/resources/firewall_resource.rb +2 -0
- data/lib/droplet_kit/resources/floating_ip_action_resource.rb +3 -1
- data/lib/droplet_kit/resources/floating_ip_resource.rb +3 -1
- data/lib/droplet_kit/resources/image_action_resource.rb +2 -0
- data/lib/droplet_kit/resources/image_resource.rb +3 -1
- data/lib/droplet_kit/resources/invoice_resource.rb +13 -11
- data/lib/droplet_kit/resources/kubernetes_cluster_resource.rb +2 -0
- data/lib/droplet_kit/resources/kubernetes_options_resource.rb +2 -0
- data/lib/droplet_kit/resources/load_balancer_resource.rb +2 -0
- data/lib/droplet_kit/resources/project_resource.rb +2 -0
- data/lib/droplet_kit/resources/region_resource.rb +2 -0
- data/lib/droplet_kit/resources/reserved_ip_action_resource.rb +32 -0
- data/lib/droplet_kit/resources/reserved_ip_resource.rb +31 -0
- data/lib/droplet_kit/resources/size_resource.rb +2 -0
- data/lib/droplet_kit/resources/snapshot_resource.rb +3 -1
- data/lib/droplet_kit/resources/ssh_key_resource.rb +2 -0
- data/lib/droplet_kit/resources/tag_resource.rb +2 -0
- data/lib/droplet_kit/resources/volume_action_resource.rb +3 -1
- data/lib/droplet_kit/resources/volume_resource.rb +2 -0
- data/lib/droplet_kit/resources/vpc_resource.rb +2 -0
- data/lib/droplet_kit/utils.rb +2 -0
- data/lib/droplet_kit/version.rb +3 -1
- data/lib/droplet_kit.rb +6 -0
- data/lib/tasks/resource_doc.rake +2 -0
- metadata +17 -7
@@ -1,15 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module DropletKit
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
class InvoiceResource < ResourceKit::Resource
|
5
|
+
include ErrorHandlingResourcable
|
6
|
+
|
7
|
+
resources do
|
8
|
+
action :list, 'GET /v2/customers/my/invoices' do
|
9
|
+
handler(200) { |response| InvoiceMapping.extract_collection(response.body, :read) }
|
10
|
+
end
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
-
end
|
12
|
+
action :find, 'GET v2/customers/my/invoices/:id' do
|
13
|
+
handler(200) { |response| InvoiceMapping.extract_collection(response.body, :find) }
|
13
14
|
end
|
14
15
|
end
|
15
|
-
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DropletKit
|
4
|
+
class ReservedIpActionResource < ResourceKit::Resource
|
5
|
+
resources do
|
6
|
+
default_handler(422) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
|
7
|
+
|
8
|
+
action :assign, 'POST /v2/reserved_ips/:ip/actions' do
|
9
|
+
body { |hash| { type: 'assign', droplet_id: hash[:droplet_id] }.to_json }
|
10
|
+
handler(201, 200) { |response| ActionMapping.extract_single(response.body, :read) }
|
11
|
+
end
|
12
|
+
|
13
|
+
action :unassign, 'POST /v2/reserved_ips/:ip/actions' do
|
14
|
+
body { |hash| { type: 'unassign' }.to_json }
|
15
|
+
handler(201, 200) { |response| ActionMapping.extract_single(response.body, :read) }
|
16
|
+
end
|
17
|
+
|
18
|
+
action :find, 'GET /v2/reserved_ips/:ip/actions/:id' do
|
19
|
+
handler(200) { |response| ActionMapping.extract_single(response.body, :read) }
|
20
|
+
end
|
21
|
+
|
22
|
+
action :all, 'GET /v2/reserved_ips/:ip/actions' do
|
23
|
+
query_keys :per_page, :page
|
24
|
+
handler(200) { |response| ActionMapping.extract_collection(response.body, :read) }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def all(*args)
|
29
|
+
PaginatedResource.new(action(:all), self, *args)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DropletKit
|
4
|
+
class ReservedIpResource < ResourceKit::Resource
|
5
|
+
resources do
|
6
|
+
action :all, 'GET /v2/reserved_ips' do
|
7
|
+
query_keys :per_page, :page
|
8
|
+
handler(200) { |response| ReservedIpMapping.extract_collection(response.body, :read) }
|
9
|
+
end
|
10
|
+
|
11
|
+
action :find, 'GET /v2/reserved_ips/:ip' do
|
12
|
+
handler(200) { |response| ReservedIpMapping.extract_single(response.body, :read) }
|
13
|
+
end
|
14
|
+
|
15
|
+
action :create, 'POST /v2/reserved_ips' do
|
16
|
+
body { |object| ReservedIpMapping.representation_for(:create, object) }
|
17
|
+
handler(202) { |response| ReservedIpMapping.extract_single(response.body, :read) }
|
18
|
+
handler(422) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
|
19
|
+
end
|
20
|
+
|
21
|
+
action :delete, 'DELETE /v2/reserved_ips/:ip' do
|
22
|
+
handler(202) { |response| ActionMapping.extract_single(response.body, :read) }
|
23
|
+
handler(204) { |response| true }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def all(*args)
|
28
|
+
PaginatedResource.new(action(:all), self, *args)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/droplet_kit/utils.rb
CHANGED
data/lib/droplet_kit/version.rb
CHANGED
data/lib/droplet_kit.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'droplet_kit/version'
|
2
4
|
require 'resource_kit'
|
3
5
|
require 'kartograph'
|
@@ -28,6 +30,7 @@ module DropletKit
|
|
28
30
|
autoload :Balance, 'droplet_kit/models/balance'
|
29
31
|
autoload :DropletUpgrade, 'droplet_kit/models/droplet_upgrade'
|
30
32
|
autoload :FloatingIp, 'droplet_kit/models/floating_ip'
|
33
|
+
autoload :ReservedIp, 'droplet_kit/models/reserved_ip'
|
31
34
|
autoload :Project, 'droplet_kit/models/project'
|
32
35
|
autoload :ProjectAssignment, 'droplet_kit/models/project_assignment'
|
33
36
|
autoload :Links, 'droplet_kit/models/links'
|
@@ -86,6 +89,8 @@ module DropletKit
|
|
86
89
|
autoload :DropletUpgradeResource, 'droplet_kit/resources/droplet_upgrade_resource'
|
87
90
|
autoload :FloatingIpResource, 'droplet_kit/resources/floating_ip_resource'
|
88
91
|
autoload :FloatingIpActionResource, 'droplet_kit/resources/floating_ip_action_resource'
|
92
|
+
autoload :ReservedIpResource, 'droplet_kit/resources/reserved_ip_resource'
|
93
|
+
autoload :ReservedIpActionResource, 'droplet_kit/resources/reserved_ip_action_resource'
|
89
94
|
autoload :ProjectResource, 'droplet_kit/resources/project_resource'
|
90
95
|
autoload :TagResource, 'droplet_kit/resources/tag_resource'
|
91
96
|
autoload :VolumeResource, 'droplet_kit/resources/volume_resource'
|
@@ -123,6 +128,7 @@ module DropletKit
|
|
123
128
|
autoload :BalanceMapping, 'droplet_kit/mappings/balance_mapping'
|
124
129
|
autoload :DropletUpgradeMapping, 'droplet_kit/mappings/droplet_upgrade_mapping'
|
125
130
|
autoload :FloatingIpMapping, 'droplet_kit/mappings/floating_ip_mapping'
|
131
|
+
autoload :ReservedIpMapping, 'droplet_kit/mappings/reserved_ip_mapping'
|
126
132
|
autoload :ProjectMapping, 'droplet_kit/mappings/project_mapping'
|
127
133
|
autoload :ProjectAssignmentMapping, 'droplet_kit/mappings/project_assignment_mapping'
|
128
134
|
autoload :LinksMapping, 'droplet_kit/mappings/links_mapping'
|
data/lib/tasks/resource_doc.rake
CHANGED
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: droplet_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- DigitalOcean API Engineering team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: virtus
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.0.3
|
20
|
+
- - "<="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '3'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 1.0.3
|
30
|
+
- - "<="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: resource_kit
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +50,14 @@ dependencies:
|
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.2.
|
53
|
+
version: 0.2.8
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.2.
|
60
|
+
version: 0.2.8
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: faraday
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -197,6 +203,7 @@ files:
|
|
197
203
|
- lib/droplet_kit/mappings/project_assignment_mapping.rb
|
198
204
|
- lib/droplet_kit/mappings/project_mapping.rb
|
199
205
|
- lib/droplet_kit/mappings/region_mapping.rb
|
206
|
+
- lib/droplet_kit/mappings/reserved_ip_mapping.rb
|
200
207
|
- lib/droplet_kit/mappings/size_mapping.rb
|
201
208
|
- lib/droplet_kit/mappings/snapshot_mapping.rb
|
202
209
|
- lib/droplet_kit/mappings/ssh_key_mapping.rb
|
@@ -259,6 +266,7 @@ files:
|
|
259
266
|
- lib/droplet_kit/models/project.rb
|
260
267
|
- lib/droplet_kit/models/project_assignment.rb
|
261
268
|
- lib/droplet_kit/models/region.rb
|
269
|
+
- lib/droplet_kit/models/reserved_ip.rb
|
262
270
|
- lib/droplet_kit/models/size.rb
|
263
271
|
- lib/droplet_kit/models/snapshot.rb
|
264
272
|
- lib/droplet_kit/models/ssh_key.rb
|
@@ -295,6 +303,8 @@ files:
|
|
295
303
|
- lib/droplet_kit/resources/load_balancer_resource.rb
|
296
304
|
- lib/droplet_kit/resources/project_resource.rb
|
297
305
|
- lib/droplet_kit/resources/region_resource.rb
|
306
|
+
- lib/droplet_kit/resources/reserved_ip_action_resource.rb
|
307
|
+
- lib/droplet_kit/resources/reserved_ip_resource.rb
|
298
308
|
- lib/droplet_kit/resources/size_resource.rb
|
299
309
|
- lib/droplet_kit/resources/snapshot_resource.rb
|
300
310
|
- lib/droplet_kit/resources/ssh_key_resource.rb
|
@@ -324,7 +334,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
324
334
|
- !ruby/object:Gem::Version
|
325
335
|
version: '0'
|
326
336
|
requirements: []
|
327
|
-
rubygems_version: 3.
|
337
|
+
rubygems_version: 3.1.6
|
328
338
|
signing_key:
|
329
339
|
specification_version: 4
|
330
340
|
summary: Droplet Kit is the official Ruby library for DigitalOcean's API
|