docker-engine 0.1.1
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 +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +17 -0
- data/README.md +230 -0
- data/SECURITY.md +27 -0
- data/lib/docker_engine/client.rb +77 -0
- data/lib/docker_engine/errors.rb +228 -0
- data/lib/docker_engine/file_part.rb +58 -0
- data/lib/docker_engine/internal/transport/base_client.rb +567 -0
- data/lib/docker_engine/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/docker_engine/internal/type/array_of.rb +168 -0
- data/lib/docker_engine/internal/type/base_model.rb +529 -0
- data/lib/docker_engine/internal/type/base_page.rb +55 -0
- data/lib/docker_engine/internal/type/boolean.rb +77 -0
- data/lib/docker_engine/internal/type/converter.rb +327 -0
- data/lib/docker_engine/internal/type/enum.rb +131 -0
- data/lib/docker_engine/internal/type/file_input.rb +111 -0
- data/lib/docker_engine/internal/type/hash_of.rb +188 -0
- data/lib/docker_engine/internal/type/request_parameters.rb +42 -0
- data/lib/docker_engine/internal/type/union.rb +243 -0
- data/lib/docker_engine/internal/type/unknown.rb +81 -0
- data/lib/docker_engine/internal/util.rb +920 -0
- data/lib/docker_engine/internal.rb +20 -0
- data/lib/docker_engine/models/auth_login_params.rb +32 -0
- data/lib/docker_engine/models/auth_response.rb +27 -0
- data/lib/docker_engine/models/config.rb +307 -0
- data/lib/docker_engine/models/container.rb +2489 -0
- data/lib/docker_engine/models/container_create_params.rb +1716 -0
- data/lib/docker_engine/models/container_delete_params.rb +38 -0
- data/lib/docker_engine/models/container_inspect_params.rb +22 -0
- data/lib/docker_engine/models/container_kill_params.rb +25 -0
- data/lib/docker_engine/models/container_list_params.rb +70 -0
- data/lib/docker_engine/models/container_list_response.rb +8 -0
- data/lib/docker_engine/models/container_logs_params.rb +74 -0
- data/lib/docker_engine/models/container_start_params.rb +27 -0
- data/lib/docker_engine/models/container_stop_params.rb +33 -0
- data/lib/docker_engine/models/create_request.rb +348 -0
- data/lib/docker_engine/models/create_response.rb +27 -0
- data/lib/docker_engine/models/error.rb +18 -0
- data/lib/docker_engine/models/image.rb +1393 -0
- data/lib/docker_engine/models/image_delete_params.rb +43 -0
- data/lib/docker_engine/models/image_delete_response.rb +28 -0
- data/lib/docker_engine/models/image_inspect_params.rb +22 -0
- data/lib/docker_engine/models/image_list_params.rb +68 -0
- data/lib/docker_engine/models/image_list_response.rb +8 -0
- data/lib/docker_engine/models/image_pull_params.rb +115 -0
- data/lib/docker_engine/models/network.rb +253 -0
- data/lib/docker_engine/models/network_create_params.rb +210 -0
- data/lib/docker_engine/models/network_create_response.rb +27 -0
- data/lib/docker_engine/models/network_delete_params.rb +14 -0
- data/lib/docker_engine/models/network_inspect_params.rb +30 -0
- data/lib/docker_engine/models/network_inspect_response.rb +131 -0
- data/lib/docker_engine/models/network_list_params.rb +40 -0
- data/lib/docker_engine/models/network_list_response.rb +8 -0
- data/lib/docker_engine/models/service.rb +520 -0
- data/lib/docker_engine/models/service_create_params.rb +34 -0
- data/lib/docker_engine/models/service_create_response.rb +32 -0
- data/lib/docker_engine/models/service_delete_params.rb +14 -0
- data/lib/docker_engine/models/service_inspect_params.rb +22 -0
- data/lib/docker_engine/models/service_list_params.rb +41 -0
- data/lib/docker_engine/models/service_list_response.rb +8 -0
- data/lib/docker_engine/models/spec.rb +2302 -0
- data/lib/docker_engine/models/summary.rb +763 -0
- data/lib/docker_engine/models/system_info_params.rb +14 -0
- data/lib/docker_engine/models/system_info_response.rb +1879 -0
- data/lib/docker_engine/models/system_ping_params.rb +14 -0
- data/lib/docker_engine/models/system_ping_response.rb +7 -0
- data/lib/docker_engine/models/system_version_params.rb +14 -0
- data/lib/docker_engine/models/system_version_response.rb +164 -0
- data/lib/docker_engine/models/volume.rb +650 -0
- data/lib/docker_engine/models/volume_create_params.rb +14 -0
- data/lib/docker_engine/models/volume_delete_params.rb +22 -0
- data/lib/docker_engine/models/volume_inspect_params.rb +14 -0
- data/lib/docker_engine/models/volume_list_params.rb +34 -0
- data/lib/docker_engine/models/volume_list_response.rb +34 -0
- data/lib/docker_engine/models.rb +121 -0
- data/lib/docker_engine/request_options.rb +77 -0
- data/lib/docker_engine/resources/auth.rb +38 -0
- data/lib/docker_engine/resources/containers.rb +258 -0
- data/lib/docker_engine/resources/images.rb +156 -0
- data/lib/docker_engine/resources/networks.rb +139 -0
- data/lib/docker_engine/resources/services.rb +113 -0
- data/lib/docker_engine/resources/system.rb +70 -0
- data/lib/docker_engine/resources/volumes.rb +105 -0
- data/lib/docker_engine/version.rb +5 -0
- data/lib/docker_engine.rb +114 -0
- data/manifest.yaml +17 -0
- data/rbi/docker_engine/client.rbi +56 -0
- data/rbi/docker_engine/errors.rbi +205 -0
- data/rbi/docker_engine/file_part.rbi +37 -0
- data/rbi/docker_engine/internal/transport/base_client.rbi +300 -0
- data/rbi/docker_engine/internal/transport/pooled_net_requester.rbi +84 -0
- data/rbi/docker_engine/internal/type/array_of.rbi +104 -0
- data/rbi/docker_engine/internal/type/base_model.rbi +314 -0
- data/rbi/docker_engine/internal/type/base_page.rbi +43 -0
- data/rbi/docker_engine/internal/type/boolean.rbi +58 -0
- data/rbi/docker_engine/internal/type/converter.rbi +222 -0
- data/rbi/docker_engine/internal/type/enum.rbi +82 -0
- data/rbi/docker_engine/internal/type/file_input.rbi +59 -0
- data/rbi/docker_engine/internal/type/hash_of.rbi +104 -0
- data/rbi/docker_engine/internal/type/request_parameters.rbi +31 -0
- data/rbi/docker_engine/internal/type/union.rbi +128 -0
- data/rbi/docker_engine/internal/type/unknown.rbi +58 -0
- data/rbi/docker_engine/internal/util.rbi +487 -0
- data/rbi/docker_engine/internal.rbi +18 -0
- data/rbi/docker_engine/models/auth_login_params.rbi +62 -0
- data/rbi/docker_engine/models/auth_response.rbi +39 -0
- data/rbi/docker_engine/models/config.rbi +442 -0
- data/rbi/docker_engine/models/container.rbi +4575 -0
- data/rbi/docker_engine/models/container_create_params.rbi +3297 -0
- data/rbi/docker_engine/models/container_delete_params.rbi +71 -0
- data/rbi/docker_engine/models/container_inspect_params.rbi +46 -0
- data/rbi/docker_engine/models/container_kill_params.rbi +46 -0
- data/rbi/docker_engine/models/container_list_params.rbi +124 -0
- data/rbi/docker_engine/models/container_list_response.rbi +11 -0
- data/rbi/docker_engine/models/container_logs_params.rbi +117 -0
- data/rbi/docker_engine/models/container_start_params.rbi +50 -0
- data/rbi/docker_engine/models/container_stop_params.rbi +60 -0
- data/rbi/docker_engine/models/create_request.rbi +702 -0
- data/rbi/docker_engine/models/create_response.rbi +36 -0
- data/rbi/docker_engine/models/error.rbi +28 -0
- data/rbi/docker_engine/models/image.rbi +2323 -0
- data/rbi/docker_engine/models/image_delete_params.rbi +75 -0
- data/rbi/docker_engine/models/image_delete_response.rbi +52 -0
- data/rbi/docker_engine/models/image_inspect_params.rbi +49 -0
- data/rbi/docker_engine/models/image_list_params.rbi +112 -0
- data/rbi/docker_engine/models/image_list_response.rbi +11 -0
- data/rbi/docker_engine/models/image_pull_params.rbi +186 -0
- data/rbi/docker_engine/models/network.rbi +419 -0
- data/rbi/docker_engine/models/network_create_params.rbi +362 -0
- data/rbi/docker_engine/models/network_create_response.rbi +37 -0
- data/rbi/docker_engine/models/network_delete_params.rbi +32 -0
- data/rbi/docker_engine/models/network_inspect_params.rbi +60 -0
- data/rbi/docker_engine/models/network_inspect_response.rbi +329 -0
- data/rbi/docker_engine/models/network_list_params.rbi +76 -0
- data/rbi/docker_engine/models/network_list_response.rbi +11 -0
- data/rbi/docker_engine/models/service.rbi +1076 -0
- data/rbi/docker_engine/models/service_create_params.rbi +77 -0
- data/rbi/docker_engine/models/service_create_response.rbi +50 -0
- data/rbi/docker_engine/models/service_delete_params.rbi +32 -0
- data/rbi/docker_engine/models/service_inspect_params.rbi +49 -0
- data/rbi/docker_engine/models/service_list_params.rbi +76 -0
- data/rbi/docker_engine/models/service_list_response.rbi +11 -0
- data/rbi/docker_engine/models/spec.rbi +4587 -0
- data/rbi/docker_engine/models/summary.rbi +1298 -0
- data/rbi/docker_engine/models/system_info_params.rbi +29 -0
- data/rbi/docker_engine/models/system_info_response.rbi +3587 -0
- data/rbi/docker_engine/models/system_ping_params.rbi +29 -0
- data/rbi/docker_engine/models/system_ping_response.rbi +7 -0
- data/rbi/docker_engine/models/system_version_params.rbi +32 -0
- data/rbi/docker_engine/models/system_version_response.rbi +282 -0
- data/rbi/docker_engine/models/volume.rbi +1218 -0
- data/rbi/docker_engine/models/volume_create_params.rbi +32 -0
- data/rbi/docker_engine/models/volume_delete_params.rbi +46 -0
- data/rbi/docker_engine/models/volume_inspect_params.rbi +32 -0
- data/rbi/docker_engine/models/volume_list_params.rbi +61 -0
- data/rbi/docker_engine/models/volume_list_response.rbi +55 -0
- data/rbi/docker_engine/models.rbi +83 -0
- data/rbi/docker_engine/request_options.rbi +59 -0
- data/rbi/docker_engine/resources/auth.rbi +30 -0
- data/rbi/docker_engine/resources/containers.rbi +231 -0
- data/rbi/docker_engine/resources/images.rbi +164 -0
- data/rbi/docker_engine/resources/networks.rbi +133 -0
- data/rbi/docker_engine/resources/services.rbi +88 -0
- data/rbi/docker_engine/resources/system.rbi +40 -0
- data/rbi/docker_engine/resources/volumes.rbi +80 -0
- data/rbi/docker_engine/version.rbi +5 -0
- data/sig/docker_engine/client.rbs +33 -0
- data/sig/docker_engine/errors.rbs +117 -0
- data/sig/docker_engine/file_part.rbs +21 -0
- data/sig/docker_engine/internal/transport/base_client.rbs +131 -0
- data/sig/docker_engine/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/docker_engine/internal/type/array_of.rbs +48 -0
- data/sig/docker_engine/internal/type/base_model.rbs +104 -0
- data/sig/docker_engine/internal/type/base_page.rbs +24 -0
- data/sig/docker_engine/internal/type/boolean.rbs +26 -0
- data/sig/docker_engine/internal/type/converter.rbs +79 -0
- data/sig/docker_engine/internal/type/enum.rbs +32 -0
- data/sig/docker_engine/internal/type/file_input.rbs +25 -0
- data/sig/docker_engine/internal/type/hash_of.rbs +48 -0
- data/sig/docker_engine/internal/type/request_parameters.rbs +19 -0
- data/sig/docker_engine/internal/type/union.rbs +52 -0
- data/sig/docker_engine/internal/type/unknown.rbs +26 -0
- data/sig/docker_engine/internal/util.rbs +185 -0
- data/sig/docker_engine/internal.rbs +9 -0
- data/sig/docker_engine/models/auth_login_params.rbs +38 -0
- data/sig/docker_engine/models/auth_response.rbs +17 -0
- data/sig/docker_engine/models/config.rbs +225 -0
- data/sig/docker_engine/models/container.rbs +1973 -0
- data/sig/docker_engine/models/container_create_params.rbs +1352 -0
- data/sig/docker_engine/models/container_delete_params.rbs +38 -0
- data/sig/docker_engine/models/container_inspect_params.rbs +25 -0
- data/sig/docker_engine/models/container_kill_params.rbs +25 -0
- data/sig/docker_engine/models/container_list_params.rbs +44 -0
- data/sig/docker_engine/models/container_list_response.rbs +7 -0
- data/sig/docker_engine/models/container_logs_params.rbs +70 -0
- data/sig/docker_engine/models/container_start_params.rbs +25 -0
- data/sig/docker_engine/models/container_stop_params.rbs +32 -0
- data/sig/docker_engine/models/create_request.rbs +255 -0
- data/sig/docker_engine/models/create_response.rbs +15 -0
- data/sig/docker_engine/models/error.rbs +13 -0
- data/sig/docker_engine/models/image.rbs +1038 -0
- data/sig/docker_engine/models/image_delete_params.rbs +38 -0
- data/sig/docker_engine/models/image_delete_response.rbs +24 -0
- data/sig/docker_engine/models/image_inspect_params.rbs +25 -0
- data/sig/docker_engine/models/image_list_params.rbs +56 -0
- data/sig/docker_engine/models/image_list_response.rbs +7 -0
- data/sig/docker_engine/models/image_pull_params.rbs +84 -0
- data/sig/docker_engine/models/network.rbs +236 -0
- data/sig/docker_engine/models/network_create_params.rbs +203 -0
- data/sig/docker_engine/models/network_create_response.rbs +15 -0
- data/sig/docker_engine/models/network_delete_params.rbs +15 -0
- data/sig/docker_engine/models/network_inspect_params.rbs +32 -0
- data/sig/docker_engine/models/network_inspect_response.rbs +149 -0
- data/sig/docker_engine/models/network_list_params.rbs +25 -0
- data/sig/docker_engine/models/network_list_response.rbs +7 -0
- data/sig/docker_engine/models/service.rbs +471 -0
- data/sig/docker_engine/models/service_create_params.rbs +38 -0
- data/sig/docker_engine/models/service_create_response.rbs +17 -0
- data/sig/docker_engine/models/service_delete_params.rbs +15 -0
- data/sig/docker_engine/models/service_inspect_params.rbs +26 -0
- data/sig/docker_engine/models/service_list_params.rbs +32 -0
- data/sig/docker_engine/models/service_list_response.rbs +7 -0
- data/sig/docker_engine/models/spec.rbs +1984 -0
- data/sig/docker_engine/models/summary.rbs +634 -0
- data/sig/docker_engine/models/system_info_params.rbs +15 -0
- data/sig/docker_engine/models/system_info_response.rbs +1380 -0
- data/sig/docker_engine/models/system_ping_params.rbs +15 -0
- data/sig/docker_engine/models/system_ping_response.rbs +5 -0
- data/sig/docker_engine/models/system_version_params.rbs +15 -0
- data/sig/docker_engine/models/system_version_response.rbs +127 -0
- data/sig/docker_engine/models/volume.rbs +478 -0
- data/sig/docker_engine/models/volume_create_params.rbs +15 -0
- data/sig/docker_engine/models/volume_delete_params.rbs +25 -0
- data/sig/docker_engine/models/volume_inspect_params.rbs +15 -0
- data/sig/docker_engine/models/volume_list_params.rbs +25 -0
- data/sig/docker_engine/models/volume_list_response.rbs +28 -0
- data/sig/docker_engine/models.rbs +81 -0
- data/sig/docker_engine/request_options.rbs +36 -0
- data/sig/docker_engine/resources/auth.rbs +14 -0
- data/sig/docker_engine/resources/containers.rbs +67 -0
- data/sig/docker_engine/resources/images.rbs +43 -0
- data/sig/docker_engine/resources/networks.rbs +41 -0
- data/sig/docker_engine/resources/services.rbs +30 -0
- data/sig/docker_engine/resources/system.rbs +17 -0
- data/sig/docker_engine/resources/volumes.rbs +28 -0
- data/sig/docker_engine/version.rbs +3 -0
- metadata +319 -0
|
@@ -0,0 +1,2323 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module DockerEngine
|
|
4
|
+
module Models
|
|
5
|
+
class Image < DockerEngine::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(DockerEngine::Image, DockerEngine::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Hardware CPU architecture that the image runs on.
|
|
12
|
+
sig { returns(T.nilable(String)) }
|
|
13
|
+
attr_reader :architecture
|
|
14
|
+
|
|
15
|
+
sig { params(architecture: String).void }
|
|
16
|
+
attr_writer :architecture
|
|
17
|
+
|
|
18
|
+
# Name of the author that was specified when committing the image, or as specified
|
|
19
|
+
# through MAINTAINER (deprecated) in the Dockerfile.
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_accessor :author
|
|
22
|
+
|
|
23
|
+
# Optional message that was set when committing or importing the image.
|
|
24
|
+
sig { returns(T.nilable(String)) }
|
|
25
|
+
attr_accessor :comment
|
|
26
|
+
|
|
27
|
+
# Configuration of the image. These fields are used as defaults when starting a
|
|
28
|
+
# container from the image.
|
|
29
|
+
sig { returns(T.nilable(DockerEngine::Image::Config)) }
|
|
30
|
+
attr_reader :config
|
|
31
|
+
|
|
32
|
+
sig { params(config: DockerEngine::Image::Config::OrHash).void }
|
|
33
|
+
attr_writer :config
|
|
34
|
+
|
|
35
|
+
# Date and time at which the image was created, formatted in
|
|
36
|
+
# [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
|
|
37
|
+
#
|
|
38
|
+
# This information is only available if present in the image, and omitted
|
|
39
|
+
# otherwise.
|
|
40
|
+
sig { returns(T.nilable(String)) }
|
|
41
|
+
attr_accessor :created
|
|
42
|
+
|
|
43
|
+
# A descriptor struct containing digest, media type, and size, as defined in the
|
|
44
|
+
# [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
|
|
45
|
+
sig { returns(T.nilable(DockerEngine::Image::Descriptor)) }
|
|
46
|
+
attr_reader :descriptor
|
|
47
|
+
|
|
48
|
+
sig { params(descriptor: DockerEngine::Image::Descriptor::OrHash).void }
|
|
49
|
+
attr_writer :descriptor
|
|
50
|
+
|
|
51
|
+
# Information about the storage driver used to store the container's and image's
|
|
52
|
+
# filesystem.
|
|
53
|
+
sig { returns(T.nilable(DockerEngine::Image::GraphDriver)) }
|
|
54
|
+
attr_reader :graph_driver
|
|
55
|
+
|
|
56
|
+
sig do
|
|
57
|
+
params(graph_driver: DockerEngine::Image::GraphDriver::OrHash).void
|
|
58
|
+
end
|
|
59
|
+
attr_writer :graph_driver
|
|
60
|
+
|
|
61
|
+
# ID is the content-addressable ID of an image.
|
|
62
|
+
#
|
|
63
|
+
# This identifier is a content-addressable digest calculated from the image's
|
|
64
|
+
# configuration (which includes the digests of layers used by the image).
|
|
65
|
+
#
|
|
66
|
+
# Note that this digest differs from the `RepoDigests` below, which holds digests
|
|
67
|
+
# of image manifests that reference the image.
|
|
68
|
+
sig { returns(T.nilable(String)) }
|
|
69
|
+
attr_reader :id
|
|
70
|
+
|
|
71
|
+
sig { params(id: String).void }
|
|
72
|
+
attr_writer :id
|
|
73
|
+
|
|
74
|
+
# Identity holds information about the identity and origin of the image. This is
|
|
75
|
+
# trusted information verified by the daemon and cannot be modified by tagging an
|
|
76
|
+
# image to a different name.
|
|
77
|
+
sig { returns(T.nilable(DockerEngine::Image::Identity)) }
|
|
78
|
+
attr_reader :identity
|
|
79
|
+
|
|
80
|
+
sig { params(identity: DockerEngine::Image::Identity::OrHash).void }
|
|
81
|
+
attr_writer :identity
|
|
82
|
+
|
|
83
|
+
# Manifests is a list of image manifests available in this image. It provides a
|
|
84
|
+
# more detailed view of the platform-specific image manifests or other
|
|
85
|
+
# image-attached data like build attestations.
|
|
86
|
+
#
|
|
87
|
+
# Only available if the daemon provides a multi-platform image store and the
|
|
88
|
+
# `manifests` option is set in the inspect request.
|
|
89
|
+
#
|
|
90
|
+
# WARNING: This is experimental and may change at any time without any backward
|
|
91
|
+
# compatibility.
|
|
92
|
+
sig { returns(T.nilable(T::Array[DockerEngine::Image::Manifest])) }
|
|
93
|
+
attr_accessor :manifests
|
|
94
|
+
|
|
95
|
+
# Additional metadata of the image in the local cache. This information is local
|
|
96
|
+
# to the daemon, and not part of the image itself.
|
|
97
|
+
sig { returns(T.nilable(DockerEngine::Image::Metadata)) }
|
|
98
|
+
attr_reader :metadata
|
|
99
|
+
|
|
100
|
+
sig { params(metadata: DockerEngine::Image::Metadata::OrHash).void }
|
|
101
|
+
attr_writer :metadata
|
|
102
|
+
|
|
103
|
+
# Operating System the image is built to run on.
|
|
104
|
+
sig { returns(T.nilable(String)) }
|
|
105
|
+
attr_reader :os
|
|
106
|
+
|
|
107
|
+
sig { params(os: String).void }
|
|
108
|
+
attr_writer :os
|
|
109
|
+
|
|
110
|
+
# Operating System version the image is built to run on (especially for Windows).
|
|
111
|
+
sig { returns(T.nilable(String)) }
|
|
112
|
+
attr_accessor :os_version
|
|
113
|
+
|
|
114
|
+
# List of content-addressable digests of locally available image manifests that
|
|
115
|
+
# the image is referenced from. Multiple manifests can refer to the same image.
|
|
116
|
+
#
|
|
117
|
+
# These digests are usually only available if the image was either pulled from a
|
|
118
|
+
# registry, or if the image was pushed to a registry, which is when the manifest
|
|
119
|
+
# is generated and its digest calculated.
|
|
120
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
121
|
+
attr_reader :repo_digests
|
|
122
|
+
|
|
123
|
+
sig { params(repo_digests: T::Array[String]).void }
|
|
124
|
+
attr_writer :repo_digests
|
|
125
|
+
|
|
126
|
+
# List of image names/tags in the local image cache that reference this image.
|
|
127
|
+
#
|
|
128
|
+
# Multiple image tags can refer to the same image, and this list may be empty if
|
|
129
|
+
# no tags reference the image, in which case the image is "untagged", in which
|
|
130
|
+
# case it can still be referenced by its ID.
|
|
131
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
132
|
+
attr_reader :repo_tags
|
|
133
|
+
|
|
134
|
+
sig { params(repo_tags: T::Array[String]).void }
|
|
135
|
+
attr_writer :repo_tags
|
|
136
|
+
|
|
137
|
+
# Information about the image's RootFS, including the layer IDs.
|
|
138
|
+
sig { returns(T.nilable(DockerEngine::Image::RootFs)) }
|
|
139
|
+
attr_reader :root_fs
|
|
140
|
+
|
|
141
|
+
sig { params(root_fs: DockerEngine::Image::RootFs::OrHash).void }
|
|
142
|
+
attr_writer :root_fs
|
|
143
|
+
|
|
144
|
+
# Total size of the image including all layers it is composed of.
|
|
145
|
+
sig { returns(T.nilable(Integer)) }
|
|
146
|
+
attr_reader :size
|
|
147
|
+
|
|
148
|
+
sig { params(size: Integer).void }
|
|
149
|
+
attr_writer :size
|
|
150
|
+
|
|
151
|
+
# CPU architecture variant (presently ARM-only).
|
|
152
|
+
sig { returns(T.nilable(String)) }
|
|
153
|
+
attr_accessor :variant
|
|
154
|
+
|
|
155
|
+
# Information about an image in the local image cache.
|
|
156
|
+
sig do
|
|
157
|
+
params(
|
|
158
|
+
architecture: String,
|
|
159
|
+
author: T.nilable(String),
|
|
160
|
+
comment: T.nilable(String),
|
|
161
|
+
config: DockerEngine::Image::Config::OrHash,
|
|
162
|
+
created: T.nilable(String),
|
|
163
|
+
descriptor: DockerEngine::Image::Descriptor::OrHash,
|
|
164
|
+
graph_driver: DockerEngine::Image::GraphDriver::OrHash,
|
|
165
|
+
id: String,
|
|
166
|
+
identity: DockerEngine::Image::Identity::OrHash,
|
|
167
|
+
manifests: T.nilable(T::Array[DockerEngine::Image::Manifest::OrHash]),
|
|
168
|
+
metadata: DockerEngine::Image::Metadata::OrHash,
|
|
169
|
+
os: String,
|
|
170
|
+
os_version: T.nilable(String),
|
|
171
|
+
repo_digests: T::Array[String],
|
|
172
|
+
repo_tags: T::Array[String],
|
|
173
|
+
root_fs: DockerEngine::Image::RootFs::OrHash,
|
|
174
|
+
size: Integer,
|
|
175
|
+
variant: T.nilable(String)
|
|
176
|
+
).returns(T.attached_class)
|
|
177
|
+
end
|
|
178
|
+
def self.new(
|
|
179
|
+
# Hardware CPU architecture that the image runs on.
|
|
180
|
+
architecture: nil,
|
|
181
|
+
# Name of the author that was specified when committing the image, or as specified
|
|
182
|
+
# through MAINTAINER (deprecated) in the Dockerfile.
|
|
183
|
+
author: nil,
|
|
184
|
+
# Optional message that was set when committing or importing the image.
|
|
185
|
+
comment: nil,
|
|
186
|
+
# Configuration of the image. These fields are used as defaults when starting a
|
|
187
|
+
# container from the image.
|
|
188
|
+
config: nil,
|
|
189
|
+
# Date and time at which the image was created, formatted in
|
|
190
|
+
# [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
|
|
191
|
+
#
|
|
192
|
+
# This information is only available if present in the image, and omitted
|
|
193
|
+
# otherwise.
|
|
194
|
+
created: nil,
|
|
195
|
+
# A descriptor struct containing digest, media type, and size, as defined in the
|
|
196
|
+
# [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
|
|
197
|
+
descriptor: nil,
|
|
198
|
+
# Information about the storage driver used to store the container's and image's
|
|
199
|
+
# filesystem.
|
|
200
|
+
graph_driver: nil,
|
|
201
|
+
# ID is the content-addressable ID of an image.
|
|
202
|
+
#
|
|
203
|
+
# This identifier is a content-addressable digest calculated from the image's
|
|
204
|
+
# configuration (which includes the digests of layers used by the image).
|
|
205
|
+
#
|
|
206
|
+
# Note that this digest differs from the `RepoDigests` below, which holds digests
|
|
207
|
+
# of image manifests that reference the image.
|
|
208
|
+
id: nil,
|
|
209
|
+
# Identity holds information about the identity and origin of the image. This is
|
|
210
|
+
# trusted information verified by the daemon and cannot be modified by tagging an
|
|
211
|
+
# image to a different name.
|
|
212
|
+
identity: nil,
|
|
213
|
+
# Manifests is a list of image manifests available in this image. It provides a
|
|
214
|
+
# more detailed view of the platform-specific image manifests or other
|
|
215
|
+
# image-attached data like build attestations.
|
|
216
|
+
#
|
|
217
|
+
# Only available if the daemon provides a multi-platform image store and the
|
|
218
|
+
# `manifests` option is set in the inspect request.
|
|
219
|
+
#
|
|
220
|
+
# WARNING: This is experimental and may change at any time without any backward
|
|
221
|
+
# compatibility.
|
|
222
|
+
manifests: nil,
|
|
223
|
+
# Additional metadata of the image in the local cache. This information is local
|
|
224
|
+
# to the daemon, and not part of the image itself.
|
|
225
|
+
metadata: nil,
|
|
226
|
+
# Operating System the image is built to run on.
|
|
227
|
+
os: nil,
|
|
228
|
+
# Operating System version the image is built to run on (especially for Windows).
|
|
229
|
+
os_version: nil,
|
|
230
|
+
# List of content-addressable digests of locally available image manifests that
|
|
231
|
+
# the image is referenced from. Multiple manifests can refer to the same image.
|
|
232
|
+
#
|
|
233
|
+
# These digests are usually only available if the image was either pulled from a
|
|
234
|
+
# registry, or if the image was pushed to a registry, which is when the manifest
|
|
235
|
+
# is generated and its digest calculated.
|
|
236
|
+
repo_digests: nil,
|
|
237
|
+
# List of image names/tags in the local image cache that reference this image.
|
|
238
|
+
#
|
|
239
|
+
# Multiple image tags can refer to the same image, and this list may be empty if
|
|
240
|
+
# no tags reference the image, in which case the image is "untagged", in which
|
|
241
|
+
# case it can still be referenced by its ID.
|
|
242
|
+
repo_tags: nil,
|
|
243
|
+
# Information about the image's RootFS, including the layer IDs.
|
|
244
|
+
root_fs: nil,
|
|
245
|
+
# Total size of the image including all layers it is composed of.
|
|
246
|
+
size: nil,
|
|
247
|
+
# CPU architecture variant (presently ARM-only).
|
|
248
|
+
variant: nil
|
|
249
|
+
)
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
sig do
|
|
253
|
+
override.returns(
|
|
254
|
+
{
|
|
255
|
+
architecture: String,
|
|
256
|
+
author: T.nilable(String),
|
|
257
|
+
comment: T.nilable(String),
|
|
258
|
+
config: DockerEngine::Image::Config,
|
|
259
|
+
created: T.nilable(String),
|
|
260
|
+
descriptor: DockerEngine::Image::Descriptor,
|
|
261
|
+
graph_driver: DockerEngine::Image::GraphDriver,
|
|
262
|
+
id: String,
|
|
263
|
+
identity: DockerEngine::Image::Identity,
|
|
264
|
+
manifests: T.nilable(T::Array[DockerEngine::Image::Manifest]),
|
|
265
|
+
metadata: DockerEngine::Image::Metadata,
|
|
266
|
+
os: String,
|
|
267
|
+
os_version: T.nilable(String),
|
|
268
|
+
repo_digests: T::Array[String],
|
|
269
|
+
repo_tags: T::Array[String],
|
|
270
|
+
root_fs: DockerEngine::Image::RootFs,
|
|
271
|
+
size: Integer,
|
|
272
|
+
variant: T.nilable(String)
|
|
273
|
+
}
|
|
274
|
+
)
|
|
275
|
+
end
|
|
276
|
+
def to_hash
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
class Config < DockerEngine::Internal::Type::BaseModel
|
|
280
|
+
OrHash =
|
|
281
|
+
T.type_alias do
|
|
282
|
+
T.any(DockerEngine::Image::Config, DockerEngine::Internal::AnyHash)
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
# Command is already escaped (Windows only)
|
|
286
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
287
|
+
attr_accessor :args_escaped
|
|
288
|
+
|
|
289
|
+
# Command to run specified as a string or an array of strings.
|
|
290
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
291
|
+
attr_reader :cmd
|
|
292
|
+
|
|
293
|
+
sig { params(cmd: T::Array[String]).void }
|
|
294
|
+
attr_writer :cmd
|
|
295
|
+
|
|
296
|
+
# The entry point for the container as a string or an array of strings.
|
|
297
|
+
#
|
|
298
|
+
# If the array consists of exactly one empty string (`[""]`) then the entry point
|
|
299
|
+
# is reset to system default (i.e., the entry point used by docker when there is
|
|
300
|
+
# no `ENTRYPOINT` instruction in the `Dockerfile`).
|
|
301
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
302
|
+
attr_reader :entrypoint
|
|
303
|
+
|
|
304
|
+
sig { params(entrypoint: T::Array[String]).void }
|
|
305
|
+
attr_writer :entrypoint
|
|
306
|
+
|
|
307
|
+
# A list of environment variables to set inside the container in the form
|
|
308
|
+
# `["VAR=value", ...]`. A variable without `=` is removed from the environment,
|
|
309
|
+
# rather than to have an empty value.
|
|
310
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
311
|
+
attr_reader :env
|
|
312
|
+
|
|
313
|
+
sig { params(env: T::Array[String]).void }
|
|
314
|
+
attr_writer :env
|
|
315
|
+
|
|
316
|
+
# An object mapping ports to an empty object in the form:
|
|
317
|
+
#
|
|
318
|
+
# `{"<port>/<tcp|udp|sctp>": {}}`
|
|
319
|
+
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
320
|
+
attr_accessor :exposed_ports
|
|
321
|
+
|
|
322
|
+
# A test to perform to check that the container is healthy. Healthcheck commands
|
|
323
|
+
# should be side-effect free.
|
|
324
|
+
sig { returns(T.nilable(DockerEngine::Image::Config::Healthcheck)) }
|
|
325
|
+
attr_reader :healthcheck
|
|
326
|
+
|
|
327
|
+
sig do
|
|
328
|
+
params(
|
|
329
|
+
healthcheck: DockerEngine::Image::Config::Healthcheck::OrHash
|
|
330
|
+
).void
|
|
331
|
+
end
|
|
332
|
+
attr_writer :healthcheck
|
|
333
|
+
|
|
334
|
+
# User-defined key/value metadata.
|
|
335
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
336
|
+
attr_reader :labels
|
|
337
|
+
|
|
338
|
+
sig { params(labels: T::Hash[Symbol, String]).void }
|
|
339
|
+
attr_writer :labels
|
|
340
|
+
|
|
341
|
+
# `ONBUILD` metadata that were defined in the image's `Dockerfile`.
|
|
342
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
343
|
+
attr_accessor :on_build
|
|
344
|
+
|
|
345
|
+
# Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.
|
|
346
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
347
|
+
attr_accessor :shell
|
|
348
|
+
|
|
349
|
+
# Signal to stop a container as a string or unsigned integer.
|
|
350
|
+
sig { returns(T.nilable(String)) }
|
|
351
|
+
attr_accessor :stop_signal
|
|
352
|
+
|
|
353
|
+
# The user that commands are run as inside the container.
|
|
354
|
+
sig { returns(T.nilable(String)) }
|
|
355
|
+
attr_reader :user
|
|
356
|
+
|
|
357
|
+
sig { params(user: String).void }
|
|
358
|
+
attr_writer :user
|
|
359
|
+
|
|
360
|
+
# An object mapping mount point paths inside the container to empty objects.
|
|
361
|
+
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
362
|
+
attr_reader :volumes
|
|
363
|
+
|
|
364
|
+
sig { params(volumes: T::Hash[Symbol, T.anything]).void }
|
|
365
|
+
attr_writer :volumes
|
|
366
|
+
|
|
367
|
+
# The working directory for commands to run in.
|
|
368
|
+
sig { returns(T.nilable(String)) }
|
|
369
|
+
attr_reader :working_dir
|
|
370
|
+
|
|
371
|
+
sig { params(working_dir: String).void }
|
|
372
|
+
attr_writer :working_dir
|
|
373
|
+
|
|
374
|
+
# Configuration of the image. These fields are used as defaults when starting a
|
|
375
|
+
# container from the image.
|
|
376
|
+
sig do
|
|
377
|
+
params(
|
|
378
|
+
args_escaped: T.nilable(T::Boolean),
|
|
379
|
+
cmd: T::Array[String],
|
|
380
|
+
entrypoint: T::Array[String],
|
|
381
|
+
env: T::Array[String],
|
|
382
|
+
exposed_ports: T.nilable(T::Hash[Symbol, T.anything]),
|
|
383
|
+
healthcheck: DockerEngine::Image::Config::Healthcheck::OrHash,
|
|
384
|
+
labels: T::Hash[Symbol, String],
|
|
385
|
+
on_build: T.nilable(T::Array[String]),
|
|
386
|
+
shell: T.nilable(T::Array[String]),
|
|
387
|
+
stop_signal: T.nilable(String),
|
|
388
|
+
user: String,
|
|
389
|
+
volumes: T::Hash[Symbol, T.anything],
|
|
390
|
+
working_dir: String
|
|
391
|
+
).returns(T.attached_class)
|
|
392
|
+
end
|
|
393
|
+
def self.new(
|
|
394
|
+
# Command is already escaped (Windows only)
|
|
395
|
+
args_escaped: nil,
|
|
396
|
+
# Command to run specified as a string or an array of strings.
|
|
397
|
+
cmd: nil,
|
|
398
|
+
# The entry point for the container as a string or an array of strings.
|
|
399
|
+
#
|
|
400
|
+
# If the array consists of exactly one empty string (`[""]`) then the entry point
|
|
401
|
+
# is reset to system default (i.e., the entry point used by docker when there is
|
|
402
|
+
# no `ENTRYPOINT` instruction in the `Dockerfile`).
|
|
403
|
+
entrypoint: nil,
|
|
404
|
+
# A list of environment variables to set inside the container in the form
|
|
405
|
+
# `["VAR=value", ...]`. A variable without `=` is removed from the environment,
|
|
406
|
+
# rather than to have an empty value.
|
|
407
|
+
env: nil,
|
|
408
|
+
# An object mapping ports to an empty object in the form:
|
|
409
|
+
#
|
|
410
|
+
# `{"<port>/<tcp|udp|sctp>": {}}`
|
|
411
|
+
exposed_ports: nil,
|
|
412
|
+
# A test to perform to check that the container is healthy. Healthcheck commands
|
|
413
|
+
# should be side-effect free.
|
|
414
|
+
healthcheck: nil,
|
|
415
|
+
# User-defined key/value metadata.
|
|
416
|
+
labels: nil,
|
|
417
|
+
# `ONBUILD` metadata that were defined in the image's `Dockerfile`.
|
|
418
|
+
on_build: nil,
|
|
419
|
+
# Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.
|
|
420
|
+
shell: nil,
|
|
421
|
+
# Signal to stop a container as a string or unsigned integer.
|
|
422
|
+
stop_signal: nil,
|
|
423
|
+
# The user that commands are run as inside the container.
|
|
424
|
+
user: nil,
|
|
425
|
+
# An object mapping mount point paths inside the container to empty objects.
|
|
426
|
+
volumes: nil,
|
|
427
|
+
# The working directory for commands to run in.
|
|
428
|
+
working_dir: nil
|
|
429
|
+
)
|
|
430
|
+
end
|
|
431
|
+
|
|
432
|
+
sig do
|
|
433
|
+
override.returns(
|
|
434
|
+
{
|
|
435
|
+
args_escaped: T.nilable(T::Boolean),
|
|
436
|
+
cmd: T::Array[String],
|
|
437
|
+
entrypoint: T::Array[String],
|
|
438
|
+
env: T::Array[String],
|
|
439
|
+
exposed_ports: T.nilable(T::Hash[Symbol, T.anything]),
|
|
440
|
+
healthcheck: DockerEngine::Image::Config::Healthcheck,
|
|
441
|
+
labels: T::Hash[Symbol, String],
|
|
442
|
+
on_build: T.nilable(T::Array[String]),
|
|
443
|
+
shell: T.nilable(T::Array[String]),
|
|
444
|
+
stop_signal: T.nilable(String),
|
|
445
|
+
user: String,
|
|
446
|
+
volumes: T::Hash[Symbol, T.anything],
|
|
447
|
+
working_dir: String
|
|
448
|
+
}
|
|
449
|
+
)
|
|
450
|
+
end
|
|
451
|
+
def to_hash
|
|
452
|
+
end
|
|
453
|
+
|
|
454
|
+
class Healthcheck < DockerEngine::Internal::Type::BaseModel
|
|
455
|
+
OrHash =
|
|
456
|
+
T.type_alias do
|
|
457
|
+
T.any(
|
|
458
|
+
DockerEngine::Image::Config::Healthcheck,
|
|
459
|
+
DockerEngine::Internal::AnyHash
|
|
460
|
+
)
|
|
461
|
+
end
|
|
462
|
+
|
|
463
|
+
# The time to wait between checks in nanoseconds. It should be 0 or at least
|
|
464
|
+
# 1000000 (1 ms). 0 means inherit.
|
|
465
|
+
sig { returns(T.nilable(Integer)) }
|
|
466
|
+
attr_reader :interval
|
|
467
|
+
|
|
468
|
+
sig { params(interval: Integer).void }
|
|
469
|
+
attr_writer :interval
|
|
470
|
+
|
|
471
|
+
# The number of consecutive failures needed to consider a container as unhealthy.
|
|
472
|
+
# 0 means inherit.
|
|
473
|
+
sig { returns(T.nilable(Integer)) }
|
|
474
|
+
attr_reader :retries
|
|
475
|
+
|
|
476
|
+
sig { params(retries: Integer).void }
|
|
477
|
+
attr_writer :retries
|
|
478
|
+
|
|
479
|
+
# The time to wait between checks in nanoseconds during the start period. It
|
|
480
|
+
# should be 0 or at least 1000000 (1 ms). 0 means inherit.
|
|
481
|
+
sig { returns(T.nilable(Integer)) }
|
|
482
|
+
attr_reader :start_interval
|
|
483
|
+
|
|
484
|
+
sig { params(start_interval: Integer).void }
|
|
485
|
+
attr_writer :start_interval
|
|
486
|
+
|
|
487
|
+
# Start period for the container to initialize before starting health-retries
|
|
488
|
+
# countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means
|
|
489
|
+
# inherit.
|
|
490
|
+
sig { returns(T.nilable(Integer)) }
|
|
491
|
+
attr_reader :start_period
|
|
492
|
+
|
|
493
|
+
sig { params(start_period: Integer).void }
|
|
494
|
+
attr_writer :start_period
|
|
495
|
+
|
|
496
|
+
# The test to perform. Possible values are:
|
|
497
|
+
#
|
|
498
|
+
# - `[]` inherit healthcheck from image or parent image
|
|
499
|
+
# - `["NONE"]` disable healthcheck
|
|
500
|
+
# - `["CMD", args...]` exec arguments directly
|
|
501
|
+
# - `["CMD-SHELL", command]` run command with system's default shell
|
|
502
|
+
#
|
|
503
|
+
# A non-zero exit code indicates a failed healthcheck:
|
|
504
|
+
#
|
|
505
|
+
# - `0` healthy
|
|
506
|
+
# - `1` unhealthy
|
|
507
|
+
# - `2` reserved (treated as unhealthy)
|
|
508
|
+
# - other values: error running probe
|
|
509
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
510
|
+
attr_reader :test_
|
|
511
|
+
|
|
512
|
+
sig { params(test_: T::Array[String]).void }
|
|
513
|
+
attr_writer :test_
|
|
514
|
+
|
|
515
|
+
# The time to wait before considering the check to have hung. It should be 0 or at
|
|
516
|
+
# least 1000000 (1 ms). 0 means inherit.
|
|
517
|
+
#
|
|
518
|
+
# If the health check command does not complete within this timeout, the check is
|
|
519
|
+
# considered failed and the health check process is forcibly terminated without a
|
|
520
|
+
# graceful shutdown.
|
|
521
|
+
sig { returns(T.nilable(Integer)) }
|
|
522
|
+
attr_reader :timeout
|
|
523
|
+
|
|
524
|
+
sig { params(timeout: Integer).void }
|
|
525
|
+
attr_writer :timeout
|
|
526
|
+
|
|
527
|
+
# A test to perform to check that the container is healthy. Healthcheck commands
|
|
528
|
+
# should be side-effect free.
|
|
529
|
+
sig do
|
|
530
|
+
params(
|
|
531
|
+
interval: Integer,
|
|
532
|
+
retries: Integer,
|
|
533
|
+
start_interval: Integer,
|
|
534
|
+
start_period: Integer,
|
|
535
|
+
test_: T::Array[String],
|
|
536
|
+
timeout: Integer
|
|
537
|
+
).returns(T.attached_class)
|
|
538
|
+
end
|
|
539
|
+
def self.new(
|
|
540
|
+
# The time to wait between checks in nanoseconds. It should be 0 or at least
|
|
541
|
+
# 1000000 (1 ms). 0 means inherit.
|
|
542
|
+
interval: nil,
|
|
543
|
+
# The number of consecutive failures needed to consider a container as unhealthy.
|
|
544
|
+
# 0 means inherit.
|
|
545
|
+
retries: nil,
|
|
546
|
+
# The time to wait between checks in nanoseconds during the start period. It
|
|
547
|
+
# should be 0 or at least 1000000 (1 ms). 0 means inherit.
|
|
548
|
+
start_interval: nil,
|
|
549
|
+
# Start period for the container to initialize before starting health-retries
|
|
550
|
+
# countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means
|
|
551
|
+
# inherit.
|
|
552
|
+
start_period: nil,
|
|
553
|
+
# The test to perform. Possible values are:
|
|
554
|
+
#
|
|
555
|
+
# - `[]` inherit healthcheck from image or parent image
|
|
556
|
+
# - `["NONE"]` disable healthcheck
|
|
557
|
+
# - `["CMD", args...]` exec arguments directly
|
|
558
|
+
# - `["CMD-SHELL", command]` run command with system's default shell
|
|
559
|
+
#
|
|
560
|
+
# A non-zero exit code indicates a failed healthcheck:
|
|
561
|
+
#
|
|
562
|
+
# - `0` healthy
|
|
563
|
+
# - `1` unhealthy
|
|
564
|
+
# - `2` reserved (treated as unhealthy)
|
|
565
|
+
# - other values: error running probe
|
|
566
|
+
test_: nil,
|
|
567
|
+
# The time to wait before considering the check to have hung. It should be 0 or at
|
|
568
|
+
# least 1000000 (1 ms). 0 means inherit.
|
|
569
|
+
#
|
|
570
|
+
# If the health check command does not complete within this timeout, the check is
|
|
571
|
+
# considered failed and the health check process is forcibly terminated without a
|
|
572
|
+
# graceful shutdown.
|
|
573
|
+
timeout: nil
|
|
574
|
+
)
|
|
575
|
+
end
|
|
576
|
+
|
|
577
|
+
sig do
|
|
578
|
+
override.returns(
|
|
579
|
+
{
|
|
580
|
+
interval: Integer,
|
|
581
|
+
retries: Integer,
|
|
582
|
+
start_interval: Integer,
|
|
583
|
+
start_period: Integer,
|
|
584
|
+
test_: T::Array[String],
|
|
585
|
+
timeout: Integer
|
|
586
|
+
}
|
|
587
|
+
)
|
|
588
|
+
end
|
|
589
|
+
def to_hash
|
|
590
|
+
end
|
|
591
|
+
end
|
|
592
|
+
end
|
|
593
|
+
|
|
594
|
+
class Descriptor < DockerEngine::Internal::Type::BaseModel
|
|
595
|
+
OrHash =
|
|
596
|
+
T.type_alias do
|
|
597
|
+
T.any(
|
|
598
|
+
DockerEngine::Image::Descriptor,
|
|
599
|
+
DockerEngine::Internal::AnyHash
|
|
600
|
+
)
|
|
601
|
+
end
|
|
602
|
+
|
|
603
|
+
# Arbitrary metadata relating to the targeted content.
|
|
604
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
605
|
+
attr_accessor :annotations
|
|
606
|
+
|
|
607
|
+
# ArtifactType is the IANA media type of this artifact.
|
|
608
|
+
sig { returns(T.nilable(String)) }
|
|
609
|
+
attr_accessor :artifact_type
|
|
610
|
+
|
|
611
|
+
# Data is an embedding of the targeted content. This is encoded as a base64 string
|
|
612
|
+
# when marshalled to JSON (automatically, by encoding/json). If present, Data can
|
|
613
|
+
# be used directly to avoid fetching the targeted content.
|
|
614
|
+
sig { returns(T.nilable(String)) }
|
|
615
|
+
attr_accessor :data
|
|
616
|
+
|
|
617
|
+
# The digest of the targeted content.
|
|
618
|
+
sig { returns(T.nilable(String)) }
|
|
619
|
+
attr_reader :digest
|
|
620
|
+
|
|
621
|
+
sig { params(digest: String).void }
|
|
622
|
+
attr_writer :digest
|
|
623
|
+
|
|
624
|
+
# The media type of the object this schema refers to.
|
|
625
|
+
sig { returns(T.nilable(String)) }
|
|
626
|
+
attr_reader :media_type
|
|
627
|
+
|
|
628
|
+
sig { params(media_type: String).void }
|
|
629
|
+
attr_writer :media_type
|
|
630
|
+
|
|
631
|
+
# Describes the platform which the image in the manifest runs on, as defined in
|
|
632
|
+
# the
|
|
633
|
+
# [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
|
|
634
|
+
sig { returns(T.nilable(DockerEngine::Image::Descriptor::Platform)) }
|
|
635
|
+
attr_reader :platform
|
|
636
|
+
|
|
637
|
+
sig do
|
|
638
|
+
params(
|
|
639
|
+
platform:
|
|
640
|
+
T.nilable(DockerEngine::Image::Descriptor::Platform::OrHash)
|
|
641
|
+
).void
|
|
642
|
+
end
|
|
643
|
+
attr_writer :platform
|
|
644
|
+
|
|
645
|
+
# The size in bytes of the blob.
|
|
646
|
+
sig { returns(T.nilable(Integer)) }
|
|
647
|
+
attr_reader :size
|
|
648
|
+
|
|
649
|
+
sig { params(size: Integer).void }
|
|
650
|
+
attr_writer :size
|
|
651
|
+
|
|
652
|
+
# List of URLs from which this object MAY be downloaded.
|
|
653
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
654
|
+
attr_accessor :urls
|
|
655
|
+
|
|
656
|
+
# A descriptor struct containing digest, media type, and size, as defined in the
|
|
657
|
+
# [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
|
|
658
|
+
sig do
|
|
659
|
+
params(
|
|
660
|
+
annotations: T.nilable(T::Hash[Symbol, String]),
|
|
661
|
+
artifact_type: T.nilable(String),
|
|
662
|
+
data: T.nilable(String),
|
|
663
|
+
digest: String,
|
|
664
|
+
media_type: String,
|
|
665
|
+
platform:
|
|
666
|
+
T.nilable(DockerEngine::Image::Descriptor::Platform::OrHash),
|
|
667
|
+
size: Integer,
|
|
668
|
+
urls: T.nilable(T::Array[String])
|
|
669
|
+
).returns(T.attached_class)
|
|
670
|
+
end
|
|
671
|
+
def self.new(
|
|
672
|
+
# Arbitrary metadata relating to the targeted content.
|
|
673
|
+
annotations: nil,
|
|
674
|
+
# ArtifactType is the IANA media type of this artifact.
|
|
675
|
+
artifact_type: nil,
|
|
676
|
+
# Data is an embedding of the targeted content. This is encoded as a base64 string
|
|
677
|
+
# when marshalled to JSON (automatically, by encoding/json). If present, Data can
|
|
678
|
+
# be used directly to avoid fetching the targeted content.
|
|
679
|
+
data: nil,
|
|
680
|
+
# The digest of the targeted content.
|
|
681
|
+
digest: nil,
|
|
682
|
+
# The media type of the object this schema refers to.
|
|
683
|
+
media_type: nil,
|
|
684
|
+
# Describes the platform which the image in the manifest runs on, as defined in
|
|
685
|
+
# the
|
|
686
|
+
# [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
|
|
687
|
+
platform: nil,
|
|
688
|
+
# The size in bytes of the blob.
|
|
689
|
+
size: nil,
|
|
690
|
+
# List of URLs from which this object MAY be downloaded.
|
|
691
|
+
urls: nil
|
|
692
|
+
)
|
|
693
|
+
end
|
|
694
|
+
|
|
695
|
+
sig do
|
|
696
|
+
override.returns(
|
|
697
|
+
{
|
|
698
|
+
annotations: T.nilable(T::Hash[Symbol, String]),
|
|
699
|
+
artifact_type: T.nilable(String),
|
|
700
|
+
data: T.nilable(String),
|
|
701
|
+
digest: String,
|
|
702
|
+
media_type: String,
|
|
703
|
+
platform: T.nilable(DockerEngine::Image::Descriptor::Platform),
|
|
704
|
+
size: Integer,
|
|
705
|
+
urls: T.nilable(T::Array[String])
|
|
706
|
+
}
|
|
707
|
+
)
|
|
708
|
+
end
|
|
709
|
+
def to_hash
|
|
710
|
+
end
|
|
711
|
+
|
|
712
|
+
class Platform < DockerEngine::Internal::Type::BaseModel
|
|
713
|
+
OrHash =
|
|
714
|
+
T.type_alias do
|
|
715
|
+
T.any(
|
|
716
|
+
DockerEngine::Image::Descriptor::Platform,
|
|
717
|
+
DockerEngine::Internal::AnyHash
|
|
718
|
+
)
|
|
719
|
+
end
|
|
720
|
+
|
|
721
|
+
# The CPU architecture, for example `amd64` or `ppc64`.
|
|
722
|
+
sig { returns(T.nilable(String)) }
|
|
723
|
+
attr_reader :architecture
|
|
724
|
+
|
|
725
|
+
sig { params(architecture: String).void }
|
|
726
|
+
attr_writer :architecture
|
|
727
|
+
|
|
728
|
+
# The operating system, for example `linux` or `windows`.
|
|
729
|
+
sig { returns(T.nilable(String)) }
|
|
730
|
+
attr_reader :os
|
|
731
|
+
|
|
732
|
+
sig { params(os: String).void }
|
|
733
|
+
attr_writer :os
|
|
734
|
+
|
|
735
|
+
# Optional field specifying an array of strings, each listing a required OS
|
|
736
|
+
# feature (for example on Windows `win32k`).
|
|
737
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
738
|
+
attr_reader :os_features
|
|
739
|
+
|
|
740
|
+
sig { params(os_features: T::Array[String]).void }
|
|
741
|
+
attr_writer :os_features
|
|
742
|
+
|
|
743
|
+
# Optional field specifying the operating system version, for example on Windows
|
|
744
|
+
# `10.0.19041.1165`.
|
|
745
|
+
sig { returns(T.nilable(String)) }
|
|
746
|
+
attr_reader :os_version
|
|
747
|
+
|
|
748
|
+
sig { params(os_version: String).void }
|
|
749
|
+
attr_writer :os_version
|
|
750
|
+
|
|
751
|
+
# Optional field specifying a variant of the CPU, for example `v7` to specify
|
|
752
|
+
# ARMv7 when architecture is `arm`.
|
|
753
|
+
sig { returns(T.nilable(String)) }
|
|
754
|
+
attr_reader :variant
|
|
755
|
+
|
|
756
|
+
sig { params(variant: String).void }
|
|
757
|
+
attr_writer :variant
|
|
758
|
+
|
|
759
|
+
# Describes the platform which the image in the manifest runs on, as defined in
|
|
760
|
+
# the
|
|
761
|
+
# [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
|
|
762
|
+
sig do
|
|
763
|
+
params(
|
|
764
|
+
architecture: String,
|
|
765
|
+
os: String,
|
|
766
|
+
os_features: T::Array[String],
|
|
767
|
+
os_version: String,
|
|
768
|
+
variant: String
|
|
769
|
+
).returns(T.attached_class)
|
|
770
|
+
end
|
|
771
|
+
def self.new(
|
|
772
|
+
# The CPU architecture, for example `amd64` or `ppc64`.
|
|
773
|
+
architecture: nil,
|
|
774
|
+
# The operating system, for example `linux` or `windows`.
|
|
775
|
+
os: nil,
|
|
776
|
+
# Optional field specifying an array of strings, each listing a required OS
|
|
777
|
+
# feature (for example on Windows `win32k`).
|
|
778
|
+
os_features: nil,
|
|
779
|
+
# Optional field specifying the operating system version, for example on Windows
|
|
780
|
+
# `10.0.19041.1165`.
|
|
781
|
+
os_version: nil,
|
|
782
|
+
# Optional field specifying a variant of the CPU, for example `v7` to specify
|
|
783
|
+
# ARMv7 when architecture is `arm`.
|
|
784
|
+
variant: nil
|
|
785
|
+
)
|
|
786
|
+
end
|
|
787
|
+
|
|
788
|
+
sig do
|
|
789
|
+
override.returns(
|
|
790
|
+
{
|
|
791
|
+
architecture: String,
|
|
792
|
+
os: String,
|
|
793
|
+
os_features: T::Array[String],
|
|
794
|
+
os_version: String,
|
|
795
|
+
variant: String
|
|
796
|
+
}
|
|
797
|
+
)
|
|
798
|
+
end
|
|
799
|
+
def to_hash
|
|
800
|
+
end
|
|
801
|
+
end
|
|
802
|
+
end
|
|
803
|
+
|
|
804
|
+
class GraphDriver < DockerEngine::Internal::Type::BaseModel
|
|
805
|
+
OrHash =
|
|
806
|
+
T.type_alias do
|
|
807
|
+
T.any(
|
|
808
|
+
DockerEngine::Image::GraphDriver,
|
|
809
|
+
DockerEngine::Internal::AnyHash
|
|
810
|
+
)
|
|
811
|
+
end
|
|
812
|
+
|
|
813
|
+
# Low-level storage metadata, provided as key/value pairs.
|
|
814
|
+
#
|
|
815
|
+
# This information is driver-specific, and depends on the storage-driver in use,
|
|
816
|
+
# and should be used for informational purposes only.
|
|
817
|
+
sig { returns(T::Hash[Symbol, String]) }
|
|
818
|
+
attr_accessor :data
|
|
819
|
+
|
|
820
|
+
# Name of the storage driver.
|
|
821
|
+
sig { returns(String) }
|
|
822
|
+
attr_accessor :name
|
|
823
|
+
|
|
824
|
+
# Information about the storage driver used to store the container's and image's
|
|
825
|
+
# filesystem.
|
|
826
|
+
sig do
|
|
827
|
+
params(data: T::Hash[Symbol, String], name: String).returns(
|
|
828
|
+
T.attached_class
|
|
829
|
+
)
|
|
830
|
+
end
|
|
831
|
+
def self.new(
|
|
832
|
+
# Low-level storage metadata, provided as key/value pairs.
|
|
833
|
+
#
|
|
834
|
+
# This information is driver-specific, and depends on the storage-driver in use,
|
|
835
|
+
# and should be used for informational purposes only.
|
|
836
|
+
data:,
|
|
837
|
+
# Name of the storage driver.
|
|
838
|
+
name:
|
|
839
|
+
)
|
|
840
|
+
end
|
|
841
|
+
|
|
842
|
+
sig do
|
|
843
|
+
override.returns({ data: T::Hash[Symbol, String], name: String })
|
|
844
|
+
end
|
|
845
|
+
def to_hash
|
|
846
|
+
end
|
|
847
|
+
end
|
|
848
|
+
|
|
849
|
+
class Identity < DockerEngine::Internal::Type::BaseModel
|
|
850
|
+
OrHash =
|
|
851
|
+
T.type_alias do
|
|
852
|
+
T.any(
|
|
853
|
+
DockerEngine::Image::Identity,
|
|
854
|
+
DockerEngine::Internal::AnyHash
|
|
855
|
+
)
|
|
856
|
+
end
|
|
857
|
+
|
|
858
|
+
# Build contains build reference information if image was created via build.
|
|
859
|
+
sig do
|
|
860
|
+
returns(T.nilable(T::Array[DockerEngine::Image::Identity::Build]))
|
|
861
|
+
end
|
|
862
|
+
attr_reader :build
|
|
863
|
+
|
|
864
|
+
sig do
|
|
865
|
+
params(
|
|
866
|
+
build: T::Array[DockerEngine::Image::Identity::Build::OrHash]
|
|
867
|
+
).void
|
|
868
|
+
end
|
|
869
|
+
attr_writer :build
|
|
870
|
+
|
|
871
|
+
# Pull contains remote location information if image was created via pull. If
|
|
872
|
+
# image was pulled via mirror, this contains the original repository location.
|
|
873
|
+
# After successful push this images also contains the pushed repository location.
|
|
874
|
+
sig do
|
|
875
|
+
returns(T.nilable(T::Array[DockerEngine::Image::Identity::Pull]))
|
|
876
|
+
end
|
|
877
|
+
attr_reader :pull
|
|
878
|
+
|
|
879
|
+
sig do
|
|
880
|
+
params(
|
|
881
|
+
pull: T::Array[DockerEngine::Image::Identity::Pull::OrHash]
|
|
882
|
+
).void
|
|
883
|
+
end
|
|
884
|
+
attr_writer :pull
|
|
885
|
+
|
|
886
|
+
# Signature contains the properties of verified signatures for the image.
|
|
887
|
+
sig do
|
|
888
|
+
returns(T.nilable(T::Array[DockerEngine::Image::Identity::Signature]))
|
|
889
|
+
end
|
|
890
|
+
attr_reader :signature
|
|
891
|
+
|
|
892
|
+
sig do
|
|
893
|
+
params(
|
|
894
|
+
signature:
|
|
895
|
+
T::Array[DockerEngine::Image::Identity::Signature::OrHash]
|
|
896
|
+
).void
|
|
897
|
+
end
|
|
898
|
+
attr_writer :signature
|
|
899
|
+
|
|
900
|
+
# Identity holds information about the identity and origin of the image. This is
|
|
901
|
+
# trusted information verified by the daemon and cannot be modified by tagging an
|
|
902
|
+
# image to a different name.
|
|
903
|
+
sig do
|
|
904
|
+
params(
|
|
905
|
+
build: T::Array[DockerEngine::Image::Identity::Build::OrHash],
|
|
906
|
+
pull: T::Array[DockerEngine::Image::Identity::Pull::OrHash],
|
|
907
|
+
signature:
|
|
908
|
+
T::Array[DockerEngine::Image::Identity::Signature::OrHash]
|
|
909
|
+
).returns(T.attached_class)
|
|
910
|
+
end
|
|
911
|
+
def self.new(
|
|
912
|
+
# Build contains build reference information if image was created via build.
|
|
913
|
+
build: nil,
|
|
914
|
+
# Pull contains remote location information if image was created via pull. If
|
|
915
|
+
# image was pulled via mirror, this contains the original repository location.
|
|
916
|
+
# After successful push this images also contains the pushed repository location.
|
|
917
|
+
pull: nil,
|
|
918
|
+
# Signature contains the properties of verified signatures for the image.
|
|
919
|
+
signature: nil
|
|
920
|
+
)
|
|
921
|
+
end
|
|
922
|
+
|
|
923
|
+
sig do
|
|
924
|
+
override.returns(
|
|
925
|
+
{
|
|
926
|
+
build: T::Array[DockerEngine::Image::Identity::Build],
|
|
927
|
+
pull: T::Array[DockerEngine::Image::Identity::Pull],
|
|
928
|
+
signature: T::Array[DockerEngine::Image::Identity::Signature]
|
|
929
|
+
}
|
|
930
|
+
)
|
|
931
|
+
end
|
|
932
|
+
def to_hash
|
|
933
|
+
end
|
|
934
|
+
|
|
935
|
+
class Build < DockerEngine::Internal::Type::BaseModel
|
|
936
|
+
OrHash =
|
|
937
|
+
T.type_alias do
|
|
938
|
+
T.any(
|
|
939
|
+
DockerEngine::Image::Identity::Build,
|
|
940
|
+
DockerEngine::Internal::AnyHash
|
|
941
|
+
)
|
|
942
|
+
end
|
|
943
|
+
|
|
944
|
+
# CreatedAt is the time when the build ran.
|
|
945
|
+
sig { returns(T.nilable(Time)) }
|
|
946
|
+
attr_reader :created_at
|
|
947
|
+
|
|
948
|
+
sig { params(created_at: Time).void }
|
|
949
|
+
attr_writer :created_at
|
|
950
|
+
|
|
951
|
+
# Ref is the identifier for the build request. This reference can be used to look
|
|
952
|
+
# up the build details in BuildKit history API.
|
|
953
|
+
sig { returns(T.nilable(String)) }
|
|
954
|
+
attr_reader :ref
|
|
955
|
+
|
|
956
|
+
sig { params(ref: String).void }
|
|
957
|
+
attr_writer :ref
|
|
958
|
+
|
|
959
|
+
# BuildIdentity contains build reference information if image was created via
|
|
960
|
+
# build.
|
|
961
|
+
sig do
|
|
962
|
+
params(created_at: Time, ref: String).returns(T.attached_class)
|
|
963
|
+
end
|
|
964
|
+
def self.new(
|
|
965
|
+
# CreatedAt is the time when the build ran.
|
|
966
|
+
created_at: nil,
|
|
967
|
+
# Ref is the identifier for the build request. This reference can be used to look
|
|
968
|
+
# up the build details in BuildKit history API.
|
|
969
|
+
ref: nil
|
|
970
|
+
)
|
|
971
|
+
end
|
|
972
|
+
|
|
973
|
+
sig { override.returns({ created_at: Time, ref: String }) }
|
|
974
|
+
def to_hash
|
|
975
|
+
end
|
|
976
|
+
end
|
|
977
|
+
|
|
978
|
+
class Pull < DockerEngine::Internal::Type::BaseModel
|
|
979
|
+
OrHash =
|
|
980
|
+
T.type_alias do
|
|
981
|
+
T.any(
|
|
982
|
+
DockerEngine::Image::Identity::Pull,
|
|
983
|
+
DockerEngine::Internal::AnyHash
|
|
984
|
+
)
|
|
985
|
+
end
|
|
986
|
+
|
|
987
|
+
# Repository is the remote repository location the image was pulled from.
|
|
988
|
+
sig { returns(T.nilable(String)) }
|
|
989
|
+
attr_reader :repository
|
|
990
|
+
|
|
991
|
+
sig { params(repository: String).void }
|
|
992
|
+
attr_writer :repository
|
|
993
|
+
|
|
994
|
+
# PullIdentity contains remote location information if image was created via pull.
|
|
995
|
+
# If image was pulled via mirror, this contains the original repository location.
|
|
996
|
+
sig { params(repository: String).returns(T.attached_class) }
|
|
997
|
+
def self.new(
|
|
998
|
+
# Repository is the remote repository location the image was pulled from.
|
|
999
|
+
repository: nil
|
|
1000
|
+
)
|
|
1001
|
+
end
|
|
1002
|
+
|
|
1003
|
+
sig { override.returns({ repository: String }) }
|
|
1004
|
+
def to_hash
|
|
1005
|
+
end
|
|
1006
|
+
end
|
|
1007
|
+
|
|
1008
|
+
class Signature < DockerEngine::Internal::Type::BaseModel
|
|
1009
|
+
OrHash =
|
|
1010
|
+
T.type_alias do
|
|
1011
|
+
T.any(
|
|
1012
|
+
DockerEngine::Image::Identity::Signature,
|
|
1013
|
+
DockerEngine::Internal::AnyHash
|
|
1014
|
+
)
|
|
1015
|
+
end
|
|
1016
|
+
|
|
1017
|
+
# DockerReference is the Docker image reference associated with the signature.
|
|
1018
|
+
# This is an optional field only present in older hashedrecord signatures.
|
|
1019
|
+
sig { returns(T.nilable(String)) }
|
|
1020
|
+
attr_reader :docker_reference
|
|
1021
|
+
|
|
1022
|
+
sig { params(docker_reference: String).void }
|
|
1023
|
+
attr_writer :docker_reference
|
|
1024
|
+
|
|
1025
|
+
# Error contains error information if signature verification failed. Other fields
|
|
1026
|
+
# will be empty in this case.
|
|
1027
|
+
sig { returns(T.nilable(String)) }
|
|
1028
|
+
attr_reader :error
|
|
1029
|
+
|
|
1030
|
+
sig { params(error: String).void }
|
|
1031
|
+
attr_writer :error
|
|
1032
|
+
|
|
1033
|
+
# KnownSignerIdentity is an identifier for a special signer identity that is known
|
|
1034
|
+
# to the implementation.
|
|
1035
|
+
sig do
|
|
1036
|
+
returns(
|
|
1037
|
+
T.nilable(
|
|
1038
|
+
DockerEngine::Image::Identity::Signature::KnownSigner::TaggedSymbol
|
|
1039
|
+
)
|
|
1040
|
+
)
|
|
1041
|
+
end
|
|
1042
|
+
attr_reader :known_signer
|
|
1043
|
+
|
|
1044
|
+
sig do
|
|
1045
|
+
params(
|
|
1046
|
+
known_signer:
|
|
1047
|
+
DockerEngine::Image::Identity::Signature::KnownSigner::OrSymbol
|
|
1048
|
+
).void
|
|
1049
|
+
end
|
|
1050
|
+
attr_writer :known_signer
|
|
1051
|
+
|
|
1052
|
+
# Name is a textual description summarizing the type of signature.
|
|
1053
|
+
sig { returns(T.nilable(String)) }
|
|
1054
|
+
attr_reader :name
|
|
1055
|
+
|
|
1056
|
+
sig { params(name: String).void }
|
|
1057
|
+
attr_writer :name
|
|
1058
|
+
|
|
1059
|
+
# SignatureType is the type of signature format.
|
|
1060
|
+
sig do
|
|
1061
|
+
returns(
|
|
1062
|
+
T.nilable(
|
|
1063
|
+
DockerEngine::Image::Identity::Signature::SignatureType::TaggedSymbol
|
|
1064
|
+
)
|
|
1065
|
+
)
|
|
1066
|
+
end
|
|
1067
|
+
attr_reader :signature_type
|
|
1068
|
+
|
|
1069
|
+
sig do
|
|
1070
|
+
params(
|
|
1071
|
+
signature_type:
|
|
1072
|
+
DockerEngine::Image::Identity::Signature::SignatureType::OrSymbol
|
|
1073
|
+
).void
|
|
1074
|
+
end
|
|
1075
|
+
attr_writer :signature_type
|
|
1076
|
+
|
|
1077
|
+
# SignerIdentity contains information about the signer certificate used to sign
|
|
1078
|
+
# the image.
|
|
1079
|
+
sig do
|
|
1080
|
+
returns(T.nilable(DockerEngine::Image::Identity::Signature::Signer))
|
|
1081
|
+
end
|
|
1082
|
+
attr_reader :signer
|
|
1083
|
+
|
|
1084
|
+
sig do
|
|
1085
|
+
params(
|
|
1086
|
+
signer: DockerEngine::Image::Identity::Signature::Signer::OrHash
|
|
1087
|
+
).void
|
|
1088
|
+
end
|
|
1089
|
+
attr_writer :signer
|
|
1090
|
+
|
|
1091
|
+
# Timestamps contains a list of verified signed timestamps for the signature.
|
|
1092
|
+
sig do
|
|
1093
|
+
returns(
|
|
1094
|
+
T.nilable(
|
|
1095
|
+
T::Array[DockerEngine::Image::Identity::Signature::Timestamp]
|
|
1096
|
+
)
|
|
1097
|
+
)
|
|
1098
|
+
end
|
|
1099
|
+
attr_reader :timestamps
|
|
1100
|
+
|
|
1101
|
+
sig do
|
|
1102
|
+
params(
|
|
1103
|
+
timestamps:
|
|
1104
|
+
T::Array[
|
|
1105
|
+
DockerEngine::Image::Identity::Signature::Timestamp::OrHash
|
|
1106
|
+
]
|
|
1107
|
+
).void
|
|
1108
|
+
end
|
|
1109
|
+
attr_writer :timestamps
|
|
1110
|
+
|
|
1111
|
+
# Warnings contains any warnings that occurred during signature verification. For
|
|
1112
|
+
# example, if there was no internet connectivity and cached trust roots were used.
|
|
1113
|
+
# Warning does not indicate a failed verification but may point to configuration
|
|
1114
|
+
# issues.
|
|
1115
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
1116
|
+
attr_reader :warnings
|
|
1117
|
+
|
|
1118
|
+
sig { params(warnings: T::Array[String]).void }
|
|
1119
|
+
attr_writer :warnings
|
|
1120
|
+
|
|
1121
|
+
# SignatureIdentity contains the properties of verified signatures for the image.
|
|
1122
|
+
sig do
|
|
1123
|
+
params(
|
|
1124
|
+
docker_reference: String,
|
|
1125
|
+
error: String,
|
|
1126
|
+
known_signer:
|
|
1127
|
+
DockerEngine::Image::Identity::Signature::KnownSigner::OrSymbol,
|
|
1128
|
+
name: String,
|
|
1129
|
+
signature_type:
|
|
1130
|
+
DockerEngine::Image::Identity::Signature::SignatureType::OrSymbol,
|
|
1131
|
+
signer: DockerEngine::Image::Identity::Signature::Signer::OrHash,
|
|
1132
|
+
timestamps:
|
|
1133
|
+
T::Array[
|
|
1134
|
+
DockerEngine::Image::Identity::Signature::Timestamp::OrHash
|
|
1135
|
+
],
|
|
1136
|
+
warnings: T::Array[String]
|
|
1137
|
+
).returns(T.attached_class)
|
|
1138
|
+
end
|
|
1139
|
+
def self.new(
|
|
1140
|
+
# DockerReference is the Docker image reference associated with the signature.
|
|
1141
|
+
# This is an optional field only present in older hashedrecord signatures.
|
|
1142
|
+
docker_reference: nil,
|
|
1143
|
+
# Error contains error information if signature verification failed. Other fields
|
|
1144
|
+
# will be empty in this case.
|
|
1145
|
+
error: nil,
|
|
1146
|
+
# KnownSignerIdentity is an identifier for a special signer identity that is known
|
|
1147
|
+
# to the implementation.
|
|
1148
|
+
known_signer: nil,
|
|
1149
|
+
# Name is a textual description summarizing the type of signature.
|
|
1150
|
+
name: nil,
|
|
1151
|
+
# SignatureType is the type of signature format.
|
|
1152
|
+
signature_type: nil,
|
|
1153
|
+
# SignerIdentity contains information about the signer certificate used to sign
|
|
1154
|
+
# the image.
|
|
1155
|
+
signer: nil,
|
|
1156
|
+
# Timestamps contains a list of verified signed timestamps for the signature.
|
|
1157
|
+
timestamps: nil,
|
|
1158
|
+
# Warnings contains any warnings that occurred during signature verification. For
|
|
1159
|
+
# example, if there was no internet connectivity and cached trust roots were used.
|
|
1160
|
+
# Warning does not indicate a failed verification but may point to configuration
|
|
1161
|
+
# issues.
|
|
1162
|
+
warnings: nil
|
|
1163
|
+
)
|
|
1164
|
+
end
|
|
1165
|
+
|
|
1166
|
+
sig do
|
|
1167
|
+
override.returns(
|
|
1168
|
+
{
|
|
1169
|
+
docker_reference: String,
|
|
1170
|
+
error: String,
|
|
1171
|
+
known_signer:
|
|
1172
|
+
DockerEngine::Image::Identity::Signature::KnownSigner::TaggedSymbol,
|
|
1173
|
+
name: String,
|
|
1174
|
+
signature_type:
|
|
1175
|
+
DockerEngine::Image::Identity::Signature::SignatureType::TaggedSymbol,
|
|
1176
|
+
signer: DockerEngine::Image::Identity::Signature::Signer,
|
|
1177
|
+
timestamps:
|
|
1178
|
+
T::Array[DockerEngine::Image::Identity::Signature::Timestamp],
|
|
1179
|
+
warnings: T::Array[String]
|
|
1180
|
+
}
|
|
1181
|
+
)
|
|
1182
|
+
end
|
|
1183
|
+
def to_hash
|
|
1184
|
+
end
|
|
1185
|
+
|
|
1186
|
+
# KnownSignerIdentity is an identifier for a special signer identity that is known
|
|
1187
|
+
# to the implementation.
|
|
1188
|
+
module KnownSigner
|
|
1189
|
+
extend DockerEngine::Internal::Type::Enum
|
|
1190
|
+
|
|
1191
|
+
TaggedSymbol =
|
|
1192
|
+
T.type_alias do
|
|
1193
|
+
T.all(
|
|
1194
|
+
Symbol,
|
|
1195
|
+
DockerEngine::Image::Identity::Signature::KnownSigner
|
|
1196
|
+
)
|
|
1197
|
+
end
|
|
1198
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1199
|
+
|
|
1200
|
+
DHI =
|
|
1201
|
+
T.let(
|
|
1202
|
+
:DHI,
|
|
1203
|
+
DockerEngine::Image::Identity::Signature::KnownSigner::TaggedSymbol
|
|
1204
|
+
)
|
|
1205
|
+
|
|
1206
|
+
sig do
|
|
1207
|
+
override.returns(
|
|
1208
|
+
T::Array[
|
|
1209
|
+
DockerEngine::Image::Identity::Signature::KnownSigner::TaggedSymbol
|
|
1210
|
+
]
|
|
1211
|
+
)
|
|
1212
|
+
end
|
|
1213
|
+
def self.values
|
|
1214
|
+
end
|
|
1215
|
+
end
|
|
1216
|
+
|
|
1217
|
+
# SignatureType is the type of signature format.
|
|
1218
|
+
module SignatureType
|
|
1219
|
+
extend DockerEngine::Internal::Type::Enum
|
|
1220
|
+
|
|
1221
|
+
TaggedSymbol =
|
|
1222
|
+
T.type_alias do
|
|
1223
|
+
T.all(
|
|
1224
|
+
Symbol,
|
|
1225
|
+
DockerEngine::Image::Identity::Signature::SignatureType
|
|
1226
|
+
)
|
|
1227
|
+
end
|
|
1228
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1229
|
+
|
|
1230
|
+
BUNDLE_V0_3 =
|
|
1231
|
+
T.let(
|
|
1232
|
+
:"bundle-v0.3",
|
|
1233
|
+
DockerEngine::Image::Identity::Signature::SignatureType::TaggedSymbol
|
|
1234
|
+
)
|
|
1235
|
+
SIMPLESIGNING_V1 =
|
|
1236
|
+
T.let(
|
|
1237
|
+
:"simplesigning-v1",
|
|
1238
|
+
DockerEngine::Image::Identity::Signature::SignatureType::TaggedSymbol
|
|
1239
|
+
)
|
|
1240
|
+
|
|
1241
|
+
sig do
|
|
1242
|
+
override.returns(
|
|
1243
|
+
T::Array[
|
|
1244
|
+
DockerEngine::Image::Identity::Signature::SignatureType::TaggedSymbol
|
|
1245
|
+
]
|
|
1246
|
+
)
|
|
1247
|
+
end
|
|
1248
|
+
def self.values
|
|
1249
|
+
end
|
|
1250
|
+
end
|
|
1251
|
+
|
|
1252
|
+
class Signer < DockerEngine::Internal::Type::BaseModel
|
|
1253
|
+
OrHash =
|
|
1254
|
+
T.type_alias do
|
|
1255
|
+
T.any(
|
|
1256
|
+
DockerEngine::Image::Identity::Signature::Signer,
|
|
1257
|
+
DockerEngine::Internal::AnyHash
|
|
1258
|
+
)
|
|
1259
|
+
end
|
|
1260
|
+
|
|
1261
|
+
# Immutable reference to the specific version of the top-level/initiating build
|
|
1262
|
+
# instructions.
|
|
1263
|
+
sig { returns(T.nilable(String)) }
|
|
1264
|
+
attr_reader :build_config_digest
|
|
1265
|
+
|
|
1266
|
+
sig { params(build_config_digest: String).void }
|
|
1267
|
+
attr_writer :build_config_digest
|
|
1268
|
+
|
|
1269
|
+
# Build Config URL to the top-level/initiating build instructions.
|
|
1270
|
+
sig { returns(T.nilable(String)) }
|
|
1271
|
+
attr_reader :build_config_uri
|
|
1272
|
+
|
|
1273
|
+
sig { params(build_config_uri: String).void }
|
|
1274
|
+
attr_writer :build_config_uri
|
|
1275
|
+
|
|
1276
|
+
# Immutable reference to the specific version of the build instructions that is
|
|
1277
|
+
# responsible for signing.
|
|
1278
|
+
sig { returns(T.nilable(String)) }
|
|
1279
|
+
attr_reader :build_signer_digest
|
|
1280
|
+
|
|
1281
|
+
sig { params(build_signer_digest: String).void }
|
|
1282
|
+
attr_writer :build_signer_digest
|
|
1283
|
+
|
|
1284
|
+
# Reference to specific build instructions that are responsible for signing.
|
|
1285
|
+
sig { returns(T.nilable(String)) }
|
|
1286
|
+
attr_reader :build_signer_uri
|
|
1287
|
+
|
|
1288
|
+
sig { params(build_signer_uri: String).void }
|
|
1289
|
+
attr_writer :build_signer_uri
|
|
1290
|
+
|
|
1291
|
+
# Event or action that initiated the build.
|
|
1292
|
+
sig { returns(T.nilable(String)) }
|
|
1293
|
+
attr_reader :build_trigger
|
|
1294
|
+
|
|
1295
|
+
sig { params(build_trigger: String).void }
|
|
1296
|
+
attr_writer :build_trigger
|
|
1297
|
+
|
|
1298
|
+
# CertificateIssuer is the certificate issuer.
|
|
1299
|
+
sig { returns(T.nilable(String)) }
|
|
1300
|
+
attr_reader :certificate_issuer
|
|
1301
|
+
|
|
1302
|
+
sig { params(certificate_issuer: String).void }
|
|
1303
|
+
attr_writer :certificate_issuer
|
|
1304
|
+
|
|
1305
|
+
# The OIDC issuer. Should match `iss` claim of ID token or, in the case of a
|
|
1306
|
+
# federated login like Dex it should match the issuer URL of the upstream issuer.
|
|
1307
|
+
# The issuer is not set the extensions are invalid and will fail to render.
|
|
1308
|
+
sig { returns(T.nilable(String)) }
|
|
1309
|
+
attr_reader :issuer
|
|
1310
|
+
|
|
1311
|
+
sig { params(issuer: String).void }
|
|
1312
|
+
attr_writer :issuer
|
|
1313
|
+
|
|
1314
|
+
# Run Invocation URL to uniquely identify the build execution.
|
|
1315
|
+
sig { returns(T.nilable(String)) }
|
|
1316
|
+
attr_reader :run_invocation_uri
|
|
1317
|
+
|
|
1318
|
+
sig { params(run_invocation_uri: String).void }
|
|
1319
|
+
attr_writer :run_invocation_uri
|
|
1320
|
+
|
|
1321
|
+
# Specifies whether the build took place in platform-hosted cloud infrastructure
|
|
1322
|
+
# or customer/self-hosted infrastructure.
|
|
1323
|
+
sig { returns(T.nilable(String)) }
|
|
1324
|
+
attr_reader :runner_environment
|
|
1325
|
+
|
|
1326
|
+
sig { params(runner_environment: String).void }
|
|
1327
|
+
attr_writer :runner_environment
|
|
1328
|
+
|
|
1329
|
+
# Immutable reference to a specific version of the source code that the build was
|
|
1330
|
+
# based upon.
|
|
1331
|
+
sig { returns(T.nilable(String)) }
|
|
1332
|
+
attr_reader :source_repository_digest
|
|
1333
|
+
|
|
1334
|
+
sig { params(source_repository_digest: String).void }
|
|
1335
|
+
attr_writer :source_repository_digest
|
|
1336
|
+
|
|
1337
|
+
# Immutable identifier for the source repository the workflow was based upon.
|
|
1338
|
+
sig { returns(T.nilable(String)) }
|
|
1339
|
+
attr_reader :source_repository_identifier
|
|
1340
|
+
|
|
1341
|
+
sig { params(source_repository_identifier: String).void }
|
|
1342
|
+
attr_writer :source_repository_identifier
|
|
1343
|
+
|
|
1344
|
+
# Immutable identifier for the owner of the source repository that the workflow
|
|
1345
|
+
# was based upon.
|
|
1346
|
+
sig { returns(T.nilable(String)) }
|
|
1347
|
+
attr_reader :source_repository_owner_identifier
|
|
1348
|
+
|
|
1349
|
+
sig { params(source_repository_owner_identifier: String).void }
|
|
1350
|
+
attr_writer :source_repository_owner_identifier
|
|
1351
|
+
|
|
1352
|
+
# Source repository owner URL of the owner of the source repository that the build
|
|
1353
|
+
# was based on.
|
|
1354
|
+
sig { returns(T.nilable(String)) }
|
|
1355
|
+
attr_reader :source_repository_owner_uri
|
|
1356
|
+
|
|
1357
|
+
sig { params(source_repository_owner_uri: String).void }
|
|
1358
|
+
attr_writer :source_repository_owner_uri
|
|
1359
|
+
|
|
1360
|
+
# Source Repository Ref that the build run was based upon.
|
|
1361
|
+
sig { returns(T.nilable(String)) }
|
|
1362
|
+
attr_reader :source_repository_ref
|
|
1363
|
+
|
|
1364
|
+
sig { params(source_repository_ref: String).void }
|
|
1365
|
+
attr_writer :source_repository_ref
|
|
1366
|
+
|
|
1367
|
+
# Source repository URL that the build was based on.
|
|
1368
|
+
sig { returns(T.nilable(String)) }
|
|
1369
|
+
attr_reader :source_repository_uri
|
|
1370
|
+
|
|
1371
|
+
sig { params(source_repository_uri: String).void }
|
|
1372
|
+
attr_writer :source_repository_uri
|
|
1373
|
+
|
|
1374
|
+
# Source repository visibility at the time of signing the certificate.
|
|
1375
|
+
sig { returns(T.nilable(String)) }
|
|
1376
|
+
attr_reader :source_repository_visibility_at_signing
|
|
1377
|
+
|
|
1378
|
+
sig { params(source_repository_visibility_at_signing: String).void }
|
|
1379
|
+
attr_writer :source_repository_visibility_at_signing
|
|
1380
|
+
|
|
1381
|
+
# SubjectAlternativeName is the certificate subject alternative name.
|
|
1382
|
+
sig { returns(T.nilable(String)) }
|
|
1383
|
+
attr_reader :subject_alternative_name
|
|
1384
|
+
|
|
1385
|
+
sig { params(subject_alternative_name: String).void }
|
|
1386
|
+
attr_writer :subject_alternative_name
|
|
1387
|
+
|
|
1388
|
+
# SignerIdentity contains information about the signer certificate used to sign
|
|
1389
|
+
# the image.
|
|
1390
|
+
sig do
|
|
1391
|
+
params(
|
|
1392
|
+
build_config_digest: String,
|
|
1393
|
+
build_config_uri: String,
|
|
1394
|
+
build_signer_digest: String,
|
|
1395
|
+
build_signer_uri: String,
|
|
1396
|
+
build_trigger: String,
|
|
1397
|
+
certificate_issuer: String,
|
|
1398
|
+
issuer: String,
|
|
1399
|
+
run_invocation_uri: String,
|
|
1400
|
+
runner_environment: String,
|
|
1401
|
+
source_repository_digest: String,
|
|
1402
|
+
source_repository_identifier: String,
|
|
1403
|
+
source_repository_owner_identifier: String,
|
|
1404
|
+
source_repository_owner_uri: String,
|
|
1405
|
+
source_repository_ref: String,
|
|
1406
|
+
source_repository_uri: String,
|
|
1407
|
+
source_repository_visibility_at_signing: String,
|
|
1408
|
+
subject_alternative_name: String
|
|
1409
|
+
).returns(T.attached_class)
|
|
1410
|
+
end
|
|
1411
|
+
def self.new(
|
|
1412
|
+
# Immutable reference to the specific version of the top-level/initiating build
|
|
1413
|
+
# instructions.
|
|
1414
|
+
build_config_digest: nil,
|
|
1415
|
+
# Build Config URL to the top-level/initiating build instructions.
|
|
1416
|
+
build_config_uri: nil,
|
|
1417
|
+
# Immutable reference to the specific version of the build instructions that is
|
|
1418
|
+
# responsible for signing.
|
|
1419
|
+
build_signer_digest: nil,
|
|
1420
|
+
# Reference to specific build instructions that are responsible for signing.
|
|
1421
|
+
build_signer_uri: nil,
|
|
1422
|
+
# Event or action that initiated the build.
|
|
1423
|
+
build_trigger: nil,
|
|
1424
|
+
# CertificateIssuer is the certificate issuer.
|
|
1425
|
+
certificate_issuer: nil,
|
|
1426
|
+
# The OIDC issuer. Should match `iss` claim of ID token or, in the case of a
|
|
1427
|
+
# federated login like Dex it should match the issuer URL of the upstream issuer.
|
|
1428
|
+
# The issuer is not set the extensions are invalid and will fail to render.
|
|
1429
|
+
issuer: nil,
|
|
1430
|
+
# Run Invocation URL to uniquely identify the build execution.
|
|
1431
|
+
run_invocation_uri: nil,
|
|
1432
|
+
# Specifies whether the build took place in platform-hosted cloud infrastructure
|
|
1433
|
+
# or customer/self-hosted infrastructure.
|
|
1434
|
+
runner_environment: nil,
|
|
1435
|
+
# Immutable reference to a specific version of the source code that the build was
|
|
1436
|
+
# based upon.
|
|
1437
|
+
source_repository_digest: nil,
|
|
1438
|
+
# Immutable identifier for the source repository the workflow was based upon.
|
|
1439
|
+
source_repository_identifier: nil,
|
|
1440
|
+
# Immutable identifier for the owner of the source repository that the workflow
|
|
1441
|
+
# was based upon.
|
|
1442
|
+
source_repository_owner_identifier: nil,
|
|
1443
|
+
# Source repository owner URL of the owner of the source repository that the build
|
|
1444
|
+
# was based on.
|
|
1445
|
+
source_repository_owner_uri: nil,
|
|
1446
|
+
# Source Repository Ref that the build run was based upon.
|
|
1447
|
+
source_repository_ref: nil,
|
|
1448
|
+
# Source repository URL that the build was based on.
|
|
1449
|
+
source_repository_uri: nil,
|
|
1450
|
+
# Source repository visibility at the time of signing the certificate.
|
|
1451
|
+
source_repository_visibility_at_signing: nil,
|
|
1452
|
+
# SubjectAlternativeName is the certificate subject alternative name.
|
|
1453
|
+
subject_alternative_name: nil
|
|
1454
|
+
)
|
|
1455
|
+
end
|
|
1456
|
+
|
|
1457
|
+
sig do
|
|
1458
|
+
override.returns(
|
|
1459
|
+
{
|
|
1460
|
+
build_config_digest: String,
|
|
1461
|
+
build_config_uri: String,
|
|
1462
|
+
build_signer_digest: String,
|
|
1463
|
+
build_signer_uri: String,
|
|
1464
|
+
build_trigger: String,
|
|
1465
|
+
certificate_issuer: String,
|
|
1466
|
+
issuer: String,
|
|
1467
|
+
run_invocation_uri: String,
|
|
1468
|
+
runner_environment: String,
|
|
1469
|
+
source_repository_digest: String,
|
|
1470
|
+
source_repository_identifier: String,
|
|
1471
|
+
source_repository_owner_identifier: String,
|
|
1472
|
+
source_repository_owner_uri: String,
|
|
1473
|
+
source_repository_ref: String,
|
|
1474
|
+
source_repository_uri: String,
|
|
1475
|
+
source_repository_visibility_at_signing: String,
|
|
1476
|
+
subject_alternative_name: String
|
|
1477
|
+
}
|
|
1478
|
+
)
|
|
1479
|
+
end
|
|
1480
|
+
def to_hash
|
|
1481
|
+
end
|
|
1482
|
+
end
|
|
1483
|
+
|
|
1484
|
+
class Timestamp < DockerEngine::Internal::Type::BaseModel
|
|
1485
|
+
OrHash =
|
|
1486
|
+
T.type_alias do
|
|
1487
|
+
T.any(
|
|
1488
|
+
DockerEngine::Image::Identity::Signature::Timestamp,
|
|
1489
|
+
DockerEngine::Internal::AnyHash
|
|
1490
|
+
)
|
|
1491
|
+
end
|
|
1492
|
+
|
|
1493
|
+
sig { returns(T.nilable(Time)) }
|
|
1494
|
+
attr_reader :timestamp
|
|
1495
|
+
|
|
1496
|
+
sig { params(timestamp: Time).void }
|
|
1497
|
+
attr_writer :timestamp
|
|
1498
|
+
|
|
1499
|
+
# SignatureTimestampType is the type of timestamp used in the signature.
|
|
1500
|
+
sig do
|
|
1501
|
+
returns(
|
|
1502
|
+
T.nilable(
|
|
1503
|
+
DockerEngine::Image::Identity::Signature::Timestamp::Type::TaggedSymbol
|
|
1504
|
+
)
|
|
1505
|
+
)
|
|
1506
|
+
end
|
|
1507
|
+
attr_reader :type
|
|
1508
|
+
|
|
1509
|
+
sig do
|
|
1510
|
+
params(
|
|
1511
|
+
type:
|
|
1512
|
+
DockerEngine::Image::Identity::Signature::Timestamp::Type::OrSymbol
|
|
1513
|
+
).void
|
|
1514
|
+
end
|
|
1515
|
+
attr_writer :type
|
|
1516
|
+
|
|
1517
|
+
sig { returns(T.nilable(String)) }
|
|
1518
|
+
attr_reader :uri
|
|
1519
|
+
|
|
1520
|
+
sig { params(uri: String).void }
|
|
1521
|
+
attr_writer :uri
|
|
1522
|
+
|
|
1523
|
+
# SignatureTimestamp contains information about a verified signed timestamp for an
|
|
1524
|
+
# image signature.
|
|
1525
|
+
sig do
|
|
1526
|
+
params(
|
|
1527
|
+
timestamp: Time,
|
|
1528
|
+
type:
|
|
1529
|
+
DockerEngine::Image::Identity::Signature::Timestamp::Type::OrSymbol,
|
|
1530
|
+
uri: String
|
|
1531
|
+
).returns(T.attached_class)
|
|
1532
|
+
end
|
|
1533
|
+
def self.new(
|
|
1534
|
+
timestamp: nil,
|
|
1535
|
+
# SignatureTimestampType is the type of timestamp used in the signature.
|
|
1536
|
+
type: nil,
|
|
1537
|
+
uri: nil
|
|
1538
|
+
)
|
|
1539
|
+
end
|
|
1540
|
+
|
|
1541
|
+
sig do
|
|
1542
|
+
override.returns(
|
|
1543
|
+
{
|
|
1544
|
+
timestamp: Time,
|
|
1545
|
+
type:
|
|
1546
|
+
DockerEngine::Image::Identity::Signature::Timestamp::Type::TaggedSymbol,
|
|
1547
|
+
uri: String
|
|
1548
|
+
}
|
|
1549
|
+
)
|
|
1550
|
+
end
|
|
1551
|
+
def to_hash
|
|
1552
|
+
end
|
|
1553
|
+
|
|
1554
|
+
# SignatureTimestampType is the type of timestamp used in the signature.
|
|
1555
|
+
module Type
|
|
1556
|
+
extend DockerEngine::Internal::Type::Enum
|
|
1557
|
+
|
|
1558
|
+
TaggedSymbol =
|
|
1559
|
+
T.type_alias do
|
|
1560
|
+
T.all(
|
|
1561
|
+
Symbol,
|
|
1562
|
+
DockerEngine::Image::Identity::Signature::Timestamp::Type
|
|
1563
|
+
)
|
|
1564
|
+
end
|
|
1565
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1566
|
+
|
|
1567
|
+
TLOG =
|
|
1568
|
+
T.let(
|
|
1569
|
+
:Tlog,
|
|
1570
|
+
DockerEngine::Image::Identity::Signature::Timestamp::Type::TaggedSymbol
|
|
1571
|
+
)
|
|
1572
|
+
TIMESTAMP_AUTHORITY =
|
|
1573
|
+
T.let(
|
|
1574
|
+
:TimestampAuthority,
|
|
1575
|
+
DockerEngine::Image::Identity::Signature::Timestamp::Type::TaggedSymbol
|
|
1576
|
+
)
|
|
1577
|
+
|
|
1578
|
+
sig do
|
|
1579
|
+
override.returns(
|
|
1580
|
+
T::Array[
|
|
1581
|
+
DockerEngine::Image::Identity::Signature::Timestamp::Type::TaggedSymbol
|
|
1582
|
+
]
|
|
1583
|
+
)
|
|
1584
|
+
end
|
|
1585
|
+
def self.values
|
|
1586
|
+
end
|
|
1587
|
+
end
|
|
1588
|
+
end
|
|
1589
|
+
end
|
|
1590
|
+
end
|
|
1591
|
+
|
|
1592
|
+
class Manifest < DockerEngine::Internal::Type::BaseModel
|
|
1593
|
+
OrHash =
|
|
1594
|
+
T.type_alias do
|
|
1595
|
+
T.any(
|
|
1596
|
+
DockerEngine::Image::Manifest,
|
|
1597
|
+
DockerEngine::Internal::AnyHash
|
|
1598
|
+
)
|
|
1599
|
+
end
|
|
1600
|
+
|
|
1601
|
+
# Indicates whether all the child content (image config, layers) is fully
|
|
1602
|
+
# available locally.
|
|
1603
|
+
sig { returns(T::Boolean) }
|
|
1604
|
+
attr_accessor :available
|
|
1605
|
+
|
|
1606
|
+
# A descriptor struct containing digest, media type, and size, as defined in the
|
|
1607
|
+
# [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
|
|
1608
|
+
sig { returns(DockerEngine::Image::Manifest::Descriptor) }
|
|
1609
|
+
attr_reader :descriptor
|
|
1610
|
+
|
|
1611
|
+
sig do
|
|
1612
|
+
params(
|
|
1613
|
+
descriptor: DockerEngine::Image::Manifest::Descriptor::OrHash
|
|
1614
|
+
).void
|
|
1615
|
+
end
|
|
1616
|
+
attr_writer :descriptor
|
|
1617
|
+
|
|
1618
|
+
# ID is the content-addressable ID of an image and is the same as the digest of
|
|
1619
|
+
# the image manifest.
|
|
1620
|
+
sig { returns(String) }
|
|
1621
|
+
attr_accessor :id
|
|
1622
|
+
|
|
1623
|
+
# The kind of the manifest.
|
|
1624
|
+
#
|
|
1625
|
+
# | kind | description |
|
|
1626
|
+
# | ----------- | ------------------------------------------------------------------------------------ |
|
|
1627
|
+
# | image | Image manifest that can be used to start a container. |
|
|
1628
|
+
# | attestation | Attestation manifest produced by the Buildkit builder for a specific image manifest. |
|
|
1629
|
+
sig { returns(DockerEngine::Image::Manifest::Kind::TaggedSymbol) }
|
|
1630
|
+
attr_accessor :kind
|
|
1631
|
+
|
|
1632
|
+
sig { returns(DockerEngine::Image::Manifest::Size) }
|
|
1633
|
+
attr_reader :size
|
|
1634
|
+
|
|
1635
|
+
sig { params(size: DockerEngine::Image::Manifest::Size::OrHash).void }
|
|
1636
|
+
attr_writer :size
|
|
1637
|
+
|
|
1638
|
+
# The image data for the attestation manifest. This field is only populated when
|
|
1639
|
+
# Kind is "attestation".
|
|
1640
|
+
sig do
|
|
1641
|
+
returns(T.nilable(DockerEngine::Image::Manifest::AttestationData))
|
|
1642
|
+
end
|
|
1643
|
+
attr_reader :attestation_data
|
|
1644
|
+
|
|
1645
|
+
sig do
|
|
1646
|
+
params(
|
|
1647
|
+
attestation_data:
|
|
1648
|
+
T.nilable(DockerEngine::Image::Manifest::AttestationData::OrHash)
|
|
1649
|
+
).void
|
|
1650
|
+
end
|
|
1651
|
+
attr_writer :attestation_data
|
|
1652
|
+
|
|
1653
|
+
# The image data for the image manifest. This field is only populated when Kind is
|
|
1654
|
+
# "image".
|
|
1655
|
+
sig { returns(T.nilable(DockerEngine::Image::Manifest::ImageData)) }
|
|
1656
|
+
attr_reader :image_data
|
|
1657
|
+
|
|
1658
|
+
sig do
|
|
1659
|
+
params(
|
|
1660
|
+
image_data:
|
|
1661
|
+
T.nilable(DockerEngine::Image::Manifest::ImageData::OrHash)
|
|
1662
|
+
).void
|
|
1663
|
+
end
|
|
1664
|
+
attr_writer :image_data
|
|
1665
|
+
|
|
1666
|
+
# ImageManifestSummary represents a summary of an image manifest.
|
|
1667
|
+
sig do
|
|
1668
|
+
params(
|
|
1669
|
+
available: T::Boolean,
|
|
1670
|
+
descriptor: DockerEngine::Image::Manifest::Descriptor::OrHash,
|
|
1671
|
+
id: String,
|
|
1672
|
+
kind: DockerEngine::Image::Manifest::Kind::OrSymbol,
|
|
1673
|
+
size: DockerEngine::Image::Manifest::Size::OrHash,
|
|
1674
|
+
attestation_data:
|
|
1675
|
+
T.nilable(DockerEngine::Image::Manifest::AttestationData::OrHash),
|
|
1676
|
+
image_data:
|
|
1677
|
+
T.nilable(DockerEngine::Image::Manifest::ImageData::OrHash)
|
|
1678
|
+
).returns(T.attached_class)
|
|
1679
|
+
end
|
|
1680
|
+
def self.new(
|
|
1681
|
+
# Indicates whether all the child content (image config, layers) is fully
|
|
1682
|
+
# available locally.
|
|
1683
|
+
available:,
|
|
1684
|
+
# A descriptor struct containing digest, media type, and size, as defined in the
|
|
1685
|
+
# [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
|
|
1686
|
+
descriptor:,
|
|
1687
|
+
# ID is the content-addressable ID of an image and is the same as the digest of
|
|
1688
|
+
# the image manifest.
|
|
1689
|
+
id:,
|
|
1690
|
+
# The kind of the manifest.
|
|
1691
|
+
#
|
|
1692
|
+
# | kind | description |
|
|
1693
|
+
# | ----------- | ------------------------------------------------------------------------------------ |
|
|
1694
|
+
# | image | Image manifest that can be used to start a container. |
|
|
1695
|
+
# | attestation | Attestation manifest produced by the Buildkit builder for a specific image manifest. |
|
|
1696
|
+
kind:,
|
|
1697
|
+
size:,
|
|
1698
|
+
# The image data for the attestation manifest. This field is only populated when
|
|
1699
|
+
# Kind is "attestation".
|
|
1700
|
+
attestation_data: nil,
|
|
1701
|
+
# The image data for the image manifest. This field is only populated when Kind is
|
|
1702
|
+
# "image".
|
|
1703
|
+
image_data: nil
|
|
1704
|
+
)
|
|
1705
|
+
end
|
|
1706
|
+
|
|
1707
|
+
sig do
|
|
1708
|
+
override.returns(
|
|
1709
|
+
{
|
|
1710
|
+
available: T::Boolean,
|
|
1711
|
+
descriptor: DockerEngine::Image::Manifest::Descriptor,
|
|
1712
|
+
id: String,
|
|
1713
|
+
kind: DockerEngine::Image::Manifest::Kind::TaggedSymbol,
|
|
1714
|
+
size: DockerEngine::Image::Manifest::Size,
|
|
1715
|
+
attestation_data:
|
|
1716
|
+
T.nilable(DockerEngine::Image::Manifest::AttestationData),
|
|
1717
|
+
image_data: T.nilable(DockerEngine::Image::Manifest::ImageData)
|
|
1718
|
+
}
|
|
1719
|
+
)
|
|
1720
|
+
end
|
|
1721
|
+
def to_hash
|
|
1722
|
+
end
|
|
1723
|
+
|
|
1724
|
+
class Descriptor < DockerEngine::Internal::Type::BaseModel
|
|
1725
|
+
OrHash =
|
|
1726
|
+
T.type_alias do
|
|
1727
|
+
T.any(
|
|
1728
|
+
DockerEngine::Image::Manifest::Descriptor,
|
|
1729
|
+
DockerEngine::Internal::AnyHash
|
|
1730
|
+
)
|
|
1731
|
+
end
|
|
1732
|
+
|
|
1733
|
+
# Arbitrary metadata relating to the targeted content.
|
|
1734
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
1735
|
+
attr_accessor :annotations
|
|
1736
|
+
|
|
1737
|
+
# ArtifactType is the IANA media type of this artifact.
|
|
1738
|
+
sig { returns(T.nilable(String)) }
|
|
1739
|
+
attr_accessor :artifact_type
|
|
1740
|
+
|
|
1741
|
+
# Data is an embedding of the targeted content. This is encoded as a base64 string
|
|
1742
|
+
# when marshalled to JSON (automatically, by encoding/json). If present, Data can
|
|
1743
|
+
# be used directly to avoid fetching the targeted content.
|
|
1744
|
+
sig { returns(T.nilable(String)) }
|
|
1745
|
+
attr_accessor :data
|
|
1746
|
+
|
|
1747
|
+
# The digest of the targeted content.
|
|
1748
|
+
sig { returns(T.nilable(String)) }
|
|
1749
|
+
attr_reader :digest
|
|
1750
|
+
|
|
1751
|
+
sig { params(digest: String).void }
|
|
1752
|
+
attr_writer :digest
|
|
1753
|
+
|
|
1754
|
+
# The media type of the object this schema refers to.
|
|
1755
|
+
sig { returns(T.nilable(String)) }
|
|
1756
|
+
attr_reader :media_type
|
|
1757
|
+
|
|
1758
|
+
sig { params(media_type: String).void }
|
|
1759
|
+
attr_writer :media_type
|
|
1760
|
+
|
|
1761
|
+
# Describes the platform which the image in the manifest runs on, as defined in
|
|
1762
|
+
# the
|
|
1763
|
+
# [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
|
|
1764
|
+
sig do
|
|
1765
|
+
returns(
|
|
1766
|
+
T.nilable(DockerEngine::Image::Manifest::Descriptor::Platform)
|
|
1767
|
+
)
|
|
1768
|
+
end
|
|
1769
|
+
attr_reader :platform
|
|
1770
|
+
|
|
1771
|
+
sig do
|
|
1772
|
+
params(
|
|
1773
|
+
platform:
|
|
1774
|
+
T.nilable(
|
|
1775
|
+
DockerEngine::Image::Manifest::Descriptor::Platform::OrHash
|
|
1776
|
+
)
|
|
1777
|
+
).void
|
|
1778
|
+
end
|
|
1779
|
+
attr_writer :platform
|
|
1780
|
+
|
|
1781
|
+
# The size in bytes of the blob.
|
|
1782
|
+
sig { returns(T.nilable(Integer)) }
|
|
1783
|
+
attr_reader :size
|
|
1784
|
+
|
|
1785
|
+
sig { params(size: Integer).void }
|
|
1786
|
+
attr_writer :size
|
|
1787
|
+
|
|
1788
|
+
# List of URLs from which this object MAY be downloaded.
|
|
1789
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
1790
|
+
attr_accessor :urls
|
|
1791
|
+
|
|
1792
|
+
# A descriptor struct containing digest, media type, and size, as defined in the
|
|
1793
|
+
# [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
|
|
1794
|
+
sig do
|
|
1795
|
+
params(
|
|
1796
|
+
annotations: T.nilable(T::Hash[Symbol, String]),
|
|
1797
|
+
artifact_type: T.nilable(String),
|
|
1798
|
+
data: T.nilable(String),
|
|
1799
|
+
digest: String,
|
|
1800
|
+
media_type: String,
|
|
1801
|
+
platform:
|
|
1802
|
+
T.nilable(
|
|
1803
|
+
DockerEngine::Image::Manifest::Descriptor::Platform::OrHash
|
|
1804
|
+
),
|
|
1805
|
+
size: Integer,
|
|
1806
|
+
urls: T.nilable(T::Array[String])
|
|
1807
|
+
).returns(T.attached_class)
|
|
1808
|
+
end
|
|
1809
|
+
def self.new(
|
|
1810
|
+
# Arbitrary metadata relating to the targeted content.
|
|
1811
|
+
annotations: nil,
|
|
1812
|
+
# ArtifactType is the IANA media type of this artifact.
|
|
1813
|
+
artifact_type: nil,
|
|
1814
|
+
# Data is an embedding of the targeted content. This is encoded as a base64 string
|
|
1815
|
+
# when marshalled to JSON (automatically, by encoding/json). If present, Data can
|
|
1816
|
+
# be used directly to avoid fetching the targeted content.
|
|
1817
|
+
data: nil,
|
|
1818
|
+
# The digest of the targeted content.
|
|
1819
|
+
digest: nil,
|
|
1820
|
+
# The media type of the object this schema refers to.
|
|
1821
|
+
media_type: nil,
|
|
1822
|
+
# Describes the platform which the image in the manifest runs on, as defined in
|
|
1823
|
+
# the
|
|
1824
|
+
# [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
|
|
1825
|
+
platform: nil,
|
|
1826
|
+
# The size in bytes of the blob.
|
|
1827
|
+
size: nil,
|
|
1828
|
+
# List of URLs from which this object MAY be downloaded.
|
|
1829
|
+
urls: nil
|
|
1830
|
+
)
|
|
1831
|
+
end
|
|
1832
|
+
|
|
1833
|
+
sig do
|
|
1834
|
+
override.returns(
|
|
1835
|
+
{
|
|
1836
|
+
annotations: T.nilable(T::Hash[Symbol, String]),
|
|
1837
|
+
artifact_type: T.nilable(String),
|
|
1838
|
+
data: T.nilable(String),
|
|
1839
|
+
digest: String,
|
|
1840
|
+
media_type: String,
|
|
1841
|
+
platform:
|
|
1842
|
+
T.nilable(
|
|
1843
|
+
DockerEngine::Image::Manifest::Descriptor::Platform
|
|
1844
|
+
),
|
|
1845
|
+
size: Integer,
|
|
1846
|
+
urls: T.nilable(T::Array[String])
|
|
1847
|
+
}
|
|
1848
|
+
)
|
|
1849
|
+
end
|
|
1850
|
+
def to_hash
|
|
1851
|
+
end
|
|
1852
|
+
|
|
1853
|
+
class Platform < DockerEngine::Internal::Type::BaseModel
|
|
1854
|
+
OrHash =
|
|
1855
|
+
T.type_alias do
|
|
1856
|
+
T.any(
|
|
1857
|
+
DockerEngine::Image::Manifest::Descriptor::Platform,
|
|
1858
|
+
DockerEngine::Internal::AnyHash
|
|
1859
|
+
)
|
|
1860
|
+
end
|
|
1861
|
+
|
|
1862
|
+
# The CPU architecture, for example `amd64` or `ppc64`.
|
|
1863
|
+
sig { returns(T.nilable(String)) }
|
|
1864
|
+
attr_reader :architecture
|
|
1865
|
+
|
|
1866
|
+
sig { params(architecture: String).void }
|
|
1867
|
+
attr_writer :architecture
|
|
1868
|
+
|
|
1869
|
+
# The operating system, for example `linux` or `windows`.
|
|
1870
|
+
sig { returns(T.nilable(String)) }
|
|
1871
|
+
attr_reader :os
|
|
1872
|
+
|
|
1873
|
+
sig { params(os: String).void }
|
|
1874
|
+
attr_writer :os
|
|
1875
|
+
|
|
1876
|
+
# Optional field specifying an array of strings, each listing a required OS
|
|
1877
|
+
# feature (for example on Windows `win32k`).
|
|
1878
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
1879
|
+
attr_reader :os_features
|
|
1880
|
+
|
|
1881
|
+
sig { params(os_features: T::Array[String]).void }
|
|
1882
|
+
attr_writer :os_features
|
|
1883
|
+
|
|
1884
|
+
# Optional field specifying the operating system version, for example on Windows
|
|
1885
|
+
# `10.0.19041.1165`.
|
|
1886
|
+
sig { returns(T.nilable(String)) }
|
|
1887
|
+
attr_reader :os_version
|
|
1888
|
+
|
|
1889
|
+
sig { params(os_version: String).void }
|
|
1890
|
+
attr_writer :os_version
|
|
1891
|
+
|
|
1892
|
+
# Optional field specifying a variant of the CPU, for example `v7` to specify
|
|
1893
|
+
# ARMv7 when architecture is `arm`.
|
|
1894
|
+
sig { returns(T.nilable(String)) }
|
|
1895
|
+
attr_reader :variant
|
|
1896
|
+
|
|
1897
|
+
sig { params(variant: String).void }
|
|
1898
|
+
attr_writer :variant
|
|
1899
|
+
|
|
1900
|
+
# Describes the platform which the image in the manifest runs on, as defined in
|
|
1901
|
+
# the
|
|
1902
|
+
# [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
|
|
1903
|
+
sig do
|
|
1904
|
+
params(
|
|
1905
|
+
architecture: String,
|
|
1906
|
+
os: String,
|
|
1907
|
+
os_features: T::Array[String],
|
|
1908
|
+
os_version: String,
|
|
1909
|
+
variant: String
|
|
1910
|
+
).returns(T.attached_class)
|
|
1911
|
+
end
|
|
1912
|
+
def self.new(
|
|
1913
|
+
# The CPU architecture, for example `amd64` or `ppc64`.
|
|
1914
|
+
architecture: nil,
|
|
1915
|
+
# The operating system, for example `linux` or `windows`.
|
|
1916
|
+
os: nil,
|
|
1917
|
+
# Optional field specifying an array of strings, each listing a required OS
|
|
1918
|
+
# feature (for example on Windows `win32k`).
|
|
1919
|
+
os_features: nil,
|
|
1920
|
+
# Optional field specifying the operating system version, for example on Windows
|
|
1921
|
+
# `10.0.19041.1165`.
|
|
1922
|
+
os_version: nil,
|
|
1923
|
+
# Optional field specifying a variant of the CPU, for example `v7` to specify
|
|
1924
|
+
# ARMv7 when architecture is `arm`.
|
|
1925
|
+
variant: nil
|
|
1926
|
+
)
|
|
1927
|
+
end
|
|
1928
|
+
|
|
1929
|
+
sig do
|
|
1930
|
+
override.returns(
|
|
1931
|
+
{
|
|
1932
|
+
architecture: String,
|
|
1933
|
+
os: String,
|
|
1934
|
+
os_features: T::Array[String],
|
|
1935
|
+
os_version: String,
|
|
1936
|
+
variant: String
|
|
1937
|
+
}
|
|
1938
|
+
)
|
|
1939
|
+
end
|
|
1940
|
+
def to_hash
|
|
1941
|
+
end
|
|
1942
|
+
end
|
|
1943
|
+
end
|
|
1944
|
+
|
|
1945
|
+
# The kind of the manifest.
|
|
1946
|
+
#
|
|
1947
|
+
# | kind | description |
|
|
1948
|
+
# | ----------- | ------------------------------------------------------------------------------------ |
|
|
1949
|
+
# | image | Image manifest that can be used to start a container. |
|
|
1950
|
+
# | attestation | Attestation manifest produced by the Buildkit builder for a specific image manifest. |
|
|
1951
|
+
module Kind
|
|
1952
|
+
extend DockerEngine::Internal::Type::Enum
|
|
1953
|
+
|
|
1954
|
+
TaggedSymbol =
|
|
1955
|
+
T.type_alias { T.all(Symbol, DockerEngine::Image::Manifest::Kind) }
|
|
1956
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1957
|
+
|
|
1958
|
+
IMAGE =
|
|
1959
|
+
T.let(:image, DockerEngine::Image::Manifest::Kind::TaggedSymbol)
|
|
1960
|
+
ATTESTATION =
|
|
1961
|
+
T.let(
|
|
1962
|
+
:attestation,
|
|
1963
|
+
DockerEngine::Image::Manifest::Kind::TaggedSymbol
|
|
1964
|
+
)
|
|
1965
|
+
UNKNOWN =
|
|
1966
|
+
T.let(:unknown, DockerEngine::Image::Manifest::Kind::TaggedSymbol)
|
|
1967
|
+
|
|
1968
|
+
sig do
|
|
1969
|
+
override.returns(
|
|
1970
|
+
T::Array[DockerEngine::Image::Manifest::Kind::TaggedSymbol]
|
|
1971
|
+
)
|
|
1972
|
+
end
|
|
1973
|
+
def self.values
|
|
1974
|
+
end
|
|
1975
|
+
end
|
|
1976
|
+
|
|
1977
|
+
class Size < DockerEngine::Internal::Type::BaseModel
|
|
1978
|
+
OrHash =
|
|
1979
|
+
T.type_alias do
|
|
1980
|
+
T.any(
|
|
1981
|
+
DockerEngine::Image::Manifest::Size,
|
|
1982
|
+
DockerEngine::Internal::AnyHash
|
|
1983
|
+
)
|
|
1984
|
+
end
|
|
1985
|
+
|
|
1986
|
+
# Content is the size (in bytes) of all the locally present content in the content
|
|
1987
|
+
# store (e.g. image config, layers) referenced by this manifest and its children.
|
|
1988
|
+
# This only includes blobs in the content store.
|
|
1989
|
+
sig { returns(Integer) }
|
|
1990
|
+
attr_accessor :content
|
|
1991
|
+
|
|
1992
|
+
# Total is the total size (in bytes) of all the locally present data (both
|
|
1993
|
+
# distributable and non-distributable) that's related to this manifest and its
|
|
1994
|
+
# children. This equal to the sum of [Content] size AND all the sizes in the
|
|
1995
|
+
# [Size] struct present in the Kind-specific data struct. For example, for an
|
|
1996
|
+
# image kind (Kind == "image") this would include the size of the image content
|
|
1997
|
+
# and unpacked image snapshots ([Size.Content] + [ImageData.Size.Unpacked]).
|
|
1998
|
+
sig { returns(Integer) }
|
|
1999
|
+
attr_accessor :total
|
|
2000
|
+
|
|
2001
|
+
sig do
|
|
2002
|
+
params(content: Integer, total: Integer).returns(T.attached_class)
|
|
2003
|
+
end
|
|
2004
|
+
def self.new(
|
|
2005
|
+
# Content is the size (in bytes) of all the locally present content in the content
|
|
2006
|
+
# store (e.g. image config, layers) referenced by this manifest and its children.
|
|
2007
|
+
# This only includes blobs in the content store.
|
|
2008
|
+
content:,
|
|
2009
|
+
# Total is the total size (in bytes) of all the locally present data (both
|
|
2010
|
+
# distributable and non-distributable) that's related to this manifest and its
|
|
2011
|
+
# children. This equal to the sum of [Content] size AND all the sizes in the
|
|
2012
|
+
# [Size] struct present in the Kind-specific data struct. For example, for an
|
|
2013
|
+
# image kind (Kind == "image") this would include the size of the image content
|
|
2014
|
+
# and unpacked image snapshots ([Size.Content] + [ImageData.Size.Unpacked]).
|
|
2015
|
+
total:
|
|
2016
|
+
)
|
|
2017
|
+
end
|
|
2018
|
+
|
|
2019
|
+
sig { override.returns({ content: Integer, total: Integer }) }
|
|
2020
|
+
def to_hash
|
|
2021
|
+
end
|
|
2022
|
+
end
|
|
2023
|
+
|
|
2024
|
+
class AttestationData < DockerEngine::Internal::Type::BaseModel
|
|
2025
|
+
OrHash =
|
|
2026
|
+
T.type_alias do
|
|
2027
|
+
T.any(
|
|
2028
|
+
DockerEngine::Image::Manifest::AttestationData,
|
|
2029
|
+
DockerEngine::Internal::AnyHash
|
|
2030
|
+
)
|
|
2031
|
+
end
|
|
2032
|
+
|
|
2033
|
+
# The digest of the image manifest that this attestation is for.
|
|
2034
|
+
sig { returns(String) }
|
|
2035
|
+
attr_accessor :for_
|
|
2036
|
+
|
|
2037
|
+
# The image data for the attestation manifest. This field is only populated when
|
|
2038
|
+
# Kind is "attestation".
|
|
2039
|
+
sig { params(for_: String).returns(T.attached_class) }
|
|
2040
|
+
def self.new(
|
|
2041
|
+
# The digest of the image manifest that this attestation is for.
|
|
2042
|
+
for_:
|
|
2043
|
+
)
|
|
2044
|
+
end
|
|
2045
|
+
|
|
2046
|
+
sig { override.returns({ for_: String }) }
|
|
2047
|
+
def to_hash
|
|
2048
|
+
end
|
|
2049
|
+
end
|
|
2050
|
+
|
|
2051
|
+
class ImageData < DockerEngine::Internal::Type::BaseModel
|
|
2052
|
+
OrHash =
|
|
2053
|
+
T.type_alias do
|
|
2054
|
+
T.any(
|
|
2055
|
+
DockerEngine::Image::Manifest::ImageData,
|
|
2056
|
+
DockerEngine::Internal::AnyHash
|
|
2057
|
+
)
|
|
2058
|
+
end
|
|
2059
|
+
|
|
2060
|
+
# The IDs of the containers that are using this image.
|
|
2061
|
+
sig { returns(T::Array[String]) }
|
|
2062
|
+
attr_accessor :containers
|
|
2063
|
+
|
|
2064
|
+
# Describes the platform which the image in the manifest runs on, as defined in
|
|
2065
|
+
# the
|
|
2066
|
+
# [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
|
|
2067
|
+
sig do
|
|
2068
|
+
returns(
|
|
2069
|
+
T.nilable(DockerEngine::Image::Manifest::ImageData::Platform)
|
|
2070
|
+
)
|
|
2071
|
+
end
|
|
2072
|
+
attr_reader :platform
|
|
2073
|
+
|
|
2074
|
+
sig do
|
|
2075
|
+
params(
|
|
2076
|
+
platform:
|
|
2077
|
+
T.nilable(
|
|
2078
|
+
DockerEngine::Image::Manifest::ImageData::Platform::OrHash
|
|
2079
|
+
)
|
|
2080
|
+
).void
|
|
2081
|
+
end
|
|
2082
|
+
attr_writer :platform
|
|
2083
|
+
|
|
2084
|
+
sig { returns(DockerEngine::Image::Manifest::ImageData::Size) }
|
|
2085
|
+
attr_reader :size
|
|
2086
|
+
|
|
2087
|
+
sig do
|
|
2088
|
+
params(
|
|
2089
|
+
size: DockerEngine::Image::Manifest::ImageData::Size::OrHash
|
|
2090
|
+
).void
|
|
2091
|
+
end
|
|
2092
|
+
attr_writer :size
|
|
2093
|
+
|
|
2094
|
+
# The image data for the image manifest. This field is only populated when Kind is
|
|
2095
|
+
# "image".
|
|
2096
|
+
sig do
|
|
2097
|
+
params(
|
|
2098
|
+
containers: T::Array[String],
|
|
2099
|
+
platform:
|
|
2100
|
+
T.nilable(
|
|
2101
|
+
DockerEngine::Image::Manifest::ImageData::Platform::OrHash
|
|
2102
|
+
),
|
|
2103
|
+
size: DockerEngine::Image::Manifest::ImageData::Size::OrHash
|
|
2104
|
+
).returns(T.attached_class)
|
|
2105
|
+
end
|
|
2106
|
+
def self.new(
|
|
2107
|
+
# The IDs of the containers that are using this image.
|
|
2108
|
+
containers:,
|
|
2109
|
+
# Describes the platform which the image in the manifest runs on, as defined in
|
|
2110
|
+
# the
|
|
2111
|
+
# [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
|
|
2112
|
+
platform:,
|
|
2113
|
+
size:
|
|
2114
|
+
)
|
|
2115
|
+
end
|
|
2116
|
+
|
|
2117
|
+
sig do
|
|
2118
|
+
override.returns(
|
|
2119
|
+
{
|
|
2120
|
+
containers: T::Array[String],
|
|
2121
|
+
platform:
|
|
2122
|
+
T.nilable(DockerEngine::Image::Manifest::ImageData::Platform),
|
|
2123
|
+
size: DockerEngine::Image::Manifest::ImageData::Size
|
|
2124
|
+
}
|
|
2125
|
+
)
|
|
2126
|
+
end
|
|
2127
|
+
def to_hash
|
|
2128
|
+
end
|
|
2129
|
+
|
|
2130
|
+
class Platform < DockerEngine::Internal::Type::BaseModel
|
|
2131
|
+
OrHash =
|
|
2132
|
+
T.type_alias do
|
|
2133
|
+
T.any(
|
|
2134
|
+
DockerEngine::Image::Manifest::ImageData::Platform,
|
|
2135
|
+
DockerEngine::Internal::AnyHash
|
|
2136
|
+
)
|
|
2137
|
+
end
|
|
2138
|
+
|
|
2139
|
+
# The CPU architecture, for example `amd64` or `ppc64`.
|
|
2140
|
+
sig { returns(T.nilable(String)) }
|
|
2141
|
+
attr_reader :architecture
|
|
2142
|
+
|
|
2143
|
+
sig { params(architecture: String).void }
|
|
2144
|
+
attr_writer :architecture
|
|
2145
|
+
|
|
2146
|
+
# The operating system, for example `linux` or `windows`.
|
|
2147
|
+
sig { returns(T.nilable(String)) }
|
|
2148
|
+
attr_reader :os
|
|
2149
|
+
|
|
2150
|
+
sig { params(os: String).void }
|
|
2151
|
+
attr_writer :os
|
|
2152
|
+
|
|
2153
|
+
# Optional field specifying an array of strings, each listing a required OS
|
|
2154
|
+
# feature (for example on Windows `win32k`).
|
|
2155
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
2156
|
+
attr_reader :os_features
|
|
2157
|
+
|
|
2158
|
+
sig { params(os_features: T::Array[String]).void }
|
|
2159
|
+
attr_writer :os_features
|
|
2160
|
+
|
|
2161
|
+
# Optional field specifying the operating system version, for example on Windows
|
|
2162
|
+
# `10.0.19041.1165`.
|
|
2163
|
+
sig { returns(T.nilable(String)) }
|
|
2164
|
+
attr_reader :os_version
|
|
2165
|
+
|
|
2166
|
+
sig { params(os_version: String).void }
|
|
2167
|
+
attr_writer :os_version
|
|
2168
|
+
|
|
2169
|
+
# Optional field specifying a variant of the CPU, for example `v7` to specify
|
|
2170
|
+
# ARMv7 when architecture is `arm`.
|
|
2171
|
+
sig { returns(T.nilable(String)) }
|
|
2172
|
+
attr_reader :variant
|
|
2173
|
+
|
|
2174
|
+
sig { params(variant: String).void }
|
|
2175
|
+
attr_writer :variant
|
|
2176
|
+
|
|
2177
|
+
# Describes the platform which the image in the manifest runs on, as defined in
|
|
2178
|
+
# the
|
|
2179
|
+
# [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
|
|
2180
|
+
sig do
|
|
2181
|
+
params(
|
|
2182
|
+
architecture: String,
|
|
2183
|
+
os: String,
|
|
2184
|
+
os_features: T::Array[String],
|
|
2185
|
+
os_version: String,
|
|
2186
|
+
variant: String
|
|
2187
|
+
).returns(T.attached_class)
|
|
2188
|
+
end
|
|
2189
|
+
def self.new(
|
|
2190
|
+
# The CPU architecture, for example `amd64` or `ppc64`.
|
|
2191
|
+
architecture: nil,
|
|
2192
|
+
# The operating system, for example `linux` or `windows`.
|
|
2193
|
+
os: nil,
|
|
2194
|
+
# Optional field specifying an array of strings, each listing a required OS
|
|
2195
|
+
# feature (for example on Windows `win32k`).
|
|
2196
|
+
os_features: nil,
|
|
2197
|
+
# Optional field specifying the operating system version, for example on Windows
|
|
2198
|
+
# `10.0.19041.1165`.
|
|
2199
|
+
os_version: nil,
|
|
2200
|
+
# Optional field specifying a variant of the CPU, for example `v7` to specify
|
|
2201
|
+
# ARMv7 when architecture is `arm`.
|
|
2202
|
+
variant: nil
|
|
2203
|
+
)
|
|
2204
|
+
end
|
|
2205
|
+
|
|
2206
|
+
sig do
|
|
2207
|
+
override.returns(
|
|
2208
|
+
{
|
|
2209
|
+
architecture: String,
|
|
2210
|
+
os: String,
|
|
2211
|
+
os_features: T::Array[String],
|
|
2212
|
+
os_version: String,
|
|
2213
|
+
variant: String
|
|
2214
|
+
}
|
|
2215
|
+
)
|
|
2216
|
+
end
|
|
2217
|
+
def to_hash
|
|
2218
|
+
end
|
|
2219
|
+
end
|
|
2220
|
+
|
|
2221
|
+
class Size < DockerEngine::Internal::Type::BaseModel
|
|
2222
|
+
OrHash =
|
|
2223
|
+
T.type_alias do
|
|
2224
|
+
T.any(
|
|
2225
|
+
DockerEngine::Image::Manifest::ImageData::Size,
|
|
2226
|
+
DockerEngine::Internal::AnyHash
|
|
2227
|
+
)
|
|
2228
|
+
end
|
|
2229
|
+
|
|
2230
|
+
# Unpacked is the size (in bytes) of the locally unpacked (uncompressed) image
|
|
2231
|
+
# content that's directly usable by the containers running this image. It's
|
|
2232
|
+
# independent of the distributable content - e.g. the image might still have an
|
|
2233
|
+
# unpacked data that's still used by some container even when the
|
|
2234
|
+
# distributable/compressed content is already gone.
|
|
2235
|
+
sig { returns(Integer) }
|
|
2236
|
+
attr_accessor :unpacked
|
|
2237
|
+
|
|
2238
|
+
sig { params(unpacked: Integer).returns(T.attached_class) }
|
|
2239
|
+
def self.new(
|
|
2240
|
+
# Unpacked is the size (in bytes) of the locally unpacked (uncompressed) image
|
|
2241
|
+
# content that's directly usable by the containers running this image. It's
|
|
2242
|
+
# independent of the distributable content - e.g. the image might still have an
|
|
2243
|
+
# unpacked data that's still used by some container even when the
|
|
2244
|
+
# distributable/compressed content is already gone.
|
|
2245
|
+
unpacked:
|
|
2246
|
+
)
|
|
2247
|
+
end
|
|
2248
|
+
|
|
2249
|
+
sig { override.returns({ unpacked: Integer }) }
|
|
2250
|
+
def to_hash
|
|
2251
|
+
end
|
|
2252
|
+
end
|
|
2253
|
+
end
|
|
2254
|
+
end
|
|
2255
|
+
|
|
2256
|
+
class Metadata < DockerEngine::Internal::Type::BaseModel
|
|
2257
|
+
OrHash =
|
|
2258
|
+
T.type_alias do
|
|
2259
|
+
T.any(
|
|
2260
|
+
DockerEngine::Image::Metadata,
|
|
2261
|
+
DockerEngine::Internal::AnyHash
|
|
2262
|
+
)
|
|
2263
|
+
end
|
|
2264
|
+
|
|
2265
|
+
# Date and time at which the image was last tagged in
|
|
2266
|
+
# [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
|
|
2267
|
+
#
|
|
2268
|
+
# This information is only available if the image was tagged locally, and omitted
|
|
2269
|
+
# otherwise.
|
|
2270
|
+
sig { returns(T.nilable(String)) }
|
|
2271
|
+
attr_accessor :last_tag_time
|
|
2272
|
+
|
|
2273
|
+
# Additional metadata of the image in the local cache. This information is local
|
|
2274
|
+
# to the daemon, and not part of the image itself.
|
|
2275
|
+
sig do
|
|
2276
|
+
params(last_tag_time: T.nilable(String)).returns(T.attached_class)
|
|
2277
|
+
end
|
|
2278
|
+
def self.new(
|
|
2279
|
+
# Date and time at which the image was last tagged in
|
|
2280
|
+
# [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
|
|
2281
|
+
#
|
|
2282
|
+
# This information is only available if the image was tagged locally, and omitted
|
|
2283
|
+
# otherwise.
|
|
2284
|
+
last_tag_time: nil
|
|
2285
|
+
)
|
|
2286
|
+
end
|
|
2287
|
+
|
|
2288
|
+
sig { override.returns({ last_tag_time: T.nilable(String) }) }
|
|
2289
|
+
def to_hash
|
|
2290
|
+
end
|
|
2291
|
+
end
|
|
2292
|
+
|
|
2293
|
+
class RootFs < DockerEngine::Internal::Type::BaseModel
|
|
2294
|
+
OrHash =
|
|
2295
|
+
T.type_alias do
|
|
2296
|
+
T.any(DockerEngine::Image::RootFs, DockerEngine::Internal::AnyHash)
|
|
2297
|
+
end
|
|
2298
|
+
|
|
2299
|
+
sig { returns(String) }
|
|
2300
|
+
attr_accessor :type
|
|
2301
|
+
|
|
2302
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
2303
|
+
attr_reader :layers
|
|
2304
|
+
|
|
2305
|
+
sig { params(layers: T::Array[String]).void }
|
|
2306
|
+
attr_writer :layers
|
|
2307
|
+
|
|
2308
|
+
# Information about the image's RootFS, including the layer IDs.
|
|
2309
|
+
sig do
|
|
2310
|
+
params(type: String, layers: T::Array[String]).returns(
|
|
2311
|
+
T.attached_class
|
|
2312
|
+
)
|
|
2313
|
+
end
|
|
2314
|
+
def self.new(type:, layers: nil)
|
|
2315
|
+
end
|
|
2316
|
+
|
|
2317
|
+
sig { override.returns({ type: String, layers: T::Array[String] }) }
|
|
2318
|
+
def to_hash
|
|
2319
|
+
end
|
|
2320
|
+
end
|
|
2321
|
+
end
|
|
2322
|
+
end
|
|
2323
|
+
end
|