droplet_kit 3.21.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.
- checksums.yaml +4 -4
- data/README.md +63 -0
- data/lib/droplet_kit/client.rb +5 -1
- data/lib/droplet_kit/mappings/app_mapping.rb +121 -0
- data/lib/droplet_kit/mappings/app_spec_mapping.rb +549 -0
- data/lib/droplet_kit/mappings/database_connection_pool_mapping.rb +4 -4
- data/lib/droplet_kit/mappings/database_kafka_config_mapping.rb +56 -0
- data/lib/droplet_kit/mappings/database_metrics_credentials_mapping.rb +15 -0
- data/lib/droplet_kit/mappings/database_mongo_config_mapping.rb +22 -0
- data/lib/droplet_kit/mappings/database_mysql_config_mapping.rb +50 -0
- data/lib/droplet_kit/mappings/database_opensearch_config_mapping.rb +55 -0
- data/lib/droplet_kit/mappings/database_postgres_config_mapping.rb +97 -0
- data/lib/droplet_kit/mappings/database_redis_config_mapping.rb +28 -0
- data/lib/droplet_kit/mappings/deployment_mapping.rb +136 -0
- data/lib/droplet_kit/mappings/one_click_kubernetes_mapping.rb +16 -0
- data/lib/droplet_kit/mappings/one_click_mapping.rb +17 -0
- data/lib/droplet_kit/mappings/reserved_ipv6_mapping.rb +17 -0
- data/lib/droplet_kit/models/app.rb +70 -0
- data/lib/droplet_kit/models/app_spec.rb +290 -0
- data/lib/droplet_kit/models/database_kafka_config.rb +47 -0
- data/lib/droplet_kit/models/database_metrics_credentials.rb +8 -0
- data/lib/droplet_kit/models/database_mongo_config.rb +13 -0
- data/lib/droplet_kit/models/database_mysql_config.rb +41 -0
- data/lib/droplet_kit/models/database_opensearch_config.rb +46 -0
- data/lib/droplet_kit/models/database_postgres_config.rb +76 -0
- data/lib/droplet_kit/models/database_redis_config.rb +19 -0
- data/lib/droplet_kit/models/deployment.rb +73 -0
- data/lib/droplet_kit/models/one_click.rb +8 -0
- data/lib/droplet_kit/models/one_click_kubernetes.rb +8 -0
- data/lib/droplet_kit/models/reserved_ipv6.rb +19 -0
- data/lib/droplet_kit/resources/app_resource.rb +36 -0
- data/lib/droplet_kit/resources/database_resource.rb +36 -0
- data/lib/droplet_kit/resources/one_click_resource.rb +23 -0
- data/lib/droplet_kit/resources/reserved_ipv6_action_resource.rb +20 -0
- data/lib/droplet_kit/resources/reserved_ipv6_resource.rb +33 -0
- data/lib/droplet_kit/version.rb +1 -1
- data/lib/droplet_kit.rb +134 -0
- metadata +35 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 698070e9258df0d6b4711674ed025e014d37ee0a6ee30fcf3cac69bccf9644f3
|
4
|
+
data.tar.gz: b50b22841d938ed49400746fc544399a12702dedd6a81da26c2cf4fb104a4a7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c51c4dff3d132e4fb9c0f198c5b0d59fa3ec376a577f9014820aefa5b12c97f820b07dd5a3928c30c9012d5fb7a7d56891c8c5a1ee4eba25b2e93952d9e79215
|
7
|
+
data.tar.gz: b067b226aa15bc9e6b38779fb0bcbd52b4d17452f2a691d750236c3f3f3a4871d22c7a5fcf48dad204721453cea117ea9609ab29482ecd513aef129cb939f9bd
|
data/README.md
CHANGED
@@ -194,11 +194,26 @@ Actions supported:
|
|
194
194
|
* `client.databases.create_connection_pool(database_connection_pool, id: 'id')`
|
195
195
|
* `client.databases.find_connection_pool(id: 'id', name: 'name')`
|
196
196
|
* `client.databases.list_connection_pools(id: 'id')`
|
197
|
+
* `client.databases.update_connection_pool(database_connection_pool, id: 'id', name: 'name')`
|
197
198
|
* `client.databases.delete_connection_pool(id: 'id', name: 'name')`
|
198
199
|
* `client.databases.set_eviction_policy(database_eviction_policy, id: 'id')`
|
199
200
|
* `client.databases.get_eviction_policy(id: 'id')`
|
200
201
|
* `client.databases.set_sql_mode(database_sql_mode, id: 'id')`
|
201
202
|
* `client.databases.get_sql_mode(id: 'id')`
|
203
|
+
* `client.databases.get_metrics_credentials`
|
204
|
+
* `client.databases.update_metrics_credentials(database_metrics_credentials)`
|
205
|
+
* `client.databases.get_mongo_config(id: 'id')`
|
206
|
+
* `client.databases.get_postgres_config(id: 'id')`
|
207
|
+
* `client.databases.get_mysql_config(id: 'id')`
|
208
|
+
* `client.databases.get_redis_config(id: 'id')`
|
209
|
+
* `client.databases.get_kafka_config(id: 'id')`
|
210
|
+
* `client.databases.get_opensearch_config(id: 'id')`
|
211
|
+
* `client.databases.update_mongo_config(mongo_config, id: 'id')`
|
212
|
+
* `client.databases.update_postgres_config(postgres_config, id: 'id')`
|
213
|
+
* `client.databases.update_mysql_config(mysql_config, id: 'id')`
|
214
|
+
* `client.databases.update_redis_config(redis_config, id: 'id')`
|
215
|
+
* `client.databases.update_kafka_config(kafka_config, id: 'id')`
|
216
|
+
* `client.databases.update_opensearch_config(opensearch_config, id: 'id')`
|
202
217
|
|
203
218
|
## Droplet resource
|
204
219
|
|
@@ -570,6 +585,31 @@ Actions supported:
|
|
570
585
|
* `client.reserved_ip_actions.assign(ip: reserved_ip.ip, droplet_id: droplet.id)`
|
571
586
|
* `client.reserved_ip_actions.unassign(ip: reserved_ip.ip)`
|
572
587
|
|
588
|
+
## Reserved IPv6 resource
|
589
|
+
|
590
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
591
|
+
client.reserved_ipv6s #=> DropletKit::ReservedIpv6Resource
|
592
|
+
reserved_ipv6 = DropletKit::ReservedIpv6.new(
|
593
|
+
region_slug: 'nyc1'
|
594
|
+
)
|
595
|
+
|
596
|
+
Actions supported:
|
597
|
+
|
598
|
+
* `client.reserved_ipv6s.all()`
|
599
|
+
* `client.reserved_ipv6s.find(ip: 'ip address')`
|
600
|
+
* `client.reserved_ipv6s.create(reserved_ipv6)`
|
601
|
+
* `client.reserved_ipv6s.delete(ip: 'ip address')`
|
602
|
+
|
603
|
+
## Reserved IPv6 Action resource
|
604
|
+
|
605
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
606
|
+
client.reserved_ipv6_actions #=> DropletKit::ReservedIpv6ActionResource
|
607
|
+
|
608
|
+
Actions supported:
|
609
|
+
|
610
|
+
* `client.reserved_ipv6_actions.assign(ip: reserved_ipv6.ip, droplet_id: droplet.id)`
|
611
|
+
* `client.reserved_ipv6_actions.unassign(ip: reserved_ipv6.ip)`
|
612
|
+
|
573
613
|
## Volume resource
|
574
614
|
|
575
615
|
client = DropletKit::Client.new(access_token: 'TOKEN')
|
@@ -660,6 +700,29 @@ Actions supported:
|
|
660
700
|
* `client.container_registry_repository.delete_tag(registry_name: 'registry', repository: 'repo', tag: 'tag')`
|
661
701
|
* `client.container_registry_repository.delete_manifest(registry_name: 'registry', repository: 'repo', manifest_digest: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221')`
|
662
702
|
|
703
|
+
## 1-Click Applications resource
|
704
|
+
|
705
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
706
|
+
client.one_clicks #=> DropletKit::OneClickResource
|
707
|
+
|
708
|
+
Actions supported:
|
709
|
+
|
710
|
+
* `client.one_clicks.all(type: 'kubernetes|droplet')`
|
711
|
+
* `client.one_clicks.create_kubernetes(one_click_kubernetes)`
|
712
|
+
|
713
|
+
## App resource
|
714
|
+
|
715
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
716
|
+
client.apps #=> DropletKit::AppResource
|
717
|
+
|
718
|
+
Actions supported:
|
719
|
+
|
720
|
+
* `client.apps.all(with_projects: bool)`
|
721
|
+
* `client.apps.find(id: 'id')`
|
722
|
+
* `client.apps.create(app)`
|
723
|
+
* `client.apps.update(app, id: 'id')`
|
724
|
+
* `client.apps.delete(id: 'id')`
|
725
|
+
|
663
726
|
## Contributing
|
664
727
|
|
665
728
|
1. Fork it ( https://github.com/digitalocean/droplet_kit/fork )
|
data/lib/droplet_kit/client.rb
CHANGED
@@ -75,13 +75,17 @@ module DropletKit
|
|
75
75
|
floating_ips: FloatingIpResource,
|
76
76
|
floating_ip_actions: FloatingIpActionResource,
|
77
77
|
reserved_ips: ReservedIpResource,
|
78
|
+
reserved_ipv6s: ReservedIpv6Resource,
|
78
79
|
reserved_ip_actions: ReservedIpActionResource,
|
80
|
+
reserved_ipv6_actions: ReservedIpv6ActionResource,
|
79
81
|
tags: TagResource,
|
80
82
|
projects: ProjectResource,
|
81
83
|
volumes: VolumeResource,
|
82
84
|
volume_actions: VolumeActionResource,
|
83
85
|
vpcs: VPCResource,
|
84
|
-
vpc_peerings: VPCPeeringResource
|
86
|
+
vpc_peerings: VPCPeeringResource,
|
87
|
+
one_clicks: OneClickResource,
|
88
|
+
apps: AppResource
|
85
89
|
}
|
86
90
|
end
|
87
91
|
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DropletKit
|
4
|
+
class AppDomainProgressMapping
|
5
|
+
include Kartograph::DSL
|
6
|
+
|
7
|
+
kartograph do
|
8
|
+
mapping AppDomainProgress
|
9
|
+
scoped :read do
|
10
|
+
property :steps
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class AppDomainSpecMapping
|
16
|
+
include Kartograph::DSL
|
17
|
+
|
18
|
+
kartograph do
|
19
|
+
mapping AppDomainSpec
|
20
|
+
scoped :read do
|
21
|
+
property :domain
|
22
|
+
property :type
|
23
|
+
property :wildcard
|
24
|
+
property :zone
|
25
|
+
property :minimum_tls_version
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class AppDomainValidationMapping
|
31
|
+
include Kartograph::DSL
|
32
|
+
|
33
|
+
kartograph do
|
34
|
+
mapping AppDomainValidation
|
35
|
+
scoped :read do
|
36
|
+
property :txt_name
|
37
|
+
property :txt_value
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class AppDomainMapping
|
43
|
+
include Kartograph::DSL
|
44
|
+
|
45
|
+
kartograph do
|
46
|
+
mapping AppDomain
|
47
|
+
scoped :read do
|
48
|
+
property :id
|
49
|
+
property :phase
|
50
|
+
property :progress, include: AppDomainProgressMapping
|
51
|
+
property :spec, include: AppDomainSpecMapping
|
52
|
+
property :validation, plural: true, include: AppDomainValidationMapping
|
53
|
+
property :rotate_validation_records
|
54
|
+
property :certificate_expires_at
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
class AppRegionMapping
|
60
|
+
include Kartograph::DSL
|
61
|
+
|
62
|
+
kartograph do
|
63
|
+
mapping AppRegion
|
64
|
+
scoped :read do
|
65
|
+
property :continent
|
66
|
+
property :data_centers
|
67
|
+
property :default
|
68
|
+
property :disabled
|
69
|
+
property :flag
|
70
|
+
property :label
|
71
|
+
property :reason
|
72
|
+
property :slug
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
class AppDedicatedIpMapping
|
78
|
+
include Kartograph::DSL
|
79
|
+
|
80
|
+
kartograph do
|
81
|
+
mapping AppDedicatedIp
|
82
|
+
scoped :read do
|
83
|
+
property :ip
|
84
|
+
property :id
|
85
|
+
property :status
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
class AppMapping
|
91
|
+
include Kartograph::DSL
|
92
|
+
|
93
|
+
kartograph do
|
94
|
+
mapping App
|
95
|
+
root_key plural: 'apps', singular: 'app', scopes: [:read]
|
96
|
+
|
97
|
+
property :spec, include: AppSpecMapping, scopes: %i[create update read]
|
98
|
+
property :project_id, scopes: %i[create read]
|
99
|
+
property :update_all_source_versions, scopes: [:update]
|
100
|
+
scoped :read do
|
101
|
+
property :active_deployment, include: DeploymentMapping
|
102
|
+
property :created_at
|
103
|
+
property :default_ingress
|
104
|
+
property :domains, plural: true, include: AppDomainMapping
|
105
|
+
property :id
|
106
|
+
property :in_progress_deployment, include: DeploymentMapping
|
107
|
+
property :last_deployment_created_at
|
108
|
+
property :live_domain
|
109
|
+
property :live_url
|
110
|
+
property :live_url_base
|
111
|
+
property :owner_uuid
|
112
|
+
property :pending_deployment, include: DeploymentMapping
|
113
|
+
property :region, include: AppRegionMapping
|
114
|
+
property :tier_slug
|
115
|
+
property :updated_at
|
116
|
+
property :pinned_deployment, include: DeploymentMapping
|
117
|
+
property :dedicated_ips, plural: true, include: AppDedicatedIpMapping
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|