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,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Models
5
+ # @see DockerEngine::Resources::Volumes#inspect_
6
+ class VolumeInspectParams < DockerEngine::Internal::Type::BaseModel
7
+ extend DockerEngine::Internal::Type::RequestParameters::Converter
8
+ include DockerEngine::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Models
5
+ # @see DockerEngine::Resources::Volumes#list
6
+ class VolumeListParams < DockerEngine::Internal::Type::BaseModel
7
+ extend DockerEngine::Internal::Type::RequestParameters::Converter
8
+ include DockerEngine::Internal::Type::RequestParameters
9
+
10
+ # @!attribute filters
11
+ # JSON encoded value of the filters (a `map[string][]string`) to process on the
12
+ # volumes list. Available filters:
13
+ #
14
+ # - `dangling=<boolean>` When set to `true` (or `1`), returns all volumes that are
15
+ # not in use by a container. When set to `false` (or `0`), only volumes that are
16
+ # in use by one or more containers are returned.
17
+ # - `driver=<volume-driver-name>` Matches volumes based on their driver.
18
+ # - `label=<key>` or `label=<key>:<value>` Matches volumes based on the presence
19
+ # of a `label` alone or a `label` and a value.
20
+ # - `name=<volume-name>` Matches all or part of a volume name.
21
+ #
22
+ # @return [String, nil]
23
+ optional :filters, String
24
+
25
+ # @!method initialize(filters: nil, request_options: {})
26
+ # Some parameter documentations has been truncated, see
27
+ # {DockerEngine::Models::VolumeListParams} for more details.
28
+ #
29
+ # @param filters [String] JSON encoded value of the filters (a `map[string][]string`) to
30
+ #
31
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}]
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Models
5
+ # @see DockerEngine::Resources::Volumes#list
6
+ class VolumeListResponse < DockerEngine::Internal::Type::BaseModel
7
+ # @!attribute volumes
8
+ # List of volumes
9
+ #
10
+ # @return [Array<DockerEngine::Models::Volume>, nil]
11
+ optional :volumes,
12
+ -> {
13
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Volume]
14
+ },
15
+ api_name: :Volumes
16
+
17
+ # @!attribute warnings
18
+ # Warnings that occurred when fetching the list of volumes.
19
+ #
20
+ # @return [Array<String>, nil]
21
+ optional :warnings, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Warnings
22
+
23
+ # @!method initialize(volumes: nil, warnings: nil)
24
+ # Some parameter documentations has been truncated, see
25
+ # {DockerEngine::Models::VolumeListResponse} for more details.
26
+ #
27
+ # Volume list response
28
+ #
29
+ # @param volumes [Array<DockerEngine::Models::Volume>] List of volumes
30
+ #
31
+ # @param warnings [Array<String>] Warnings that occurred when fetching the list of volumes.
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ [DockerEngine::Internal::Type::BaseModel, *DockerEngine::Internal::Type::BaseModel.subclasses].each do |cls|
5
+ cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, DockerEngine::Internal::AnyHash) } }
6
+ end
7
+
8
+ DockerEngine::Internal::Util.walk_namespaces(DockerEngine::Models).each do |mod|
9
+ case mod
10
+ in DockerEngine::Internal::Type::Enum | DockerEngine::Internal::Type::Union
11
+ mod.constants.each do |name|
12
+ case mod.const_get(name)
13
+ in true | false
14
+ mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
15
+ mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
16
+ in Integer
17
+ mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
18
+ mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
19
+ in Float
20
+ mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
21
+ mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
22
+ in Symbol
23
+ mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
24
+ mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
25
+ else
26
+ end
27
+ end
28
+ else
29
+ end
30
+ end
31
+
32
+ DockerEngine::Internal::Util.walk_namespaces(DockerEngine::Models)
33
+ .lazy
34
+ .grep(DockerEngine::Internal::Type::Union)
35
+ .each do |mod|
36
+ const = :Variants
37
+ next if mod.sorbet_constant_defined?(const)
38
+
39
+ mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
+ end
41
+
42
+ AuthLoginParams = DockerEngine::Models::AuthLoginParams
43
+
44
+ AuthResponse = DockerEngine::Models::AuthResponse
45
+
46
+ Config = DockerEngine::Models::Config
47
+
48
+ Container = DockerEngine::Models::Container
49
+
50
+ ContainerCreateParams = DockerEngine::Models::ContainerCreateParams
51
+
52
+ ContainerDeleteParams = DockerEngine::Models::ContainerDeleteParams
53
+
54
+ ContainerInspectParams = DockerEngine::Models::ContainerInspectParams
55
+
56
+ ContainerKillParams = DockerEngine::Models::ContainerKillParams
57
+
58
+ ContainerListParams = DockerEngine::Models::ContainerListParams
59
+
60
+ ContainerLogsParams = DockerEngine::Models::ContainerLogsParams
61
+
62
+ ContainerStartParams = DockerEngine::Models::ContainerStartParams
63
+
64
+ ContainerStopParams = DockerEngine::Models::ContainerStopParams
65
+
66
+ CreateRequest = DockerEngine::Models::CreateRequest
67
+
68
+ CreateResponse = DockerEngine::Models::CreateResponse
69
+
70
+ Error = DockerEngine::Models::Error
71
+
72
+ Image = DockerEngine::Models::Image
73
+
74
+ ImageDeleteParams = DockerEngine::Models::ImageDeleteParams
75
+
76
+ ImageInspectParams = DockerEngine::Models::ImageInspectParams
77
+
78
+ ImageListParams = DockerEngine::Models::ImageListParams
79
+
80
+ ImagePullParams = DockerEngine::Models::ImagePullParams
81
+
82
+ Network = DockerEngine::Models::Network
83
+
84
+ NetworkCreateParams = DockerEngine::Models::NetworkCreateParams
85
+
86
+ NetworkDeleteParams = DockerEngine::Models::NetworkDeleteParams
87
+
88
+ NetworkInspectParams = DockerEngine::Models::NetworkInspectParams
89
+
90
+ NetworkListParams = DockerEngine::Models::NetworkListParams
91
+
92
+ Service = DockerEngine::Models::Service
93
+
94
+ ServiceCreateParams = DockerEngine::Models::ServiceCreateParams
95
+
96
+ ServiceDeleteParams = DockerEngine::Models::ServiceDeleteParams
97
+
98
+ ServiceInspectParams = DockerEngine::Models::ServiceInspectParams
99
+
100
+ ServiceListParams = DockerEngine::Models::ServiceListParams
101
+
102
+ Spec = DockerEngine::Models::Spec
103
+
104
+ Summary = DockerEngine::Models::Summary
105
+
106
+ SystemInfoParams = DockerEngine::Models::SystemInfoParams
107
+
108
+ SystemPingParams = DockerEngine::Models::SystemPingParams
109
+
110
+ SystemVersionParams = DockerEngine::Models::SystemVersionParams
111
+
112
+ Volume = DockerEngine::Models::Volume
113
+
114
+ VolumeCreateParams = DockerEngine::Models::VolumeCreateParams
115
+
116
+ VolumeDeleteParams = DockerEngine::Models::VolumeDeleteParams
117
+
118
+ VolumeInspectParams = DockerEngine::Models::VolumeInspectParams
119
+
120
+ VolumeListParams = DockerEngine::Models::VolumeListParams
121
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < DockerEngine::Internal::Type::BaseModel
10
+ # @api private
11
+ #
12
+ # @param opts [DockerEngine::RequestOptions, Hash{Symbol=>Object}]
13
+ #
14
+ # @raise [ArgumentError]
15
+ def self.validate!(opts)
16
+ case opts
17
+ in DockerEngine::RequestOptions | Hash
18
+ opts.to_h.each_key do |k|
19
+ unless fields.include?(k)
20
+ raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
21
+ end
22
+ end
23
+ else
24
+ raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
25
+ end
26
+ end
27
+
28
+ # @!attribute idempotency_key
29
+ # Idempotency key to send with request and all associated retries. Will only be
30
+ # sent for write requests.
31
+ #
32
+ # @return [String, nil]
33
+ optional :idempotency_key, String
34
+
35
+ # @!attribute extra_query
36
+ # Extra query params to send with the request. These are `.merge`’d into any
37
+ # `query` given at the client level.
38
+ #
39
+ # @return [Hash{String=>Array<String>, String, nil}, nil]
40
+ optional :extra_query, DockerEngine::Internal::Type::HashOf[DockerEngine::Internal::Type::ArrayOf[String]]
41
+
42
+ # @!attribute extra_headers
43
+ # Extra headers to send with the request. These are `.merged`’d into any
44
+ # `extra_headers` given at the client level.
45
+ #
46
+ # @return [Hash{String=>String, nil}, nil]
47
+ optional :extra_headers, DockerEngine::Internal::Type::HashOf[String, nil?: true]
48
+
49
+ # @!attribute extra_body
50
+ # Extra data to send with the request. These are deep merged into any data
51
+ # generated as part of the normal request.
52
+ #
53
+ # @return [Object, nil]
54
+ optional :extra_body, DockerEngine::Internal::Type::HashOf[DockerEngine::Internal::Type::Unknown]
55
+
56
+ # @!attribute max_retries
57
+ # Maximum number of retries to attempt after a failed initial request.
58
+ #
59
+ # @return [Integer, nil]
60
+ optional :max_retries, Integer
61
+
62
+ # @!attribute timeout
63
+ # Request timeout in seconds.
64
+ #
65
+ # @return [Float, nil]
66
+ optional :timeout, Float
67
+
68
+ # @!method initialize(values = {})
69
+ # Returns a new instance of RequestOptions.
70
+ #
71
+ # @param values [Hash{Symbol=>Object}]
72
+
73
+ define_sorbet_constant!(:OrHash) do
74
+ T.type_alias { T.any(DockerEngine::RequestOptions, DockerEngine::Internal::AnyHash) }
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Auth
6
+ # Validate credentials for a registry and, if available, get an identity token for
7
+ # accessing the registry without password.
8
+ #
9
+ # @overload login(password: nil, serveraddress: nil, username: nil, request_options: {})
10
+ #
11
+ # @param password [String]
12
+ # @param serveraddress [String]
13
+ # @param username [String]
14
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
15
+ #
16
+ # @return [DockerEngine::Models::AuthResponse]
17
+ #
18
+ # @see DockerEngine::Models::AuthLoginParams
19
+ def login(params = {})
20
+ parsed, options = DockerEngine::AuthLoginParams.dump_request(params)
21
+ @client.request(
22
+ method: :post,
23
+ path: "auth",
24
+ body: parsed,
25
+ model: DockerEngine::AuthResponse,
26
+ options: options
27
+ )
28
+ end
29
+
30
+ # @api private
31
+ #
32
+ # @param client [DockerEngine::Client]
33
+ def initialize(client:)
34
+ @client = client
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,258 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Containers
6
+ # Some parameter documentations has been truncated, see
7
+ # {DockerEngine::Models::ContainerCreateParams} for more details.
8
+ #
9
+ # Create a container
10
+ #
11
+ # @overload create(config:, name: nil, platform: nil, request_options: {})
12
+ #
13
+ # @param config [DockerEngine::Models::ContainerCreateParams::Config] Body param: Configuration for a container that is portable between hosts.
14
+ #
15
+ # @param name [String] Query param: Assign the specified name to the container. Must match
16
+ #
17
+ # @param platform [String] Query param: Platform in the format `os[/arch[/variant]]` used for image lookup.
18
+ #
19
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
20
+ #
21
+ # @return [DockerEngine::Models::CreateResponse]
22
+ #
23
+ # @see DockerEngine::Models::ContainerCreateParams
24
+ def create(params)
25
+ parsed, options = DockerEngine::ContainerCreateParams.dump_request(params)
26
+ @client.request(
27
+ method: :post,
28
+ path: "containers/create",
29
+ query: parsed.except(:config),
30
+ body: parsed[:config],
31
+ model: DockerEngine::CreateResponse,
32
+ options: options
33
+ )
34
+ end
35
+
36
+ # Some parameter documentations has been truncated, see
37
+ # {DockerEngine::Models::ContainerListParams} for more details.
38
+ #
39
+ # Returns a list of containers. For details on the format, see the
40
+ # [inspect endpoint](#operation/ContainerInspect).
41
+ #
42
+ # Note that it uses a different, smaller representation of a container than
43
+ # inspecting a single container. For example, the list of linked containers is not
44
+ # propagated .
45
+ #
46
+ # @overload list(all: nil, filters: nil, limit: nil, size: nil, request_options: {})
47
+ #
48
+ # @param all [Boolean] Return all containers. By default, only running containers are shown.
49
+ #
50
+ # @param filters [String] Filters to process on the container list, encoded as JSON (a
51
+ #
52
+ # @param limit [Integer] Return this number of most recently created containers, including
53
+ #
54
+ # @param size [Boolean] Return the size of container as fields `SizeRw` and `SizeRootFs`.
55
+ #
56
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
57
+ #
58
+ # @return [Array<DockerEngine::Models::Summary>]
59
+ #
60
+ # @see DockerEngine::Models::ContainerListParams
61
+ def list(params = {})
62
+ parsed, options = DockerEngine::ContainerListParams.dump_request(params)
63
+ @client.request(
64
+ method: :get,
65
+ path: "containers/json",
66
+ query: parsed,
67
+ model: DockerEngine::Internal::Type::ArrayOf[DockerEngine::Summary],
68
+ options: options
69
+ )
70
+ end
71
+
72
+ # Remove a container
73
+ #
74
+ # @overload delete(id, force: nil, link: nil, v: nil, request_options: {})
75
+ #
76
+ # @param id [String] ID or name of the container
77
+ #
78
+ # @param force [Boolean] If the container is running, kill it before removing it.
79
+ #
80
+ # @param link [Boolean] Remove the specified link associated with the container.
81
+ #
82
+ # @param v [Boolean] Remove anonymous volumes associated with the container.
83
+ #
84
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
85
+ #
86
+ # @return [nil]
87
+ #
88
+ # @see DockerEngine::Models::ContainerDeleteParams
89
+ def delete(id, params = {})
90
+ parsed, options = DockerEngine::ContainerDeleteParams.dump_request(params)
91
+ @client.request(
92
+ method: :delete,
93
+ path: ["containers/%1$s", id],
94
+ query: parsed,
95
+ model: NilClass,
96
+ options: options
97
+ )
98
+ end
99
+
100
+ # Return low-level information about a container.
101
+ #
102
+ # @overload inspect_(id, size: nil, request_options: {})
103
+ #
104
+ # @param id [String] ID or name of the container
105
+ #
106
+ # @param size [Boolean] Return the size of container as fields `SizeRw` and `SizeRootFs`
107
+ #
108
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
109
+ #
110
+ # @return [DockerEngine::Models::Container]
111
+ #
112
+ # @see DockerEngine::Models::ContainerInspectParams
113
+ def inspect_(id, params = {})
114
+ parsed, options = DockerEngine::ContainerInspectParams.dump_request(params)
115
+ @client.request(
116
+ method: :get,
117
+ path: ["containers/%1$s/json", id],
118
+ query: parsed,
119
+ model: DockerEngine::Container,
120
+ options: options
121
+ )
122
+ end
123
+
124
+ # Some parameter documentations has been truncated, see
125
+ # {DockerEngine::Models::ContainerKillParams} for more details.
126
+ #
127
+ # Send a POSIX signal to a container, defaulting to killing to the container.
128
+ #
129
+ # @overload kill(id, signal: nil, request_options: {})
130
+ #
131
+ # @param id [String] ID or name of the container
132
+ #
133
+ # @param signal [String] Signal to send to the container as an integer or string (e.g. `SIGINT`).
134
+ #
135
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
136
+ #
137
+ # @return [nil]
138
+ #
139
+ # @see DockerEngine::Models::ContainerKillParams
140
+ def kill(id, params = {})
141
+ parsed, options = DockerEngine::ContainerKillParams.dump_request(params)
142
+ @client.request(
143
+ method: :post,
144
+ path: ["containers/%1$s/kill", id],
145
+ query: parsed,
146
+ model: NilClass,
147
+ options: options
148
+ )
149
+ end
150
+
151
+ # Some parameter documentations has been truncated, see
152
+ # {DockerEngine::Models::ContainerLogsParams} for more details.
153
+ #
154
+ # Get `stdout` and `stderr` logs from a container.
155
+ #
156
+ # Note: This endpoint works only for containers with the `json-file` or `journald`
157
+ # logging driver.
158
+ #
159
+ # @overload logs(id, follow: nil, since: nil, stderr: nil, stdout: nil, tail: nil, timestamps: nil, until_: nil, request_options: {})
160
+ #
161
+ # @param id [String] ID or name of the container
162
+ #
163
+ # @param follow [Boolean] Keep connection after returning logs.
164
+ #
165
+ # @param since [Integer] Only return logs since this time, as a UNIX timestamp
166
+ #
167
+ # @param stderr [Boolean] Return logs from `stderr`
168
+ #
169
+ # @param stdout [Boolean] Return logs from `stdout`
170
+ #
171
+ # @param tail [String] Only return this number of log lines from the end of the logs.
172
+ #
173
+ # @param timestamps [Boolean] Add timestamps to every log line
174
+ #
175
+ # @param until_ [Integer] Only return logs before this time, as a UNIX timestamp
176
+ #
177
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
178
+ #
179
+ # @return [StringIO]
180
+ #
181
+ # @see DockerEngine::Models::ContainerLogsParams
182
+ def logs(id, params = {})
183
+ parsed, options = DockerEngine::ContainerLogsParams.dump_request(params)
184
+ @client.request(
185
+ method: :get,
186
+ path: ["containers/%1$s/logs", id],
187
+ query: parsed.transform_keys(until_: "until"),
188
+ headers: {"accept" => "application/vnd.docker.multiplexed-stream"},
189
+ model: StringIO,
190
+ options: options
191
+ )
192
+ end
193
+
194
+ # Some parameter documentations has been truncated, see
195
+ # {DockerEngine::Models::ContainerStartParams} for more details.
196
+ #
197
+ # Start a container
198
+ #
199
+ # @overload start(id, detach_keys: nil, request_options: {})
200
+ #
201
+ # @param id [String] ID or name of the container
202
+ #
203
+ # @param detach_keys [String] Override the key sequence for detaching a container. Format is a
204
+ #
205
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
206
+ #
207
+ # @return [nil]
208
+ #
209
+ # @see DockerEngine::Models::ContainerStartParams
210
+ def start(id, params = {})
211
+ parsed, options = DockerEngine::ContainerStartParams.dump_request(params)
212
+ @client.request(
213
+ method: :post,
214
+ path: ["containers/%1$s/start", id],
215
+ query: parsed.transform_keys(detach_keys: "detachKeys"),
216
+ model: NilClass,
217
+ options: options
218
+ )
219
+ end
220
+
221
+ # Some parameter documentations has been truncated, see
222
+ # {DockerEngine::Models::ContainerStopParams} for more details.
223
+ #
224
+ # Stop a container
225
+ #
226
+ # @overload stop(id, signal: nil, t: nil, request_options: {})
227
+ #
228
+ # @param id [String] ID or name of the container
229
+ #
230
+ # @param signal [String] Signal to send to the container as an integer or string (e.g. `SIGINT`).
231
+ #
232
+ # @param t [Integer] Number of seconds to wait before killing the container
233
+ #
234
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
235
+ #
236
+ # @return [nil]
237
+ #
238
+ # @see DockerEngine::Models::ContainerStopParams
239
+ def stop(id, params = {})
240
+ parsed, options = DockerEngine::ContainerStopParams.dump_request(params)
241
+ @client.request(
242
+ method: :post,
243
+ path: ["containers/%1$s/stop", id],
244
+ query: parsed,
245
+ model: NilClass,
246
+ options: options
247
+ )
248
+ end
249
+
250
+ # @api private
251
+ #
252
+ # @param client [DockerEngine::Client]
253
+ def initialize(client:)
254
+ @client = client
255
+ end
256
+ end
257
+ end
258
+ end