droplet_kit 3.20.0 → 3.22.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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +77 -0
  3. data/lib/droplet_kit/client.rb +6 -1
  4. data/lib/droplet_kit/mappings/app_mapping.rb +121 -0
  5. data/lib/droplet_kit/mappings/app_spec_mapping.rb +549 -0
  6. data/lib/droplet_kit/mappings/database_connection_pool_mapping.rb +4 -4
  7. data/lib/droplet_kit/mappings/database_kafka_config_mapping.rb +56 -0
  8. data/lib/droplet_kit/mappings/database_metrics_credentials_mapping.rb +15 -0
  9. data/lib/droplet_kit/mappings/database_mongo_config_mapping.rb +22 -0
  10. data/lib/droplet_kit/mappings/database_mysql_config_mapping.rb +50 -0
  11. data/lib/droplet_kit/mappings/database_opensearch_config_mapping.rb +55 -0
  12. data/lib/droplet_kit/mappings/database_postgres_config_mapping.rb +97 -0
  13. data/lib/droplet_kit/mappings/database_redis_config_mapping.rb +28 -0
  14. data/lib/droplet_kit/mappings/deployment_mapping.rb +136 -0
  15. data/lib/droplet_kit/mappings/one_click_kubernetes_mapping.rb +16 -0
  16. data/lib/droplet_kit/mappings/one_click_mapping.rb +17 -0
  17. data/lib/droplet_kit/mappings/reserved_ipv6_mapping.rb +17 -0
  18. data/lib/droplet_kit/mappings/vpc_peering_mapping.rb +29 -0
  19. data/lib/droplet_kit/models/app.rb +70 -0
  20. data/lib/droplet_kit/models/app_spec.rb +290 -0
  21. data/lib/droplet_kit/models/database_kafka_config.rb +47 -0
  22. data/lib/droplet_kit/models/database_metrics_credentials.rb +8 -0
  23. data/lib/droplet_kit/models/database_mongo_config.rb +13 -0
  24. data/lib/droplet_kit/models/database_mysql_config.rb +41 -0
  25. data/lib/droplet_kit/models/database_opensearch_config.rb +46 -0
  26. data/lib/droplet_kit/models/database_postgres_config.rb +76 -0
  27. data/lib/droplet_kit/models/database_redis_config.rb +19 -0
  28. data/lib/droplet_kit/models/deployment.rb +73 -0
  29. data/lib/droplet_kit/models/one_click.rb +8 -0
  30. data/lib/droplet_kit/models/one_click_kubernetes.rb +8 -0
  31. data/lib/droplet_kit/models/reserved_ipv6.rb +19 -0
  32. data/lib/droplet_kit/models/vpc_peering.rb +11 -0
  33. data/lib/droplet_kit/resources/app_resource.rb +36 -0
  34. data/lib/droplet_kit/resources/database_resource.rb +36 -0
  35. data/lib/droplet_kit/resources/droplet_action_resource.rb +1 -1
  36. data/lib/droplet_kit/resources/one_click_resource.rb +23 -0
  37. data/lib/droplet_kit/resources/reserved_ipv6_action_resource.rb +20 -0
  38. data/lib/droplet_kit/resources/reserved_ipv6_resource.rb +33 -0
  39. data/lib/droplet_kit/resources/vpc_peering_resource.rb +43 -0
  40. data/lib/droplet_kit/version.rb +1 -1
  41. data/lib/droplet_kit.rb +137 -0
  42. metadata +52 -5
@@ -142,6 +142,11 @@ module DropletKit
142
142
  handler(200) { |response| DatabaseConnectionPoolMapping.extract_collection(response.body, :read) }
143
143
  end
144
144
 
145
+ action :update_connection_pool, 'PUT /v2/databases/:id/pools/:name' do
146
+ body { |object| DatabaseConnectionPoolMapping.representation_for(:update, object) }
147
+ handler(204) { |response| true }
148
+ end
149
+
145
150
  action :delete_connection_pool, 'DELETE /v2/databases/:id/pools/:name' do
146
151
  handler(204) { |response| true }
147
152
  end
@@ -165,6 +170,37 @@ module DropletKit
165
170
  action :get_sql_mode, 'GET /v2/databases/:id/sql_mode' do
166
171
  handler(200) { |response| DatabaseSQLModeMapping.extract_single(response.body, :read) }
167
172
  end
