droplet_kit 3.8.1 → 3.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: caa76a1ccea55362aad9aa3534b752aeeadb594585c9fa1142929e8cf5185272
4
- data.tar.gz: d0ff54091ac4d9eb6ca2c974ecc752393a4ec50496acc49b9baece5b77d7b2b8
3
+ metadata.gz: d5e98513325962e09a5405e6665aec934202e9540de33e84e59504749f8b6082
4
+ data.tar.gz: 1a251b9b9479752e21c63cc77769d19da93a12989d79356d40065aa500a0c3d2
5
5
  SHA512:
6
- metadata.gz: 1519d7ca818603442b24b71c5d599c27c3c965733064fb03cd9e2313b76d635f66ee3bfbad9f7b64f9b0faa60f09e1e0003e983528cfd99af66b20b3667436c8
7
- data.tar.gz: 0e221aa8ee46304d20a65c7b033492d852a5e5cb2df21e8421491afa206736fb4458411973ec5c0f5c4dcfc5c3009b7e8c313435abc971e116d407b61c91ca7e
6
+ metadata.gz: 5a5ab31c45ee715dd6df0ddac05d99f0cb3380fa1f1e22b5c3823a69e0ad3316edc4e42aaef8e51782a30da4d2722066fefb87c9825f6549d34a9ce945b9a600
7
+ data.tar.gz: e0c65e9609f12e72d2eaed500cc35cbc1935aab24ec5eacd99c2df6d1b9d93e3889c4dd693e3fd0c40f82750f5d0c45f62367e7b4280b8f6982acd818d675937
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
 
@@ -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'
@@ -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
@@ -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
@@ -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
+
@@ -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
@@ -20,6 +20,7 @@ module DropletKit
20
20
  scoped :update, :patch do
21
21
  property :name
22
22
  property :description
23
+ property :default
23
24
  end
24
25
 
25
26
  scoped :create do
@@ -30,4 +31,4 @@ module DropletKit
30
31
  end
31
32
  end
32
33
  end
33
- end
34
+ end
@@ -0,0 +1,8 @@
1
+ module DropletKit
2
+ class Balance < BaseModel
3
+ attribute :month_to_date_balance
4
+ attribute :account_balance
5
+ attribute :month_to_date_usage
6
+ attribute :generated_at
7
+ end
8
+ end
@@ -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
+
@@ -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
@@ -0,0 +1,10 @@
1
+ module DropletKit
2
+ class BalanceResource < ResourceKit::Resource
3
+ include ErrorHandlingResourcable
4
+
5
+ resources do
6
+ default_handler(:ok) {|r| BalanceMapping.extract_single(r.body, :read) }
7
+ get '/v2/customers/my/balance' => :info
8
+ end
9
+ end
10
+ end
@@ -4,7 +4,7 @@ module DropletKit
4
4
 
5
5
  resources do
6
6
  action :all, 'GET /v2/domains/:for_domain/records' do
7
- query_keys :per_page, :page
7
+ query_keys :per_page, :page, :name, :type
8
8
  handler(200) { |response| DomainRecordMapping.extract_collection(response.body, :read) }
9
9
  end
10
10
 
@@ -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
@@ -1,3 +1,3 @@
1
1
  module DropletKit
2
- VERSION = "3.8.1"
2
+ VERSION = "3.13.0"
3
3
  end
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.8.1
4
+ version: 3.13.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-08-03 00:00:00.000000000 Z
11
+ date: 2021-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: virtus
@@ -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