droplet_kit 3.8.1 → 3.13.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 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