173
+
174
+ action :get_metrics_credentials, 'GET /v2/databases/metrics/credentials' do
175
+ handler(200) { |response| DatabaseMetricsCredentialsMapping.extract_single(response.body, :read) }
176
+ end
177
+
178
+ action :update_metrics_credentials, 'PUT /v2/databases/metrics/credentials' do
179
+ body { |object| DatabaseMetricsCredentialsMapping.representation_for(:update, object) }
180
+ handler(204) { |response| true }
181
+ end
182
+
183
+ %w[
184
+ kafka
185
+ postgres
186
+ redis
187
+ opensearch
188
+ mysql
189
+ mongo
190
+ ].each do |database|
191
+ action :"get_#{database}_config", 'GET /v2/databases/:id/config' do
192
+ handler(200) do |response|
193
+ DropletKit.const_get("Database#{database.capitalize}ConfigMapping").extract_single(response.body, :read)
194
+ end
195
+ end
196
+
197
+ action :"update_#{database}_config", 'PATCH /v2/databases/:id/config' do
198
+ body do |object|
199
+ DropletKit.const_get("Database#{database.capitalize}ConfigMapping").representation_for(:update, object)
200
+ end
201
+ handler(200) { |response| true }
202
+ end
203
+ end
168
204
  end
169
205
 
170
206
  def all(*args)
@@ -35,7 +35,7 @@ module DropletKit
35
35
  end
36
36
 
37
37
  TAG_ACTIONS.each do |action_name|
38
- action "#{action_name}_for_tag".to_sym, 'POST /v2/droplets/actions' do
38
+ action :"#{action_name}_for_tag", 'POST /v2/droplets/actions' do
39
39
  query_keys :tag_name
40
40
  body { |_| { type: action_name }.to_json }
41
41
  handler(201, 200) { |response| ActionMapping.extract_collection(response.body, :read) }
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropletKit
4
+ class OneClickResource < ResourceKit::Resource
5
+ include ErrorHandlingResourcable
6
+
7
+ resources do
8
+ action :all, 'GET /v2/1-clicks' do
9
+ query_keys :type
10
+
11
+ handler(200) do |response|
12
+ OneClickMapping.extract_collection(response.body, :read)
13
+ end
14
+ end
15
+
16
+ action :create_kubernetes, 'POST /v2/1-clicks/kubernetes' do
17
+ body { |object| OneClickKubernetesMapping.representation_for(:create, object) }
18
+
19
+ handler(200) { |response| response.body }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropletKit
4
+ class ReservedIpv6ActionResource < ResourceKit::Resource
5
+ resources do
6
+ default_handler(422) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
7
+ default_handler(400) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
8
+
9
+ action :assign, 'POST /v2/reserved_ipv6/:ip/actions' do
10
+ body { |hash| { type: 'assign', droplet_id: hash[:droplet_id] }.to_json }
11
+ handler(201, 200) { |response| ActionMapping.extract_single(response.body, :read) }
12
+ end
13
+
14
+ action :unassign, 'POST /v2/reserved_ipv6/:ip/actions' do
15
+ body { |hash| { type: 'unassign' }.to_json }
16
+ handler(201, 200) { |response| ActionMapping.extract_single(response.body, :read) }
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropletKit
4
+ class ReservedIpv6Resource < ResourceKit::Resource
5
+ resources do
6
+ action :all, 'GET /v2/reserved_ipv6' do
7
+ query_keys :per_page, :page
8
+ handler(200) { |response| ReservedIpv6Mapping.extract_collection(response.body, :read) }
9
+ end
10
+
11
+ action :find, 'GET /v2/reserved_ipv6/:ip' do
12
+ handler(200) { |response| ReservedIpv6Mapping.extract_single(response.body, :read) }
13
+ handler(404) { |response| ErrorMapping.fail_with(Error, response.body) }
14
+ end
15
+
16
+ action :create, 'POST /v2/reserved_ipv6' do
17
+ body { |object| ReservedIpv6Mapping.representation_for(:create, object) }
18
+ handler(201) { |response| ReservedIpv6Mapping.extract_single(response.body, :read) }
19
+ handler(422) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
20
+ end
21
+
22
+ action :delete, 'DELETE /v2/reserved_ipv6/:ip' do
23
+ handler(404) { |response| ErrorMapping.fail_with(FailedDelete, response.body) }
24
+ handler(202) { |response| ActionMapping.extract_single(response.body, :read) }
25
+ handler(204) { |response| true }
26
+ end
27
+ end
28
+
29
+ def all(*args)
30
+ PaginatedResource.new(action(:all), self, *args)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropletKit
4
+ class VPCPeeringResource < ResourceKit::Resource
5
+ include ErrorHandlingResourcable
6
+
7
+ resources do
8
+ action :find, 'GET /v2/vpc_peerings/:id' do
9
+ handler(200) do |response|
10
+ VPCPeeringMapping.extract_single(response.body, :read)
11
+ end
12
+ end
13
+
14
+ action :all, 'GET /v2/vpc_peerings' do
15
+ query_keys :per_page, :page
16
+
17
+ handler(200) do |response|
18
+ VPCPeeringMapping.extract_collection(response.body, :read)
19
+ end
20
+ end
21
+
22
+ action :create, 'POST /v2/vpc_peerings' do
23
+ body { |vpc_peering| VPCPeeringMapping.representation_for(:create, vpc_peering) }
24
+ handler(202) { |response| VPCPeeringMapping.extract_single(response.body, :read) }
25
+ handler(422) { |response| ErrorMapping.fail_with(FailedCreate, response.body) }
26
+ end
27
+
28
+ action :patch, 'PATCH /v2/vpc_peerings/:id' do
29
+ body { |vpc_peering| VPCPeeringMapping.representation_for(:patch, vpc_peering) }
30
+ handler(200) { |response| VPCPeeringMapping.extract_single(response.body, :read) }
31
+ handler(422) { |response| ErrorMapping.fail_with(FailedUpdate, response.body) }
32
+ end
33
+
34
+ action :delete, 'DELETE /v2/vpc_peerings/:id' do
35
+ handler(202) { |response| VPCPeeringMapping.extract_single(response.body, :read) }
36
+ end
37
+ end
38
+
39
+ def all(*args)
40
+ PaginatedResource.new(action(:all), self, *args)
41
+ end
42
+ end
43
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DropletKit
4
- VERSION = '3.20.0'
4
+ VERSION = '3.22.0'
5
5
  end
