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,164 @@
1
+ # typed: strong
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Images
6
+ # Returns a list of images on the server. Note that it uses a different, smaller
7
+ # representation of an image than inspecting a single image.
8
+ sig do
9
+ params(
10
+ all: T::Boolean,
11
+ digests: T::Boolean,
12
+ filters: String,
13
+ manifests: T::Boolean,
14
+ shared_size: T::Boolean,
15
+ request_options: DockerEngine::RequestOptions::OrHash
16
+ ).returns(T::Array[DockerEngine::Summary])
17
+ end
18
+ def list(
19
+ # Show all images. Only images from a final layer (no children) are shown by
20
+ # default.
21
+ all: nil,
22
+ # Show digest information as a `RepoDigests` field on each image.
23
+ digests: nil,
24
+ # A JSON encoded value of the filters (a `map[string][]string`) to process on the
25
+ # images list.
26
+ #
27
+ # Available filters:
28
+ #
29
+ # - `before`=(`<image-name>[:<tag>]`, `<image id>` or `<image@digest>`)
30
+ # - `dangling=true`
31
+ # - `label=key` or `label="key=value"` of an image label
32
+ # - `reference`=(`<image-name>[:<tag>]`)
33
+ # - `since`=(`<image-name>[:<tag>]`, `<image id>` or `<image@digest>`)
34
+ # - `until=<timestamp>`
35
+ filters: nil,
36
+ # Include `Manifests` in the image summary.
37
+ manifests: nil,
38
+ # Compute and show shared size as a `SharedSize` field on each image.
39
+ shared_size: nil,
40
+ request_options: {}
41
+ )
42
+ end
43
+
44
+ # Remove an image, along with any untagged parent images that were referenced by
45
+ # that image.
46
+ #
47
+ # Images can't be removed if they have descendant images, are being used by a
48
+ # running container or are being used by a build.
49
+ sig do
50
+ params(
51
+ name: String,
52
+ force: T::Boolean,
53
+ noprune: T::Boolean,
54
+ platforms: T::Array[String],
55
+ request_options: DockerEngine::RequestOptions::OrHash
56
+ ).returns(T::Array[DockerEngine::Models::ImageDeleteResponseItem])
57
+ end
58
+ def delete(
59
+ # Image name or ID
60
+ name,
61
+ # Remove the image even if it is being used by stopped containers or has other
62
+ # tags
63
+ force: nil,
64
+ # Do not delete untagged parent images
65
+ noprune: nil,
66
+ # Select platform-specific content to delete. Multiple values are accepted. Each
67
+ # platform is a OCI platform encoded as a JSON string.
68
+ platforms: nil,
69
+ request_options: {}
70
+ )
71
+ end
72
+
73
+ # Return low-level information about an image.
74
+ sig do
75
+ params(
76
+ name: String,
77
+ manifests: T::Boolean,
78
+ request_options: DockerEngine::RequestOptions::OrHash
79
+ ).returns(DockerEngine::Image)
80
+ end
81
+ def inspect_(
82
+ # Image name or id
83
+ name,
84
+ # Include Manifests in the image summary.
85
+ manifests: nil,
86
+ request_options: {}
87
+ )
88
+ end
89
+
90
+ # Pull or import an image.
91
+ sig do
92
+ params(
93
+ changes: T::Array[String],
94
+ from_image: String,
95
+ from_src: String,
96
+ message: String,
97
+ platform: String,
98
+ repo: String,
99
+ tag: String,
100
+ body: String,
101
+ x_registry_auth: String,
102
+ request_options: DockerEngine::RequestOptions::OrHash
103
+ ).void
104
+ end
105
+ def pull(
106
+ # Query param: Apply `Dockerfile` instructions to the image that is created, for
107
+ # example: `changes=ENV DEBUG=true`. Note that `ENV DEBUG=true` should be URI
108
+ # component encoded.
109
+ #
110
+ # Supported `Dockerfile` instructions:
111
+ # `CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`
112
+ changes: nil,
113
+ # Query param: Name of the image to pull. If the name includes a tag or digest,
114
+ # specific behavior applies:
115
+ #
116
+ # - If only `fromImage` includes a tag, that tag is used.
117
+ # - If both `fromImage` and `tag` are provided, `tag` takes precedence.
118
+ # - If `fromImage` includes a digest, the image is pulled by digest, and `tag` is
119
+ # ignored.
120
+ # - If neither a tag nor digest is specified, all tags are pulled.
121
+ from_image: nil,
122
+ # Query param: Source to import. The value may be a URL from which the image can
123
+ # be retrieved or `-` to read the image from the request body. This parameter may
124
+ # only be used when importing an image.
125
+ from_src: nil,
126
+ # Query param: Set commit message for imported image.
127
+ message: nil,
128
+ # Query param: Platform in the format os[/arch[/variant]].
129
+ #
130
+ # When used in combination with the `fromImage` option, the daemon checks if the
131
+ # given image is present in the local image cache with the given OS and
132
+ # Architecture, and otherwise attempts to pull the image. If the option is not
133
+ # set, the host's native OS and Architecture are used. If the given image does not
134
+ # exist in the local image cache, the daemon attempts to pull the image with the
135
+ # host's native OS and Architecture. If the given image does exists in the local
136
+ # image cache, but its OS or architecture does not match, a warning is produced.
137
+ #
138
+ # When used with the `fromSrc` option to import an image from an archive, this
139
+ # option sets the platform information for the imported image. If the option is
140
+ # not set, the host's native OS and Architecture are used for the imported image.
141
+ platform: nil,
142
+ # Query param: Repository name given to an image when it is imported. The repo may
143
+ # include a tag. This parameter may only be used when importing an image.
144
+ repo: nil,
145
+ # Query param: Tag or digest. If empty when pulling an image, this causes all tags
146
+ # for the given image to be pulled.
147
+ tag: nil,
148
+ # Body param
149
+ body: nil,
150
+ # Header param: A base64url-encoded auth configuration.
151
+ #
152
+ # Refer to the [authentication section](#section/Authentication) for details.
153
+ x_registry_auth: nil,
154
+ request_options: {}
155
+ )
156
+ end
157
+
158
+ # @api private
159
+ sig { params(client: DockerEngine::Client).returns(T.attached_class) }
160
+ def self.new(client:)
161
+ end
162
+ end
163
+ end
164
+ end
@@ -0,0 +1,133 @@
1
+ # typed: strong
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Networks
6
+ # Create a network
7
+ sig do
8
+ params(
9
+ name: String,
10
+ attachable: T::Boolean,
11
+ config_from: DockerEngine::NetworkCreateParams::ConfigFrom::OrHash,
12
+ config_only: T::Boolean,
13
+ driver: String,
14
+ enable_i_pv4: T::Boolean,
15
+ enable_i_pv6: T::Boolean,
16
+ ingress: T::Boolean,
17
+ internal: T::Boolean,
18
+ ipam: DockerEngine::NetworkCreateParams::Ipam::OrHash,
19
+ labels: T::Hash[Symbol, String],
20
+ options: T::Hash[Symbol, String],
21
+ scope: String,
22
+ request_options: DockerEngine::RequestOptions::OrHash
23
+ ).returns(DockerEngine::Models::NetworkCreateResponse)
24
+ end
25
+ def create(
26
+ # The network's name.
27
+ name:,
28
+ # Globally scoped network is manually attachable by regular containers from
29
+ # workers in swarm mode.
30
+ attachable: nil,
31
+ # The config-only network source to provide the configuration for this network.
32
+ config_from: nil,
33
+ # Creates a config-only network. Config-only networks are placeholder networks for
34
+ # network configurations to be used by other networks. Config-only networks cannot
35
+ # be used directly to run containers or services.
36
+ config_only: nil,
37
+ # Name of the network driver plugin to use.
38
+ driver: nil,
39
+ # Enable IPv4 on the network.
40
+ enable_i_pv4: nil,
41
+ # Enable IPv6 on the network.
42
+ enable_i_pv6: nil,
43
+ # Ingress network is the network which provides the routing-mesh in swarm mode.
44
+ ingress: nil,
45
+ # Restrict external access to the network.
46
+ internal: nil,
47
+ ipam: nil,
48
+ # User-defined key/value metadata.
49
+ labels: nil,
50
+ # Network specific options to be used by the drivers.
51
+ options: nil,
52
+ # The level at which the network exists (e.g. `swarm` for cluster-wide or `local`
53
+ # for machine level).
54
+ scope: nil,
55
+ request_options: {}
56
+ )
57
+ end
58
+
59
+ # Returns a list of networks. For details on the format, see the
60
+ # [network inspect endpoint](#operation/NetworkInspect).
61
+ #
62
+ # Note that it uses a different, smaller representation of a network than
63
+ # inspecting a single network. For example, the list of containers attached to the
64
+ # network is not propagated in API versions 1.28 and up.
65
+ sig do
66
+ params(
67
+ filters: String,
68
+ request_options: DockerEngine::RequestOptions::OrHash
69
+ ).returns(T::Array[DockerEngine::Summary])
70
+ end
71
+ def list(
72
+ # JSON encoded value of the filters (a `map[string][]string`) to process on the
73
+ # networks list.
74
+ #
75
+ # Available filters:
76
+ #
77
+ # - `dangling=<boolean>` When set to `true` (or `1`), returns all networks that
78
+ # are not in use by a container. When set to `false` (or `0`), only networks
79
+ # that are in use by one or more containers are returned.
80
+ # - `driver=<driver-name>` Matches a network's driver.
81
+ # - `id=<network-id>` Matches all or part of a network ID.
82
+ # - `label=<key>` or `label=<key>=<value>` of a network label.
83
+ # - `name=<network-name>` Matches all or part of a network name.
84
+ # - `scope=["swarm"|"global"|"local"]` Filters networks by scope (`swarm`,
85
+ # `global`, or `local`).
86
+ # - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword
87
+ # returns all user-defined networks.
88
+ filters: nil,
89
+ request_options: {}
90
+ )
91
+ end
92
+
93
+ # Remove a network
94
+ sig do
95
+ params(
96
+ id: String,
97
+ request_options: DockerEngine::RequestOptions::OrHash
98
+ ).void
99
+ end
100
+ def delete(
101
+ # Network ID or name
102
+ id,
103
+ request_options: {}
104
+ )
105
+ end
106
+
107
+ # Inspect a network
108
+ sig do
109
+ params(
110
+ id: String,
111
+ scope: String,
112
+ verbose: T::Boolean,
113
+ request_options: DockerEngine::RequestOptions::OrHash
114
+ ).returns(DockerEngine::Models::NetworkInspectResponse)
115
+ end
116
+ def inspect_(
117
+ # Network ID or name
118
+ id,
119
+ # Filter the network by scope (swarm, global, or local)
120
+ scope: nil,
121
+ # Detailed inspect output for troubleshooting
122
+ verbose: nil,
123
+ request_options: {}
124
+ )
125
+ end
126
+
127
+ # @api private
128
+ sig { params(client: DockerEngine::Client).returns(T.attached_class) }
129
+ def self.new(client:)
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,88 @@
1
+ # typed: strong
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Services
6
+ # Create a service
7
+ sig do
8
+ params(
9
+ spec: DockerEngine::ServiceCreateParams::Spec::OrHash,
10
+ x_registry_auth: String,
11
+ request_options: DockerEngine::RequestOptions::OrHash
12
+ ).returns(DockerEngine::Models::ServiceCreateResponse)
13
+ end
14
+ def create(
15
+ # Body param: User modifiable configuration for a service.
16
+ spec:,
17
+ # Header param: A base64url-encoded auth configuration for pulling from private
18
+ # registries.
19
+ #
20
+ # Refer to the [authentication section](#section/Authentication) for details.
21
+ x_registry_auth: nil,
22
+ request_options: {}
23
+ )
24
+ end
25
+
26
+ # List services
27
+ sig do
28
+ params(
29
+ filters: String,
30
+ status: T::Boolean,
31
+ request_options: DockerEngine::RequestOptions::OrHash
32
+ ).returns(T::Array[DockerEngine::Service])
33
+ end
34
+ def list(
35
+ # A JSON encoded value of the filters (a `map[string][]string`) to process on the
36
+ # services list.
37
+ #
38
+ # Available filters:
39
+ #
40
+ # - `id=<service id>`
41
+ # - `label=<service label>`
42
+ # - `mode=["replicated"|"global"]`
43
+ # - `name=<service name>`
44
+ filters: nil,
45
+ # Include service status, with count of running and desired tasks.
46
+ status: nil,
47
+ request_options: {}
48
+ )
49
+ end
50
+
51
+ # Delete a service
52
+ sig do
53
+ params(
54
+ id: String,
55
+ request_options: DockerEngine::RequestOptions::OrHash
56
+ ).void
57
+ end
58
+ def delete(
59
+ # ID or name of service.
60
+ id,
61
+ request_options: {}
62
+ )
63
+ end
64
+
65
+ # Inspect a service
66
+ sig do
67
+ params(
68
+ id: String,
69
+ insert_defaults: T::Boolean,
70
+ request_options: DockerEngine::RequestOptions::OrHash
71
+ ).returns(DockerEngine::Service)
72
+ end
73
+ def inspect_(
74
+ # ID or name of service.
75
+ id,
76
+ # Fill empty fields with default values.
77
+ insert_defaults: nil,
78
+ request_options: {}
79
+ )
80
+ end
81
+
82
+ # @api private
83
+ sig { params(client: DockerEngine::Client).returns(T.attached_class) }
84
+ def self.new(client:)
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class System
6
+ # Get system information
7
+ sig do
8
+ params(request_options: DockerEngine::RequestOptions::OrHash).returns(
9
+ DockerEngine::Models::SystemInfoResponse
10
+ )
11
+ end
12
+ def info(request_options: {})
13
+ end
14
+
15
+ # This is a dummy endpoint you can use to test if the server is accessible.
16
+ sig do
17
+ params(request_options: DockerEngine::RequestOptions::OrHash).returns(
18
+ String
19
+ )
20
+ end
21
+ def ping(request_options: {})
22
+ end
23
+
24
+ # Returns the version of Docker that is running and various information about the
25
+ # system that Docker is running on.
26
+ sig do
27
+ params(request_options: DockerEngine::RequestOptions::OrHash).returns(
28
+ DockerEngine::Models::SystemVersionResponse
29
+ )
30
+ end
31
+ def version(request_options: {})
32
+ end
33
+
34
+ # @api private
35
+ sig { params(client: DockerEngine::Client).returns(T.attached_class) }
36
+ def self.new(client:)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Volumes
6
+ # Create a volume
7
+ sig do
8
+ params(
9
+ create_request: DockerEngine::CreateRequest::OrHash,
10
+ request_options: DockerEngine::RequestOptions::OrHash
11
+ ).returns(DockerEngine::Volume)
12
+ end
13
+ def create(
14
+ # Volume configuration
15
+ create_request:,
16
+ request_options: {}
17
+ )
18
+ end
19
+
20
+ # List volumes
21
+ sig do
22
+ params(
23
+ filters: String,
24
+ request_options: DockerEngine::RequestOptions::OrHash
25
+ ).returns(DockerEngine::Models::VolumeListResponse)
26
+ end
27
+ def list(
28
+ # JSON encoded value of the filters (a `map[string][]string`) to process on the
29
+ # volumes list. Available filters:
30
+ #
31
+ # - `dangling=<boolean>` When set to `true` (or `1`), returns all volumes that are
32
+ # not in use by a container. When set to `false` (or `0`), only volumes that are
33
+ # in use by one or more containers are returned.
34
+ # - `driver=<volume-driver-name>` Matches volumes based on their driver.
35
+ # - `label=<key>` or `label=<key>:<value>` Matches volumes based on the presence
36
+ # of a `label` alone or a `label` and a value.
37
+ # - `name=<volume-name>` Matches all or part of a volume name.
38
+ filters: nil,
39
+ request_options: {}
40
+ )
41
+ end
42
+
43
+ # Instruct the driver to remove the volume.
44
+ sig do
45
+ params(
46
+ name: String,
47
+ force: T::Boolean,
48
+ request_options: DockerEngine::RequestOptions::OrHash
49
+ ).void
50
+ end
51
+ def delete(
52
+ # Volume name or ID
53
+ name,
54
+ # Force the removal of the volume
55
+ force: nil,
56
+ request_options: {}
57
+ )
58
+ end
59
+
60
+ # Inspect a volume
61
+ sig do
62
+ params(
63
+ name: String,
64
+ request_options: DockerEngine::RequestOptions::OrHash
65
+ ).returns(DockerEngine::Volume)
66
+ end
67
+ def inspect_(
68
+ # Volume name or ID
69
+ name,
70
+ request_options: {}
71
+ )
72
+ end
73
+
74
+ # @api private
75
+ sig { params(client: DockerEngine::Client).returns(T.attached_class) }
76
+ def self.new(client:)
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,5 @@
1
+ # typed: strong
2
+
3
+ module DockerEngine
4
+ VERSION = T.let(T.unsafe(nil), String)
5
+ end
@@ -0,0 +1,33 @@
1
+ module DockerEngine
2
+ class Client < DockerEngine::Internal::Transport::BaseClient
3
+ DEFAULT_MAX_RETRIES: 2
4
+
5
+ DEFAULT_TIMEOUT_IN_SECONDS: Float
6
+
7
+ DEFAULT_INITIAL_RETRY_DELAY: Float
8
+
9
+ DEFAULT_MAX_RETRY_DELAY: Float
10
+
11
+ attr_reader auth: DockerEngine::Resources::Auth
12
+
13
+ attr_reader system_: DockerEngine::Resources::System
14
+
15
+ attr_reader containers: DockerEngine::Resources::Containers
16
+
17
+ attr_reader images: DockerEngine::Resources::Images
18
+
19
+ attr_reader networks: DockerEngine::Resources::Networks
20
+
21
+ attr_reader volumes: DockerEngine::Resources::Volumes
22
+
23
+ attr_reader services: DockerEngine::Resources::Services
24
+
25
+ def initialize: (
26
+ ?base_url: String?,
27
+ ?max_retries: Integer,
28
+ ?timeout: Float,
29
+ ?initial_retry_delay: Float,
30
+ ?max_retry_delay: Float
31
+ ) -> void
32
+ end
33
+ end
@@ -0,0 +1,117 @@
1
+ module DockerEngine
2
+ module Errors
3
+ class Error < StandardError
4
+ attr_accessor cause: StandardError?
5
+ end
6
+
7
+ class ConversionError < DockerEngine::Errors::Error
8
+ def cause: -> StandardError?
9
+
10
+ def initialize: (
11
+ on: Class,
12
+ method: Symbol,
13
+ target: top,
14
+ value: top,
15
+ ?cause: StandardError?
16
+ ) -> void
17
+ end
18
+
19
+ class APIError < DockerEngine::Errors::Error
20
+ attr_accessor url: URI::Generic
21
+
22
+ attr_accessor status: Integer?
23
+
24
+ attr_accessor headers: ::Hash[String, String]?
25
+
26
+ attr_accessor body: top?
27
+
28
+ def initialize: (
29
+ url: URI::Generic,
30
+ ?status: Integer?,
31
+ ?headers: ::Hash[String, String]?,
32
+ ?body: Object?,
33
+ ?request: nil,
34
+ ?response: nil,
35
+ ?message: String?
36
+ ) -> void
37
+ end
38
+
39
+ class APIConnectionError < DockerEngine::Errors::APIError
40
+ def initialize: (
41
+ url: URI::Generic,
42
+ ?status: nil,
43
+ ?headers: ::Hash[String, String]?,
44
+ ?body: nil,
45
+ ?request: nil,
46
+ ?response: nil,
47
+ ?message: String?
48
+ ) -> void
49
+ end
50
+
51
+ class APITimeoutError < DockerEngine::Errors::APIConnectionError
52
+ def initialize: (
53
+ url: URI::Generic,
54
+ ?status: nil,
55
+ ?headers: ::Hash[String, String]?,
56
+ ?body: nil,
57
+ ?request: nil,
58
+ ?response: nil,
59
+ ?message: String?
60
+ ) -> void
61
+ end
62
+
63
+ class APIStatusError < DockerEngine::Errors::APIError
64
+ def self.for: (
65
+ url: URI::Generic,
66
+ status: Integer,
67
+ headers: ::Hash[String, String]?,
68
+ body: Object?,
69
+ request: nil,
70
+ response: nil,
71
+ ?message: String?
72
+ ) -> instance
73
+
74
+ def initialize: (
75
+ url: URI::Generic,
76
+ status: Integer,
77
+ headers: ::Hash[String, String]?,
78
+ body: Object?,
79
+ request: nil,
80
+ response: nil,
81
+ ?message: String?
82
+ ) -> void
83
+ end
84
+
85
+ class BadRequestError < DockerEngine::Errors::APIStatusError
86
+ HTTP_STATUS: 400
87
+ end
88
+
89
+ class AuthenticationError < DockerEngine::Errors::APIStatusError
90
+ HTTP_STATUS: 401
91
+ end
92
+
93
+ class PermissionDeniedError < DockerEngine::Errors::APIStatusError
94
+ HTTP_STATUS: 403
95
+ end
96
+
97
+ class NotFoundError < DockerEngine::Errors::APIStatusError
98
+ HTTP_STATUS: 404
99
+ end
100
+
101
+ class ConflictError < DockerEngine::Errors::APIStatusError
102
+ HTTP_STATUS: 409
103
+ end
104
+
105
+ class UnprocessableEntityError < DockerEngine::Errors::APIStatusError
106
+ HTTP_STATUS: 422
107
+ end
108
+
109
+ class RateLimitError < DockerEngine::Errors::APIStatusError
110
+ HTTP_STATUS: 429
111
+ end
112
+
113
+ class InternalServerError < DockerEngine::Errors::APIStatusError
114
+ HTTP_STATUS: Range[Integer]
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,21 @@
1
+ module DockerEngine
2
+ class FilePart
3
+ attr_reader content: Pathname | StringIO | IO | String
4
+
5
+ attr_reader content_type: String?
6
+
7
+ attr_reader filename: String?
8
+
9
+ private def read: -> String
10
+
11
+ def to_json: (*top a) -> String
12
+
13
+ def to_yaml: (*top a) -> String
14
+
15
+ def initialize: (
16
+ Pathname | StringIO | IO | String content,
17
+ ?filename: (Pathname | String)?,
18
+ ?content_type: String?
19
+ ) -> void
20
+ end
21
+ end