droplet_kit 3.13.1 → 3.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/lib/droplet_kit/client.rb +2 -0
  4. data/lib/droplet_kit/error_handling_resourcable.rb +2 -0
  5. data/lib/droplet_kit/mappings/account_mapping.rb +2 -0
  6. data/lib/droplet_kit/mappings/action_mapping.rb +2 -0
  7. data/lib/droplet_kit/mappings/balance_mapping.rb +2 -0
  8. data/lib/droplet_kit/mappings/cdn_mapping.rb +2 -0
  9. data/lib/droplet_kit/mappings/certificate_mapping.rb +2 -0
  10. data/lib/droplet_kit/mappings/container_registry_mapping.rb +2 -0
  11. data/lib/droplet_kit/mappings/container_registry_repository_mapping.rb +2 -0
  12. data/lib/droplet_kit/mappings/container_registry_repository_tag_mapping.rb +2 -0
  13. data/lib/droplet_kit/mappings/database_backup_mapping.rb +2 -0
  14. data/lib/droplet_kit/mappings/database_backup_restore_mapping.rb +2 -0
  15. data/lib/droplet_kit/mappings/database_cluster_mapping.rb +2 -0
  16. data/lib/droplet_kit/mappings/database_connection_mapping.rb +2 -0
  17. data/lib/droplet_kit/mappings/database_connection_pool_mapping.rb +2 -0
  18. data/lib/droplet_kit/mappings/database_eviction_policy_mapping.rb +2 -0
  19. data/lib/droplet_kit/mappings/database_firewall_rule_mapping.rb +2 -0
  20. data/lib/droplet_kit/mappings/database_maintenance_window_mapping.rb +2 -0
  21. data/lib/droplet_kit/mappings/database_mapping.rb +2 -0
  22. data/lib/droplet_kit/mappings/database_replica_mapping.rb +2 -0
  23. data/lib/droplet_kit/mappings/database_sql_mode_mapping.rb +2 -0
  24. data/lib/droplet_kit/mappings/database_user_mapping.rb +2 -0
  25. data/lib/droplet_kit/mappings/database_user_reset_auth_mapping.rb +2 -0
  26. data/lib/droplet_kit/mappings/domain_mapping.rb +2 -0
  27. data/lib/droplet_kit/mappings/domain_record_mapping.rb +2 -0
  28. data/lib/droplet_kit/mappings/droplet_mapping.rb +3 -0
  29. data/lib/droplet_kit/mappings/droplet_upgrade_mapping.rb +2 -0
  30. data/lib/droplet_kit/mappings/error_mapping.rb +2 -0
  31. data/lib/droplet_kit/mappings/firewall_inbound_rule_mapping.rb +2 -0
  32. data/lib/droplet_kit/mappings/firewall_mapping.rb +2 -0
  33. data/lib/droplet_kit/mappings/firewall_outbound_rule_mapping.rb +2 -0
  34. data/lib/droplet_kit/mappings/firewall_pending_change_mapping.rb +2 -0
  35. data/lib/droplet_kit/mappings/firewall_rule_mapping.rb +2 -0
  36. data/lib/droplet_kit/mappings/floating_ip_mapping.rb +2 -0
  37. data/lib/droplet_kit/mappings/forwarding_rule_mapping.rb +2 -0
  38. data/lib/droplet_kit/mappings/health_check_mapping.rb +2 -0
  39. data/lib/droplet_kit/mappings/image_mapping.rb +2 -0
  40. data/lib/droplet_kit/mappings/invoice_mapping.rb +2 -0
  41. data/lib/droplet_kit/mappings/kernel_mapping.rb +2 -0
  42. data/lib/droplet_kit/mappings/kubernetes_cluster_mapping.rb +3 -0
  43. data/lib/droplet_kit/mappings/kubernetes_maintenance_policy_mapping.rb +2 -0
  44. data/lib/droplet_kit/mappings/kubernetes_node_mapping.rb +2 -0
  45. data/lib/droplet_kit/mappings/kubernetes_node_pool_mapping.rb +2 -0
  46. data/lib/droplet_kit/mappings/kubernetes_options_mapping.rb +4 -1
  47. data/lib/droplet_kit/mappings/links_mapping.rb +2 -0
  48. data/lib/droplet_kit/mappings/load_balancer_mapping.rb +5 -0
  49. data/lib/droplet_kit/mappings/network_detail_mapping.rb +2 -0
  50. data/lib/droplet_kit/mappings/network_mapping.rb +2 -0
  51. data/lib/droplet_kit/mappings/project_assignment_mapping.rb +2 -0
  52. data/lib/droplet_kit/mappings/project_mapping.rb +2 -0
  53. data/lib/droplet_kit/mappings/region_mapping.rb +2 -0
  54. data/lib/droplet_kit/mappings/size_mapping.rb +2 -0
  55. data/lib/droplet_kit/mappings/snapshot_mapping.rb +2 -0
  56. data/lib/droplet_kit/mappings/ssh_key_mapping.rb +2 -0
  57. data/lib/droplet_kit/mappings/sticky_session_mapping.rb +2 -0
  58. data/lib/droplet_kit/mappings/tag_mapping.rb +2 -0
  59. data/lib/droplet_kit/mappings/tagged_droplets_resources_mapping.rb +2 -0
  60. data/lib/droplet_kit/mappings/tagged_images_resources_mapping.rb +2 -0
  61. data/lib/droplet_kit/mappings/tagged_resources_mapping.rb +2 -0
  62. data/lib/droplet_kit/mappings/volume_mapping.rb +2 -0
  63. data/lib/droplet_kit/mappings/vpc_mapping.rb +2 -0
  64. data/lib/droplet_kit/mappings/vpc_member_mapping.rb +2 -0
  65. data/lib/droplet_kit/models/account.rb +2 -0
  66. data/lib/droplet_kit/models/action.rb +2 -0
  67. data/lib/droplet_kit/models/balance.rb +2 -0
  68. data/lib/droplet_kit/models/base_model.rb +2 -0
  69. data/lib/droplet_kit/models/cdn.rb +2 -0
  70. data/lib/droplet_kit/models/certificate.rb +2 -0
  71. data/lib/droplet_kit/models/container_registry.rb +2 -0
  72. data/lib/droplet_kit/models/container_registry_repository.rb +2 -0
  73. data/lib/droplet_kit/models/container_registry_repository_tag.rb +2 -0
  74. data/lib/droplet_kit/models/database.rb +2 -0
  75. data/lib/droplet_kit/models/database_backup.rb +2 -0
  76. data/lib/droplet_kit/models/database_cluster.rb +2 -0
  77. data/lib/droplet_kit/models/database_connection.rb +2 -0
  78. data/lib/droplet_kit/models/database_connection_pool.rb +2 -0
  79. data/lib/droplet_kit/models/database_eviction_policy.rb +2 -0
  80. data/lib/droplet_kit/models/database_firewall_rule.rb +2 -0
  81. data/lib/droplet_kit/models/database_maintenance_window.rb +2 -0
  82. data/lib/droplet_kit/models/database_replica.rb +2 -0
  83. data/lib/droplet_kit/models/database_sql_mode.rb +2 -0
  84. data/lib/droplet_kit/models/database_user.rb +2 -0
  85. data/lib/droplet_kit/models/database_user_mysql_settings.rb +2 -0
  86. data/lib/droplet_kit/models/database_user_reset_auth.rb +2 -0
  87. data/lib/droplet_kit/models/domain.rb +2 -0
  88. data/lib/droplet_kit/models/domain_record.rb +2 -0
  89. data/lib/droplet_kit/models/droplet.rb +3 -0
  90. data/lib/droplet_kit/models/droplet_upgrade.rb +2 -0
  91. data/lib/droplet_kit/models/firewall.rb +2 -0
  92. data/lib/droplet_kit/models/firewall_inbound_rule.rb +2 -0
  93. data/lib/droplet_kit/models/firewall_outbound_rule.rb +2 -0
  94. data/lib/droplet_kit/models/firewall_pending_change.rb +2 -0
  95. data/lib/droplet_kit/models/firewall_rule.rb +2 -0
  96. data/lib/droplet_kit/models/floating_ip.rb +2 -0
  97. data/lib/droplet_kit/models/forwarding_rule.rb +2 -0
  98. data/lib/droplet_kit/models/health_check.rb +2 -0
  99. data/lib/droplet_kit/models/image.rb +2 -0
  100. data/lib/droplet_kit/models/invoice.rb +2 -0
  101. data/lib/droplet_kit/models/kernel.rb +2 -0
  102. data/lib/droplet_kit/models/kubernetes_cluster.rb +3 -1
  103. data/lib/droplet_kit/models/kubernetes_maintenance_policy.rb +2 -0
  104. data/lib/droplet_kit/models/kubernetes_node.rb +2 -0
  105. data/lib/droplet_kit/models/kubernetes_node_pool.rb +2 -0
  106. data/lib/droplet_kit/models/kubernetes_options.rb +2 -0
  107. data/lib/droplet_kit/models/links.rb +2 -0
  108. data/lib/droplet_kit/models/load_balancer.rb +4 -0
  109. data/lib/droplet_kit/models/meta_information.rb +2 -0
  110. data/lib/droplet_kit/models/network.rb +2 -0
  111. data/lib/droplet_kit/models/network_hash.rb +2 -0
  112. data/lib/droplet_kit/models/pagination_information.rb +2 -0
  113. data/lib/droplet_kit/models/project.rb +2 -0
  114. data/lib/droplet_kit/models/project_assignment.rb +2 -0
  115. data/lib/droplet_kit/models/region.rb +2 -0
  116. data/lib/droplet_kit/models/size.rb +2 -0
  117. data/lib/droplet_kit/models/snapshot.rb +2 -0
  118. data/lib/droplet_kit/models/ssh_key.rb +2 -0
  119. data/lib/droplet_kit/models/sticky_session.rb +2 -0
  120. data/lib/droplet_kit/models/tag.rb +2 -0
  121. data/lib/droplet_kit/models/tagged_droplets_resources.rb +2 -0
  122. data/lib/droplet_kit/models/tagged_images_resources.rb +2 -0
  123. data/lib/droplet_kit/models/tagged_resources.rb +2 -0
  124. data/lib/droplet_kit/models/volume.rb +2 -0
  125. data/lib/droplet_kit/models/vpc.rb +2 -0
  126. data/lib/droplet_kit/models/vpc_member.rb +2 -0
  127. data/lib/droplet_kit/paginated_resource.rb +2 -0
  128. data/lib/droplet_kit/resources/account_resource.rb +3 -1
  129. data/lib/droplet_kit/resources/action_resource.rb +3 -1
  130. data/lib/droplet_kit/resources/balance_resource.rb +3 -1
  131. data/lib/droplet_kit/resources/cdn_resource.rb +2 -0
  132. data/lib/droplet_kit/resources/certificate_resource.rb +2 -0
  133. data/lib/droplet_kit/resources/container_registry_repository_resource.rb +26 -25
  134. data/lib/droplet_kit/resources/container_registry_resource.rb +22 -21
  135. data/lib/droplet_kit/resources/database_resource.rb +2 -0
  136. data/lib/droplet_kit/resources/domain_record_resource.rb +2 -0
  137. data/lib/droplet_kit/resources/domain_resource.rb +2 -0
  138. data/lib/droplet_kit/resources/droplet_action_resource.rb +2 -0
  139. data/lib/droplet_kit/resources/droplet_resource.rb +2 -0
  140. data/lib/droplet_kit/resources/droplet_upgrade_resource.rb +3 -1
  141. data/lib/droplet_kit/resources/firewall_resource.rb +2 -0
  142. data/lib/droplet_kit/resources/floating_ip_action_resource.rb +3 -1
  143. data/lib/droplet_kit/resources/floating_ip_resource.rb +3 -1
  144. data/lib/droplet_kit/resources/image_action_resource.rb +2 -0
  145. data/lib/droplet_kit/resources/image_resource.rb +3 -1
  146. data/lib/droplet_kit/resources/invoice_resource.rb +13 -11
  147. data/lib/droplet_kit/resources/kubernetes_cluster_resource.rb +16 -1
  148. data/lib/droplet_kit/resources/kubernetes_options_resource.rb +2 -0
  149. data/lib/droplet_kit/resources/load_balancer_resource.rb +2 -0
  150. data/lib/droplet_kit/resources/project_resource.rb +2 -0
  151. data/lib/droplet_kit/resources/region_resource.rb +2 -0
  152. data/lib/droplet_kit/resources/size_resource.rb +2 -0
  153. data/lib/droplet_kit/resources/snapshot_resource.rb +3 -1
  154. data/lib/droplet_kit/resources/ssh_key_resource.rb +2 -0
  155. data/lib/droplet_kit/resources/tag_resource.rb +2 -0
  156. data/lib/droplet_kit/resources/volume_action_resource.rb +3 -1
  157. data/lib/droplet_kit/resources/volume_resource.rb +2 -0
  158. data/lib/droplet_kit/resources/vpc_resource.rb +2 -0
  159. data/lib/droplet_kit/utils.rb +2 -0
  160. data/lib/droplet_kit/version.rb +3 -1
  161. data/lib/droplet_kit.rb +2 -0
  162. data/lib/tasks/resource_doc.rake +2 -0
  163. metadata +5 -5
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  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
4
+ class InvoiceResource < ResourceKit::Resource
5
+ include ErrorHandlingResourcable
6
+
7
+ resources do
8
+ action :list, 'GET /v2/customers/my/invoices' do
9
+ handler(200) { |response| InvoiceMapping.extract_collection(response.body, :read) }
10
+ end
9
11
 