data/lib/droplet_kit.rb CHANGED
@@ -4,6 +4,7 @@ require 'droplet_kit/version'
4
4
  require 'resource_kit'
5
5
  require 'kartograph'
6
6
 
7
+ # rubocop:disable Metrics/ModuleLength
7
8
  module DropletKit
8
9
  autoload :Client, 'droplet_kit/client'
9
10
 
@@ -31,6 +32,7 @@ module DropletKit
31
32
  autoload :DropletUpgrade, 'droplet_kit/models/droplet_upgrade'
32
33
  autoload :FloatingIp, 'droplet_kit/models/floating_ip'
33
34
  autoload :ReservedIp, 'droplet_kit/models/reserved_ip'
35
+ autoload :ReservedIpv6, 'droplet_kit/models/reserved_ipv6'
34
36
  autoload :Project, 'droplet_kit/models/project'
35
37
  autoload :ProjectAssignment, 'droplet_kit/models/project_assignment'
36
38
  autoload :Links, 'droplet_kit/models/links'
@@ -49,9 +51,18 @@ module DropletKit
49
51
  autoload :DatabaseMaintenanceWindow, 'droplet_kit/models/database_maintenance_window'
50
52
  autoload :DatabaseReplica, 'droplet_kit/models/database_replica'
51
53
  autoload :DatabaseSQLMode, 'droplet_kit/models/database_sql_mode'
54
+ autoload :DatabaseMongoConfig, 'droplet_kit/models/database_mongo_config'
55
+ autoload :DatabaseKafkaConfig, 'droplet_kit/models/database_kafka_config'
56
+ autoload :DatabaseMysqlConfig, 'droplet_kit/models/database_mysql_config'
57
+ autoload :DatabasePostgresTimescaledbConfig, 'droplet_kit/models/database_postgres_config'
58
+ autoload :DatabasePostgresPgbouncerConfig, 'droplet_kit/models/database_postgres_config'
59
+ autoload :DatabasePostgresConfig, 'droplet_kit/models/database_postgres_config'
60
+ autoload :DatabaseRedisConfig, 'droplet_kit/models/database_redis_config'
61
+ autoload :DatabaseOpensearchConfig, 'droplet_kit/models/database_opensearch_config'
52
62
  autoload :DatabaseUser, 'droplet_kit/models/database_user'
53
63
  autoload :DatabaseUserResetAuth, 'droplet_kit/models/database_user_reset_auth'
54
64
  autoload :DatabaseUserMySQLSettings, 'droplet_kit/models/database_user_mysql_settings'
65
+ autoload :DatabaseMetricsCredentials, 'droplet_kit/models/database_metrics_credentials'
55
66
  autoload :LoadBalancer, 'droplet_kit/models/load_balancer'
56
67
  autoload :StickySession, 'droplet_kit/models/sticky_session'
57
68
  autoload :HealthCheck, 'droplet_kit/models/health_check'
@@ -69,6 +80,62 @@ module DropletKit
69
80
  autoload :KubernetesOptions, 'droplet_kit/models/kubernetes_options'
70
81
  autoload :VPC, 'droplet_kit/models/vpc'
71
82
  autoload :VPCMember, 'droplet_kit/models/vpc_member'
