droplet_kit 3.7.0 → 3.8.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 +24 -0
- data/lib/droplet_kit.rb +5 -0
- data/lib/droplet_kit/client.rb +1 -0
- data/lib/droplet_kit/mappings/container_registry_repository_mapping.rb +14 -0
- data/lib/droplet_kit/mappings/container_registry_repository_tag_mapping.rb +17 -0
- data/lib/droplet_kit/models/container_registry_repository.rb +7 -0
- data/lib/droplet_kit/models/container_registry_repository_tag.rb +7 -0
- data/lib/droplet_kit/paginated_resource.rb +2 -2
- data/lib/droplet_kit/resources/container_registry_repository_resource.rb +35 -0
- data/lib/droplet_kit/version.rb +1 -1
- metadata +11 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d6e481a1878309fc130d5fa904ce8ec992bc9cc10c99c6c52b8647bc23fce4f
|
4
|
+
data.tar.gz: 45e46c149acff5b329ee56ad2d4febd0ee07d5d7832b0745e160aeb2c62047a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 217a89c5af353e8a91e3fcaaf6a0f42e9e60dc939c9d94a8841ee34faef5f5051c3a506dfab974de2258cd6d6a8d41b8c3f4c02373c81a2a746c71926cd6d1f4
|
7
|
+
data.tar.gz: 9bbc06f0bea6cfd49d3a580cee07daa1e430eaaa7a33b6a161e2761e39ecf6298835032e64b8fc38669619325723faddfe2bfcd2557721b16bcfb4cdfb5adbfe
|
data/README.md
CHANGED
@@ -577,6 +577,30 @@ Actions supported:
|
|
577
577
|
* `client.vpcs.delete(id: 'id')`
|
578
578
|
* `client.vpcs.all_members(id: 'id')`
|
579
579
|
|
580
|
+
## Container Registry resource
|
581
|
+
|
582
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
583
|
+
client.container_registry #=> DropletKit::ContainerRegistryResource
|
584
|
+
|
585
|
+
Actions supported:
|
586
|
+
|
587
|
+
* `client.container_registry.get()`
|
588
|
+
* `client.container_registry.create(registry)`
|
589
|
+
* `client.container_registry.delete()`
|
590
|
+
* `client.container_registry.docker_credentials()`
|
591
|
+
|
592
|
+
## Container Registry Repository resource
|
593
|
+
|
594
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
595
|
+
client.container_registry_repository #=> DropletKit::ContainerRegistryRepositoryResource
|
596
|
+
|
597
|
+
Actions supported:
|
598
|
+
|
599
|
+
* `client.container_registry_repository.all(registry_name: 'registry')`
|
600
|
+
* `client.container_registry_repository.tags(registry_name: 'registry', repository: 'repo')`
|
601
|
+
* `client.container_registry_repository.delete_tag(registry_name: 'registry', repository: 'repo', tag: 'tag')`
|
602
|
+
* `client.container_registry_repository.delete_manifest(registry_name: 'registry', repository: 'repo', manifest_digest: 'sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221')`
|
603
|
+
|
580
604
|
## Contributing
|
581
605
|
|
582
606
|
1. Fork it ( https://github.com/digitalocean/droplet_kit/fork )
|
data/lib/droplet_kit.rb
CHANGED
@@ -8,6 +8,8 @@ module DropletKit
|
|
8
8
|
# Models
|
9
9
|
autoload :BaseModel, 'droplet_kit/models/base_model'
|
10
10
|
autoload :ContainerRegistry, 'droplet_kit/models/container_registry'
|
11
|
+
autoload :ContainerRegistryRepository, 'droplet_kit/models/container_registry_repository'
|
12
|
+
autoload :ContainerRegistryRepositoryTag, 'droplet_kit/models/container_registry_repository_tag'
|
11
13
|
autoload :Droplet, 'droplet_kit/models/droplet'
|
12
14
|
autoload :Region, 'droplet_kit/models/region'
|
13
15
|
autoload :Image, 'droplet_kit/models/image'
|
@@ -67,6 +69,7 @@ module DropletKit
|
|
67
69
|
autoload :DropletResource, 'droplet_kit/resources/droplet_resource'
|
68
70
|
autoload :ActionResource, 'droplet_kit/resources/action_resource'
|
69
71
|
autoload :ContainerRegistryResource, 'droplet_kit/resources/container_registry_resource'
|
72
|
+
autoload :ContainerRegistryRepositoryResource, 'droplet_kit/resources/container_registry_repository_resource'
|
70
73
|
autoload :DomainResource, 'droplet_kit/resources/domain_resource'
|
71
74
|
autoload :DomainRecordResource, 'droplet_kit/resources/domain_record_resource'
|
72
75
|
autoload :DropletActionResource, 'droplet_kit/resources/droplet_action_resource'
|
@@ -96,6 +99,8 @@ module DropletKit
|
|
96
99
|
# JSON Maps
|
97
100
|
autoload :DropletMapping, 'droplet_kit/mappings/droplet_mapping'
|
98
101
|
autoload :ContainerRegistryMapping, 'droplet_kit/mappings/container_registry_mapping'
|
102
|
+
autoload :ContainerRegistryRepositoryMapping, 'droplet_kit/mappings/container_registry_repository_mapping'
|
103
|
+
autoload :ContainerRegistryRepositoryTagMapping, 'droplet_kit/mappings/container_registry_repository_tag_mapping'
|
99
104
|
autoload :ImageMapping, 'droplet_kit/mappings/image_mapping'
|
100
105
|
autoload :RegionMapping, 'droplet_kit/mappings/region_mapping'
|
101
106
|
autoload :SizeMapping, 'droplet_kit/mappings/size_mapping'
|
data/lib/droplet_kit/client.rb
CHANGED
@@ -32,6 +32,7 @@ module DropletKit
|
|
32
32
|
cdns: CDNResource,
|
33
33
|
certificates: CertificateResource,
|
34
34
|
container_registry: ContainerRegistryResource,
|
35
|
+
container_registry_repository: ContainerRegistryRepositoryResource,
|
35
36
|
databases: DatabaseResource,
|
36
37
|
droplets: DropletResource,
|
37
38
|
kubernetes_clusters: KubernetesClusterResource,
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class ContainerRegistryRepositoryMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
kartograph do
|
5
|
+
mapping ContainerRegistryRepository
|
6
|
+
root_key singular: 'repository', plural: 'repositories', scopes: [:read]
|
7
|
+
|
8
|
+
property :registry_name, scopes: [:read]
|
9
|
+
property :name, scopes: [:read]
|
10
|
+
property :latest_tag, scopes: [:read], include: ContainerRegistryRepositoryTagMapping
|
11
|
+
property :tag_count, scopes: [:read]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class ContainerRegistryRepositoryTagMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
kartograph do
|
5
|
+
mapping ContainerRegistryRepositoryTag
|
6
|
+
root_key singular: 'tag', plural: 'tags', scopes: [:read]
|
7
|
+
|
8
|
+
property :registry_name, scopes: [:read]
|
9
|
+
property :repository, scopes: [:read]
|
10
|
+
property :tag, scopes: [:read]
|
11
|
+
property :manifest_digest, scopes: [:read]
|
12
|
+
property :compressed_size_bytes, scopes: [:read]
|
13
|
+
property :size_bytes, scopes: [:read]
|
14
|
+
property :updated_at, scopes: [:read]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -25,7 +25,7 @@ module DropletKit
|
|
25
25
|
@collection[index]
|
26
26
|
end
|
27
27
|
|
28
|
-
def each(start = 0)
|
28
|
+
def each(start = 0, &block)
|
29
29
|
# Start off with the first page if we have no idea of anything yet
|
30
30
|
fetch_next_page if total.nil?
|
31
31
|
|
@@ -37,7 +37,7 @@ module DropletKit
|
|
37
37
|
unless last?
|
38
38
|
start = [@collection.size, start].max
|
39
39
|
fetch_next_page
|
40
|
-
each(start, &
|
40
|
+
each(start, &block)
|
41
41
|
end
|
42
42
|
|
43
43
|
self
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class ContainerRegistryRepositoryResource < ResourceKit::Resource
|
3
|
+
include ErrorHandlingResourcable
|
4
|
+
|
5
|
+
resources do
|
6
|
+
action :all, 'GET /v2/registry/:registry_name/repositories' do
|
7
|
+
query_keys :per_page, :page
|
8
|
+
handler(200) { |response| ContainerRegistryRepositoryMapping.extract_collection(response.body, :read) }
|
9
|
+
end
|
10
|
+
|
11
|
+
action :tags, 'GET /v2/registry/:registry_name/repositories/:repository/tags' do
|
12
|
+
query_keys :per_page, :page
|
13
|
+
handler(200) { |response| DropletKit::ContainerRegistryRepositoryTagMapping.extract_collection(response.body, :read) }
|
14
|
+
end
|
15
|
+
|
16
|
+
action :delete_tag, 'DELETE /v2/registry/:registry_name/repositories/:repository/tags/:tag' do
|
17
|
+
handler(204) { |response| true }
|
18
|
+
end
|
19
|
+
|
20
|
+
action :delete_manifest, 'DELETE /v2/registry/:registry_name/repositories/:repository/digests/:manifest_digest' do
|
21
|
+
handler(204) { |response| true }
|
22
|
+
handler(400) { |response| ErrorMapping.fail_with(FailedDelete, response.body) }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def all(*args)
|
27
|
+
PaginatedResource.new(action(:all), self, *args)
|
28
|
+
end
|
29
|
+
|
30
|
+
def tags(*args)
|
31
|
+
PaginatedResource.new(action(:tags), self, *args)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
data/lib/droplet_kit/version.rb
CHANGED
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.
|
4
|
+
version: 3.8.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-
|
11
|
+
date: 2020-05-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: virtus
|
@@ -56,14 +56,14 @@ dependencies:
|
|
56
56
|
name: faraday
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.15'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.15'
|
69
69
|
- !ruby/object:Gem::Dependency
|
@@ -153,6 +153,8 @@ files:
|
|
153
153
|
- lib/droplet_kit/mappings/cdn_mapping.rb
|
154
154
|
- lib/droplet_kit/mappings/certificate_mapping.rb
|
155
155
|
- lib/droplet_kit/mappings/container_registry_mapping.rb
|
156
|
+
- lib/droplet_kit/mappings/container_registry_repository_mapping.rb
|
157
|
+
- lib/droplet_kit/mappings/container_registry_repository_tag_mapping.rb
|
156
158
|
- lib/droplet_kit/mappings/database_backup_mapping.rb
|
157
159
|
- lib/droplet_kit/mappings/database_backup_restore_mapping.rb
|
158
160
|
- lib/droplet_kit/mappings/database_cluster_mapping.rb
|
@@ -210,6 +212,8 @@ files:
|
|
210
212
|
- lib/droplet_kit/models/cdn.rb
|
211
213
|
- lib/droplet_kit/models/certificate.rb
|
212
214
|
- lib/droplet_kit/models/container_registry.rb
|
215
|
+
- lib/droplet_kit/models/container_registry_repository.rb
|
216
|
+
- lib/droplet_kit/models/container_registry_repository_tag.rb
|
213
217
|
- lib/droplet_kit/models/database.rb
|
214
218
|
- lib/droplet_kit/models/database_backup.rb
|
215
219
|
- lib/droplet_kit/models/database_cluster.rb
|
@@ -267,6 +271,7 @@ files:
|
|
267
271
|
- lib/droplet_kit/resources/action_resource.rb
|
268
272
|
- lib/droplet_kit/resources/cdn_resource.rb
|
269
273
|
- lib/droplet_kit/resources/certificate_resource.rb
|
274
|
+
- lib/droplet_kit/resources/container_registry_repository_resource.rb
|
270
275
|
- lib/droplet_kit/resources/container_registry_resource.rb
|
271
276
|
- lib/droplet_kit/resources/database_resource.rb
|
272
277
|
- lib/droplet_kit/resources/domain_record_resource.rb
|
@@ -306,7 +311,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
306
311
|
requirements:
|
307
312
|
- - ">="
|
308
313
|
- !ruby/object:Gem::Version
|
309
|
-
version: 2.
|
314
|
+
version: 2.5.0
|
310
315
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
311
316
|
requirements:
|
312
317
|
- - ">="
|