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.
Files changed (248) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +17 -0
  4. data/README.md +230 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/docker_engine/client.rb +77 -0
  7. data/lib/docker_engine/errors.rb +228 -0
  8. data/lib/docker_engine/file_part.rb +58 -0
  9. data/lib/docker_engine/internal/transport/base_client.rb +567 -0
  10. data/lib/docker_engine/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/docker_engine/internal/type/array_of.rb +168 -0
  12. data/lib/docker_engine/internal/type/base_model.rb +529 -0
  13. data/lib/docker_engine/internal/type/base_page.rb +55 -0
  14. data/lib/docker_engine/internal/type/boolean.rb +77 -0
  15. data/lib/docker_engine/internal/type/converter.rb +327 -0
  16. data/lib/docker_engine/internal/type/enum.rb +131 -0
  17. data/lib/docker_engine/internal/type/file_input.rb +111 -0
  18. data/lib/docker_engine/internal/type/hash_of.rb +188 -0
  19. data/lib/docker_engine/internal/type/request_parameters.rb +42 -0
  20. data/lib/docker_engine/internal/type/union.rb +243 -0
  21. data/lib/docker_engine/internal/type/unknown.rb +81 -0
  22. data/lib/docker_engine/internal/util.rb +920 -0
  23. data/lib/docker_engine/internal.rb +20 -0
  24. data/lib/docker_engine/models/auth_login_params.rb +32 -0
  25. data/lib/docker_engine/models/auth_response.rb +27 -0
  26. data/lib/docker_engine/models/config.rb +307 -0
  27. data/lib/docker_engine/models/container.rb +2489 -0
  28. data/lib/docker_engine/models/container_create_params.rb +1716 -0
  29. data/lib/docker_engine/models/container_delete_params.rb +38 -0
  30. data/lib/docker_engine/models/container_inspect_params.rb +22 -0
  31. data/lib/docker_engine/models/container_kill_params.rb +25 -0
  32. data/lib/docker_engine/models/container_list_params.rb +70 -0
  33. data/lib/docker_engine/models/container_list_response.rb +8 -0
  34. data/lib/docker_engine/models/container_logs_params.rb +74 -0
  35. data/lib/docker_engine/models/container_start_params.rb +27 -0
  36. data/lib/docker_engine/models/container_stop_params.rb +33 -0
  37. data/lib/docker_engine/models/create_request.rb +348 -0
  38. data/lib/docker_engine/models/create_response.rb +27 -0
  39. data/lib/docker_engine/models/error.rb +18 -0
  40. data/lib/docker_engine/models/image.rb +1393 -0
  41. data/lib/docker_engine/models/image_delete_params.rb +43 -0
  42. data/lib/docker_engine/models/image_delete_response.rb +28 -0
  43. data/lib/docker_engine/models/image_inspect_params.rb +22 -0
  44. data/lib/docker_engine/models/image_list_params.rb +68 -0
  45. data/lib/docker_engine/models/image_list_response.rb +8 -0
  46. data/lib/docker_engine/models/image_pull_params.rb +115 -0
  47. data/lib/docker_engine/models/network.rb +253 -0
  48. data/lib/docker_engine/models/network_create_params.rb +210 -0
  49. data/lib/docker_engine/models/network_create_response.rb +27 -0
  50. data/lib/docker_engine/models/network_delete_params.rb +14 -0
  51. data/lib/docker_engine/models/network_inspect_params.rb +30 -0
  52. data/lib/docker_engine/models/network_inspect_response.rb +131 -0
  53. data/lib/docker_engine/models/network_list_params.rb +40 -0
  54. data/lib/docker_engine/models/network_list_response.rb +8 -0
  55. data/lib/docker_engine/models/service.rb +520 -0
  56. data/lib/docker_engine/models/service_create_params.rb +34 -0
  57. data/lib/docker_engine/models/service_create_response.rb +32 -0
  58. data/lib/docker_engine/models/service_delete_params.rb +14 -0
  59. data/lib/docker_engine/models/service_inspect_params.rb +22 -0
  60. data/lib/docker_engine/models/service_list_params.rb +41 -0
  61. data/lib/docker_engine/models/service_list_response.rb +8 -0
  62. data/lib/docker_engine/models/spec.rb +2302 -0
  63. data/lib/docker_engine/models/summary.rb +763 -0
  64. data/lib/docker_engine/models/system_info_params.rb +14 -0
  65. data/lib/docker_engine/models/system_info_response.rb +1879 -0
  66. data/lib/docker_engine/models/system_ping_params.rb +14 -0
  67. data/lib/docker_engine/models/system_ping_response.rb +7 -0
  68. data/lib/docker_engine/models/system_version_params.rb +14 -0
  69. data/lib/docker_engine/models/system_version_response.rb +164 -0
  70. data/lib/docker_engine/models/volume.rb +650 -0
  71. data/lib/docker_engine/models/volume_create_params.rb +14 -0
  72. data/lib/docker_engine/models/volume_delete_params.rb +22 -0
  73. data/lib/docker_engine/models/volume_inspect_params.rb +14 -0
  74. data/lib/docker_engine/models/volume_list_params.rb +34 -0
  75. data/lib/docker_engine/models/volume_list_response.rb +34 -0
  76. data/lib/docker_engine/models.rb +121 -0
  77. data/lib/docker_engine/request_options.rb +77 -0
  78. data/lib/docker_engine/resources/auth.rb +38 -0
  79. data/lib/docker_engine/resources/containers.rb +258 -0
  80. data/lib/docker_engine/resources/images.rb +156 -0
  81. data/lib/docker_engine/resources/networks.rb +139 -0
  82. data/lib/docker_engine/resources/services.rb +113 -0
  83. data/lib/docker_engine/resources/system.rb +70 -0
  84. data/lib/docker_engine/resources/volumes.rb +105 -0
  85. data/lib/docker_engine/version.rb +5 -0
  86. data/lib/docker_engine.rb +114 -0
  87. data/manifest.yaml +17 -0
  88. data/rbi/docker_engine/client.rbi +56 -0
  89. data/rbi/docker_engine/errors.rbi +205 -0
  90. data/rbi/docker_engine/file_part.rbi +37 -0
  91. data/rbi/docker_engine/internal/transport/base_client.rbi +300 -0
  92. data/rbi/docker_engine/internal/transport/pooled_net_requester.rbi +84 -0
  93. data/rbi/docker_engine/internal/type/array_of.rbi +104 -0
  94. data/rbi/docker_engine/internal/type/base_model.rbi +314 -0
  95. data/rbi/docker_engine/internal/type/base_page.rbi +43 -0
  96. data/rbi/docker_engine/internal/type/boolean.rbi +58 -0
  97. data/rbi/docker_engine/internal/type/converter.rbi +222 -0
  98. data/rbi/docker_engine/internal/type/enum.rbi +82 -0
  99. data/rbi/docker_engine/internal/type/file_input.rbi +59 -0
  100. data/rbi/docker_engine/internal/type/hash_of.rbi +104 -0
  101. data/rbi/docker_engine/internal/type/request_parameters.rbi +31 -0
  102. data/rbi/docker_engine/internal/type/union.rbi +128 -0
  103. data/rbi/docker_engine/internal/type/unknown.rbi +58 -0
  104. data/rbi/docker_engine/internal/util.rbi +487 -0
  105. data/rbi/docker_engine/internal.rbi +18 -0
  106. data/rbi/docker_engine/models/auth_login_params.rbi +62 -0
  107. data/rbi/docker_engine/models/auth_response.rbi +39 -0
  108. data/rbi/docker_engine/models/config.rbi +442 -0
  109. data/rbi/docker_engine/models/container.rbi +4575 -0
  110. data/rbi/docker_engine/models/container_create_params.rbi +3297 -0
  111. data/rbi/docker_engine/models/container_delete_params.rbi +71 -0
  112. data/rbi/docker_engine/models/container_inspect_params.rbi +46 -0
  113. data/rbi/docker_engine/models/container_kill_params.rbi +46 -0
  114. data/rbi/docker_engine/models/container_list_params.rbi +124 -0
  115. data/rbi/docker_engine/models/container_list_response.rbi +11 -0
  116. data/rbi/docker_engine/models/container_logs_params.rbi +117 -0
  117. data/rbi/docker_engine/models/container_start_params.rbi +50 -0
  118. data/rbi/docker_engine/models/container_stop_params.rbi +60 -0
  119. data/rbi/docker_engine/models/create_request.rbi +702 -0
  120. data/rbi/docker_engine/models/create_response.rbi +36 -0
  121. data/rbi/docker_engine/models/error.rbi +28 -0
  122. data/rbi/docker_engine/models/image.rbi +2323 -0
  123. data/rbi/docker_engine/models/image_delete_params.rbi +75 -0
  124. data/rbi/docker_engine/models/image_delete_response.rbi +52 -0
  125. data/rbi/docker_engine/models/image_inspect_params.rbi +49 -0
  126. data/rbi/docker_engine/models/image_list_params.rbi +112 -0
  127. data/rbi/docker_engine/models/image_list_response.rbi +11 -0
  128. data/rbi/docker_engine/models/image_pull_params.rbi +186 -0
  129. data/rbi/docker_engine/models/network.rbi +419 -0
  130. data/rbi/docker_engine/models/network_create_params.rbi +362 -0
  131. data/rbi/docker_engine/models/network_create_response.rbi +37 -0
  132. data/rbi/docker_engine/models/network_delete_params.rbi +32 -0
  133. data/rbi/docker_engine/models/network_inspect_params.rbi +60 -0
  134. data/rbi/docker_engine/models/network_inspect_response.rbi +329 -0
  135. data/rbi/docker_engine/models/network_list_params.rbi +76 -0
  136. data/rbi/docker_engine/models/network_list_response.rbi +11 -0
  137. data/rbi/docker_engine/models/service.rbi +1076 -0
  138. data/rbi/docker_engine/models/service_create_params.rbi +77 -0
  139. data/rbi/docker_engine/models/service_create_response.rbi +50 -0
  140. data/rbi/docker_engine/models/service_delete_params.rbi +32 -0
  141. data/rbi/docker_engine/models/service_inspect_params.rbi +49 -0
  142. data/rbi/docker_engine/models/service_list_params.rbi +76 -0
  143. data/rbi/docker_engine/models/service_list_response.rbi +11 -0
  144. data/rbi/docker_engine/models/spec.rbi +4587 -0
  145. data/rbi/docker_engine/models/summary.rbi +1298 -0
  146. data/rbi/docker_engine/models/system_info_params.rbi +29 -0
  147. data/rbi/docker_engine/models/system_info_response.rbi +3587 -0
  148. data/rbi/docker_engine/models/system_ping_params.rbi +29 -0
  149. data/rbi/docker_engine/models/system_ping_response.rbi +7 -0
  150. data/rbi/docker_engine/models/system_version_params.rbi +32 -0
  151. data/rbi/docker_engine/models/system_version_response.rbi +282 -0
  152. data/rbi/docker_engine/models/volume.rbi +1218 -0
  153. data/rbi/docker_engine/models/volume_create_params.rbi +32 -0
  154. data/rbi/docker_engine/models/volume_delete_params.rbi +46 -0
  155. data/rbi/docker_engine/models/volume_inspect_params.rbi +32 -0
  156. data/rbi/docker_engine/models/volume_list_params.rbi +61 -0
  157. data/rbi/docker_engine/models/volume_list_response.rbi +55 -0
  158. data/rbi/docker_engine/models.rbi +83 -0
  159. data/rbi/docker_engine/request_options.rbi +59 -0
  160. data/rbi/docker_engine/resources/auth.rbi +30 -0
  161. data/rbi/docker_engine/resources/containers.rbi +231 -0
  162. data/rbi/docker_engine/resources/images.rbi +164 -0
  163. data/rbi/docker_engine/resources/networks.rbi +133 -0
  164. data/rbi/docker_engine/resources/services.rbi +88 -0
  165. data/rbi/docker_engine/resources/system.rbi +40 -0
  166. data/rbi/docker_engine/resources/volumes.rbi +80 -0
  167. data/rbi/docker_engine/version.rbi +5 -0
  168. data/sig/docker_engine/client.rbs +33 -0
  169. data/sig/docker_engine/errors.rbs +117 -0
  170. data/sig/docker_engine/file_part.rbs +21 -0
  171. data/sig/docker_engine/internal/transport/base_client.rbs +131 -0
  172. data/sig/docker_engine/internal/transport/pooled_net_requester.rbs +48 -0
  173. data/sig/docker_engine/internal/type/array_of.rbs +48 -0
  174. data/sig/docker_engine/internal/type/base_model.rbs +104 -0
  175. data/sig/docker_engine/internal/type/base_page.rbs +24 -0
  176. data/sig/docker_engine/internal/type/boolean.rbs +26 -0
  177. data/sig/docker_engine/internal/type/converter.rbs +79 -0
  178. data/sig/docker_engine/internal/type/enum.rbs +32 -0
  179. data/sig/docker_engine/internal/type/file_input.rbs +25 -0
  180. data/sig/docker_engine/internal/type/hash_of.rbs +48 -0
  181. data/sig/docker_engine/internal/type/request_parameters.rbs +19 -0
  182. data/sig/docker_engine/internal/type/union.rbs +52 -0
  183. data/sig/docker_engine/internal/type/unknown.rbs +26 -0
  184. data/sig/docker_engine/internal/util.rbs +185 -0
  185. data/sig/docker_engine/internal.rbs +9 -0
  186. data/sig/docker_engine/models/auth_login_params.rbs +38 -0
  187. data/sig/docker_engine/models/auth_response.rbs +17 -0
  188. data/sig/docker_engine/models/config.rbs +225 -0
  189. data/sig/docker_engine/models/container.rbs +1973 -0
  190. data/sig/docker_engine/models/container_create_params.rbs +1352 -0
  191. data/sig/docker_engine/models/container_delete_params.rbs +38 -0
  192. data/sig/docker_engine/models/container_inspect_params.rbs +25 -0
  193. data/sig/docker_engine/models/container_kill_params.rbs +25 -0
  194. data/sig/docker_engine/models/container_list_params.rbs +44 -0
  195. data/sig/docker_engine/models/container_list_response.rbs +7 -0
  196. data/sig/docker_engine/models/container_logs_params.rbs +70 -0
  197. data/sig/docker_engine/models/container_start_params.rbs +25 -0
  198. data/sig/docker_engine/models/container_stop_params.rbs +32 -0
  199. data/sig/docker_engine/models/create_request.rbs +255 -0
  200. data/sig/docker_engine/models/create_response.rbs +15 -0
  201. data/sig/docker_engine/models/error.rbs +13 -0
  202. data/sig/docker_engine/models/image.rbs +1038 -0
  203. data/sig/docker_engine/models/image_delete_params.rbs +38 -0
  204. data/sig/docker_engine/models/image_delete_response.rbs +24 -0
  205. data/sig/docker_engine/models/image_inspect_params.rbs +25 -0
  206. data/sig/docker_engine/models/image_list_params.rbs +56 -0
  207. data/sig/docker_engine/models/image_list_response.rbs +7 -0
  208. data/sig/docker_engine/models/image_pull_params.rbs +84 -0
  209. data/sig/docker_engine/models/network.rbs +236 -0
  210. data/sig/docker_engine/models/network_create_params.rbs +203 -0
  211. data/sig/docker_engine/models/network_create_response.rbs +15 -0
  212. data/sig/docker_engine/models/network_delete_params.rbs +15 -0
  213. data/sig/docker_engine/models/network_inspect_params.rbs +32 -0
  214. data/sig/docker_engine/models/network_inspect_response.rbs +149 -0
  215. data/sig/docker_engine/models/network_list_params.rbs +25 -0
  216. data/sig/docker_engine/models/network_list_response.rbs +7 -0
  217. data/sig/docker_engine/models/service.rbs +471 -0
  218. data/sig/docker_engine/models/service_create_params.rbs +38 -0
  219. data/sig/docker_engine/models/service_create_response.rbs +17 -0
  220. data/sig/docker_engine/models/service_delete_params.rbs +15 -0
  221. data/sig/docker_engine/models/service_inspect_params.rbs +26 -0
  222. data/sig/docker_engine/models/service_list_params.rbs +32 -0
  223. data/sig/docker_engine/models/service_list_response.rbs +7 -0
  224. data/sig/docker_engine/models/spec.rbs +1984 -0
  225. data/sig/docker_engine/models/summary.rbs +634 -0
  226. data/sig/docker_engine/models/system_info_params.rbs +15 -0
  227. data/sig/docker_engine/models/system_info_response.rbs +1380 -0
  228. data/sig/docker_engine/models/system_ping_params.rbs +15 -0
  229. data/sig/docker_engine/models/system_ping_response.rbs +5 -0
  230. data/sig/docker_engine/models/system_version_params.rbs +15 -0
  231. data/sig/docker_engine/models/system_version_response.rbs +127 -0
  232. data/sig/docker_engine/models/volume.rbs +478 -0
  233. data/sig/docker_engine/models/volume_create_params.rbs +15 -0
  234. data/sig/docker_engine/models/volume_delete_params.rbs +25 -0
  235. data/sig/docker_engine/models/volume_inspect_params.rbs +15 -0
  236. data/sig/docker_engine/models/volume_list_params.rbs +25 -0
  237. data/sig/docker_engine/models/volume_list_response.rbs +28 -0
  238. data/sig/docker_engine/models.rbs +81 -0
  239. data/sig/docker_engine/request_options.rbs +36 -0
  240. data/sig/docker_engine/resources/auth.rbs +14 -0
  241. data/sig/docker_engine/resources/containers.rbs +67 -0
  242. data/sig/docker_engine/resources/images.rbs +43 -0
  243. data/sig/docker_engine/resources/networks.rbs +41 -0
  244. data/sig/docker_engine/resources/services.rbs +30 -0
  245. data/sig/docker_engine/resources/system.rbs +17 -0
  246. data/sig/docker_engine/resources/volumes.rbs +28 -0
  247. data/sig/docker_engine/version.rbs +3 -0
  248. metadata +319 -0