83
+ autoload :VPCPeering, 'droplet_kit/models/vpc_peering'
84
+ autoload :OneClick, 'droplet_kit/models/one_click'
85
+ autoload :OneClickKubernetes, 'droplet_kit/models/one_click_kubernetes'
86
+ autoload :AppDomainSpec, 'droplet_kit/models/app_spec'
87
+ autoload :AppGitSourceSpec, 'droplet_kit/models/app_spec'
88
+ autoload :AppGitHubSourceSpec, 'droplet_kit/models/app_spec'
89
+ autoload :AppGitLabSourceSpec, 'droplet_kit/models/app_spec'
90
+ autoload :AppImageDeployOnPush, 'droplet_kit/models/app_spec'
91
+ autoload :AppImageSourceSpec, 'droplet_kit/models/app_spec'
92
+ autoload :AppVariableDefinition, 'droplet_kit/models/app_spec'
93
+ autoload :AppLogDestinationSpecPapertrail, 'droplet_kit/models/app_spec'
94
+ autoload :AppLogDestinationSpecDatadog, 'droplet_kit/models/app_spec'
95
+ autoload :AppLogDestinationSpecLogtail, 'droplet_kit/models/app_spec'
96
+ autoload :OpenSearchBasicAuth, 'droplet_kit/models/app_spec'
97
+ autoload :AppLogDestinationSpecOpenSearch, 'droplet_kit/models/app_spec'
98
+ autoload :AppLogDestinationSpec, 'droplet_kit/models/app_spec'
99
+ autoload :AppAutoscalingSpecMetricCPU, 'droplet_kit/models/app_spec'
100
+ autoload :AppAutoscalingSpecMetrics, 'droplet_kit/models/app_spec'
101
+ autoload :AppAutoscalingSpec, 'droplet_kit/models/app_spec'
102
+ autoload :AppServiceSpecHealthCheck, 'droplet_kit/models/app_spec'
103
+ autoload :AppServiceSpecTermination, 'droplet_kit/models/app_spec'
104
+ autoload :AppServiceSpec, 'droplet_kit/models/app_spec'
105
+ autoload :AppStaticSiteSpec, 'droplet_kit/models/app_spec'
106
+ autoload :AppJobSpecTermination, 'droplet_kit/models/app_spec'
107
+ autoload :AppJobSpec, 'droplet_kit/models/app_spec'
108
+ autoload :AppWorkerSpecTermination, 'droplet_kit/models/app_spec'
109
+ autoload :AppWorkerSpec, 'droplet_kit/models/app_spec'
110
+ autoload :AppAlertSpec, 'droplet_kit/models/app_spec'
111
+ autoload :AppFunctionSpec, 'droplet_kit/models/app_spec'
112
+ autoload :AppDatabaseSpec, 'droplet_kit/models/app_spec'
113
+ autoload :AppIngressSpecRuleStringMatch, 'droplet_kit/models/app_spec'
114
+ autoload :AppIngressSpecRuleMatch, 'droplet_kit/models/app_spec'
115
+ autoload :AppStringMatch, 'droplet_kit/models/app_spec'
116
+ autoload :AppCorsPolicy, 'droplet_kit/models/app_spec'
117
+ autoload :AppIngressSpecRuleRoutingComponent, 'droplet_kit/models/app_spec'
118
+ autoload :AppIngressSpecRuleRoutingRedirect, 'droplet_kit/models/app_spec'
119
+ autoload :AppIngressSpecRule, 'droplet_kit/models/app_spec'
120
+ autoload :AppIngressSpec, 'droplet_kit/models/app_spec'
121
+ autoload :AppEgressSpec, 'droplet_kit/models/app_spec'
122
+ autoload :AppSpec, 'droplet_kit/models/app_spec'
123
+ autoload :DeploymentJob, 'droplet_kit/models/deployment'
124
+ autoload :DeploymentFunction, 'droplet_kit/models/deployment'
125
+ autoload :DeploymentProgressStepReason, 'droplet_kit/models/deployment'
126
+ autoload :DeploymentProgressStep, 'droplet_kit/models/deployment'
127
+ autoload :DeploymentProgress, 'droplet_kit/models/deployment'
128
+ autoload :DeploymentService, 'droplet_kit/models/deployment'
129
+ autoload :DeploymentStaticSite, 'droplet_kit/models/deployment'
130
+ autoload :DeploymentWorker, 'droplet_kit/models/deployment'
131
+ autoload :Deployment, 'droplet_kit/models/deployment'
132
+ autoload :AppDomainProgress, 'droplet_kit/models/app'
133
+ autoload :AppDomainSpec, 'droplet_kit/models/app'
134
+ autoload :AppDomainValidation, 'droplet_kit/models/app'
135
+ autoload :AppDomain, 'droplet_kit/models/app'
136
+ autoload :AppRegion, 'droplet_kit/models/app'
137
+ autoload :AppDedicatedIp, 'droplet_kit/models/app'
138
+ autoload :App, 'droplet_kit/models/app'
72
139
 
73
140
  # Resources
74
141
  autoload :DropletResource, 'droplet_kit/resources/droplet_resource'
@@ -90,7 +157,9 @@ module DropletKit
90
157
  autoload :FloatingIpResource, 'droplet_kit/resources/floating_ip_resource'
91
158
  autoload :FloatingIpActionResource, 'droplet_kit/resources/floating_ip_action_resource'
92
159
  autoload :ReservedIpResource, 'droplet_kit/resources/reserved_ip_resource'
160
+ autoload :ReservedIpv6Resource, 'droplet_kit/resources/reserved_ipv6_resource'
93
161
  autoload :ReservedIpActionResource, 'droplet_kit/resources/reserved_ip_action_resource'