10
- action :find, 'GET v2/customers/my/invoices/:id' do
11
- handler(200) { |response| InvoiceMapping.extract_collection(response.body, :find) }
12
- end
12
+ action :find, 'GET v2/customers/my/invoices/:id' do
13
+ handler(200) { |response| InvoiceMapping.extract_collection(response.body, :find) }
13
14
  end
14
15
  end
15
- end
16
+ end
17
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class KubernetesClusterResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -13,7 +15,20 @@ module DropletKit
13
15
  end
14
16
 
15
17
  action :create, 'POST /v2/kubernetes/clusters' do
16
- body { |object| KubernetesClusterMapping.representation_for(:create, object) }
18
+ body do |object|
19
+ # This ensures that both a hash and an instance of KubernetesNodePool can be passed
20
+ # into the node_pools array
21
+ #
22
+ # Ex:
23
+ # KubernetesCluster.new(node_pools: [{}])
24
+ # or
25
+ # KubernetesCluster.new(node_pools: [KubernetesNodePool.new()])
26
+ if object.respond_to?(:node_pools) && object.node_pools.respond_to?(:map)
27
+ object.node_pools = object.node_pools.map(&:to_hash)
28
+ end
29
+
30
+ KubernetesClusterMapping.representation_for(:create, object)
31
+ end
17
32
  handler(201) { |response, cluster| KubernetesClusterMapping.extract_into_object(cluster, response.body, :read) }