@@ -0,0 +1,1298 @@
1
+ # typed: strong
2
+
3
+ module DockerEngine
4
+ module Models
5
+ class Summary < DockerEngine::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(DockerEngine::Summary, DockerEngine::Internal::AnyHash)
9
+ end
10
+
11
+ # Command to run when starting the container
12
+ sig { returns(T.nilable(String)) }
13
+ attr_reader :command
14
+
15
+ sig { params(command: String).void }
16
+ attr_writer :command
17
+
18
+ # Date and time at which the container was created as a Unix timestamp (number of
19
+ # seconds since EPOCH).
20
+ sig { returns(T.nilable(Integer)) }
21
+ attr_reader :created
22
+
23
+ sig { params(created: Integer).void }
24
+ attr_writer :created
25
+
26
+ # Summary of health status
27
+ #
28
+ # Added in v1.52, before that version all container summary not include Health.
29
+ # After this attribute introduced, it includes containers with no health checks
30
+ # configured, or containers that are not running with none
31
+ sig { returns(T.nilable(DockerEngine::Summary::Health)) }
32
+ attr_reader :health
33
+
34
+ sig { params(health: DockerEngine::Summary::Health::OrHash).void }
35
+ attr_writer :health
36
+
37
+ # Summary of host-specific runtime information of the container. This is a reduced
38
+ # set of information in the container's "HostConfig" as available in the container
39
+ # "inspect" response.
40
+ sig { returns(T.nilable(DockerEngine::Summary::HostConfig)) }
41
+ attr_reader :host_config
42
+
43
+ sig do
44
+ params(host_config: DockerEngine::Summary::HostConfig::OrHash).void
45
+ end
46
+ attr_writer :host_config
47
+
48
+ # The ID of this container as a 128-bit (64-character) hexadecimal string (32
49
+ # bytes).
50
+ sig { returns(T.nilable(String)) }
51
+ attr_reader :id
52
+
53
+ sig { params(id: String).void }
54
+ attr_writer :id
55
+
56
+ # The name or ID of the image used to create the container.
57
+ #
58
+ # This field shows the image reference as was specified when creating the
59
+ # container, which can be in its canonical form (e.g.,
60
+ # `docker.io/library/ubuntu:latest` or
61
+ # `docker.io/library/ubuntu@sha256:72297848456d5d37d1262630108ab308d3e9ec7ed1c3286a32fe09856619a782`),
62
+ # short form (e.g., `ubuntu:latest`)), or the ID(-prefix) of the image (e.g.,
63
+ # `72297848456d`).
64
+ #
65
+ # The content of this field can be updated at runtime if the image used to create
66
+ # the container is untagged, in which case the field is updated to contain the the
67
+ # image ID (digest) it was resolved to in its canonical, non-truncated form (e.g.,
68
+ # `sha256:72297848456d5d37d1262630108ab308d3e9ec7ed1c3286a32fe09856619a782`).
69
+ sig { returns(T.nilable(String)) }
70
+ attr_reader :image
71
+
72
+ sig { params(image: String).void }
73
+ attr_writer :image
74
+
75
+ # The ID (digest) of the image that this container was created from.
76
+ sig { returns(T.nilable(String)) }
77
+ attr_reader :image_id
78
+
79
+ sig { params(image_id: String).void }
80
+ attr_writer :image_id
81
+
82
+ # A descriptor struct containing digest, media type, and size, as defined in the
83
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
84
+ sig { returns(T.nilable(DockerEngine::Summary::ImageManifestDescriptor)) }
85
+ attr_reader :image_manifest_descriptor
86
+
87
+ sig do
88
+ params(
89
+ image_manifest_descriptor:
90
+ DockerEngine::Summary::ImageManifestDescriptor::OrHash
91
+ ).void
92
+ end
93
+ attr_writer :image_manifest_descriptor
94
+
95
+ # User-defined key/value metadata.
96
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
97
+ attr_reader :labels
98
+
99
+ sig { params(labels: T::Hash[Symbol, String]).void }
100
+ attr_writer :labels
101
+
102
+ # List of mounts used by the container.
103
+ sig { returns(T.nilable(T::Array[DockerEngine::Summary::Mount])) }
104
+ attr_reader :mounts
105
+
106
+ sig do
107
+ params(mounts: T::Array[DockerEngine::Summary::Mount::OrHash]).void
108
+ end
109
+ attr_writer :mounts
110
+
111
+ # The names associated with this container. Most containers have a single name,
112
+ # but when using legacy "links", the container can have multiple names.
113
+ #
114
+ # For historic reasons, names are prefixed with a forward-slash (`/`).
115
+ sig { returns(T.nilable(T::Array[String])) }
116
+ attr_reader :names
117
+
118
+ sig { params(names: T::Array[String]).void }
119
+ attr_writer :names
120
+
121
+ # Summary of the container's network settings
122
+ sig { returns(T.nilable(DockerEngine::Summary::NetworkSettings)) }
123
+ attr_reader :network_settings
124
+
125
+ sig do
126
+ params(
127
+ network_settings: DockerEngine::Summary::NetworkSettings::OrHash
128
+ ).void
129
+ end
130
+ attr_writer :network_settings
131
+
132
+ # Port-mappings for the container.
133
+ sig { returns(T.nilable(T::Array[DockerEngine::Summary::Port])) }
134
+ attr_reader :ports
135
+
136
+ sig { params(ports: T::Array[DockerEngine::Summary::Port::OrHash]).void }
137
+ attr_writer :ports
138
+
139
+ # The total size of all files in the read-only layers from the image that the
140
+ # container uses. These layers can be shared between containers.
141
+ #
142
+ # This field is omitted by default, and only set when size is requested in the API
143
+ # request.
144
+ sig { returns(T.nilable(Integer)) }
145
+ attr_accessor :size_root_fs
146
+
147
+ # The size of files that have been created or changed by this container.
148
+ #
149
+ # This field is omitted by default, and only set when size is requested in the API
150
+ # request.
151
+ sig { returns(T.nilable(Integer)) }
152
+ attr_accessor :size_rw
153
+
154
+ # The state of this container.
155
+ sig { returns(T.nilable(DockerEngine::Summary::State::TaggedSymbol)) }
156
+ attr_reader :state
157
+
158
+ sig { params(state: DockerEngine::Summary::State::OrSymbol).void }
159
+ attr_writer :state
160
+
161
+ # Additional human-readable status of this container (e.g. `Exit 0`)
162
+ sig { returns(T.nilable(String)) }
163
+ attr_reader :status
164
+
165
+ sig { params(status: String).void }
166
+ attr_writer :status
167
+
168
+ sig do
169
+ params(
170
+ command: String,
171
+ created: Integer,
172
+ health: DockerEngine::Summary::Health::OrHash,
173
+ host_config: DockerEngine::Summary::HostConfig::OrHash,
174
+ id: String,
175
+ image: String,
176
+ image_id: String,
177
+ image_manifest_descriptor:
178
+ DockerEngine::Summary::ImageManifestDescriptor::OrHash,
179
+ labels: T::Hash[Symbol, String],
180
+ mounts: T::Array[DockerEngine::Summary::Mount::OrHash],
181
+ names: T::Array[String],
182
+ network_settings: DockerEngine::Summary::NetworkSettings::OrHash,
183
+ ports: T::Array[DockerEngine::Summary::Port::OrHash],
184
+ size_root_fs: T.nilable(Integer),
185
+ size_rw: T.nilable(Integer),
186
+ state: DockerEngine::Summary::State::OrSymbol,
187
+ status: String
188
+ ).returns(T.attached_class)
189
+ end
190
+ def self.new(
191
+ # Command to run when starting the container
192
+ command: nil,
193
+ # Date and time at which the container was created as a Unix timestamp (number of
194
+ # seconds since EPOCH).
195
+ created: nil,
196
+ # Summary of health status
197
+ #
198
+ # Added in v1.52, before that version all container summary not include Health.
199
+ # After this attribute introduced, it includes containers with no health checks
200
+ # configured, or containers that are not running with none
201
+ health: nil,
202
+ # Summary of host-specific runtime information of the container. This is a reduced
203
+ # set of information in the container's "HostConfig" as available in the container
204
+ # "inspect" response.
205
+ host_config: nil,
206
+ # The ID of this container as a 128-bit (64-character) hexadecimal string (32
207
+ # bytes).
208
+ id: nil,
209
+ # The name or ID of the image used to create the container.
210
+ #
211
+ # This field shows the image reference as was specified when creating the
212
+ # container, which can be in its canonical form (e.g.,
213
+ # `docker.io/library/ubuntu:latest` or
214
+ # `docker.io/library/ubuntu@sha256:72297848456d5d37d1262630108ab308d3e9ec7ed1c3286a32fe09856619a782`),
215
+ # short form (e.g., `ubuntu:latest`)), or the ID(-prefix) of the image (e.g.,
216
+ # `72297848456d`).
217
+ #
218
+ # The content of this field can be updated at runtime if the image used to create
219
+ # the container is untagged, in which case the field is updated to contain the the
220
+ # image ID (digest) it was resolved to in its canonical, non-truncated form (e.g.,
221
+ # `sha256:72297848456d5d37d1262630108ab308d3e9ec7ed1c3286a32fe09856619a782`).
222
+ image: nil,
223
+ # The ID (digest) of the image that this container was created from.
224
+ image_id: nil,
225
+ # A descriptor struct containing digest, media type, and size, as defined in the
226
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
227
+ image_manifest_descriptor: nil,
228
+ # User-defined key/value metadata.
229
+ labels: nil,
230
+ # List of mounts used by the container.
231
+ mounts: nil,
232
+ # The names associated with this container. Most containers have a single name,
233
+ # but when using legacy "links", the container can have multiple names.
234
+ #
235
+ # For historic reasons, names are prefixed with a forward-slash (`/`).
236
+ names: nil,
237
+ # Summary of the container's network settings
238
+ network_settings: nil,
239
+ # Port-mappings for the container.
240
+ ports: nil,
241
+ # The total size of all files in the read-only layers from the image that the
242
+ # container uses. These layers can be shared between containers.
243
+ #
244
+ # This field is omitted by default, and only set when size is requested in the API
245
+ # request.
246
+ size_root_fs: nil,
247
+ # The size of files that have been created or changed by this container.
248
+ #
249
+ # This field is omitted by default, and only set when size is requested in the API
250
+ # request.
251
+ size_rw: nil,
252
+ # The state of this container.
253
+ state: nil,
254
+ # Additional human-readable status of this container (e.g. `Exit 0`)
255
+ status: nil
256
+ )
257
+ end
258
+
259
+ sig do
260
+ override.returns(
261
+ {
262
+ command: String,
263
+ created: Integer,
264
+ health: DockerEngine::Summary::Health,
265
+ host_config: DockerEngine::Summary::HostConfig,
266
+ id: String,
267
+ image: String,
268
+ image_id: String,
269
+ image_manifest_descriptor:
270
+ DockerEngine::Summary::ImageManifestDescriptor,
271
+ labels: T::Hash[Symbol, String],
272
+ mounts: T::Array[DockerEngine::Summary::Mount],
273
+ names: T::Array[String],
274
+ network_settings: DockerEngine::Summary::NetworkSettings,
275
+ ports: T::Array[DockerEngine::Summary::Port],
276
+ size_root_fs: T.nilable(Integer),
277
+ size_rw: T.nilable(Integer),
278
+ state: DockerEngine::Summary::State::TaggedSymbol,
279
+ status: String
280
+ }
281
+ )
282
+ end
283
+ def to_hash
284
+ end
285
+
286
+ class Health < DockerEngine::Internal::Type::BaseModel
287
+ OrHash =
288
+ T.type_alias do
289
+ T.any(
290
+ DockerEngine::Summary::Health,
291
+ DockerEngine::Internal::AnyHash
292
+ )
293
+ end
294
+
295
+ # FailingStreak is the number of consecutive failures
296
+ sig { returns(T.nilable(Integer)) }
297
+ attr_reader :failing_streak
298
+
299
+ sig { params(failing_streak: Integer).void }
300
+ attr_writer :failing_streak
301
+
302
+ # the health status of the container
303
+ sig do
304
+ returns(
305
+ T.nilable(DockerEngine::Summary::Health::Status::TaggedSymbol)
306
+ )
307
+ end
308
+ attr_reader :status
309
+
310
+ sig do
311
+ params(status: DockerEngine::Summary::Health::Status::OrSymbol).void
312
+ end
313
+ attr_writer :status
314
+
315
+ # Summary of health status
316
+ #
317
+ # Added in v1.52, before that version all container summary not include Health.
318
+ # After this attribute introduced, it includes containers with no health checks
319
+ # configured, or containers that are not running with none
320
+ sig do
321
+ params(
322
+ failing_streak: Integer,
323
+ status: DockerEngine::Summary::Health::Status::OrSymbol
324
+ ).returns(T.attached_class)
325
+ end
326
+ def self.new(
327
+ # FailingStreak is the number of consecutive failures
328
+ failing_streak: nil,
329
+ # the health status of the container
330
+ status: nil
331
+ )
332
+ end
333
+
334
+ sig do
335
+ override.returns(
336
+ {
337
+ failing_streak: Integer,
338
+ status: DockerEngine::Summary::Health::Status::TaggedSymbol
339
+ }
340
+ )
341
+ end
342
+ def to_hash
343
+ end
344
+
345
+ # the health status of the container
346
+ module Status
347
+ extend DockerEngine::Internal::Type::Enum
348
+
349
+ TaggedSymbol =
350
+ T.type_alias do
351
+ T.all(Symbol, DockerEngine::Summary::Health::Status)
352
+ end
353
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
354
+
355
+ NONE =
356
+ T.let(:none, DockerEngine::Summary::Health::Status::TaggedSymbol)
357
+ STARTING =
358
+ T.let(
359
+ :starting,
360
+ DockerEngine::Summary::Health::Status::TaggedSymbol
361
+ )
362
+ HEALTHY =
363
+ T.let(:healthy, DockerEngine::Summary::Health::Status::TaggedSymbol)
364
+ UNHEALTHY =
365
+ T.let(
366
+ :unhealthy,
367
+ DockerEngine::Summary::Health::Status::TaggedSymbol
368
+ )
369
+
370
+ sig do
371
+ override.returns(
372
+ T::Array[DockerEngine::Summary::Health::Status::TaggedSymbol]
373
+ )
374
+ end
375
+ def self.values
376
+ end
377
+ end
378
+ end
379
+
380
+ class HostConfig < DockerEngine::Internal::Type::BaseModel
381
+ OrHash =
382
+ T.type_alias do
383
+ T.any(
384
+ DockerEngine::Summary::HostConfig,
385
+ DockerEngine::Internal::AnyHash
386
+ )
387
+ end
388
+
389
+ # Arbitrary key-value metadata attached to the container.
390
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
391
+ attr_accessor :annotations
392
+
393
+ # Networking mode (`host`, `none`, `container:<id>`) or name of the primary
394
+ # network the container is using.
395
+ #
396
+ # This field is primarily for backward compatibility. The container can be
397
+ # connected to multiple networks for which information can be found in the
398
+ # `NetworkSettings.Networks` field, which enumerates settings per network.
399
+ sig { returns(T.nilable(String)) }
400
+ attr_reader :network_mode
401
+
402
+ sig { params(network_mode: String).void }
403
+ attr_writer :network_mode
404
+
405
+ # Summary of host-specific runtime information of the container. This is a reduced
406
+ # set of information in the container's "HostConfig" as available in the container
407
+ # "inspect" response.
408
+ sig do
409
+ params(
410
+ annotations: T.nilable(T::Hash[Symbol, String]),
411
+ network_mode: String
412
+ ).returns(T.attached_class)
413
+ end
414
+ def self.new(
415
+ # Arbitrary key-value metadata attached to the container.
416
+ annotations: nil,
417
+ # Networking mode (`host`, `none`, `container:<id>`) or name of the primary
418
+ # network the container is using.
419
+ #
420
+ # This field is primarily for backward compatibility. The container can be
421
+ # connected to multiple networks for which information can be found in the
422
+ # `NetworkSettings.Networks` field, which enumerates settings per network.
423
+ network_mode: nil
424
+ )
425
+ end
426
+
427
+ sig do
428
+ override.returns(
429
+ {
430
+ annotations: T.nilable(T::Hash[Symbol, String]),
431
+ network_mode: String
432
+ }
433
+ )
434
+ end
435
+ def to_hash
436
+ end
437
+ end
438
+
439
+ class ImageManifestDescriptor < DockerEngine::Internal::Type::BaseModel
440
+ OrHash =
441
+ T.type_alias do
442
+ T.any(
443
+ DockerEngine::Summary::ImageManifestDescriptor,
444
+ DockerEngine::Internal::AnyHash
445
+ )
446
+ end
447
+
448
+ # Arbitrary metadata relating to the targeted content.
449
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
450
+ attr_accessor :annotations
451
+
452
+ # ArtifactType is the IANA media type of this artifact.
453
+ sig { returns(T.nilable(String)) }
454
+ attr_accessor :artifact_type
455
+
456
+ # Data is an embedding of the targeted content. This is encoded as a base64 string
457
+ # when marshalled to JSON (automatically, by encoding/json). If present, Data can
458
+ # be used directly to avoid fetching the targeted content.
459
+ sig { returns(T.nilable(String)) }
460
+ attr_accessor :data
461
+
462
+ # The digest of the targeted content.
463
+ sig { returns(T.nilable(String)) }
464
+ attr_reader :digest
465
+
466
+ sig { params(digest: String).void }
467
+ attr_writer :digest
468
+
469
+ # The media type of the object this schema refers to.
470
+ sig { returns(T.nilable(String)) }
471
+ attr_reader :media_type
472
+
473
+ sig { params(media_type: String).void }
474
+ attr_writer :media_type
475
+
476
+ # Describes the platform which the image in the manifest runs on, as defined in
477
+ # the
478
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
479
+ sig do
480
+ returns(
481
+ T.nilable(DockerEngine::Summary::ImageManifestDescriptor::Platform)
482
+ )
483
+ end
484
+ attr_reader :platform
485
+
486
+ sig do
487
+ params(
488
+ platform:
489
+ T.nilable(
490
+ DockerEngine::Summary::ImageManifestDescriptor::Platform::OrHash
491
+ )
492
+ ).void
493
+ end
494
+ attr_writer :platform
495
+
496
+ # The size in bytes of the blob.
497
+ sig { returns(T.nilable(Integer)) }
498
+ attr_reader :size
499
+
500
+ sig { params(size: Integer).void }
501
+ attr_writer :size
502
+
503
+ # List of URLs from which this object MAY be downloaded.
504
+ sig { returns(T.nilable(T::Array[String])) }
505
+ attr_accessor :urls
506
+
507
+ # A descriptor struct containing digest, media type, and size, as defined in the
508
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
509
+ sig do
510
+ params(
511
+ annotations: T.nilable(T::Hash[Symbol, String]),
512
+ artifact_type: T.nilable(String),
513
+ data: T.nilable(String),
514
+ digest: String,
515
+ media_type: String,
516
+ platform:
517
+ T.nilable(
518
+ DockerEngine::Summary::ImageManifestDescriptor::Platform::OrHash
519
+ ),
520
+ size: Integer,
521
+ urls: T.nilable(T::Array[String])
522
+ ).returns(T.attached_class)
523
+ end
524
+ def self.new(
525
+ # Arbitrary metadata relating to the targeted content.
526
+ annotations: nil,
527
+ # ArtifactType is the IANA media type of this artifact.
528
+ artifact_type: nil,
529
+ # Data is an embedding of the targeted content. This is encoded as a base64 string
530
+ # when marshalled to JSON (automatically, by encoding/json). If present, Data can
531
+ # be used directly to avoid fetching the targeted content.
532
+ data: nil,
533
+ # The digest of the targeted content.
534
+ digest: nil,
535
+ # The media type of the object this schema refers to.
536
+ media_type: nil,
537
+ # Describes the platform which the image in the manifest runs on, as defined in
538
+ # the
539
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
540
+ platform: nil,
541
+ # The size in bytes of the blob.
542
+ size: nil,
543
+ # List of URLs from which this object MAY be downloaded.
544
+ urls: nil
545
+ )
546
+ end
547
+
548
+ sig do
549
+ override.returns(
550
+ {
551
+ annotations: T.nilable(T::Hash[Symbol, String]),
552
+ artifact_type: T.nilable(String),
553
+ data: T.nilable(String),
554
+ digest: String,
555
+ media_type: String,
556
+ platform:
557
+ T.nilable(
558
+ DockerEngine::Summary::ImageManifestDescriptor::Platform
559
+ ),
560
+ size: Integer,
561
+ urls: T.nilable(T::Array[String])
562
+ }
563
+ )
564
+ end
565
+ def to_hash
566
+ end
567
+
568
+ class Platform < DockerEngine::Internal::Type::BaseModel
569
+ OrHash =
570
+ T.type_alias do
571
+ T.any(
572
+ DockerEngine::Summary::ImageManifestDescriptor::Platform,
573
+ DockerEngine::Internal::AnyHash
574
+ )
575
+ end
576
+
577
+ # The CPU architecture, for example `amd64` or `ppc64`.
578
+ sig { returns(T.nilable(String)) }
579
+ attr_reader :architecture
580
+
581
+ sig { params(architecture: String).void }
582
+ attr_writer :architecture
583
+
584
+ # The operating system, for example `linux` or `windows`.
585
+ sig { returns(T.nilable(String)) }
586
+ attr_reader :os
587
+
588
+ sig { params(os: String).void }
589
+ attr_writer :os
590
+
591
+ # Optional field specifying an array of strings, each listing a required OS
592
+ # feature (for example on Windows `win32k`).
593
+ sig { returns(T.nilable(T::Array[String])) }
594
+ attr_reader :os_features
595
+
596
+ sig { params(os_features: T::Array[String]).void }
597
+ attr_writer :os_features
598
+
599
+ # Optional field specifying the operating system version, for example on Windows
600
+ # `10.0.19041.1165`.
601
+ sig { returns(T.nilable(String)) }
602
+ attr_reader :os_version
603
+
604
+ sig { params(os_version: String).void }
605
+ attr_writer :os_version
606
+
607
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
608
+ # ARMv7 when architecture is `arm`.
609
+ sig { returns(T.nilable(String)) }
610
+ attr_reader :variant
611
+
612
+ sig { params(variant: String).void }
613
+ attr_writer :variant
614
+
615
+ # Describes the platform which the image in the manifest runs on, as defined in
616
+ # the
617
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
618
+ sig do
619
+ params(
620
+ architecture: String,
621
+ os: String,
622
+ os_features: T::Array[String],
623
+ os_version: String,
624
+ variant: String
625
+ ).returns(T.attached_class)
626
+ end
627
+ def self.new(
628
+ # The CPU architecture, for example `amd64` or `ppc64`.
629
+ architecture: nil,
630
+ # The operating system, for example `linux` or `windows`.
631
+ os: nil,
632
+ # Optional field specifying an array of strings, each listing a required OS
633
+ # feature (for example on Windows `win32k`).
634
+ os_features: nil,
635
+ # Optional field specifying the operating system version, for example on Windows
636
+ # `10.0.19041.1165`.
637
+ os_version: nil,
638
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
639
+ # ARMv7 when architecture is `arm`.
640
+ variant: nil
641
+ )
642
+ end
643
+
644
+ sig do
645
+ override.returns(
646
+ {
647
+ architecture: String,
648
+ os: String,
649
+ os_features: T::Array[String],
650
+ os_version: String,
651
+ variant: String
652
+ }
653
+ )
654
+ end
655
+ def to_hash
656
+ end
657
+ end
658
+ end
659
+
660
+ class Mount < DockerEngine::Internal::Type::BaseModel
661
+ OrHash =
662
+ T.type_alias do
663
+ T.any(DockerEngine::Summary::Mount, DockerEngine::Internal::AnyHash)
664
+ end
665
+
666
+ # Destination is the path relative to the container root (`/`) where the `Source`
667
+ # is mounted inside the container.
668
+ sig { returns(T.nilable(String)) }
669
+ attr_reader :destination
670
+
671
+ sig { params(destination: String).void }
672
+ attr_writer :destination
673
+
674
+ # Driver is the volume driver used to create the volume (if it is a volume).
675
+ sig { returns(T.nilable(String)) }
676
+ attr_reader :driver
677
+
678
+ sig { params(driver: String).void }
679
+ attr_writer :driver
680
+
681
+ # Mode is a comma separated list of options supplied by the user when creating the
682
+ # bind/volume mount.
683
+ #
684
+ # The default is platform-specific (`"z"` on Linux, empty on Windows).
685
+ sig { returns(T.nilable(String)) }
686
+ attr_reader :mode
687
+
688
+ sig { params(mode: String).void }
689
+ attr_writer :mode
690
+
691
+ # Name is the name reference to the underlying data defined by `Source` e.g., the
692
+ # volume name.
693
+ sig { returns(T.nilable(String)) }
694
+ attr_reader :name
695
+
696
+ sig { params(name: String).void }
697
+ attr_writer :name
698
+
699
+ # Propagation describes how mounts are propagated from the host into the mount
700
+ # point, and vice-versa. Refer to the
701
+ # [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)
702
+ # for details. This field is not used on Windows.
703
+ sig { returns(T.nilable(String)) }
704
+ attr_reader :propagation
705
+
706
+ sig { params(propagation: String).void }
707
+ attr_writer :propagation
708
+
709
+ # Whether the mount is mounted writable (read-write).
710
+ sig { returns(T.nilable(T::Boolean)) }
711
+ attr_reader :rw
712
+
713
+ sig { params(rw: T::Boolean).void }
714
+ attr_writer :rw
715
+
716
+ # Source location of the mount.
717
+ #
718
+ # For volumes, this contains the storage location of the volume (within
719
+ # `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains the
720
+ # source (host) part of the bind-mount. For `tmpfs` mount points, this field is
721
+ # empty.
722
+ sig { returns(T.nilable(String)) }
723
+ attr_reader :source
724
+
725
+ sig { params(source: String).void }
726
+ attr_writer :source
727
+
728
+ # The mount type. Available types:
729
+ #
730
+ # - `bind` a mount of a file or directory from the host into the container.
731
+ # - `cluster` a Swarm cluster volume.
732
+ # - `image` an OCI image.
733
+ # - `npipe` a named pipe from the host into the container.
734
+ # - `tmpfs` a `tmpfs`.
735
+ # - `volume` a docker volume with the given `Name`.
736
+ sig do
737
+ returns(T.nilable(DockerEngine::Summary::Mount::Type::TaggedSymbol))
738
+ end
739
+ attr_reader :type
740
+
741
+ sig { params(type: DockerEngine::Summary::Mount::Type::OrSymbol).void }
742
+ attr_writer :type
743
+
744
+ # MountPoint represents a mount point configuration inside the container. This is
745
+ # used for reporting the mountpoints in use by a container.
746
+ sig do
747
+ params(
748
+ destination: String,
749
+ driver: String,
750
+ mode: String,
751
+ name: String,
752
+ propagation: String,
753
+ rw: T::Boolean,
754
+ source: String,
755
+ type: DockerEngine::Summary::Mount::Type::OrSymbol
756
+ ).returns(T.attached_class)
757
+ end
758
+ def self.new(
759
+ # Destination is the path relative to the container root (`/`) where the `Source`
760
+ # is mounted inside the container.
761
+ destination: nil,
762
+ # Driver is the volume driver used to create the volume (if it is a volume).
763
+ driver: nil,
764
+ # Mode is a comma separated list of options supplied by the user when creating the
765
+ # bind/volume mount.
766
+ #
767
+ # The default is platform-specific (`"z"` on Linux, empty on Windows).
768
+ mode: nil,
769
+ # Name is the name reference to the underlying data defined by `Source` e.g., the
770
+ # volume name.
771
+ name: nil,
772
+ # Propagation describes how mounts are propagated from the host into the mount
773
+ # point, and vice-versa. Refer to the
774
+ # [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)
775
+ # for details. This field is not used on Windows.
776
+ propagation: nil,
777
+ # Whether the mount is mounted writable (read-write).
778
+ rw: nil,
779
+ # Source location of the mount.
780
+ #
781
+ # For volumes, this contains the storage location of the volume (within
782
+ # `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains the
783
+ # source (host) part of the bind-mount. For `tmpfs` mount points, this field is
784
+ # empty.
785
+ source: nil,
786
+ # The mount type. Available types:
787
+ #
788
+ # - `bind` a mount of a file or directory from the host into the container.
789
+ # - `cluster` a Swarm cluster volume.
790
+ # - `image` an OCI image.
791
+ # - `npipe` a named pipe from the host into the container.
792
+ # - `tmpfs` a `tmpfs`.
793
+ # - `volume` a docker volume with the given `Name`.
794
+ type: nil
795
+ )
796
+ end
797
+
798
+ sig do
799
+ override.returns(
800
+ {
801
+ destination: String,
802
+ driver: String,
803
+ mode: String,
804
+ name: String,
805
+ propagation: String,
806
+ rw: T::Boolean,
807
+ source: String,
808
+ type: DockerEngine::Summary::Mount::Type::TaggedSymbol
809
+ }
810
+ )
811
+ end
812
+ def to_hash
813
+ end
814
+
815
+ # The mount type. Available types:
816
+ #
817
+ # - `bind` a mount of a file or directory from the host into the container.
818
+ # - `cluster` a Swarm cluster volume.
819
+ # - `image` an OCI image.
820
+ # - `npipe` a named pipe from the host into the container.
821
+ # - `tmpfs` a `tmpfs`.
822
+ # - `volume` a docker volume with the given `Name`.
823
+ module Type
824
+ extend DockerEngine::Internal::Type::Enum
825
+
826
+ TaggedSymbol =
827
+ T.type_alias { T.all(Symbol, DockerEngine::Summary::Mount::Type) }
828
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
829
+
830
+ BIND = T.let(:bind, DockerEngine::Summary::Mount::Type::TaggedSymbol)
831
+ CLUSTER =
832
+ T.let(:cluster, DockerEngine::Summary::Mount::Type::TaggedSymbol)
833
+ IMAGE =
834
+ T.let(:image, DockerEngine::Summary::Mount::Type::TaggedSymbol)
835
+ NPIPE =
836
+ T.let(:npipe, DockerEngine::Summary::Mount::Type::TaggedSymbol)
837
+ TMPFS =
838
+ T.let(:tmpfs, DockerEngine::Summary::Mount::Type::TaggedSymbol)
839
+ VOLUME =
840
+ T.let(:volume, DockerEngine::Summary::Mount::Type::TaggedSymbol)
841
+
842
+ sig do
843
+ override.returns(
844
+ T::Array[DockerEngine::Summary::Mount::Type::TaggedSymbol]
845
+ )
846
+ end
847
+ def self.values
848
+ end
849
+ end
850
+ end
851
+
852
+ class NetworkSettings < DockerEngine::Internal::Type::BaseModel
853
+ OrHash =
854
+ T.type_alias do
855
+ T.any(
856
+ DockerEngine::Summary::NetworkSettings,
857
+ DockerEngine::Internal::AnyHash
858
+ )
859
+ end
860
+
861
+ # Summary of network-settings for each network the container is attached to.
862
+ sig do
863
+ returns(
864
+ T.nilable(
865
+ T::Hash[Symbol, DockerEngine::Summary::NetworkSettings::Network]
866
+ )
867
+ )
868
+ end
869
+ attr_reader :networks
870
+
871
+ sig do
872
+ params(
873
+ networks:
874
+ T::Hash[
875
+ Symbol,
876
+ DockerEngine::Summary::NetworkSettings::Network::OrHash
877
+ ]
878
+ ).void
879
+ end
880
+ attr_writer :networks
881
+
882
+ # Summary of the container's network settings
883
+ sig do
884
+ params(
885
+ networks:
886
+ T::Hash[
887
+ Symbol,
888
+ DockerEngine::Summary::NetworkSettings::Network::OrHash
889
+ ]
890
+ ).returns(T.attached_class)
891
+ end
892
+ def self.new(
893
+ # Summary of network-settings for each network the container is attached to.
894
+ networks: nil
895
+ )
896
+ end
897
+
898
+ sig do
899
+ override.returns(
900
+ {
901
+ networks:
902
+ T::Hash[Symbol, DockerEngine::Summary::NetworkSettings::Network]
903
+ }
904
+ )
905
+ end
906
+ def to_hash
907
+ end
908
+
909
+ class Network < DockerEngine::Internal::Type::BaseModel
910
+ OrHash =
911
+ T.type_alias do
912
+ T.any(
913
+ DockerEngine::Summary::NetworkSettings::Network,
914
+ DockerEngine::Internal::AnyHash
915
+ )
916
+ end
917
+
918
+ sig { returns(T.nilable(T::Array[String])) }
919
+ attr_reader :aliases
920
+
921
+ sig { params(aliases: T::Array[String]).void }
922
+ attr_writer :aliases
923
+
924
+ # List of all DNS names an endpoint has on a specific network. This list is based
925
+ # on the container name, network aliases, container short ID, and hostname.
926
+ #
927
+ # These DNS names are non-fully qualified but can contain several dots. You can
928
+ # get fully qualified DNS names by appending `.<network-name>`. For instance, if
929
+ # container name is `my.ctr` and the network is named `testnet`, `DNSNames` will
930
+ # contain `my.ctr` and the FQDN will be `my.ctr.testnet`.
931
+ sig { returns(T.nilable(T::Array[String])) }
932
+ attr_reader :dns_names
933
+
934
+ sig { params(dns_names: T::Array[String]).void }
935
+ attr_writer :dns_names
936
+
937
+ # DriverOpts is a mapping of driver options and values. These options are passed
938
+ # directly to the driver and are driver specific.
939
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
940
+ attr_accessor :driver_opts
941
+
942
+ # Unique ID for the service endpoint in a Sandbox.
943
+ sig { returns(T.nilable(String)) }
944
+ attr_reader :endpoint_id
945
+
946
+ sig { params(endpoint_id: String).void }
947
+ attr_writer :endpoint_id
948
+
949
+ # Gateway address for this network.
950
+ sig { returns(T.nilable(String)) }
951
+ attr_reader :gateway
952
+
953
+ sig { params(gateway: String).void }
954
+ attr_writer :gateway
955
+
956
+ # Global IPv6 address.
957
+ sig { returns(T.nilable(String)) }
958
+ attr_reader :global_i_pv6_address
959
+
960
+ sig { params(global_i_pv6_address: String).void }
961
+ attr_writer :global_i_pv6_address
962
+
963
+ # Mask length of the global IPv6 address.
964
+ sig { returns(T.nilable(Integer)) }
965
+ attr_reader :global_i_pv6_prefix_len
966
+
967
+ sig { params(global_i_pv6_prefix_len: Integer).void }
968
+ attr_writer :global_i_pv6_prefix_len
969
+
970
+ # This property determines which endpoint will provide the default gateway for a
971
+ # container. The endpoint with the highest priority will be used. If multiple
972
+ # endpoints have the same priority, endpoints are lexicographically sorted based
973
+ # on their network name, and the one that sorts first is picked.
974
+ sig { returns(T.nilable(Integer)) }
975
+ attr_reader :gw_priority
976
+
977
+ sig { params(gw_priority: Integer).void }
978
+ attr_writer :gw_priority
979
+
980
+ # IPv4 address.
981
+ sig { returns(T.nilable(String)) }
982
+ attr_reader :ip_address
983
+
984
+ sig { params(ip_address: String).void }
985
+ attr_writer :ip_address
986
+
987
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
988
+ sig do
989
+ returns(
990
+ T.nilable(
991
+ DockerEngine::Summary::NetworkSettings::Network::IpamConfig
992
+ )
993
+ )
994
+ end
995
+ attr_reader :ipam_config
996
+
997
+ sig do
998
+ params(
999
+ ipam_config:
1000
+ T.nilable(
1001
+ DockerEngine::Summary::NetworkSettings::Network::IpamConfig::OrHash
1002
+ )
1003
+ ).void
1004
+ end
1005
+ attr_writer :ipam_config
1006
+
1007
+ # Mask length of the IPv4 address.
1008
+ sig { returns(T.nilable(Integer)) }
1009
+ attr_reader :ip_prefix_len
1010
+
1011
+ sig { params(ip_prefix_len: Integer).void }
1012
+ attr_writer :ip_prefix_len
1013
+
1014
+ # IPv6 gateway address.
1015
+ sig { returns(T.nilable(String)) }
1016
+ attr_reader :i_pv6_gateway
1017
+
1018
+ sig { params(i_pv6_gateway: String).void }
1019
+ attr_writer :i_pv6_gateway
1020
+
1021
+ sig { returns(T.nilable(T::Array[String])) }
1022
+ attr_reader :links
1023
+
1024
+ sig { params(links: T::Array[String]).void }
1025
+ attr_writer :links
1026
+
1027
+ # MAC address for the endpoint on this network. The network driver might ignore
1028
+ # this parameter.
1029
+ sig { returns(T.nilable(String)) }
1030
+ attr_reader :mac_address
1031
+
1032
+ sig { params(mac_address: String).void }
1033
+ attr_writer :mac_address
1034
+
1035
+ # Unique ID of the network.
1036
+ sig { returns(T.nilable(String)) }
1037
+ attr_reader :network_id
1038
+
1039
+ sig { params(network_id: String).void }
1040
+ attr_writer :network_id
1041
+
1042
+ # Configuration for a network endpoint.
1043
+ sig do
1044
+ params(
1045
+ aliases: T::Array[String],
1046
+ dns_names: T::Array[String],
1047
+ driver_opts: T.nilable(T::Hash[Symbol, String]),
1048
+ endpoint_id: String,
1049
+ gateway: String,
1050
+ global_i_pv6_address: String,
1051
+ global_i_pv6_prefix_len: Integer,
1052
+ gw_priority: Integer,
1053
+ ip_address: String,
1054
+ ipam_config:
1055
+ T.nilable(
1056
+ DockerEngine::Summary::NetworkSettings::Network::IpamConfig::OrHash
1057
+ ),
1058
+ ip_prefix_len: Integer,
1059
+ i_pv6_gateway: String,
1060
+ links: T::Array[String],
1061
+ mac_address: String,
1062
+ network_id: String
1063
+ ).returns(T.attached_class)
1064
+ end
1065
+ def self.new(
1066
+ aliases: nil,
1067
+ # List of all DNS names an endpoint has on a specific network. This list is based
1068
+ # on the container name, network aliases, container short ID, and hostname.
1069
+ #
1070
+ # These DNS names are non-fully qualified but can contain several dots. You can
1071
+ # get fully qualified DNS names by appending `.<network-name>`. For instance, if
1072
+ # container name is `my.ctr` and the network is named `testnet`, `DNSNames` will
1073
+ # contain `my.ctr` and the FQDN will be `my.ctr.testnet`.
1074
+ dns_names: nil,
1075
+ # DriverOpts is a mapping of driver options and values. These options are passed
1076
+ # directly to the driver and are driver specific.
1077
+ driver_opts: nil,
1078
+ # Unique ID for the service endpoint in a Sandbox.
1079
+ endpoint_id: nil,
1080
+ # Gateway address for this network.
1081
+ gateway: nil,
1082
+ # Global IPv6 address.
1083
+ global_i_pv6_address: nil,
1084
+ # Mask length of the global IPv6 address.
1085
+ global_i_pv6_prefix_len: nil,
1086
+ # This property determines which endpoint will provide the default gateway for a
1087
+ # container. The endpoint with the highest priority will be used. If multiple
1088
+ # endpoints have the same priority, endpoints are lexicographically sorted based
1089
+ # on their network name, and the one that sorts first is picked.
1090
+ gw_priority: nil,
1091
+ # IPv4 address.
1092
+ ip_address: nil,
1093
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
1094
+ ipam_config: nil,
1095
+ # Mask length of the IPv4 address.
1096
+ ip_prefix_len: nil,
1097
+ # IPv6 gateway address.
1098
+ i_pv6_gateway: nil,
1099
+ links: nil,
1100
+ # MAC address for the endpoint on this network. The network driver might ignore
1101
+ # this parameter.
1102
+ mac_address: nil,
1103
+ # Unique ID of the network.
1104
+ network_id: nil
1105
+ )
1106
+ end
1107
+
1108
+ sig do
1109
+ override.returns(
1110
+ {
1111
+ aliases: T::Array[String],
1112
+ dns_names: T::Array[String],
1113
+ driver_opts: T.nilable(T::Hash[Symbol, String]),
1114
+ endpoint_id: String,
1115
+ gateway: String,
1116
+ global_i_pv6_address: String,
1117
+ global_i_pv6_prefix_len: Integer,
1118
+ gw_priority: Integer,
1119
+ ip_address: String,
1120
+ ipam_config:
1121
+ T.nilable(
1122
+ DockerEngine::Summary::NetworkSettings::Network::IpamConfig
1123
+ ),
1124
+ ip_prefix_len: Integer,
1125
+ i_pv6_gateway: String,
1126
+ links: T::Array[String],
1127
+ mac_address: String,
1128
+ network_id: String
1129
+ }
1130
+ )
1131
+ end
1132
+ def to_hash
1133
+ end
1134
+
1135
+ class IpamConfig < DockerEngine::Internal::Type::BaseModel
1136
+ OrHash =
1137
+ T.type_alias do
1138
+ T.any(
1139
+ DockerEngine::Summary::NetworkSettings::Network::IpamConfig,
1140
+ DockerEngine::Internal::AnyHash
1141
+ )
1142
+ end
1143
+
1144
+ sig { returns(T.nilable(String)) }
1145
+ attr_reader :i_pv4_address
1146
+
1147
+ sig { params(i_pv4_address: String).void }
1148
+ attr_writer :i_pv4_address
1149
+
1150
+ sig { returns(T.nilable(String)) }
1151
+ attr_reader :i_pv6_address
1152
+
1153
+ sig { params(i_pv6_address: String).void }
1154
+ attr_writer :i_pv6_address
1155
+
1156
+ sig { returns(T.nilable(T::Array[String])) }
1157
+ attr_reader :link_local_ips
1158
+
1159
+ sig { params(link_local_ips: T::Array[String]).void }
1160
+ attr_writer :link_local_ips
1161
+
1162
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
1163
+ sig do
1164
+ params(
1165
+ i_pv4_address: String,
1166
+ i_pv6_address: String,
1167
+ link_local_ips: T::Array[String]
1168
+ ).returns(T.attached_class)
1169
+ end
1170
+ def self.new(
1171
+ i_pv4_address: nil,
1172
+ i_pv6_address: nil,
1173
+ link_local_ips: nil
1174
+ )
1175
+ end
1176
+
1177
+ sig do
1178
+ override.returns(
1179
+ {
1180
+ i_pv4_address: String,
1181
+ i_pv6_address: String,
1182
+ link_local_ips: T::Array[String]
1183
+ }
1184
+ )
1185
+ end
1186
+ def to_hash
1187
+ end
1188
+ end
1189
+ end
1190
+ end
1191
+
1192
+ class Port < DockerEngine::Internal::Type::BaseModel
1193
+ OrHash =
1194
+ T.type_alias do
1195
+ T.any(DockerEngine::Summary::Port, DockerEngine::Internal::AnyHash)
1196
+ end
1197
+
1198
+ # Port on the container
1199
+ sig { returns(Integer) }
1200
+ attr_accessor :private_port
1201
+
1202
+ sig { returns(DockerEngine::Summary::Port::Type::TaggedSymbol) }
1203
+ attr_accessor :type
1204
+
1205
+ # Host IP address that the container's port is mapped to
1206
+ sig { returns(T.nilable(String)) }
1207
+ attr_reader :ip
1208
+
1209
+ sig { params(ip: String).void }
1210
+ attr_writer :ip
1211
+
1212
+ # Port exposed on the host
1213
+ sig { returns(T.nilable(Integer)) }
1214
+ attr_reader :public_port
1215
+
1216
+ sig { params(public_port: Integer).void }
1217
+ attr_writer :public_port
1218
+
1219
+ # Describes a port-mapping between the container and the host.
1220
+ sig do
1221
+ params(
1222
+ private_port: Integer,
1223
+ type: DockerEngine::Summary::Port::Type::OrSymbol,
1224
+ ip: String,
1225
+ public_port: Integer
1226
+ ).returns(T.attached_class)
1227
+ end
1228
+ def self.new(
1229
+ # Port on the container
1230
+ private_port:,
1231
+ type:,
1232
+ # Host IP address that the container's port is mapped to
1233
+ ip: nil,
1234
+ # Port exposed on the host
1235
+ public_port: nil
1236
+ )
1237
+ end
1238
+
1239
+ sig do
1240
+ override.returns(
1241
+ {
1242
+ private_port: Integer,
1243
+ type: DockerEngine::Summary::Port::Type::TaggedSymbol,
1244
+ ip: String,
1245
+ public_port: Integer
1246
+ }
1247
+ )
1248
+ end
1249
+ def to_hash
1250
+ end
1251
+
1252
+ module Type
1253
+ extend DockerEngine::Internal::Type::Enum
1254
+
1255
+ TaggedSymbol =
1256
+ T.type_alias { T.all(Symbol, DockerEngine::Summary::Port::Type) }
1257
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1258
+
1259
+ TCP = T.let(:tcp, DockerEngine::Summary::Port::Type::TaggedSymbol)
1260
+ UDP = T.let(:udp, DockerEngine::Summary::Port::Type::TaggedSymbol)
1261
+ SCTP = T.let(:sctp, DockerEngine::Summary::Port::Type::TaggedSymbol)
1262
+
1263
+ sig do
1264
+ override.returns(
1265
+ T::Array[DockerEngine::Summary::Port::Type::TaggedSymbol]
1266
+ )
1267
+ end
1268
+ def self.values
1269
+ end
1270
+ end
1271
+ end
1272
+
1273
+ # The state of this container.
1274
+ module State
1275
+ extend DockerEngine::Internal::Type::Enum
1276
+
1277
+ TaggedSymbol =
1278
+ T.type_alias { T.all(Symbol, DockerEngine::Summary::State) }
1279
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1280
+
1281
+ CREATED = T.let(:created, DockerEngine::Summary::State::TaggedSymbol)
1282
+ RUNNING = T.let(:running, DockerEngine::Summary::State::TaggedSymbol)
1283
+ PAUSED = T.let(:paused, DockerEngine::Summary::State::TaggedSymbol)
1284
+ RESTARTING =
1285
+ T.let(:restarting, DockerEngine::Summary::State::TaggedSymbol)
1286
+ EXITED = T.let(:exited, DockerEngine::Summary::State::TaggedSymbol)
1287
+ REMOVING = T.let(:removing, DockerEngine::Summary::State::TaggedSymbol)
1288
+ DEAD = T.let(:dead, DockerEngine::Summary::State::TaggedSymbol)
1289
+
1290
+ sig do
1291
+ override.returns(T::Array[DockerEngine::Summary::State::TaggedSymbol])
1292
+ end
1293
+ def self.values
1294
+ end
1295
+ end
1296
+ end
1297
+ end
1298
+ end