162
+ autoload :ReservedIpv6ActionResource, 'droplet_kit/resources/reserved_ipv6_action_resource'
94
163
  autoload :ProjectResource, 'droplet_kit/resources/project_resource'
95
164
  autoload :TagResource, 'droplet_kit/resources/tag_resource'
96
165
  autoload :VolumeResource, 'droplet_kit/resources/volume_resource'
@@ -104,6 +173,9 @@ module DropletKit
104
173
  autoload :KubernetesClusterResource, 'droplet_kit/resources/kubernetes_cluster_resource'
105
174
  autoload :KubernetesOptionsResource, 'droplet_kit/resources/kubernetes_options_resource'
106
175
  autoload :VPCResource, 'droplet_kit/resources/vpc_resource'
176
+ autoload :VPCPeeringResource, 'droplet_kit/resources/vpc_peering_resource'
177
+ autoload :OneClickResource, 'droplet_kit/resources/one_click_resource'
178
+ autoload :AppResource, 'droplet_kit/resources/app_resource'
107
179
 
108
180
  # JSON Maps
109
181
  autoload :DropletMapping, 'droplet_kit/mappings/droplet_mapping'
@@ -129,6 +201,7 @@ module DropletKit
129
201
  autoload :DropletUpgradeMapping, 'droplet_kit/mappings/droplet_upgrade_mapping'
130
202
  autoload :FloatingIpMapping, 'droplet_kit/mappings/floating_ip_mapping'
131
203
  autoload :ReservedIpMapping, 'droplet_kit/mappings/reserved_ip_mapping'
204
+ autoload :ReservedIpv6Mapping, 'droplet_kit/mappings/reserved_ipv6_mapping'
132
205
  autoload :ProjectMapping, 'droplet_kit/mappings/project_mapping'
133
206
  autoload :ProjectAssignmentMapping, 'droplet_kit/mappings/project_assignment_mapping'
134
207
  autoload :LinksMapping, 'droplet_kit/mappings/links_mapping'
@@ -148,8 +221,15 @@ module DropletKit
148
221
  autoload :DatabaseMaintenanceWindowMapping, 'droplet_kit/mappings/database_maintenance_window_mapping'
149
222
  autoload :DatabaseReplicaMapping, 'droplet_kit/mappings/database_replica_mapping'
150
223
  autoload :DatabaseSQLModeMapping, 'droplet_kit/mappings/database_sql_mode_mapping'
224
+ autoload :DatabaseMongoConfigMapping, 'droplet_kit/mappings/database_mongo_config_mapping'
225
+ autoload :DatabaseKafkaConfigMapping, 'droplet_kit/mappings/database_kafka_config_mapping'
226
+ autoload :DatabaseMysqlConfigMapping, 'droplet_kit/mappings/database_mysql_config_mapping'
227
+ autoload :DatabasePostgresConfigMapping, 'droplet_kit/mappings/database_postgres_config_mapping'
228
+ autoload :DatabaseRedisConfigMapping, 'droplet_kit/mappings/database_redis_config_mapping'
229
+ autoload :DatabaseOpensearchConfigMapping, 'droplet_kit/mappings/database_opensearch_config_mapping'
151
230
  autoload :DatabaseUserMapping, 'droplet_kit/mappings/database_user_mapping'
152
231
  autoload :DatabaseUserResetAuthMapping, 'droplet_kit/mappings/database_user_reset_auth_mapping'
232
+ autoload :DatabaseMetricsCredentialsMapping, 'droplet_kit/mappings/database_metrics_credentials_mapping'
153
233
  autoload :LoadBalancerMapping, 'droplet_kit/mappings/load_balancer_mapping'
154
234
  autoload :StickySessionMapping, 'droplet_kit/mappings/sticky_session_mapping'
155
235
  autoload :HealthCheckMapping, 'droplet_kit/mappings/health_check_mapping'
@@ -168,6 +248,62 @@ module DropletKit
168
248
  autoload :KubernetesOptionsMapping, 'droplet_kit/mappings/kubernetes_options_mapping'
169
249
  autoload :VPCMapping, 'droplet_kit/mappings/vpc_mapping'
170
250
  autoload :VPCMemberMapping, 'droplet_kit/mappings/vpc_member_mapping'
