droplet_kit 2.9.0 → 3.0.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 +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
|