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,156 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Images
6
+ # Some parameter documentations has been truncated, see
7
+ # {DockerEngine::Models::ImageListParams} for more details.
8
+ #
9
+ # Returns a list of images on the server. Note that it uses a different, smaller
10
+ # representation of an image than inspecting a single image.
11
+ #
12
+ # @overload list(all: nil, digests: nil, filters: nil, manifests: nil, shared_size: nil, request_options: {})
13
+ #
14
+ # @param all [Boolean] Show all images. Only images from a final layer (no children) are shown by defau
15
+ #
16
+ # @param digests [Boolean] Show digest information as a `RepoDigests` field on each image.
17
+ #
18
+ # @param filters [String] A JSON encoded value of the filters (a `map[string][]string`) to
19
+ #
20
+ # @param manifests [Boolean] Include `Manifests` in the image summary.
21
+ #
22
+ # @param shared_size [Boolean] Compute and show shared size as a `SharedSize` field on each image.
23
+ #
24
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
25
+ #
26
+ # @return [Array<DockerEngine::Models::Summary>]
27
+ #
28
+ # @see DockerEngine::Models::ImageListParams
29
+ def list(params = {})
30
+ parsed, options = DockerEngine::ImageListParams.dump_request(params)
31
+ @client.request(
32
+ method: :get,
33
+ path: "images/json",
34
+ query: parsed.transform_keys(shared_size: "shared-size"),
35
+ model: DockerEngine::Internal::Type::ArrayOf[DockerEngine::Summary],
36
+ options: options
37
+ )
38
+ end
39
+
40
+ # Some parameter documentations has been truncated, see
41
+ # {DockerEngine::Models::ImageDeleteParams} for more details.
42
+ #
43
+ # Remove an image, along with any untagged parent images that were referenced by
44
+ # that image.
45
+ #
46
+ # Images can't be removed if they have descendant images, are being used by a
47
+ # running container or are being used by a build.
48
+ #
49
+ # @overload delete(name, force: nil, noprune: nil, platforms: nil, request_options: {})
50
+ #
51
+ # @param name [String] Image name or ID
52
+ #
53
+ # @param force [Boolean] Remove the image even if it is being used by stopped containers or has other tag
54
+ #
55
+ # @param noprune [Boolean] Do not delete untagged parent images
56
+ #
57
+ # @param platforms [Array<String>] Select platform-specific content to delete.
58
+ #
59
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
60
+ #
61
+ # @return [Array<DockerEngine::Models::ImageDeleteResponseItem>]
62
+ #
63
+ # @see DockerEngine::Models::ImageDeleteParams
64
+ def delete(name, params = {})
65
+ parsed, options = DockerEngine::ImageDeleteParams.dump_request(params)
66
+ @client.request(
67
+ method: :delete,
68
+ path: ["images/%1$s", name],
69
+ query: parsed,
70
+ model: DockerEngine::Internal::Type::ArrayOf[DockerEngine::Models::ImageDeleteResponseItem],
71
+ options: options
72
+ )
73
+ end
74
+
75
+ # Return low-level information about an image.
76
+ #
77
+ # @overload inspect_(name, manifests: nil, request_options: {})
78
+ #
79
+ # @param name [String] Image name or id
80
+ #
81
+ # @param manifests [Boolean] Include Manifests in the image summary.
82
+ #
83
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
84
+ #
85
+ # @return [DockerEngine::Models::Image]
86
+ #
87
+ # @see DockerEngine::Models::ImageInspectParams
88
+ def inspect_(name, params = {})
89
+ parsed, options = DockerEngine::ImageInspectParams.dump_request(params)
90
+ @client.request(
91
+ method: :get,
92
+ path: ["images/%1$s/json", name],
93
+ query: parsed,
94
+ model: DockerEngine::Image,
95
+ options: options
96
+ )
97
+ end
98
+
99
+ # Some parameter documentations has been truncated, see
100
+ # {DockerEngine::Models::ImagePullParams} for more details.
101
+ #
102
+ # Pull or import an image.
103
+ #
104
+ # @overload pull(changes: nil, from_image: nil, from_src: nil, message: nil, platform: nil, repo: nil, tag: nil, body: nil, x_registry_auth: nil, request_options: {})
105
+ #
106
+ # @param changes [Array<String>] Query param: Apply `Dockerfile` instructions to the image that is created,
107
+ #
108
+ # @param from_image [String] Query param: Name of the image to pull. If the name includes a tag or digest, sp
109
+ #
110
+ # @param from_src [String] Query param: Source to import. The value may be a URL from which the image can b
111
+ #
112
+ # @param message [String] Query param: Set commit message for imported image.
113
+ #
114
+ # @param platform [String] Query param: Platform in the format os[/arch[/variant]].
115
+ #
116
+ # @param repo [String] Query param: Repository name given to an image when it is imported. The repo may
117
+ #
118
+ # @param tag [String] Query param: Tag or digest. If empty when pulling an image, this causes all tags
119
+ #
120
+ # @param body [String] Body param
121
+ #
122
+ # @param x_registry_auth [String] Header param: A base64url-encoded auth configuration.
123
+ #
124
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
125
+ #
126
+ # @return [nil]
127
+ #
128
+ # @see DockerEngine::Models::ImagePullParams
129
+ def pull(params = {})
130
+ parsed, options = DockerEngine::ImagePullParams.dump_request(params)
131
+ query_params = [:changes, :from_image, :from_src, :message, :platform, :repo, :tag]
132
+ @client.request(
133
+ method: :post,
134
+ path: "images/create",
135
+ query: parsed.slice(*query_params).transform_keys(from_image: "fromImage", from_src: "fromSrc"),
136
+ headers: {
137
+ "content-type" => "application/octet-stream",
138
+ **parsed.except(:body, *query_params)
139
+ }.transform_keys(
140
+ x_registry_auth: "x-registry-auth"
141
+ ),
142
+ body: parsed[:body],
143
+ model: NilClass,
144
+ options: options
145
+ )
146
+ end
147
+
148
+ # @api private
149
+ #
150
+ # @param client [DockerEngine::Client]
151
+ def initialize(client:)
152
+ @client = client
153
+ end
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,139 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Networks
6
+ # Some parameter documentations has been truncated, see
7
+ # {DockerEngine::Models::NetworkCreateParams} for more details.
8
+ #
9
+ # Create a network
10
+ #
11
+ # @overload create(name:, attachable: nil, config_from: nil, config_only: nil, driver: nil, enable_i_pv4: nil, enable_i_pv6: nil, ingress: nil, internal: nil, ipam: nil, labels: nil, options: nil, scope: nil, request_options: {})
12
+ #
13
+ # @param name [String] The network's name.
14
+ #
15
+ # @param attachable [Boolean] Globally scoped network is manually attachable by regular
16
+ #
17
+ # @param config_from [DockerEngine::Models::NetworkCreateParams::ConfigFrom] The config-only network source to provide the configuration for
18
+ #
19
+ # @param config_only [Boolean] Creates a config-only network. Config-only networks are placeholder
20
+ #
21
+ # @param driver [String] Name of the network driver plugin to use.
22
+ #
23
+ # @param enable_i_pv4 [Boolean] Enable IPv4 on the network.
24
+ #
25
+ # @param enable_i_pv6 [Boolean] Enable IPv6 on the network.
26
+ #
27
+ # @param ingress [Boolean] Ingress network is the network which provides the routing-mesh
28
+ #
29
+ # @param internal [Boolean] Restrict external access to the network.
30
+ #
31
+ # @param ipam [DockerEngine::Models::NetworkCreateParams::Ipam]
32
+ #
33
+ # @param labels [Hash{Symbol=>String}] User-defined key/value metadata.
34
+ #
35
+ # @param options [Hash{Symbol=>String}] Network specific options to be used by the drivers.
36
+ #
37
+ # @param scope [String] The level at which the network exists (e.g. `swarm` for cluster-wide
38
+ #
39
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
40
+ #
41
+ # @return [DockerEngine::Models::NetworkCreateResponse]
42
+ #
43
+ # @see DockerEngine::Models::NetworkCreateParams
44
+ def create(params)
45
+ parsed, options = DockerEngine::NetworkCreateParams.dump_request(params)
46
+ @client.request(
47
+ method: :post,
48
+ path: "networks/create",
49
+ body: parsed,
50
+ model: DockerEngine::Models::NetworkCreateResponse,
51
+ options: options
52
+ )
53
+ end
54
+
55
+ # Some parameter documentations has been truncated, see
56
+ # {DockerEngine::Models::NetworkListParams} for more details.
57
+ #
58
+ # Returns a list of networks. For details on the format, see the
59
+ # [network inspect endpoint](#operation/NetworkInspect).
60
+ #
61
+ # Note that it uses a different, smaller representation of a network than
62
+ # inspecting a single network. For example, the list of containers attached to the
63
+ # network is not propagated in API versions 1.28 and up.
64
+ #
65
+ # @overload list(filters: nil, request_options: {})
66
+ #
67
+ # @param filters [String] JSON encoded value of the filters (a `map[string][]string`) to process
68
+ #
69
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
70
+ #
71
+ # @return [Array<DockerEngine::Models::Summary>]
72
+ #
73
+ # @see DockerEngine::Models::NetworkListParams
74
+ def list(params = {})
75
+ parsed, options = DockerEngine::NetworkListParams.dump_request(params)
76
+ @client.request(
77
+ method: :get,
78
+ path: "networks",
79
+ query: parsed,
80
+ model: DockerEngine::Internal::Type::ArrayOf[DockerEngine::Summary],
81
+ options: options
82
+ )
83
+ end
84
+
85
+ # Remove a network
86
+ #
87
+ # @overload delete(id, request_options: {})
88
+ #
89
+ # @param id [String] Network ID or name
90
+ #
91
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
92
+ #
93
+ # @return [nil]
94
+ #
95
+ # @see DockerEngine::Models::NetworkDeleteParams
96
+ def delete(id, params = {})
97
+ @client.request(
98
+ method: :delete,
99
+ path: ["networks/%1$s", id],
100
+ model: NilClass,
101
+ options: params[:request_options]
102
+ )
103
+ end
104
+
105
+ # Inspect a network
106
+ #
107
+ # @overload inspect_(id, scope: nil, verbose: nil, request_options: {})
108
+ #
109
+ # @param id [String] Network ID or name
110
+ #
111
+ # @param scope [String] Filter the network by scope (swarm, global, or local)
112
+ #
113
+ # @param verbose [Boolean] Detailed inspect output for troubleshooting
114
+ #
115
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
116
+ #
117
+ # @return [DockerEngine::Models::NetworkInspectResponse]
118
+ #
119
+ # @see DockerEngine::Models::NetworkInspectParams
120
+ def inspect_(id, params = {})
121
+ parsed, options = DockerEngine::NetworkInspectParams.dump_request(params)
122
+ @client.request(
123
+ method: :get,
124
+ path: ["networks/%1$s", id],
125
+ query: parsed,
126
+ model: DockerEngine::Models::NetworkInspectResponse,
127
+ options: options
128
+ )
129
+ end
130
+
131
+ # @api private
132
+ #
133
+ # @param client [DockerEngine::Client]
134
+ def initialize(client:)
135
+ @client = client
136
+ end
137
+ end
138
+ end
139
+ end
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Services
6
+ # Some parameter documentations has been truncated, see
7
+ # {DockerEngine::Models::ServiceCreateParams} for more details.
8
+ #
9
+ # Create a service
10
+ #
11
+ # @overload create(spec:, x_registry_auth: nil, request_options: {})
12
+ #
13
+ # @param spec [DockerEngine::Models::ServiceCreateParams::Spec] Body param: User modifiable configuration for a service.
14
+ #
15
+ # @param x_registry_auth [String] Header param: A base64url-encoded auth configuration for pulling from private
16
+ #
17
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
18
+ #
19
+ # @return [DockerEngine::Models::ServiceCreateResponse]
20
+ #
21
+ # @see DockerEngine::Models::ServiceCreateParams
22
+ def create(params)
23
+ parsed, options = DockerEngine::ServiceCreateParams.dump_request(params)
24
+ @client.request(
25
+ method: :post,
26
+ path: "services/create",
27
+ headers: parsed.except(:spec).transform_keys(x_registry_auth: "x-registry-auth"),
28
+ body: parsed[:spec],
29
+ model: DockerEngine::Models::ServiceCreateResponse,
30
+ options: options
31
+ )
32
+ end
33
+
34
+ # Some parameter documentations has been truncated, see
35
+ # {DockerEngine::Models::ServiceListParams} for more details.
36
+ #
37
+ # List services
38
+ #
39
+ # @overload list(filters: nil, status: nil, request_options: {})
40
+ #
41
+ # @param filters [String] A JSON encoded value of the filters (a `map[string][]string`) to
42
+ #
43
+ # @param status [Boolean] Include service status, with count of running and desired tasks.
44
+ #
45
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
46
+ #
47
+ # @return [Array<DockerEngine::Models::Service>]
48
+ #
49
+ # @see DockerEngine::Models::ServiceListParams
50
+ def list(params = {})
51
+ parsed, options = DockerEngine::ServiceListParams.dump_request(params)
52
+ @client.request(
53
+ method: :get,
54
+ path: "services",
55
+ query: parsed,
56
+ model: DockerEngine::Internal::Type::ArrayOf[DockerEngine::Service],
57
+ options: options
58
+ )
59
+ end
60
+
61
+ # Delete a service
62
+ #
63
+ # @overload delete(id, request_options: {})
64
+ #
65
+ # @param id [String] ID or name of service.
66
+ #
67
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
68
+ #
69
+ # @return [nil]
70
+ #
71
+ # @see DockerEngine::Models::ServiceDeleteParams
72
+ def delete(id, params = {})
73
+ @client.request(
74
+ method: :delete,
75
+ path: ["services/%1$s", id],
76
+ model: NilClass,
77
+ options: params[:request_options]
78
+ )
79
+ end
80
+
81
+ # Inspect a service
82
+ #
83
+ # @overload inspect_(id, insert_defaults: nil, request_options: {})
84
+ #
85
+ # @param id [String] ID or name of service.
86
+ #
87
+ # @param insert_defaults [Boolean] Fill empty fields with default values.
88
+ #
89
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
90
+ #
91
+ # @return [DockerEngine::Models::Service]
92
+ #
93
+ # @see DockerEngine::Models::ServiceInspectParams
94
+ def inspect_(id, params = {})
95
+ parsed, options = DockerEngine::ServiceInspectParams.dump_request(params)
96
+ @client.request(
97
+ method: :get,
98
+ path: ["services/%1$s", id],
99
+ query: parsed.transform_keys(insert_defaults: "insertDefaults"),
100
+ model: DockerEngine::Service,
101
+ options: options
102
+ )
103
+ end
104
+
105
+ # @api private
106
+ #
107
+ # @param client [DockerEngine::Client]
108
+ def initialize(client:)
109
+ @client = client
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class System
6
+ # Get system information
7
+ #
8
+ # @overload info(request_options: {})
9
+ #
10
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
11
+ #
12
+ # @return [DockerEngine::Models::SystemInfoResponse]
13
+ #
14
+ # @see DockerEngine::Models::SystemInfoParams
15
+ def info(params = {})
16
+ @client.request(
17
+ method: :get,
18
+ path: "info",
19
+ model: DockerEngine::Models::SystemInfoResponse,
20
+ options: params[:request_options]
21
+ )
22
+ end
23
+
24
+ # This is a dummy endpoint you can use to test if the server is accessible.
25
+ #
26
+ # @overload ping(request_options: {})
27
+ #
28
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
29
+ #
30
+ # @return [String]
31
+ #
32
+ # @see DockerEngine::Models::SystemPingParams
33
+ def ping(params = {})
34
+ @client.request(
35
+ method: :get,
36
+ path: "_ping",
37
+ headers: {"accept" => "text/plain"},
38
+ model: String,
39
+ options: params[:request_options]
40
+ )
41
+ end
42
+
43
+ # Returns the version of Docker that is running and various information about the
44
+ # system that Docker is running on.
45
+ #
46
+ # @overload version(request_options: {})
47
+ #
48
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
49
+ #
50
+ # @return [DockerEngine::Models::SystemVersionResponse]
51
+ #
52
+ # @see DockerEngine::Models::SystemVersionParams
53
+ def version(params = {})
54
+ @client.request(
55
+ method: :get,
56
+ path: "version",
57
+ model: DockerEngine::Models::SystemVersionResponse,
58
+ options: params[:request_options]
59
+ )
60
+ end
61
+
62
+ # @api private
63
+ #
64
+ # @param client [DockerEngine::Client]
65
+ def initialize(client:)
66
+ @client = client
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Resources
5
+ class Volumes
6
+ # Create a volume
7
+ #
8
+ # @overload create(create_request:, request_options: {})
9
+ #
10
+ # @param create_request [DockerEngine::Models::CreateRequest] Volume configuration
11
+ #
12
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [DockerEngine::Models::Volume]
15
+ #
16
+ # @see DockerEngine::Models::VolumeCreateParams
17
+ def create(params)
18
+ parsed, options = DockerEngine::VolumeCreateParams.dump_request(params)
19
+ @client.request(
20
+ method: :post,
21
+ path: "volumes/create",
22
+ body: parsed[:create_request],
23
+ model: DockerEngine::Volume,
24
+ options: options
25
+ )
26
+ end
27
+
28
+ # Some parameter documentations has been truncated, see
29
+ # {DockerEngine::Models::VolumeListParams} for more details.
30
+ #
31
+ # List volumes
32
+ #
33
+ # @overload list(filters: nil, request_options: {})
34
+ #
35
+ # @param filters [String] JSON encoded value of the filters (a `map[string][]string`) to
36
+ #
37
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
38
+ #
39
+ # @return [DockerEngine::Models::VolumeListResponse]
40
+ #
41
+ # @see DockerEngine::Models::VolumeListParams
42
+ def list(params = {})
43
+ parsed, options = DockerEngine::VolumeListParams.dump_request(params)
44
+ @client.request(
45
+ method: :get,
46
+ path: "volumes",
47
+ query: parsed,
48
+ model: DockerEngine::Models::VolumeListResponse,
49
+ options: options
50
+ )
51
+ end
52
+
53
+ # Instruct the driver to remove the volume.
54
+ #
55
+ # @overload delete(name, force: nil, request_options: {})
56
+ #
57
+ # @param name [String] Volume name or ID
58
+ #
59
+ # @param force [Boolean] Force the removal of the volume
60
+ #
61
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
62
+ #
63
+ # @return [nil]
64
+ #
65
+ # @see DockerEngine::Models::VolumeDeleteParams
66
+ def delete(name, params = {})
67
+ parsed, options = DockerEngine::VolumeDeleteParams.dump_request(params)
68
+ @client.request(
69
+ method: :delete,
70
+ path: ["volumes/%1$s", name],
71
+ query: parsed,
72
+ model: NilClass,
73
+ options: options
74
+ )
75
+ end
76
+
77
+ # Inspect a volume
78
+ #
79
+ # @overload inspect_(name, request_options: {})
80
+ #
81
+ # @param name [String] Volume name or ID
82
+ #
83
+ # @param request_options [DockerEngine::RequestOptions, Hash{Symbol=>Object}, nil]
84
+ #
85
+ # @return [DockerEngine::Models::Volume]
86
+ #
87
+ # @see DockerEngine::Models::VolumeInspectParams
88
+ def inspect_(name, params = {})
89
+ @client.request(
90
+ method: :get,
91
+ path: ["volumes/%1$s", name],
92
+ model: DockerEngine::Volume,
93
+ options: params[:request_options]
94
+ )
95
+ end
96
+
97
+ # @api private
98
+ #
99
+ # @param client [DockerEngine::Client]
100
+ def initialize(client:)
101
+ @client = client
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ VERSION = "0.1.1"
5
+ end