251
+ autoload :VPCPeeringMapping, 'droplet_kit/mappings/vpc_peering_mapping'
252
+ autoload :OneClickMapping, 'droplet_kit/mappings/one_click_mapping'
253
+ autoload :OneClickKubernetesMapping, 'droplet_kit/mappings/one_click_kubernetes_mapping'
254
+ autoload :AppDomainSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
255
+ autoload :AppGitSourceSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
256
+ autoload :AppGitHubSourceSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
257
+ autoload :AppGitLabSourceSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
258
+ autoload :AppImageDeployOnPushMapping, 'droplet_kit/mappings/app_spec_mapping'
259
+ autoload :AppImageSourceSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
260
+ autoload :AppVariableDefinitionMapping, 'droplet_kit/mappings/app_spec_mapping'
261
+ autoload :AppLogDestinationSpecPapertrailMapping, 'droplet_kit/mappings/app_spec_mapping'
262
+ autoload :AppLogDestinationSpecDatadogMapping, 'droplet_kit/mappings/app_spec_mapping'
263
+ autoload :AppLogDestinationSpecLogtailMapping, 'droplet_kit/mappings/app_spec_mapping'
264
+ autoload :OpenSearchBasicAuthMapping, 'droplet_kit/mappings/app_spec_mapping'
265
+ autoload :AppLogDestinationSpecOpenSearchMapping, 'droplet_kit/mappings/app_spec_mapping'
266
+ autoload :AppLogDestinationSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
267
+ autoload :AppAutoscalingSpecMetricCPUMapping, 'droplet_kit/mappings/app_spec_mapping'
268
+ autoload :AppAutoscalingSpecMetricsMapping, 'droplet_kit/mappings/app_spec_mapping'
269
+ autoload :AppAutoscalingSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
270
+ autoload :AppServiceSpecHealthCheckMapping, 'droplet_kit/mappings/app_spec_mapping'
271
+ autoload :AppServiceSpecTerminationMapping, 'droplet_kit/mappings/app_spec_mapping'
272
+ autoload :AppServiceSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
273
+ autoload :AppStaticSiteSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
274
+ autoload :AppJobSpecTerminationMapping, 'droplet_kit/mappings/app_spec_mapping'
275
+ autoload :AppJobSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
276
+ autoload :AppWorkerSpecTerminationMapping, 'droplet_kit/mappings/app_spec_mapping'
277
+ autoload :AppWorkerSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
278
+ autoload :AppAlertSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
279
+ autoload :AppFunctionSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
280
+ autoload :AppDatabaseSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
281
+ autoload :AppIngressSpecRuleStringMatchMapping, 'droplet_kit/mappings/app_spec_mapping'
282
+ autoload :AppIngressSpecRuleMatchMapping, 'droplet_kit/mappings/app_spec_mapping'
283
+ autoload :AppStringMatchMapping, 'droplet_kit/mappings/app_spec_mapping'
284
+ autoload :AppCorsPolicyMapping, 'droplet_kit/mappings/app_spec_mapping'
285
+ autoload :AppIngressSpecRuleRoutingComponentMapping, 'droplet_kit/mappings/app_spec_mapping'
286
+ autoload :AppIngressSpecRuleRoutingRedirectMapping, 'droplet_kit/mappings/app_spec_mapping'
287
+ autoload :AppIngressSpecRuleMapping, 'droplet_kit/mappings/app_spec_mapping'
288
+ autoload :AppIngressSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
289
+ autoload :AppEgressSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
290
+ autoload :AppSpecMapping, 'droplet_kit/mappings/app_spec_mapping'
291
+ autoload :DeploymentJobMapping, 'droplet_kit/mappings/deployment_mapping'
292
+ autoload :DeploymentFunctionMapping, 'droplet_kit/mappings/deployment_mapping'
293
+ autoload :DeploymentProgressStepReasonMapping, 'droplet_kit/mappings/deployment_mapping'
294
+ autoload :DeploymentProgressStepMapping, 'droplet_kit/mappings/deployment_mapping'
295
+ autoload :DeploymentProgressMapping, 'droplet_kit/mappings/deployment_mapping'
296
+ autoload :DeploymentServiceMapping, 'droplet_kit/mappings/deployment_mapping'
297
+ autoload :DeploymentStaticSiteMapping, 'droplet_kit/mappings/deployment_mapping'
298
+ autoload :DeploymentWorkerMapping, 'droplet_kit/mappings/deployment_mapping'
299
+ autoload :DeploymentMapping, 'droplet_kit/mappings/deployment_mapping'
300
+ autoload :AppDomainProgressMapping, 'droplet_kit/mappings/app_mapping'
301
+ autoload :AppDomainSpecMapping, 'droplet_kit/mappings/app_mapping'
302
+ autoload :AppDomainValidationMapping, 'droplet_kit/mappings/app_mapping'
303
+ autoload :AppDomainMapping, 'droplet_kit/mappings/app_mapping'
304
+ autoload :AppRegionMapping, 'droplet_kit/mappings/app_mapping'
305
+ autoload :AppDedicatedIpMapping, 'droplet_kit/mappings/app_mapping'
306
+ autoload :AppMapping, 'droplet_kit/mappings/app_mapping'
171
307
 
172
308
  # Utils
173
309
  autoload :PaginatedResource, 'droplet_kit/paginated_resource'
@@ -193,3 +329,4 @@ module DropletKit
193
329
  end
194
330
  end
195
331
  end
