droplet_kit 2.9.0 → 3.0.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/README.md +15 -0
- data/lib/droplet_kit.rb +5 -0
- data/lib/droplet_kit/client.rb +2 -1
- data/lib/droplet_kit/mappings/droplet_mapping.rb +2 -0
- data/lib/droplet_kit/mappings/kubernetes_cluster_mapping.rb +1 -0
- data/lib/droplet_kit/mappings/load_balancer_mapping.rb +5 -0
- data/lib/droplet_kit/mappings/vpc_mapping.rb +27 -0
- data/lib/droplet_kit/mappings/vpc_member_mapping.rb +16 -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/models/vpc.rb +9 -0
- data/lib/droplet_kit/models/vpc_member.rb +7 -0
- data/lib/droplet_kit/resources/vpc_resource.rb +56 -0
- data/lib/droplet_kit/version.rb +1 -1
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d75d76e50314c589a55b8184cd90c815f5afb0ce
|
4
|
+
data.tar.gz: b3292e5817bb966fcfd0c04c30642514ab4facaa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e97b4b7af8d4144b0535a23f8d53ce36e111b3558999192967839ffe722796a91a4f4f86bd27a1b3e5144afc0ce7366974f868ea3ff9326b8ba511293ae0d7f0
|
7
|
+
data.tar.gz: 46a7b5cd26dab725bb936e2bac8e75db053904f02a37922fc4716380efffec928ce09e596fd9de753637fd9e49b06ee84b63469e236e16299a7e94cf43b20fae
|
data/README.md
CHANGED
@@ -511,6 +511,21 @@ Actions supported:
|
|
511
511
|
* `client.snapshots.find(id: 'id')`
|
512
512
|
* `client.snapshots.delete(id: 'id')`
|
513
513
|
|
514
|
+
## VPC resource
|
515
|
+
|
516
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
517
|
+
client.vpcs #=> DropletKit::VPCResource
|
518
|
+
|
519
|
+
Actions supported:
|
520
|
+
|
521
|
+
* `client.vpcs.find(id: 'id')`
|
522
|
+
* `client.vpcs.all()`
|
523
|
+
* `client.vpcs.create(vpc)`
|
524
|
+
* `client.vpcs.update(vpc, id: 'id')`
|
525
|
+
* `client.vpcs.patch(vpc, id: 'id')`
|
526
|
+
* `client.vpcs.delete(id: 'id')`
|
527
|
+
* `client.vpcs.all_members(id: 'id')`
|
528
|
+
|
514
529
|
## Contributing
|
515
530
|
|
516
531
|
1. Fork it ( https://github.com/digitalocean/droplet_kit/fork )
|
data/lib/droplet_kit.rb
CHANGED
@@ -47,6 +47,8 @@ module DropletKit
|
|
47
47
|
autoload :KubernetesNodePool, 'droplet_kit/models/kubernetes_node_pool'
|
48
48
|
autoload :KubernetesNode, 'droplet_kit/models/kubernetes_node'
|
49
49
|
autoload :KubernetesOptions, 'droplet_kit/models/kubernetes_options'
|
50
|
+
autoload :VPC, 'droplet_kit/models/vpc'
|
51
|
+
autoload :VPCMember, 'droplet_kit/models/vpc_member'
|
50
52
|
|
51
53
|
# Resources
|
52
54
|
autoload :DropletResource, 'droplet_kit/resources/droplet_resource'
|
@@ -74,6 +76,7 @@ module DropletKit
|
|
74
76
|
autoload :CDNResource, 'droplet_kit/resources/cdn_resource'
|
75
77
|
autoload :KubernetesClusterResource, 'droplet_kit/resources/kubernetes_cluster_resource'
|
76
78
|
autoload :KubernetesOptionsResource, 'droplet_kit/resources/kubernetes_options_resource'
|
79
|
+
autoload :VPCResource, 'droplet_kit/resources/vpc_resource'
|
77
80
|
|
78
81
|
# JSON Maps
|
79
82
|
autoload :DropletMapping, 'droplet_kit/mappings/droplet_mapping'
|
@@ -116,6 +119,8 @@ module DropletKit
|
|
116
119
|
autoload :KubernetesNodePoolMapping, 'droplet_kit/mappings/kubernetes_node_pool_mapping'
|
117
120
|
autoload :KubernetesNodeMapping, 'droplet_kit/mappings/kubernetes_node_mapping'
|
118
121
|
autoload :KubernetesOptionsMapping, 'droplet_kit/mappings/kubernetes_options_mapping'
|
122
|
+
autoload :VPCMapping, 'droplet_kit/mappings/vpc_mapping'
|
123
|
+
autoload :VPCMemberMapping, 'droplet_kit/mappings/vpc_member_mapping'
|
119
124
|
|
120
125
|
# Utils
|
121
126
|
autoload :PaginatedResource, 'droplet_kit/paginated_resource'
|
data/lib/droplet_kit/client.rb
CHANGED
@@ -20,6 +20,7 @@ module DropletKit
|
|
20
20
|
property :features, scopes: [:read]
|
21
21
|
property :size_slug, scopes: [:read]
|
22
22
|
property :tags, scopes: [:read]
|
23
|
+
property :vpc_uuid, scopes: [:read]
|
23
24
|
|
24
25
|
property :region, scopes: [:read], include: RegionMapping
|
25
26
|
property :image, scopes: [:read], include: ImageMapping
|
@@ -39,6 +40,7 @@ module DropletKit
|
|
39
40
|
property :ipv6, scopes: [:create]
|
40
41
|
property :user_data, scopes: [:create]
|
41
42
|
property :private_networking, scopes: [:create]
|
43
|
+
property :vpc_uuid, scopes: [:create]
|
42
44
|
property :tags, scopes: [:create]
|
43
45
|
end
|
44
46
|
end
|
@@ -12,6 +12,7 @@ module DropletKit
|
|
12
12
|
property :status
|
13
13
|
property :created_at
|
14
14
|
property :region, include: RegionMapping
|
15
|
+
property :vpc_uuid
|
15
16
|
end
|
16
17
|
|
17
18
|
scoped :read, :update, :create do
|
@@ -29,6 +30,10 @@ module DropletKit
|
|
29
30
|
scoped :update, :create do
|
30
31
|
property :region
|
31
32
|
end
|
33
|
+
|
34
|
+
scoped :create do
|
35
|
+
property :vpc_uuid
|
36
|
+
end
|
32
37
|
end
|
33
38
|
end
|
34
39
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class VPCMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
|
5
|
+
kartograph do
|
6
|
+
mapping VPC
|
7
|
+
root_key plural: 'vpcs', singular: 'vpc', scopes: [:read]
|
8
|
+
|
9
|
+
scoped :read do
|
10
|
+
property :id
|
11
|
+
property :name
|
12
|
+
property :region
|
13
|
+
property :created_at
|
14
|
+
property :default
|
15
|
+
end
|
16
|
+
|
17
|
+
scoped :update, :patch do
|
18
|
+
property :name
|
19
|
+
end
|
20
|
+
|
21
|
+
scoped :create do
|
22
|
+
property :name
|
23
|
+
property :region
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class VPCMemberMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
|
5
|
+
kartograph do
|
6
|
+
mapping VPCMember
|
7
|
+
root_key plural: 'members', scopes: [:read]
|
8
|
+
|
9
|
+
scoped :read do
|
10
|
+
property :urn
|
11
|
+
property :name
|
12
|
+
property :created_at
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module DropletKit
|
2
2
|
class KubernetesCluster < BaseModel
|
3
|
-
[:id, :name, :region, :version, :cluster_subnet, :service_subnet, :ipv4, :endpoint, :tags, :node_pools].each do |key|
|
3
|
+
[:id, :name, :region, :version, :cluster_subnet, :service_subnet, :ipv4, :endpoint, :tags, :node_pools, :vpc_uuid].each do |key|
|
4
4
|
attribute(key)
|
5
5
|
end
|
6
6
|
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class VPCResource < ResourceKit::Resource
|
3
|
+
include ErrorHandlingResourcable
|
4
|
+
|
5
|
+
resources do
|
6
|
+
action :find, 'GET /v2/vpcs/:id' do
|
7
|
+
handler(200) do |response|
|
8
|
+
VPCMapping.extract_single(response.body, :read)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
action :all, 'GET /v2/vpcs' do
|
13
|
+
query_keys :per_page, :page
|
14
|
+
|
15
|
+
handler(200) do |response|
|
16
|
+
VPCMapping.extract_collection(response.body, :read)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
action :create, 'POST /v2/vpcs' do
|
21
|
+
body { |vpc| VPCMapping.representation_for(:create, vpc) }
|
22
|
+
handler(202) { |response| VPCMapping.extract_single(response.body, :read) }
|
23
|
+
handler(422) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
|
24
|
+
end
|
25
|
+
|
26
|
+
action :update, 'PUT /v2/vpcs/:id' do
|
27
|
+
body {|vpc| VPCMapping.representation_for(:update, vpc) }
|
28
|
+
handler(200) { |response| VPCMapping.extract_single(response.body, :read) }
|
29
|
+
handler(422) { |response| ErrorMapping.fail_with(FailedUpdate, response.body) }
|
30
|
+
end
|
31
|
+
|
32
|
+
action :patch, 'PATCH /v2/vpcs/:id' do
|
33
|
+
body {|vpc| VPCMapping.representation_for(:patch, vpc) }
|
34
|
+
handler(200) { |response| VPCMapping.extract_single(response.body, :read) }
|
35
|
+
handler(422) { |response| ErrorMapping.fail_with(FailedUpdate, response.body) }
|
36
|
+
end
|
37
|
+
|
38
|
+
action :delete, 'DELETE /v2/vpcs/:id' do
|
39
|
+
handler(204) { |_| true }
|
40
|
+
end
|
41
|
+
|
42
|
+
action :all_members, 'GET /v2/vpcs/:id/members' do
|
43
|
+
query_keys :per_page, :page
|
44
|
+
handler(200) { |response| VPCMemberMapping.extract_collection(response.body, :read) }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def all(*args)
|
49
|
+
PaginatedResource.new(action(:all), self, *args)
|
50
|
+
end
|
51
|
+
|
52
|
+
def all_members(*args)
|
53
|
+
PaginatedResource.new(action(:all_members), self, *args)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
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:
|
4
|
+
version: 3.0.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: 2019-
|
11
|
+
date: 2019-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: virtus
|
@@ -221,6 +221,8 @@ files:
|
|
221
221
|
- lib/droplet_kit/mappings/tagged_images_resources_mapping.rb
|
222
222
|
- lib/droplet_kit/mappings/tagged_resources_mapping.rb
|
223
223
|
- lib/droplet_kit/mappings/volume_mapping.rb
|
224
|
+
- lib/droplet_kit/mappings/vpc_mapping.rb
|
225
|
+
- lib/droplet_kit/mappings/vpc_member_mapping.rb
|
224
226
|
- lib/droplet_kit/models/account.rb
|
225
227
|
- lib/droplet_kit/models/action.rb
|
226
228
|
- lib/droplet_kit/models/base_model.rb
|
@@ -262,6 +264,8 @@ files:
|
|
262
264
|
- lib/droplet_kit/models/tagged_images_resources.rb
|
263
265
|
- lib/droplet_kit/models/tagged_resources.rb
|
264
266
|
- lib/droplet_kit/models/volume.rb
|
267
|
+
- lib/droplet_kit/models/vpc.rb
|
268
|
+
- lib/droplet_kit/models/vpc_member.rb
|
265
269
|
- lib/droplet_kit/paginated_resource.rb
|
266
270
|
- lib/droplet_kit/resources/account_resource.rb
|
267
271
|
- lib/droplet_kit/resources/action_resource.rb
|
@@ -288,6 +292,7 @@ files:
|
|
288
292
|
- lib/droplet_kit/resources/tag_resource.rb
|
289
293
|
- lib/droplet_kit/resources/volume_action_resource.rb
|
290
294
|
- lib/droplet_kit/resources/volume_resource.rb
|
295
|
+
- lib/droplet_kit/resources/vpc_resource.rb
|
291
296
|
- lib/droplet_kit/version.rb
|
292
297
|
- lib/tasks/resource_doc.rake
|
293
298
|
homepage: https://github.com/digitalocean/droplet_kit
|
@@ -310,7 +315,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
310
315
|
version: '0'
|
311
316
|
requirements: []
|
312
317
|
rubyforge_project:
|
313
|
-
rubygems_version: 2.6.
|
318
|
+
rubygems_version: 2.6.14
|
314
319
|
signing_key:
|
315
320
|
specification_version: 4
|
316
321
|
summary: Droplet Kit is the official Ruby library for DigitalOcean's API
|