18
33
  handler(422) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
19
34
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class KubernetesOptionsResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class LoadBalancerResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class ProjectResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class RegionResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class SizeResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class SnapshotResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -21,4 +23,4 @@ module DropletKit
21
23
  PaginatedResource.new(action(:all), self, *args)
22
24
  end
23
25
  end
24
- end
26
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class SSHKeyResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class TagResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class VolumeActionResource < ResourceKit::Resource
3
5
  resources do
@@ -52,4 +54,4 @@ module DropletKit
52
54
  PaginatedResource.new(action(:all), self, *args)
53
55
  end
54
56
  end
55
- end
57
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class VolumeResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  class VPCResource < ResourceKit::Resource
3
5
  include ErrorHandlingResourcable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
4
  module Utils
3
5
  def self.camelize(term)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DropletKit
2
- VERSION = "3.13.1"
4
+ VERSION = "3.16.1"
3
5
  end
data/lib/droplet_kit.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'droplet_kit/version'
2
4
  require 'resource_kit'
3
5
  require 'kartograph'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'droplet_kit'
2
4
  require 'droplet_kit/utils'
3
5
 
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.13.1
4
+ version: 3.16.1
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: 2021-04-19 00:00:00.000000000 Z
11
+ date: 2022-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: virtus
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.2.3
47
+ version: 0.2.8
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.2.3
54
+ version: 0.2.8
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: faraday
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -324,7 +324,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
324
324
  - !ruby/object:Gem::Version
325
325
  version: '0'
326
326
  requirements: []
327
- rubygems_version: 3.2.15
327
+ rubygems_version: 3.1.6
328
328
  signing_key:
329
329
  specification_version: 4
330
330
  summary: Droplet Kit is the official Ruby library for DigitalOcean's API