332
+ # rubocop:enable Metrics/ModuleLength
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: droplet_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.20.0
4
+ version: 3.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - DigitalOcean API Engineering team
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-21 00:00:00.000000000 Z
11
+ date: 2025-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bigdecimal
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: faraday
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -240,6 +254,8 @@ files:
240
254
  - lib/droplet_kit/error_handling_resourcable.rb
241
255
  - lib/droplet_kit/mappings/account_mapping.rb
242
256
  - lib/droplet_kit/mappings/action_mapping.rb
257
+ - lib/droplet_kit/mappings/app_mapping.rb
258
+ - lib/droplet_kit/mappings/app_spec_mapping.rb
243
259
  - lib/droplet_kit/mappings/balance_mapping.rb
244
260
  - lib/droplet_kit/mappings/cdn_mapping.rb
245
261
  - lib/droplet_kit/mappings/certificate_mapping.rb
@@ -253,12 +269,20 @@ files:
253
269
  - lib/droplet_kit/mappings/database_connection_pool_mapping.rb
254
270
  - lib/droplet_kit/mappings/database_eviction_policy_mapping.rb
255
271
  - lib/droplet_kit/mappings/database_firewall_rule_mapping.rb
272
+ - lib/droplet_kit/mappings/database_kafka_config_mapping.rb
256
273
  - lib/droplet_kit/mappings/database_maintenance_window_mapping.rb
257
274
  - lib/droplet_kit/mappings/database_mapping.rb
275
+ - lib/droplet_kit/mappings/database_metrics_credentials_mapping.rb
276
+ - lib/droplet_kit/mappings/database_mongo_config_mapping.rb
277
+ - lib/droplet_kit/mappings/database_mysql_config_mapping.rb
278
+ - lib/droplet_kit/mappings/database_opensearch_config_mapping.rb
279
+ - lib/droplet_kit/mappings/database_postgres_config_mapping.rb
280
+ - lib/droplet_kit/mappings/database_redis_config_mapping.rb
258
281
  - lib/droplet_kit/mappings/database_replica_mapping.rb
259
282
  - lib/droplet_kit/mappings/database_sql_mode_mapping.rb
260
283
  - lib/droplet_kit/mappings/database_user_mapping.rb
261
284
  - lib/droplet_kit/mappings/database_user_reset_auth_mapping.rb
285
+ - lib/droplet_kit/mappings/deployment_mapping.rb
262
286
  - lib/droplet_kit/mappings/domain_mapping.rb
263
287
  - lib/droplet_kit/mappings/domain_record_mapping.rb
264
288
  - lib/droplet_kit/mappings/droplet_mapping.rb
@@ -284,10 +308,13 @@ files:
284
308
  - lib/droplet_kit/mappings/load_balancer_mapping.rb
285
309
  - lib/droplet_kit/mappings/network_detail_mapping.rb
286
310
  - lib/droplet_kit/mappings/network_mapping.rb
311
+ - lib/droplet_kit/mappings/one_click_kubernetes_mapping.rb
312
+ - lib/droplet_kit/mappings/one_click_mapping.rb
287
313
  - lib/droplet_kit/mappings/project_assignment_mapping.rb
288
314
  - lib/droplet_kit/mappings/project_mapping.rb
289
315
  - lib/droplet_kit/mappings/region_mapping.rb
290
316
  - lib/droplet_kit/mappings/reserved_ip_mapping.rb
317
+ - lib/droplet_kit/mappings/reserved_ipv6_mapping.rb
291
318
  - lib/droplet_kit/mappings/size_mapping.rb
292
319
  - lib/droplet_kit/mappings/snapshot_mapping.rb
293
320
  - lib/droplet_kit/mappings/ssh_key_mapping.rb
@@ -299,8 +326,11 @@ files:
299
326
  - lib/droplet_kit/mappings/volume_mapping.rb
300
327
  - lib/droplet_kit/mappings/vpc_mapping.rb
301
328
  - lib/droplet_kit/mappings/vpc_member_mapping.rb
329
+ - lib/droplet_kit/mappings/vpc_peering_mapping.rb
302
330
  - lib/droplet_kit/models/account.rb
303
331
  - lib/droplet_kit/models/action.rb
332
+ - lib/droplet_kit/models/app.rb
333
+ - lib/droplet_kit/models/app_spec.rb
304
334
  - lib/droplet_kit/models/balance.rb
305
335
  - lib/droplet_kit/models/base_model.rb
306
336
  - lib/droplet_kit/models/cdn.rb
@@ -315,12 +345,20 @@ files:
315
345
  - lib/droplet_kit/models/database_connection_pool.rb
316
346
  - lib/droplet_kit/models/database_eviction_policy.rb
317
347
  - lib/droplet_kit/models/database_firewall_rule.rb
348
+ - lib/droplet_kit/models/database_kafka_config.rb
318
349
  - lib/droplet_kit/models/database_maintenance_window.rb
