droplet_kit 3.12.0 → 3.15.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 +3 -2
- data/lib/droplet_kit/mappings/database_user_mapping.rb +1 -1
- data/lib/droplet_kit/mappings/droplet_mapping.rb +1 -0
- data/lib/droplet_kit/mappings/kubernetes_cluster_mapping.rb +1 -0
- data/lib/droplet_kit/mappings/kubernetes_options_mapping.rb +2 -1
- data/lib/droplet_kit/mappings/load_balancer_mapping.rb +2 -0
- data/lib/droplet_kit/models/droplet.rb +1 -0
- data/lib/droplet_kit/models/kubernetes_cluster.rb +1 -1
- data/lib/droplet_kit/models/load_balancer.rb +1 -0
- data/lib/droplet_kit/resources/kubernetes_cluster_resource.rb +14 -1
- data/lib/droplet_kit/resources/project_resource.rb +1 -1
- data/lib/droplet_kit/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7e1697abc6f7381a7ecc9d1c19c4e5cccd5844201759fe4624f87fed81164d3
|
4
|
+
data.tar.gz: 3768790a72256c983b85dd06c2031451899a3adb02b40c29a36a68942224be44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 260ab8b6c9383854f8746b4247e7cc341f35ca8cd83ebec0ebda0c10fd64e9584aade02b0332c5efe6a24e70c3ffed7c8a27740f8680959a460e2af2031c83e0
|
7
|
+
data.tar.gz: 41667e255308d920906ecc83e92afcfb3273959dba81ddd73d1d2d631362f30946228bf530cc2330160a942b284ebf5a126cf00c195146b47f28adda52fdb8c9
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# DropletKit
|
2
|
-
[![Build Status](https://
|
2
|
+
[![Build Status](https://github.com/digitalocean/droplet_kit/workflows/CI/badge.svg?branch=main)](https://github.com/digitalocean/droplet_kit/actions)
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/droplet_kit.svg)](https://badge.fury.io/rb/droplet_kit)
|
4
4
|
|
5
5
|
DropletKit is the official [DigitalOcean V2 API](https://developers.digitalocean.com/v2/) client. It supports everything the API can do with a simple interface written in Ruby.
|
@@ -284,7 +284,8 @@ inbound_rule = DropletKit::FirewallInboundRule.new(
|
|
284
284
|
ports: '0',
|
285
285
|
sources: {
|
286
286
|
tags: ['frontend', 'backend'],
|
287
|
-
load_balancer_uids: ['d2d3920a-9d45-41b0-b018-d15e18ec60a4']
|
287
|
+
load_balancer_uids: ['d2d3920a-9d45-41b0-b018-d15e18ec60a4'],
|
288
|
+
kubernetes_ids: ['a47b6fb1-4791-4b29-aae1-2b1b9f68a2da']
|
288
289
|
}
|
289
290
|
)
|
290
291
|
|
@@ -6,7 +6,7 @@ module DropletKit
|
|
6
6
|
mapping DatabaseUser
|
7
7
|
root_key singular: 'user', plural: 'users', scopes: [:read]
|
8
8
|
|
9
|
-
property :name, scopes: [:read]
|
9
|
+
property :name, scopes: [:read, :create]
|
10
10
|
property :role, scopes: [:read, :create]
|
11
11
|
property :password, scopes: [:read, :create]
|
12
12
|
end
|
@@ -38,6 +38,7 @@ module DropletKit
|
|
38
38
|
property :ssh_keys, scopes: [:create]
|
39
39
|
property :backups, scopes: [:create]
|
40
40
|
property :monitoring, scopes: [:create]
|
41
|
+
property :with_droplet_agent, scopes: [:create]
|
41
42
|
property :ipv6, scopes: [:create]
|
42
43
|
property :user_data, scopes: [:create]
|
43
44
|
property :private_networking, scopes: [:create]
|
@@ -5,11 +5,12 @@ module DropletKit
|
|
5
5
|
mapping KubernetesOptions
|
6
6
|
root_key singular: 'options', scopes: [:read]
|
7
7
|
|
8
|
-
Version = Struct.new(:slug, :kubernetes_version)
|
8
|
+
Version = Struct.new(:slug, :kubernetes_version, :supported_features)
|
9
9
|
property :versions, plural: true, scopes: [:read] do
|
10
10
|
mapping Version
|
11
11
|
property :slug, scopes: [:read]
|
12
12
|
property :kubernetes_version, scopes: [:read]
|
13
|
+
property :supported_features, scopes: [:read]
|
13
14
|
end
|
14
15
|
|
15
16
|
Region = Struct.new(:name, :slug)
|
@@ -12,6 +12,7 @@ module DropletKit
|
|
12
12
|
property :status
|
13
13
|
property :created_at
|
14
14
|
property :region, include: RegionMapping
|
15
|
+
property :size
|
15
16
|
property :vpc_uuid
|
16
17
|
end
|
17
18
|
|
@@ -30,6 +31,7 @@ module DropletKit
|
|
30
31
|
|
31
32
|
scoped :update, :create do
|
32
33
|
property :region
|
34
|
+
property :size
|
33
35
|
end
|
34
36
|
|
35
37
|
scoped :create do
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module DropletKit
|
2
2
|
class KubernetesCluster < BaseModel
|
3
|
-
[:id, :name, :region, :version, :auto_upgrade, :cluster_subnet, :service_subnet, :ipv4, :endpoint, :tags, :maintenance_policy, :node_pools, :vpc_uuid].each do |key|
|
3
|
+
[:id, :name, :region, :version, :auto_upgrade, :cluster_subnet, :service_subnet, :ipv4, :endpoint, :tags, :maintenance_policy, :node_pools, :vpc_uuid, :ha].each do |key|
|
4
4
|
attribute(key)
|
5
5
|
end
|
6
6
|
end
|
@@ -8,6 +8,7 @@ module DropletKit
|
|
8
8
|
attribute :created_at
|
9
9
|
attribute :tag
|
10
10
|
attribute :region
|
11
|
+
attribute :size
|
11
12
|
attribute :redirect_http_to_https, Boolean, :default => false
|
12
13
|
attribute :enable_proxy_protocol, Boolean, :default => false
|
13
14
|
attribute :enable_backend_keepalive, Boolean, :default => false
|
@@ -13,7 +13,20 @@ module DropletKit
|
|
13
13
|
end
|
14
14
|
|
15
15
|
action :create, 'POST /v2/kubernetes/clusters' do
|
16
|
-
body
|
16
|
+
body do |object|
|
17
|
+
# This ensures that both a hash and an instance of KubernetesNodePool can be passed
|
18
|
+
# into the node_pools array
|
19
|
+
#
|
20
|
+
# Ex:
|
21
|
+
# KubernetesCluster.new(node_pools: [{}])
|
22
|
+
# or
|
23
|
+
# KubernetesCluster.new(node_pools: [KubernetesNodePool.new()])
|
24
|
+
if object.respond_to?(:node_pools) && object.node_pools.respond_to?(:map)
|
25
|
+
object.node_pools = object.node_pools.map(&:to_hash)
|
26
|
+
end
|
27
|
+
|
28
|
+
KubernetesClusterMapping.representation_for(:create, object)
|
29
|
+
end
|
17
30
|
handler(201) { |response, cluster| KubernetesClusterMapping.extract_into_object(cluster, response.body, :read) }
|
18
31
|
handler(422) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
|
19
32
|
end
|
@@ -49,7 +49,7 @@ module DropletKit
|
|
49
49
|
resources.to_a.map do |resource|
|
50
50
|
if resource.is_a?(String) && DropletKit::BaseModel.valid_urn?(resource)
|
51
51
|
resource
|
52
|
-
elsif resource.
|
52
|
+
elsif resource.respond_to?(:urn) && resource.urn && DropletKit::BaseModel.valid_urn?(resource.urn)
|
53
53
|
resource.urn
|
54
54
|
else
|
55
55
|
raise DropletKit::Error.new("cannot assign resource without valid urn: #{resource}")
|
data/lib/droplet_kit/version.rb
CHANGED
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: 3.
|
4
|
+
version: 3.15.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: 2021-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: virtus
|
@@ -324,7 +324,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
324
324
|
- !ruby/object:Gem::Version
|
325
325
|
version: '0'
|
326
326
|
requirements: []
|
327
|
-
rubygems_version: 3.
|
327
|
+
rubygems_version: 3.0.8
|
328
328
|
signing_key:
|
329
329
|
specification_version: 4
|
330
330
|
summary: Droplet Kit is the official Ruby library for DigitalOcean's API
|