droplet_kit 3.8.0 → 3.12.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 +21 -0
- data/lib/droplet_kit.rb +6 -0
- data/lib/droplet_kit/client.rb +2 -0
- data/lib/droplet_kit/mappings/balance_mapping.rb +14 -0
- data/lib/droplet_kit/mappings/invoice_mapping.rb +32 -0
- data/lib/droplet_kit/mappings/vpc_mapping.rb +2 -1
- data/lib/droplet_kit/models/balance.rb +8 -0
- data/lib/droplet_kit/models/invoice.rb +18 -0
- data/lib/droplet_kit/resources/balance_resource.rb +10 -0
- data/lib/droplet_kit/resources/domain_record_resource.rb +1 -1
- data/lib/droplet_kit/resources/invoice_resource.rb +15 -0
- data/lib/droplet_kit/resources/project_resource.rb +5 -0
- data/lib/droplet_kit/resources/vpc_resource.rb +1 -1
- data/lib/droplet_kit/version.rb +1 -1
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08950216b1d1fbb079b469c39cab19fd1549d0a5b1d56e326ba6d38810d90d89'
|
4
|
+
data.tar.gz: 1e46cfcfb57d05b5b6cab99b28f1291a9be12609a23deee843d7dd79dec82e44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ff1291e1a07ed0bcc4fa4c15d60ecc67201452a827711ab8991c29f026f03993a916a5e45602af63d24be523f7f6b9676d770d07004354d727815f63af43718
|
7
|
+
data.tar.gz: 39c170a95862c1831ecedf86cba0104361263f54a80ed983e9f7f6efcc34f359d0721703c6631d1374b180501448266034f965920f401f81703c398e527a23ae
|
data/README.md
CHANGED
@@ -354,6 +354,17 @@ Image Actions Supported:
|
|
354
354
|
* `client.image_actions.find(image_id: 123, id: 123455)`
|
355
355
|
* `client.image_actions.transfer(image_id: 123, region: 'nyc3')`
|
356
356
|
|
357
|
+
## Invoice resource
|
358
|
+
|
359
|
+
```ruby
|
360
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
361
|
+
client.invoices #=> DropletKit::InvoiceResource
|
362
|
+
```
|
363
|
+
|
364
|
+
Actions supported:
|
365
|
+
|
366
|
+
* `client.invoices.list()`
|
367
|
+
* `client.invoices.find(id:123)`
|
357
368
|
|
358
369
|
## Kubernetes Resource
|
359
370
|
|
@@ -502,6 +513,16 @@ Actions supported:
|
|
502
513
|
|
503
514
|
* `client.account.info()`
|
504
515
|
|
516
|
+
## Balance resource
|
517
|
+
|
518
|
+
```ruby
|
519
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
520
|
+
client.balance #=> DropletKit::BalanceResource
|
521
|
+
```
|
522
|
+
|
523
|
+
Actions supported:
|
524
|
+
|
525
|
+
* `client.balance.info()`
|
505
526
|
|
506
527
|
## Floating IP resource
|
507
528
|
|
data/lib/droplet_kit.rb
CHANGED
@@ -13,6 +13,7 @@ module DropletKit
|
|
13
13
|
autoload :Droplet, 'droplet_kit/models/droplet'
|
14
14
|
autoload :Region, 'droplet_kit/models/region'
|
15
15
|
autoload :Image, 'droplet_kit/models/image'
|
16
|
+
autoload :Invoice, 'droplet_kit/models/invoice'
|
16
17
|
autoload :Size, 'droplet_kit/models/size'
|
17
18
|
autoload :NetworkHash, 'droplet_kit/models/network_hash'
|
18
19
|
autoload :Network, 'droplet_kit/models/network'
|
@@ -24,6 +25,7 @@ module DropletKit
|
|
24
25
|
autoload :SSHKey, 'droplet_kit/models/ssh_key'
|
25
26
|
autoload :MetaInformation, 'droplet_kit/models/meta_information'
|
26
27
|
autoload :Account, 'droplet_kit/models/account'
|
28
|
+
autoload :Balance, 'droplet_kit/models/balance'
|
27
29
|
autoload :DropletUpgrade, 'droplet_kit/models/droplet_upgrade'
|
28
30
|
autoload :FloatingIp, 'droplet_kit/models/floating_ip'
|
29
31
|
autoload :Project, 'droplet_kit/models/project'
|
@@ -74,11 +76,13 @@ module DropletKit
|
|
74
76
|
autoload :DomainRecordResource, 'droplet_kit/resources/domain_record_resource'
|
75
77
|
autoload :DropletActionResource, 'droplet_kit/resources/droplet_action_resource'
|
76
78
|
autoload :ImageResource, 'droplet_kit/resources/image_resource'
|
79
|
+
autoload :InvoiceResource, 'droplet_kit/resources/invoice_resource'
|
77
80
|
autoload :ImageActionResource, 'droplet_kit/resources/image_action_resource'
|
78
81
|
autoload :SSHKeyResource, 'droplet_kit/resources/ssh_key_resource'
|
79
82
|
autoload :RegionResource, 'droplet_kit/resources/region_resource'
|
80
83
|
autoload :SizeResource, 'droplet_kit/resources/size_resource'
|
81
84
|
autoload :AccountResource, 'droplet_kit/resources/account_resource'
|
85
|
+
autoload :BalanceResource, 'droplet_kit/resources/balance_resource'
|
82
86
|
autoload :DropletUpgradeResource, 'droplet_kit/resources/droplet_upgrade_resource'
|
83
87
|
autoload :FloatingIpResource, 'droplet_kit/resources/floating_ip_resource'
|
84
88
|
autoload :FloatingIpActionResource, 'droplet_kit/resources/floating_ip_action_resource'
|
@@ -113,8 +117,10 @@ module DropletKit
|
|
113
117
|
autoload :DomainRecordMapping, 'droplet_kit/mappings/domain_record_mapping'
|
114
118
|
autoload :DropletActionMapping, 'droplet_kit/mappings/droplet_action_mapping'
|
115
119
|
autoload :ImageActionMapping, 'droplet_kit/mappings/image_action_mapping'
|
120
|
+
autoload :InvoiceMapping, 'droplet_kit/mappings/invoice_mapping'
|
116
121
|
autoload :SSHKeyMapping, 'droplet_kit/mappings/ssh_key_mapping'
|
117
122
|
autoload :AccountMapping, 'droplet_kit/mappings/account_mapping'
|
123
|
+
autoload :BalanceMapping, 'droplet_kit/mappings/balance_mapping'
|
118
124
|
autoload :DropletUpgradeMapping, 'droplet_kit/mappings/droplet_upgrade_mapping'
|
119
125
|
autoload :FloatingIpMapping, 'droplet_kit/mappings/floating_ip_mapping'
|
120
126
|
autoload :ProjectMapping, 'droplet_kit/mappings/project_mapping'
|
data/lib/droplet_kit/client.rb
CHANGED
@@ -43,12 +43,14 @@ module DropletKit
|
|
43
43
|
firewalls: FirewallResource,
|
44
44
|
images: ImageResource,
|
45
45
|
image_actions: ImageActionResource,
|
46
|
+
invoices: InvoiceResource,
|
46
47
|
load_balancers: LoadBalancerResource,
|
47
48
|
regions: RegionResource,
|
48
49
|
sizes: SizeResource,
|
49
50
|
ssh_keys: SSHKeyResource,
|
50
51
|
snapshots: SnapshotResource,
|
51
52
|
account: AccountResource,
|
53
|
+
balance: BalanceResource,
|
52
54
|
floating_ips: FloatingIpResource,
|
53
55
|
floating_ip_actions: FloatingIpActionResource,
|
54
56
|
tags: TagResource,
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class BalanceMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
|
5
|
+
kartograph do
|
6
|
+
mapping Balance
|
7
|
+
property :month_to_date_balance, scopes: [:read]
|
8
|
+
property :account_balance, scopes: [:read]
|
9
|
+
property :month_to_date_usage, scopes: [:read]
|
10
|
+
property :generated_at, scopes: [:read]
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class InvoiceMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
|
5
|
+
kartograph do
|
6
|
+
mapping Invoice
|
7
|
+
root_key plural: 'invoices', scopes: [:read]
|
8
|
+
root_key plural: 'invoice_items', scopes: [:find]
|
9
|
+
|
10
|
+
scoped :read do
|
11
|
+
property :invoice_uuid
|
12
|
+
property :amount
|
13
|
+
property :invoice_period
|
14
|
+
end
|
15
|
+
|
16
|
+
scoped :find do
|
17
|
+
property :product
|
18
|
+
property :amount
|
19
|
+
property :resource_uuid
|
20
|
+
property :group_description
|
21
|
+
property :description
|
22
|
+
property :duration
|
23
|
+
property :duration_unit
|
24
|
+
property :start_time
|
25
|
+
property :end_time
|
26
|
+
property :project_name
|
27
|
+
property :category
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class Invoice < BaseModel
|
3
|
+
attribute :invoice_uuid
|
4
|
+
attribute :amount
|
5
|
+
attribute :invoice_period
|
6
|
+
attribute :product
|
7
|
+
attribute :resource_uuid
|
8
|
+
attribute :group_description
|
9
|
+
attribute :description
|
10
|
+
attribute :duration
|
11
|
+
attribute :duration_unit
|
12
|
+
attribute :start_time
|
13
|
+
attribute :end_time
|
14
|
+
attribute :project_name
|
15
|
+
attribute :category
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class InvoiceResource < ResourceKit::Resource
|
3
|
+
include ErrorHandlingResourcable
|
4
|
+
|
5
|
+
resources do
|
6
|
+
action :list, 'GET /v2/customers/my/invoices' do
|
7
|
+
handler(200) { |response| InvoiceMapping.extract_collection(response.body, :read) }
|
8
|
+
end
|
9
|
+
|
10
|
+
action :find, 'GET v2/customers/my/invoices/:id' do
|
11
|
+
handler(200) { |response| InvoiceMapping.extract_collection(response.body, :find) }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -34,6 +34,7 @@ module DropletKit
|
|
34
34
|
end
|
35
35
|
|
36
36
|
action :list_resources, 'GET /v2/projects/:id/resources' do
|
37
|
+
query_keys :per_page, :page
|
37
38
|
handler(200) { |response| ProjectAssignmentMapping.extract_collection(response.body, :read) }
|
38
39
|
end
|
39
40
|
|
@@ -61,5 +62,9 @@ module DropletKit
|
|
61
62
|
def all(*args)
|
62
63
|
PaginatedResource.new(action(:all), self, *args)
|
63
64
|
end
|
65
|
+
|
66
|
+
def list_resources(*args)
|
67
|
+
PaginatedResource.new(action(:list_resources), self, *args)
|
68
|
+
end
|
64
69
|
end
|
65
70
|
end
|
@@ -19,7 +19,7 @@ module DropletKit
|
|
19
19
|
|
20
20
|
action :create, 'POST /v2/vpcs' do
|
21
21
|
body { |vpc| VPCMapping.representation_for(:create, vpc) }
|
22
|
-
handler(
|
22
|
+
handler(201) { |response| VPCMapping.extract_single(response.body, :read) }
|
23
23
|
handler(422) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
|
24
24
|
end
|
25
25
|
|
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.12.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: 2020-
|
11
|
+
date: 2020-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: virtus
|
@@ -138,7 +138,7 @@ dependencies:
|
|
138
138
|
version: 3.8.0
|
139
139
|
description: Droplet Kit is the official Ruby library for DigitalOcean's API
|
140
140
|
email:
|
141
|
-
-
|
141
|
+
- api-engineering@digitalocean.com
|
142
142
|
executables: []
|
143
143
|
extensions: []
|
144
144
|
extra_rdoc_files: []
|
@@ -150,6 +150,7 @@ files:
|
|
150
150
|
- lib/droplet_kit/error_handling_resourcable.rb
|
151
151
|
- lib/droplet_kit/mappings/account_mapping.rb
|
152
152
|
- lib/droplet_kit/mappings/action_mapping.rb
|
153
|
+
- lib/droplet_kit/mappings/balance_mapping.rb
|
153
154
|
- lib/droplet_kit/mappings/cdn_mapping.rb
|
154
155
|
- lib/droplet_kit/mappings/certificate_mapping.rb
|
155
156
|
- lib/droplet_kit/mappings/container_registry_mapping.rb
|
@@ -182,6 +183,7 @@ files:
|
|
182
183
|
- lib/droplet_kit/mappings/forwarding_rule_mapping.rb
|
183
184
|
- lib/droplet_kit/mappings/health_check_mapping.rb
|
184
185
|
- lib/droplet_kit/mappings/image_mapping.rb
|
186
|
+
- lib/droplet_kit/mappings/invoice_mapping.rb
|
185
187
|
- lib/droplet_kit/mappings/kernel_mapping.rb
|
186
188
|
- lib/droplet_kit/mappings/kubernetes_cluster_mapping.rb
|
187
189
|
- lib/droplet_kit/mappings/kubernetes_maintenance_policy_mapping.rb
|
@@ -208,6 +210,7 @@ files:
|
|
208
210
|
- lib/droplet_kit/mappings/vpc_member_mapping.rb
|
209
211
|
- lib/droplet_kit/models/account.rb
|
210
212
|
- lib/droplet_kit/models/action.rb
|
213
|
+
- lib/droplet_kit/models/balance.rb
|
211
214
|
- lib/droplet_kit/models/base_model.rb
|
212
215
|
- lib/droplet_kit/models/cdn.rb
|
213
216
|
- lib/droplet_kit/models/certificate.rb
|
@@ -240,6 +243,7 @@ files:
|
|
240
243
|
- lib/droplet_kit/models/forwarding_rule.rb
|
241
244
|
- lib/droplet_kit/models/health_check.rb
|
242
245
|
- lib/droplet_kit/models/image.rb
|
246
|
+
- lib/droplet_kit/models/invoice.rb
|
243
247
|
- lib/droplet_kit/models/kernel.rb
|
244
248
|
- lib/droplet_kit/models/kubernetes_cluster.rb
|
245
249
|
- lib/droplet_kit/models/kubernetes_maintenance_policy.rb
|
@@ -269,6 +273,7 @@ files:
|
|
269
273
|
- lib/droplet_kit/paginated_resource.rb
|
270
274
|
- lib/droplet_kit/resources/account_resource.rb
|
271
275
|
- lib/droplet_kit/resources/action_resource.rb
|
276
|
+
- lib/droplet_kit/resources/balance_resource.rb
|
272
277
|
- lib/droplet_kit/resources/cdn_resource.rb
|
273
278
|
- lib/droplet_kit/resources/certificate_resource.rb
|
274
279
|
- lib/droplet_kit/resources/container_registry_repository_resource.rb
|
@@ -284,6 +289,7 @@ files:
|
|
284
289
|
- lib/droplet_kit/resources/floating_ip_resource.rb
|
285
290
|
- lib/droplet_kit/resources/image_action_resource.rb
|
286
291
|
- lib/droplet_kit/resources/image_resource.rb
|
292
|
+
- lib/droplet_kit/resources/invoice_resource.rb
|
287
293
|
- lib/droplet_kit/resources/kubernetes_cluster_resource.rb
|
288
294
|
- lib/droplet_kit/resources/kubernetes_options_resource.rb
|
289
295
|
- lib/droplet_kit/resources/load_balancer_resource.rb
|
@@ -318,7 +324,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
318
324
|
- !ruby/object:Gem::Version
|
319
325
|
version: '0'
|
320
326
|
requirements: []
|
321
|
-
rubygems_version: 3.1.
|
327
|
+
rubygems_version: 3.1.4
|
322
328
|
signing_key:
|
323
329
|
specification_version: 4
|
324
330
|
summary: Droplet Kit is the official Ruby library for DigitalOcean's API
|