350
+ - lib/droplet_kit/models/database_metrics_credentials.rb
351
+ - lib/droplet_kit/models/database_mongo_config.rb
352
+ - lib/droplet_kit/models/database_mysql_config.rb
353
+ - lib/droplet_kit/models/database_opensearch_config.rb
354
+ - lib/droplet_kit/models/database_postgres_config.rb
355
+ - lib/droplet_kit/models/database_redis_config.rb
319
356
  - lib/droplet_kit/models/database_replica.rb
320
357
  - lib/droplet_kit/models/database_sql_mode.rb
321
358
  - lib/droplet_kit/models/database_user.rb
322
359
  - lib/droplet_kit/models/database_user_mysql_settings.rb
323
360
  - lib/droplet_kit/models/database_user_reset_auth.rb
361
+ - lib/droplet_kit/models/deployment.rb
324
362
  - lib/droplet_kit/models/domain.rb
325
363
  - lib/droplet_kit/models/domain_record.rb
326
364
  - lib/droplet_kit/models/droplet.rb
@@ -346,11 +384,14 @@ files:
346
384
  - lib/droplet_kit/models/meta_information.rb
347
385
  - lib/droplet_kit/models/network.rb
348
386
  - lib/droplet_kit/models/network_hash.rb
387
+ - lib/droplet_kit/models/one_click.rb
388
+ - lib/droplet_kit/models/one_click_kubernetes.rb
349
389
  - lib/droplet_kit/models/pagination_information.rb
350
390
  - lib/droplet_kit/models/project.rb
351
391
  - lib/droplet_kit/models/project_assignment.rb
352
392
  - lib/droplet_kit/models/region.rb
353
393
  - lib/droplet_kit/models/reserved_ip.rb
394
+ - lib/droplet_kit/models/reserved_ipv6.rb
354
395
  - lib/droplet_kit/models/size.rb
355
396
  - lib/droplet_kit/models/snapshot.rb
356
397
  - lib/droplet_kit/models/ssh_key.rb
@@ -362,9 +403,11 @@ files:
362
403
  - lib/droplet_kit/models/volume.rb
363
404
  - lib/droplet_kit/models/vpc.rb
364
405
  - lib/droplet_kit/models/vpc_member.rb
406
+ - lib/droplet_kit/models/vpc_peering.rb
365
407
  - lib/droplet_kit/paginated_resource.rb
366
408
  - lib/droplet_kit/resources/account_resource.rb
367
409
  - lib/droplet_kit/resources/action_resource.rb
410
+ - lib/droplet_kit/resources/app_resource.rb
368
411
  - lib/droplet_kit/resources/balance_resource.rb
369
412
  - lib/droplet_kit/resources/cdn_resource.rb
370
413
  - lib/droplet_kit/resources/certificate_resource.rb
@@ -385,16 +428,20 @@ files:
385
428
  - lib/droplet_kit/resources/kubernetes_cluster_resource.rb
386
429
  - lib/droplet_kit/resources/kubernetes_options_resource.rb
387
430
  - lib/droplet_kit/resources/load_balancer_resource.rb
431
+ - lib/droplet_kit/resources/one_click_resource.rb
388
432
  - lib/droplet_kit/resources/project_resource.rb
389
433
  - lib/droplet_kit/resources/region_resource.rb
390
434
  - lib/droplet_kit/resources/reserved_ip_action_resource.rb
391
435
  - lib/droplet_kit/resources/reserved_ip_resource.rb
436
+ - lib/droplet_kit/resources/reserved_ipv6_action_resource.rb
437
+ - lib/droplet_kit/resources/reserved_ipv6_resource.rb
392
438
  - lib/droplet_kit/resources/size_resource.rb
393
439
  - lib/droplet_kit/resources/snapshot_resource.rb
394
440
  - lib/droplet_kit/resources/ssh_key_resource.rb
395
441
  - lib/droplet_kit/resources/tag_resource.rb
396
442
  - lib/droplet_kit/resources/volume_action_resource.rb
397
443
  - lib/droplet_kit/resources/volume_resource.rb
444
+ - lib/droplet_kit/resources/vpc_peering_resource.rb
398
445
  - lib/droplet_kit/resources/vpc_resource.rb
399
446
  - lib/droplet_kit/utils.rb
400
447
  - lib/droplet_kit/version.rb
@@ -403,7 +450,7 @@ homepage: https://github.com/digitalocean/droplet_kit
403
450
  licenses:
404
451
  - MIT
405
452
  metadata: {}
406
- post_install_message:
453
+ post_install_message:
407
454
  rdoc_options: []
408
455
  require_paths:
409
456
  - lib
@@ -419,7 +466,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
419
466
  version: '0'
420
467
  requirements: []
421
468
  rubygems_version: 3.1.6
422
- signing_key:
469
+ signing_key:
423
470
  specification_version: 4
424
471
  summary: Droplet Kit is the official Ruby library for DigitalOcean's API
425
472
  test_files: []