docker-engine-ruby 0.2.2

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 (608) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +41 -0
  4. data/README.md +232 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/docker_engine_ruby/client.rb +109 -0
  7. data/lib/docker_engine_ruby/errors.rb +228 -0
  8. data/lib/docker_engine_ruby/file_part.rb +58 -0
  9. data/lib/docker_engine_ruby/internal/transport/base_client.rb +573 -0
  10. data/lib/docker_engine_ruby/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/docker_engine_ruby/internal/type/array_of.rb +168 -0
  12. data/lib/docker_engine_ruby/internal/type/base_model.rb +534 -0
  13. data/lib/docker_engine_ruby/internal/type/base_page.rb +55 -0
  14. data/lib/docker_engine_ruby/internal/type/boolean.rb +77 -0
  15. data/lib/docker_engine_ruby/internal/type/converter.rb +327 -0
  16. data/lib/docker_engine_ruby/internal/type/enum.rb +133 -0
  17. data/lib/docker_engine_ruby/internal/type/file_input.rb +111 -0
  18. data/lib/docker_engine_ruby/internal/type/hash_of.rb +188 -0
  19. data/lib/docker_engine_ruby/internal/type/request_parameters.rb +42 -0
  20. data/lib/docker_engine_ruby/internal/type/union.rb +245 -0
  21. data/lib/docker_engine_ruby/internal/type/unknown.rb +81 -0
  22. data/lib/docker_engine_ruby/internal/util.rb +920 -0
  23. data/lib/docker_engine_ruby/internal.rb +20 -0
  24. data/lib/docker_engine_ruby/models/auth_login_params.rb +32 -0
  25. data/lib/docker_engine_ruby/models/auth_response.rb +27 -0
  26. data/lib/docker_engine_ruby/models/config.rb +307 -0
  27. data/lib/docker_engine_ruby/models/config_create_params.rb +24 -0
  28. data/lib/docker_engine_ruby/models/config_create_response.rb +19 -0
  29. data/lib/docker_engine_ruby/models/config_delete_params.rb +14 -0
  30. data/lib/docker_engine_ruby/models/config_inspect_params.rb +14 -0
  31. data/lib/docker_engine_ruby/models/config_list_params.rb +33 -0
  32. data/lib/docker_engine_ruby/models/config_list_response.rb +8 -0
  33. data/lib/docker_engine_ruby/models/config_update_params.rb +26 -0
  34. data/lib/docker_engine_ruby/models/connect_request.rb +198 -0
  35. data/lib/docker_engine_ruby/models/container.rb +2516 -0
  36. data/lib/docker_engine_ruby/models/container_archive_params.rb +22 -0
  37. data/lib/docker_engine_ruby/models/container_attach_params.rb +73 -0
  38. data/lib/docker_engine_ruby/models/container_changes_params.rb +14 -0
  39. data/lib/docker_engine_ruby/models/container_changes_response.rb +9 -0
  40. data/lib/docker_engine_ruby/models/container_create_params.rb +1724 -0
  41. data/lib/docker_engine_ruby/models/container_delete_params.rb +38 -0
  42. data/lib/docker_engine_ruby/models/container_exec_params.rb +111 -0
  43. data/lib/docker_engine_ruby/models/container_exec_response.rb +19 -0
  44. data/lib/docker_engine_ruby/models/container_export_params.rb +14 -0
  45. data/lib/docker_engine_ruby/models/container_inspect_params.rb +22 -0
  46. data/lib/docker_engine_ruby/models/container_kill_params.rb +25 -0
  47. data/lib/docker_engine_ruby/models/container_list_params.rb +70 -0
  48. data/lib/docker_engine_ruby/models/container_list_response.rb +8 -0
  49. data/lib/docker_engine_ruby/models/container_logs_params.rb +74 -0
  50. data/lib/docker_engine_ruby/models/container_pause_params.rb +14 -0
  51. data/lib/docker_engine_ruby/models/container_prune_params.rb +35 -0
  52. data/lib/docker_engine_ruby/models/container_prune_response.rb +27 -0
  53. data/lib/docker_engine_ruby/models/container_rename_params.rb +22 -0
  54. data/lib/docker_engine_ruby/models/container_resize_params.rb +30 -0
  55. data/lib/docker_engine_ruby/models/container_restart_params.rb +33 -0
  56. data/lib/docker_engine_ruby/models/container_start_params.rb +27 -0
  57. data/lib/docker_engine_ruby/models/container_stats_params.rb +35 -0
  58. data/lib/docker_engine_ruby/models/container_stop_params.rb +33 -0
  59. data/lib/docker_engine_ruby/models/container_top_params.rb +22 -0
  60. data/lib/docker_engine_ruby/models/container_unpause_params.rb +14 -0
  61. data/lib/docker_engine_ruby/models/container_update_params.rb +606 -0
  62. data/lib/docker_engine_ruby/models/container_wait_params.rb +41 -0
  63. data/lib/docker_engine_ruby/models/create_request.rb +348 -0
  64. data/lib/docker_engine_ruby/models/create_response.rb +27 -0
  65. data/lib/docker_engine_ruby/models/delete_item.rb +24 -0
  66. data/lib/docker_engine_ruby/models/disconnect_request.rb +27 -0
  67. data/lib/docker_engine_ruby/models/distribution_inspect_params.rb +14 -0
  68. data/lib/docker_engine_ruby/models/error.rb +18 -0
  69. data/lib/docker_engine_ruby/models/exec_inspect_params.rb +14 -0
  70. data/lib/docker_engine_ruby/models/exec_inspect_response.rb +87 -0
  71. data/lib/docker_engine_ruby/models/exec_resize_params.rb +30 -0
  72. data/lib/docker_engine_ruby/models/exec_start_params.rb +41 -0
  73. data/lib/docker_engine_ruby/models/filesystem_change.rb +55 -0
  74. data/lib/docker_engine_ruby/models/history_item.rb +47 -0
  75. data/lib/docker_engine_ruby/models/image.rb +1393 -0
  76. data/lib/docker_engine_ruby/models/image_build_params.rb +283 -0
  77. data/lib/docker_engine_ruby/models/image_build_prune_params.rb +71 -0
  78. data/lib/docker_engine_ruby/models/image_build_prune_response.rb +24 -0
  79. data/lib/docker_engine_ruby/models/image_commit_params.rb +70 -0
  80. data/lib/docker_engine_ruby/models/image_commit_response.rb +19 -0
  81. data/lib/docker_engine_ruby/models/image_delete_params.rb +43 -0
  82. data/lib/docker_engine_ruby/models/image_delete_response.rb +8 -0
  83. data/lib/docker_engine_ruby/models/image_get_all_params.rb +37 -0
  84. data/lib/docker_engine_ruby/models/image_get_params.rb +29 -0
  85. data/lib/docker_engine_ruby/models/image_history_params.rb +34 -0
  86. data/lib/docker_engine_ruby/models/image_history_response.rb +8 -0
  87. data/lib/docker_engine_ruby/models/image_inspect_params.rb +22 -0
  88. data/lib/docker_engine_ruby/models/image_list_params.rb +68 -0
  89. data/lib/docker_engine_ruby/models/image_list_response.rb +8 -0
  90. data/lib/docker_engine_ruby/models/image_load_params.rb +44 -0
  91. data/lib/docker_engine_ruby/models/image_prune_params.rb +35 -0
  92. data/lib/docker_engine_ruby/models/image_prune_response.rb +27 -0
  93. data/lib/docker_engine_ruby/models/image_pull_params.rb +115 -0
  94. data/lib/docker_engine_ruby/models/image_push_params.rb +49 -0
  95. data/lib/docker_engine_ruby/models/image_search_params.rb +45 -0
  96. data/lib/docker_engine_ruby/models/image_search_response.rb +55 -0
  97. data/lib/docker_engine_ruby/models/image_tag_params.rb +30 -0
  98. data/lib/docker_engine_ruby/models/info.rb +1496 -0
  99. data/lib/docker_engine_ruby/models/inspect.rb +221 -0
  100. data/lib/docker_engine_ruby/models/inspect_response.rb +39 -0
  101. data/lib/docker_engine_ruby/models/list_response.rb +32 -0
  102. data/lib/docker_engine_ruby/models/network.rb +253 -0
  103. data/lib/docker_engine_ruby/models/network_connect_params.rb +14 -0
  104. data/lib/docker_engine_ruby/models/network_create_params.rb +210 -0
  105. data/lib/docker_engine_ruby/models/network_delete_params.rb +14 -0
  106. data/lib/docker_engine_ruby/models/network_disconnect_params.rb +14 -0
  107. data/lib/docker_engine_ruby/models/network_inspect_params.rb +30 -0
  108. data/lib/docker_engine_ruby/models/network_inspect_response.rb +131 -0
  109. data/lib/docker_engine_ruby/models/network_list_params.rb +40 -0
  110. data/lib/docker_engine_ruby/models/network_list_response.rb +8 -0
  111. data/lib/docker_engine_ruby/models/network_prune_params.rb +35 -0
  112. data/lib/docker_engine_ruby/models/network_prune_response.rb +19 -0
  113. data/lib/docker_engine_ruby/models/node.rb +461 -0
  114. data/lib/docker_engine_ruby/models/node_delete_params.rb +22 -0
  115. data/lib/docker_engine_ruby/models/node_inspect_params.rb +14 -0
  116. data/lib/docker_engine_ruby/models/node_list_params.rb +34 -0
  117. data/lib/docker_engine_ruby/models/node_list_response.rb +8 -0
  118. data/lib/docker_engine_ruby/models/node_update_params.rb +26 -0
  119. data/lib/docker_engine_ruby/models/plugin.rb +532 -0
  120. data/lib/docker_engine_ruby/models/plugin_create_params.rb +33 -0
  121. data/lib/docker_engine_ruby/models/plugin_delete_params.rb +26 -0
  122. data/lib/docker_engine_ruby/models/plugin_disable_params.rb +25 -0
  123. data/lib/docker_engine_ruby/models/plugin_enable_params.rb +22 -0
  124. data/lib/docker_engine_ruby/models/plugin_inspect_params.rb +14 -0
  125. data/lib/docker_engine_ruby/models/plugin_list_params.rb +31 -0
  126. data/lib/docker_engine_ruby/models/plugin_list_response.rb +8 -0
  127. data/lib/docker_engine_ruby/models/plugin_privileges_params.rb +26 -0
  128. data/lib/docker_engine_ruby/models/plugin_privileges_response.rb +8 -0
  129. data/lib/docker_engine_ruby/models/plugin_pull_params.rb +51 -0
  130. data/lib/docker_engine_ruby/models/plugin_push_params.rb +14 -0
  131. data/lib/docker_engine_ruby/models/plugin_set_params.rb +20 -0
  132. data/lib/docker_engine_ruby/models/plugin_upgrade_params.rb +41 -0
  133. data/lib/docker_engine_ruby/models/privilege.rb +29 -0
  134. data/lib/docker_engine_ruby/models/secret.rb +77 -0
  135. data/lib/docker_engine_ruby/models/secret_create_params.rb +24 -0
  136. data/lib/docker_engine_ruby/models/secret_create_response.rb +19 -0
  137. data/lib/docker_engine_ruby/models/secret_delete_params.rb +14 -0
  138. data/lib/docker_engine_ruby/models/secret_inspect_params.rb +14 -0
  139. data/lib/docker_engine_ruby/models/secret_list_params.rb +33 -0
  140. data/lib/docker_engine_ruby/models/secret_list_response.rb +8 -0
  141. data/lib/docker_engine_ruby/models/secret_update_params.rb +26 -0
  142. data/lib/docker_engine_ruby/models/service.rb +522 -0
  143. data/lib/docker_engine_ruby/models/service_create_params.rb +34 -0
  144. data/lib/docker_engine_ruby/models/service_delete_params.rb +14 -0
  145. data/lib/docker_engine_ruby/models/service_inspect_params.rb +22 -0
  146. data/lib/docker_engine_ruby/models/service_list_params.rb +41 -0
  147. data/lib/docker_engine_ruby/models/service_list_response.rb +8 -0
  148. data/lib/docker_engine_ruby/models/service_logs_params.rb +74 -0
  149. data/lib/docker_engine_ruby/models/service_update_params.rb +78 -0
  150. data/lib/docker_engine_ruby/models/spec.rb +510 -0
  151. data/lib/docker_engine_ruby/models/stats_response.rb +954 -0
  152. data/lib/docker_engine_ruby/models/summary.rb +771 -0
  153. data/lib/docker_engine_ruby/models/swarm.rb +198 -0
  154. data/lib/docker_engine_ruby/models/swarm_init_params.rb +101 -0
  155. data/lib/docker_engine_ruby/models/swarm_init_response.rb +7 -0
  156. data/lib/docker_engine_ruby/models/swarm_inspect_params.rb +14 -0
  157. data/lib/docker_engine_ruby/models/swarm_join_params.rb +70 -0
  158. data/lib/docker_engine_ruby/models/swarm_leave_params.rb +26 -0
  159. data/lib/docker_engine_ruby/models/swarm_unlock_key_params.rb +14 -0
  160. data/lib/docker_engine_ruby/models/swarm_unlock_key_response.rb +17 -0
  161. data/lib/docker_engine_ruby/models/swarm_unlock_params.rb +22 -0
  162. data/lib/docker_engine_ruby/models/swarm_update_params.rb +50 -0
  163. data/lib/docker_engine_ruby/models/system_data_usage_params.rb +46 -0
  164. data/lib/docker_engine_ruby/models/system_data_usage_response.rb +260 -0
  165. data/lib/docker_engine_ruby/models/system_events_params.rb +58 -0
  166. data/lib/docker_engine_ruby/models/system_events_response.rb +126 -0
  167. data/lib/docker_engine_ruby/models/system_info_params.rb +14 -0
  168. data/lib/docker_engine_ruby/models/system_ping_params.rb +14 -0
  169. data/lib/docker_engine_ruby/models/system_ping_response.rb +7 -0
  170. data/lib/docker_engine_ruby/models/system_version_params.rb +14 -0
  171. data/lib/docker_engine_ruby/models/task.rb +471 -0
  172. data/lib/docker_engine_ruby/models/task_inspect_params.rb +14 -0
  173. data/lib/docker_engine_ruby/models/task_list_params.rb +35 -0
  174. data/lib/docker_engine_ruby/models/task_list_response.rb +8 -0
  175. data/lib/docker_engine_ruby/models/task_logs_params.rb +74 -0
  176. data/lib/docker_engine_ruby/models/top_response.rb +33 -0
  177. data/lib/docker_engine_ruby/models/update_response.rb +19 -0
  178. data/lib/docker_engine_ruby/models/version.rb +164 -0
  179. data/lib/docker_engine_ruby/models/volume.rb +651 -0
  180. data/lib/docker_engine_ruby/models/volume_create_params.rb +14 -0
  181. data/lib/docker_engine_ruby/models/volume_delete_params.rb +22 -0
  182. data/lib/docker_engine_ruby/models/volume_inspect_params.rb +14 -0
  183. data/lib/docker_engine_ruby/models/volume_list_params.rb +34 -0
  184. data/lib/docker_engine_ruby/models/volume_prune_params.rb +33 -0
  185. data/lib/docker_engine_ruby/models/volume_prune_response.rb +25 -0
  186. data/lib/docker_engine_ruby/models/volume_update_params.rb +323 -0
  187. data/lib/docker_engine_ruby/models/wait_response.rb +41 -0
  188. data/lib/docker_engine_ruby/models.rb +312 -0
  189. data/lib/docker_engine_ruby/request_options.rb +78 -0
  190. data/lib/docker_engine_ruby/resources/auth.rb +38 -0
  191. data/lib/docker_engine_ruby/resources/configs.rb +130 -0
  192. data/lib/docker_engine_ruby/resources/containers.rb +854 -0
  193. data/lib/docker_engine_ruby/resources/distribution.rb +34 -0
  194. data/lib/docker_engine_ruby/resources/exec.rb +91 -0
  195. data/lib/docker_engine_ruby/resources/images.rb +676 -0
  196. data/lib/docker_engine_ruby/resources/networks.rb +218 -0
  197. data/lib/docker_engine_ruby/resources/nodes.rb +113 -0
  198. data/lib/docker_engine_ruby/resources/plugins.rb +317 -0
  199. data/lib/docker_engine_ruby/resources/secrets.rb +130 -0
  200. data/lib/docker_engine_ruby/resources/services.rb +195 -0
  201. data/lib/docker_engine_ruby/resources/swarm.rb +183 -0
  202. data/lib/docker_engine_ruby/resources/system.rb +155 -0
  203. data/lib/docker_engine_ruby/resources/tasks.rb +103 -0
  204. data/lib/docker_engine_ruby/resources/volumes.rb +161 -0
  205. data/lib/docker_engine_ruby/version.rb +5 -0
  206. data/lib/docker_engine_ruby.rb +234 -0
  207. data/manifest.yaml +17 -0
  208. data/rbi/docker_engine_ruby/client.rbi +80 -0
  209. data/rbi/docker_engine_ruby/errors.rbi +205 -0
  210. data/rbi/docker_engine_ruby/file_part.rbi +37 -0
  211. data/rbi/docker_engine_ruby/internal/transport/base_client.rbi +305 -0
  212. data/rbi/docker_engine_ruby/internal/transport/pooled_net_requester.rbi +84 -0
  213. data/rbi/docker_engine_ruby/internal/type/array_of.rbi +108 -0
  214. data/rbi/docker_engine_ruby/internal/type/base_model.rbi +316 -0
  215. data/rbi/docker_engine_ruby/internal/type/base_page.rbi +43 -0
  216. data/rbi/docker_engine_ruby/internal/type/boolean.rbi +58 -0
  217. data/rbi/docker_engine_ruby/internal/type/converter.rbi +225 -0
  218. data/rbi/docker_engine_ruby/internal/type/enum.rbi +82 -0
  219. data/rbi/docker_engine_ruby/internal/type/file_input.rbi +59 -0
  220. data/rbi/docker_engine_ruby/internal/type/hash_of.rbi +108 -0
  221. data/rbi/docker_engine_ruby/internal/type/request_parameters.rbi +31 -0
  222. data/rbi/docker_engine_ruby/internal/type/union.rbi +134 -0
  223. data/rbi/docker_engine_ruby/internal/type/unknown.rbi +58 -0
  224. data/rbi/docker_engine_ruby/internal/util.rbi +487 -0
  225. data/rbi/docker_engine_ruby/internal.rbi +18 -0
  226. data/rbi/docker_engine_ruby/models/auth_login_params.rbi +65 -0
  227. data/rbi/docker_engine_ruby/models/auth_response.rbi +42 -0
  228. data/rbi/docker_engine_ruby/models/config.rbi +442 -0
  229. data/rbi/docker_engine_ruby/models/config_create_params.rbi +64 -0
  230. data/rbi/docker_engine_ruby/models/config_create_response.rbi +31 -0
  231. data/rbi/docker_engine_ruby/models/config_delete_params.rbi +32 -0
  232. data/rbi/docker_engine_ruby/models/config_inspect_params.rbi +32 -0
  233. data/rbi/docker_engine_ruby/models/config_list_params.rbi +62 -0
  234. data/rbi/docker_engine_ruby/models/config_list_response.rbi +11 -0
  235. data/rbi/docker_engine_ruby/models/config_update_params.rbi +48 -0
  236. data/rbi/docker_engine_ruby/models/connect_request.rbi +343 -0
  237. data/rbi/docker_engine_ruby/models/container.rbi +4672 -0
  238. data/rbi/docker_engine_ruby/models/container_archive_params.rbi +43 -0
  239. data/rbi/docker_engine_ruby/models/container_attach_params.rbi +120 -0
  240. data/rbi/docker_engine_ruby/models/container_changes_params.rbi +32 -0
  241. data/rbi/docker_engine_ruby/models/container_changes_response.rbi +13 -0
  242. data/rbi/docker_engine_ruby/models/container_create_params.rbi +3301 -0
  243. data/rbi/docker_engine_ruby/models/container_delete_params.rbi +71 -0
  244. data/rbi/docker_engine_ruby/models/container_exec_params.rbi +162 -0
  245. data/rbi/docker_engine_ruby/models/container_exec_response.rbi +31 -0
  246. data/rbi/docker_engine_ruby/models/container_export_params.rbi +32 -0
  247. data/rbi/docker_engine_ruby/models/container_inspect_params.rbi +49 -0
  248. data/rbi/docker_engine_ruby/models/container_kill_params.rbi +46 -0
  249. data/rbi/docker_engine_ruby/models/container_list_params.rbi +124 -0
  250. data/rbi/docker_engine_ruby/models/container_list_response.rbi +11 -0
  251. data/rbi/docker_engine_ruby/models/container_logs_params.rbi +117 -0
  252. data/rbi/docker_engine_ruby/models/container_pause_params.rbi +32 -0
  253. data/rbi/docker_engine_ruby/models/container_prune_params.rbi +66 -0
  254. data/rbi/docker_engine_ruby/models/container_prune_response.rbi +51 -0
  255. data/rbi/docker_engine_ruby/models/container_rename_params.rbi +43 -0
  256. data/rbi/docker_engine_ruby/models/container_resize_params.rbi +54 -0
  257. data/rbi/docker_engine_ruby/models/container_restart_params.rbi +60 -0
  258. data/rbi/docker_engine_ruby/models/container_start_params.rbi +53 -0
  259. data/rbi/docker_engine_ruby/models/container_stats_params.rbi +64 -0
  260. data/rbi/docker_engine_ruby/models/container_stop_params.rbi +60 -0
  261. data/rbi/docker_engine_ruby/models/container_top_params.rbi +46 -0
  262. data/rbi/docker_engine_ruby/models/container_unpause_params.rbi +32 -0
  263. data/rbi/docker_engine_ruby/models/container_update_params.rbi +1125 -0
  264. data/rbi/docker_engine_ruby/models/container_wait_params.rbi +101 -0
  265. data/rbi/docker_engine_ruby/models/create_request.rbi +708 -0
  266. data/rbi/docker_engine_ruby/models/create_response.rbi +39 -0
  267. data/rbi/docker_engine_ruby/models/delete_item.rbi +44 -0
  268. data/rbi/docker_engine_ruby/models/disconnect_request.rbi +43 -0
  269. data/rbi/docker_engine_ruby/models/distribution_inspect_params.rbi +32 -0
  270. data/rbi/docker_engine_ruby/models/error.rbi +28 -0
  271. data/rbi/docker_engine_ruby/models/exec_inspect_params.rbi +32 -0
  272. data/rbi/docker_engine_ruby/models/exec_inspect_response.rbi +135 -0
  273. data/rbi/docker_engine_ruby/models/exec_resize_params.rbi +54 -0
  274. data/rbi/docker_engine_ruby/models/exec_start_params.rbi +68 -0
  275. data/rbi/docker_engine_ruby/models/filesystem_change.rbi +93 -0
  276. data/rbi/docker_engine_ruby/models/history_item.rbi +62 -0
  277. data/rbi/docker_engine_ruby/models/image.rbi +2359 -0
  278. data/rbi/docker_engine_ruby/models/image_build_params.rbi +436 -0
  279. data/rbi/docker_engine_ruby/models/image_build_prune_params.rbi +121 -0
  280. data/rbi/docker_engine_ruby/models/image_build_prune_response.rbi +49 -0
  281. data/rbi/docker_engine_ruby/models/image_commit_params.rbi +115 -0
  282. data/rbi/docker_engine_ruby/models/image_commit_response.rbi +31 -0
  283. data/rbi/docker_engine_ruby/models/image_delete_params.rbi +75 -0
  284. data/rbi/docker_engine_ruby/models/image_delete_response.rbi +11 -0
  285. data/rbi/docker_engine_ruby/models/image_get_all_params.rbi +68 -0
  286. data/rbi/docker_engine_ruby/models/image_get_params.rbi +57 -0
  287. data/rbi/docker_engine_ruby/models/image_history_params.rbi +67 -0
  288. data/rbi/docker_engine_ruby/models/image_history_response.rbi +13 -0
  289. data/rbi/docker_engine_ruby/models/image_inspect_params.rbi +49 -0
  290. data/rbi/docker_engine_ruby/models/image_list_params.rbi +115 -0
  291. data/rbi/docker_engine_ruby/models/image_list_response.rbi +11 -0
  292. data/rbi/docker_engine_ruby/models/image_load_params.rbi +74 -0
  293. data/rbi/docker_engine_ruby/models/image_prune_params.rbi +66 -0
  294. data/rbi/docker_engine_ruby/models/image_prune_response.rbi +58 -0
  295. data/rbi/docker_engine_ruby/models/image_pull_params.rbi +189 -0
  296. data/rbi/docker_engine_ruby/models/image_push_params.rbi +84 -0
  297. data/rbi/docker_engine_ruby/models/image_search_params.rbi +76 -0
  298. data/rbi/docker_engine_ruby/models/image_search_response.rbi +95 -0
  299. data/rbi/docker_engine_ruby/models/image_tag_params.rbi +60 -0
  300. data/rbi/docker_engine_ruby/models/info.rbi +2574 -0
  301. data/rbi/docker_engine_ruby/models/inspect.rbi +361 -0
  302. data/rbi/docker_engine_ruby/models/inspect_response.rbi +77 -0
  303. data/rbi/docker_engine_ruby/models/list_response.rbi +55 -0
  304. data/rbi/docker_engine_ruby/models/network.rbi +427 -0
  305. data/rbi/docker_engine_ruby/models/network_connect_params.rbi +32 -0
  306. data/rbi/docker_engine_ruby/models/network_create_params.rbi +374 -0
  307. data/rbi/docker_engine_ruby/models/network_delete_params.rbi +32 -0
  308. data/rbi/docker_engine_ruby/models/network_disconnect_params.rbi +32 -0
  309. data/rbi/docker_engine_ruby/models/network_inspect_params.rbi +60 -0
  310. data/rbi/docker_engine_ruby/models/network_inspect_response.rbi +336 -0
  311. data/rbi/docker_engine_ruby/models/network_list_params.rbi +76 -0
  312. data/rbi/docker_engine_ruby/models/network_list_response.rbi +11 -0
  313. data/rbi/docker_engine_ruby/models/network_prune_params.rbi +66 -0
  314. data/rbi/docker_engine_ruby/models/network_prune_response.rbi +35 -0
  315. data/rbi/docker_engine_ruby/models/node.rbi +915 -0
  316. data/rbi/docker_engine_ruby/models/node_delete_params.rbi +49 -0
  317. data/rbi/docker_engine_ruby/models/node_inspect_params.rbi +32 -0
  318. data/rbi/docker_engine_ruby/models/node_list_params.rbi +64 -0
  319. data/rbi/docker_engine_ruby/models/node_list_response.rbi +11 -0
  320. data/rbi/docker_engine_ruby/models/node_update_params.rbi +48 -0
  321. data/rbi/docker_engine_ruby/models/plugin.rbi +843 -0
  322. data/rbi/docker_engine_ruby/models/plugin_create_params.rbi +54 -0
  323. data/rbi/docker_engine_ruby/models/plugin_delete_params.rbi +51 -0
  324. data/rbi/docker_engine_ruby/models/plugin_disable_params.rbi +49 -0
  325. data/rbi/docker_engine_ruby/models/plugin_enable_params.rbi +49 -0
  326. data/rbi/docker_engine_ruby/models/plugin_inspect_params.rbi +32 -0
  327. data/rbi/docker_engine_ruby/models/plugin_list_params.rbi +58 -0
  328. data/rbi/docker_engine_ruby/models/plugin_list_response.rbi +11 -0
  329. data/rbi/docker_engine_ruby/models/plugin_privileges_params.rbi +45 -0
  330. data/rbi/docker_engine_ruby/models/plugin_privileges_response.rbi +11 -0
  331. data/rbi/docker_engine_ruby/models/plugin_pull_params.rbi +83 -0
  332. data/rbi/docker_engine_ruby/models/plugin_push_params.rbi +32 -0
  333. data/rbi/docker_engine_ruby/models/plugin_set_params.rbi +44 -0
  334. data/rbi/docker_engine_ruby/models/plugin_upgrade_params.rbi +68 -0
  335. data/rbi/docker_engine_ruby/models/privilege.rbi +52 -0
  336. data/rbi/docker_engine_ruby/models/secret.rbi +125 -0
  337. data/rbi/docker_engine_ruby/models/secret_create_params.rbi +64 -0
  338. data/rbi/docker_engine_ruby/models/secret_create_response.rbi +31 -0
  339. data/rbi/docker_engine_ruby/models/secret_delete_params.rbi +32 -0
  340. data/rbi/docker_engine_ruby/models/secret_inspect_params.rbi +32 -0
  341. data/rbi/docker_engine_ruby/models/secret_list_params.rbi +62 -0
  342. data/rbi/docker_engine_ruby/models/secret_list_response.rbi +11 -0
  343. data/rbi/docker_engine_ruby/models/secret_update_params.rbi +48 -0
  344. data/rbi/docker_engine_ruby/models/service.rbi +1100 -0
  345. data/rbi/docker_engine_ruby/models/service_create_params.rbi +79 -0
  346. data/rbi/docker_engine_ruby/models/service_delete_params.rbi +32 -0
  347. data/rbi/docker_engine_ruby/models/service_inspect_params.rbi +49 -0
  348. data/rbi/docker_engine_ruby/models/service_list_params.rbi +76 -0
  349. data/rbi/docker_engine_ruby/models/service_list_response.rbi +11 -0
  350. data/rbi/docker_engine_ruby/models/service_logs_params.rbi +117 -0
  351. data/rbi/docker_engine_ruby/models/service_update_params.rbi +168 -0
  352. data/rbi/docker_engine_ruby/models/spec.rbi +1037 -0
  353. data/rbi/docker_engine_ruby/models/stats_response.rbi +1775 -0
  354. data/rbi/docker_engine_ruby/models/summary.rbi +1342 -0
  355. data/rbi/docker_engine_ruby/models/swarm.rbi +315 -0
  356. data/rbi/docker_engine_ruby/models/swarm_init_params.rbi +162 -0
  357. data/rbi/docker_engine_ruby/models/swarm_init_response.rbi +7 -0
  358. data/rbi/docker_engine_ruby/models/swarm_inspect_params.rbi +32 -0
  359. data/rbi/docker_engine_ruby/models/swarm_join_params.rbi +119 -0
  360. data/rbi/docker_engine_ruby/models/swarm_leave_params.rbi +51 -0
  361. data/rbi/docker_engine_ruby/models/swarm_unlock_key_params.rbi +32 -0
  362. data/rbi/docker_engine_ruby/models/swarm_unlock_key_response.rbi +33 -0
  363. data/rbi/docker_engine_ruby/models/swarm_unlock_params.rbi +49 -0
  364. data/rbi/docker_engine_ruby/models/swarm_update_params.rbi +81 -0
  365. data/rbi/docker_engine_ruby/models/system_data_usage_params.rbi +114 -0
  366. data/rbi/docker_engine_ruby/models/system_data_usage_response.rbi +460 -0
  367. data/rbi/docker_engine_ruby/models/system_events_params.rbi +105 -0
  368. data/rbi/docker_engine_ruby/models/system_events_response.rbi +289 -0
  369. data/rbi/docker_engine_ruby/models/system_info_params.rbi +32 -0
  370. data/rbi/docker_engine_ruby/models/system_ping_params.rbi +32 -0
  371. data/rbi/docker_engine_ruby/models/system_ping_response.rbi +7 -0
  372. data/rbi/docker_engine_ruby/models/system_version_params.rbi +32 -0
  373. data/rbi/docker_engine_ruby/models/task.rbi +948 -0
  374. data/rbi/docker_engine_ruby/models/task_inspect_params.rbi +32 -0
  375. data/rbi/docker_engine_ruby/models/task_list_params.rbi +66 -0
  376. data/rbi/docker_engine_ruby/models/task_list_response.rbi +11 -0
  377. data/rbi/docker_engine_ruby/models/task_logs_params.rbi +117 -0
  378. data/rbi/docker_engine_ruby/models/top_response.rbi +54 -0
  379. data/rbi/docker_engine_ruby/models/update_response.rbi +34 -0
  380. data/rbi/docker_engine_ruby/models/version.rbi +256 -0
  381. data/rbi/docker_engine_ruby/models/volume.rbi +1236 -0
  382. data/rbi/docker_engine_ruby/models/volume_create_params.rbi +32 -0
  383. data/rbi/docker_engine_ruby/models/volume_delete_params.rbi +49 -0
  384. data/rbi/docker_engine_ruby/models/volume_inspect_params.rbi +32 -0
  385. data/rbi/docker_engine_ruby/models/volume_list_params.rbi +64 -0
  386. data/rbi/docker_engine_ruby/models/volume_prune_params.rbi +62 -0
  387. data/rbi/docker_engine_ruby/models/volume_prune_response.rbi +51 -0
  388. data/rbi/docker_engine_ruby/models/volume_update_params.rbi +668 -0
  389. data/rbi/docker_engine_ruby/models/wait_response.rbi +78 -0
  390. data/rbi/docker_engine_ruby/models.rbi +272 -0
  391. data/rbi/docker_engine_ruby/request_options.rbi +64 -0
  392. data/rbi/docker_engine_ruby/resources/auth.rbi +30 -0
  393. data/rbi/docker_engine_ruby/resources/configs.rbi +93 -0
  394. data/rbi/docker_engine_ruby/resources/containers.rbi +843 -0
  395. data/rbi/docker_engine_ruby/resources/distribution.rbi +26 -0
  396. data/rbi/docker_engine_ruby/resources/exec.rbi +72 -0
  397. data/rbi/docker_engine_ruby/resources/images.rbi +739 -0
  398. data/rbi/docker_engine_ruby/resources/networks.rbi +201 -0
  399. data/rbi/docker_engine_ruby/resources/nodes.rbi +87 -0
  400. data/rbi/docker_engine_ruby/resources/plugins.rbi +228 -0
  401. data/rbi/docker_engine_ruby/resources/secrets.rbi +93 -0
  402. data/rbi/docker_engine_ruby/resources/services.rbi +166 -0
  403. data/rbi/docker_engine_ruby/resources/swarm.rbi +178 -0
  404. data/rbi/docker_engine_ruby/resources/system.rbi +123 -0
  405. data/rbi/docker_engine_ruby/resources/tasks.rbi +90 -0
  406. data/rbi/docker_engine_ruby/resources/volumes.rbi +123 -0
  407. data/rbi/docker_engine_ruby/version.rbi +5 -0
  408. data/sig/docker_engine_ruby/client.rbs +49 -0
  409. data/sig/docker_engine_ruby/errors.rbs +117 -0
  410. data/sig/docker_engine_ruby/file_part.rbs +21 -0
  411. data/sig/docker_engine_ruby/internal/transport/base_client.rbs +131 -0
  412. data/sig/docker_engine_ruby/internal/transport/pooled_net_requester.rbs +48 -0
  413. data/sig/docker_engine_ruby/internal/type/array_of.rbs +48 -0
  414. data/sig/docker_engine_ruby/internal/type/base_model.rbs +106 -0
  415. data/sig/docker_engine_ruby/internal/type/base_page.rbs +24 -0
  416. data/sig/docker_engine_ruby/internal/type/boolean.rbs +26 -0
  417. data/sig/docker_engine_ruby/internal/type/converter.rbs +79 -0
  418. data/sig/docker_engine_ruby/internal/type/enum.rbs +32 -0
  419. data/sig/docker_engine_ruby/internal/type/file_input.rbs +25 -0
  420. data/sig/docker_engine_ruby/internal/type/hash_of.rbs +48 -0
  421. data/sig/docker_engine_ruby/internal/type/request_parameters.rbs +20 -0
  422. data/sig/docker_engine_ruby/internal/type/union.rbs +52 -0
  423. data/sig/docker_engine_ruby/internal/type/unknown.rbs +26 -0
  424. data/sig/docker_engine_ruby/internal/util.rbs +185 -0
  425. data/sig/docker_engine_ruby/internal.rbs +10 -0
  426. data/sig/docker_engine_ruby/models/auth_login_params.rbs +38 -0
  427. data/sig/docker_engine_ruby/models/auth_response.rbs +17 -0
  428. data/sig/docker_engine_ruby/models/config.rbs +225 -0
  429. data/sig/docker_engine_ruby/models/config_create_params.rbs +36 -0
  430. data/sig/docker_engine_ruby/models/config_create_response.rbs +13 -0
  431. data/sig/docker_engine_ruby/models/config_delete_params.rbs +15 -0
  432. data/sig/docker_engine_ruby/models/config_inspect_params.rbs +15 -0
  433. data/sig/docker_engine_ruby/models/config_list_params.rbs +25 -0
  434. data/sig/docker_engine_ruby/models/config_list_response.rbs +7 -0
  435. data/sig/docker_engine_ruby/models/config_update_params.rbs +24 -0
  436. data/sig/docker_engine_ruby/models/connect_request.rbs +175 -0
  437. data/sig/docker_engine_ruby/models/container.rbs +1975 -0
  438. data/sig/docker_engine_ruby/models/container_archive_params.rbs +23 -0
  439. data/sig/docker_engine_ruby/models/container_attach_params.rbs +63 -0
  440. data/sig/docker_engine_ruby/models/container_changes_params.rbs +15 -0
  441. data/sig/docker_engine_ruby/models/container_changes_response.rbs +8 -0
  442. data/sig/docker_engine_ruby/models/container_create_params.rbs +1352 -0
  443. data/sig/docker_engine_ruby/models/container_delete_params.rbs +38 -0
  444. data/sig/docker_engine_ruby/models/container_exec_params.rbs +96 -0
  445. data/sig/docker_engine_ruby/models/container_exec_response.rbs +13 -0
  446. data/sig/docker_engine_ruby/models/container_export_params.rbs +15 -0
  447. data/sig/docker_engine_ruby/models/container_inspect_params.rbs +25 -0
  448. data/sig/docker_engine_ruby/models/container_kill_params.rbs +25 -0
  449. data/sig/docker_engine_ruby/models/container_list_params.rbs +44 -0
  450. data/sig/docker_engine_ruby/models/container_list_response.rbs +7 -0
  451. data/sig/docker_engine_ruby/models/container_logs_params.rbs +70 -0
  452. data/sig/docker_engine_ruby/models/container_pause_params.rbs +15 -0
  453. data/sig/docker_engine_ruby/models/container_prune_params.rbs +25 -0
  454. data/sig/docker_engine_ruby/models/container_prune_response.rbs +26 -0
  455. data/sig/docker_engine_ruby/models/container_rename_params.rbs +23 -0
  456. data/sig/docker_engine_ruby/models/container_resize_params.rbs +28 -0
  457. data/sig/docker_engine_ruby/models/container_restart_params.rbs +32 -0
  458. data/sig/docker_engine_ruby/models/container_start_params.rbs +26 -0
  459. data/sig/docker_engine_ruby/models/container_stats_params.rbs +32 -0
  460. data/sig/docker_engine_ruby/models/container_stop_params.rbs +32 -0
  461. data/sig/docker_engine_ruby/models/container_top_params.rbs +25 -0
  462. data/sig/docker_engine_ruby/models/container_unpause_params.rbs +15 -0
  463. data/sig/docker_engine_ruby/models/container_update_params.rbs +476 -0
  464. data/sig/docker_engine_ruby/models/container_wait_params.rbs +40 -0
  465. data/sig/docker_engine_ruby/models/create_request.rbs +255 -0
  466. data/sig/docker_engine_ruby/models/create_response.rbs +15 -0
  467. data/sig/docker_engine_ruby/models/delete_item.rbs +19 -0
  468. data/sig/docker_engine_ruby/models/disconnect_request.rbs +17 -0
  469. data/sig/docker_engine_ruby/models/distribution_inspect_params.rbs +15 -0
  470. data/sig/docker_engine_ruby/models/error.rbs +13 -0
  471. data/sig/docker_engine_ruby/models/exec_inspect_params.rbs +15 -0
  472. data/sig/docker_engine_ruby/models/exec_inspect_response.rbs +94 -0
  473. data/sig/docker_engine_ruby/models/exec_resize_params.rbs +28 -0
  474. data/sig/docker_engine_ruby/models/exec_start_params.rbs +36 -0
  475. data/sig/docker_engine_ruby/models/filesystem_change.rbs +34 -0
  476. data/sig/docker_engine_ruby/models/history_item.rbs +45 -0
  477. data/sig/docker_engine_ruby/models/image.rbs +1042 -0
  478. data/sig/docker_engine_ruby/models/image_build_params.rbs +221 -0
  479. data/sig/docker_engine_ruby/models/image_build_prune_params.rbs +56 -0
  480. data/sig/docker_engine_ruby/models/image_build_prune_response.rbs +26 -0
  481. data/sig/docker_engine_ruby/models/image_commit_params.rbs +70 -0
  482. data/sig/docker_engine_ruby/models/image_commit_response.rbs +13 -0
  483. data/sig/docker_engine_ruby/models/image_delete_params.rbs +38 -0
  484. data/sig/docker_engine_ruby/models/image_delete_response.rbs +7 -0
  485. data/sig/docker_engine_ruby/models/image_get_all_params.rbs +32 -0
  486. data/sig/docker_engine_ruby/models/image_get_params.rbs +26 -0
  487. data/sig/docker_engine_ruby/models/image_history_params.rbs +26 -0
  488. data/sig/docker_engine_ruby/models/image_history_response.rbs +7 -0
  489. data/sig/docker_engine_ruby/models/image_inspect_params.rbs +25 -0
  490. data/sig/docker_engine_ruby/models/image_list_params.rbs +56 -0
  491. data/sig/docker_engine_ruby/models/image_list_response.rbs +7 -0
  492. data/sig/docker_engine_ruby/models/image_load_params.rbs +40 -0
  493. data/sig/docker_engine_ruby/models/image_prune_params.rbs +25 -0
  494. data/sig/docker_engine_ruby/models/image_prune_response.rbs +31 -0
  495. data/sig/docker_engine_ruby/models/image_pull_params.rbs +84 -0
  496. data/sig/docker_engine_ruby/models/image_push_params.rbs +36 -0
  497. data/sig/docker_engine_ruby/models/image_search_params.rbs +36 -0
  498. data/sig/docker_engine_ruby/models/image_search_response.rbs +55 -0
  499. data/sig/docker_engine_ruby/models/image_tag_params.rbs +32 -0
  500. data/sig/docker_engine_ruby/models/info.rbs +1082 -0
  501. data/sig/docker_engine_ruby/models/inspect.rbs +177 -0
  502. data/sig/docker_engine_ruby/models/inspect_response.rbs +50 -0
  503. data/sig/docker_engine_ruby/models/list_response.rbs +28 -0
  504. data/sig/docker_engine_ruby/models/network.rbs +238 -0
  505. data/sig/docker_engine_ruby/models/network_connect_params.rbs +15 -0
  506. data/sig/docker_engine_ruby/models/network_create_params.rbs +203 -0
  507. data/sig/docker_engine_ruby/models/network_delete_params.rbs +15 -0
  508. data/sig/docker_engine_ruby/models/network_disconnect_params.rbs +15 -0
  509. data/sig/docker_engine_ruby/models/network_inspect_params.rbs +32 -0
  510. data/sig/docker_engine_ruby/models/network_inspect_response.rbs +149 -0
  511. data/sig/docker_engine_ruby/models/network_list_params.rbs +25 -0
  512. data/sig/docker_engine_ruby/models/network_list_response.rbs +7 -0
  513. data/sig/docker_engine_ruby/models/network_prune_params.rbs +25 -0
  514. data/sig/docker_engine_ruby/models/network_prune_response.rbs +15 -0
  515. data/sig/docker_engine_ruby/models/node.rbs +434 -0
  516. data/sig/docker_engine_ruby/models/node_delete_params.rbs +25 -0
  517. data/sig/docker_engine_ruby/models/node_inspect_params.rbs +15 -0
  518. data/sig/docker_engine_ruby/models/node_list_params.rbs +25 -0
  519. data/sig/docker_engine_ruby/models/node_list_response.rbs +7 -0
  520. data/sig/docker_engine_ruby/models/node_update_params.rbs +24 -0
  521. data/sig/docker_engine_ruby/models/plugin.rbs +509 -0
  522. data/sig/docker_engine_ruby/models/plugin_create_params.rbs +28 -0
  523. data/sig/docker_engine_ruby/models/plugin_delete_params.rbs +25 -0
  524. data/sig/docker_engine_ruby/models/plugin_disable_params.rbs +25 -0
  525. data/sig/docker_engine_ruby/models/plugin_enable_params.rbs +26 -0
  526. data/sig/docker_engine_ruby/models/plugin_inspect_params.rbs +15 -0
  527. data/sig/docker_engine_ruby/models/plugin_list_params.rbs +25 -0
  528. data/sig/docker_engine_ruby/models/plugin_list_response.rbs +7 -0
  529. data/sig/docker_engine_ruby/models/plugin_privileges_params.rbs +23 -0
  530. data/sig/docker_engine_ruby/models/plugin_privileges_response.rbs +7 -0
  531. data/sig/docker_engine_ruby/models/plugin_pull_params.rbs +49 -0
  532. data/sig/docker_engine_ruby/models/plugin_push_params.rbs +15 -0
  533. data/sig/docker_engine_ruby/models/plugin_set_params.rbs +26 -0
  534. data/sig/docker_engine_ruby/models/plugin_upgrade_params.rbs +42 -0
  535. data/sig/docker_engine_ruby/models/privilege.rbs +32 -0
  536. data/sig/docker_engine_ruby/models/secret.rbs +64 -0
  537. data/sig/docker_engine_ruby/models/secret_create_params.rbs +36 -0
  538. data/sig/docker_engine_ruby/models/secret_create_response.rbs +13 -0
  539. data/sig/docker_engine_ruby/models/secret_delete_params.rbs +15 -0
  540. data/sig/docker_engine_ruby/models/secret_inspect_params.rbs +15 -0
  541. data/sig/docker_engine_ruby/models/secret_list_params.rbs +25 -0
  542. data/sig/docker_engine_ruby/models/secret_list_response.rbs +7 -0
  543. data/sig/docker_engine_ruby/models/secret_update_params.rbs +24 -0
  544. data/sig/docker_engine_ruby/models/service.rbs +471 -0
  545. data/sig/docker_engine_ruby/models/service_create_params.rbs +41 -0
  546. data/sig/docker_engine_ruby/models/service_delete_params.rbs +15 -0
  547. data/sig/docker_engine_ruby/models/service_inspect_params.rbs +26 -0
  548. data/sig/docker_engine_ruby/models/service_list_params.rbs +32 -0
  549. data/sig/docker_engine_ruby/models/service_list_response.rbs +7 -0
  550. data/sig/docker_engine_ruby/models/service_logs_params.rbs +70 -0
  551. data/sig/docker_engine_ruby/models/service_update_params.rbs +73 -0
  552. data/sig/docker_engine_ruby/models/spec.rbs +467 -0
  553. data/sig/docker_engine_ruby/models/stats_response.rbs +730 -0
  554. data/sig/docker_engine_ruby/models/summary.rbs +634 -0
  555. data/sig/docker_engine_ruby/models/swarm.rbs +159 -0
  556. data/sig/docker_engine_ruby/models/swarm_init_params.rbs +77 -0
  557. data/sig/docker_engine_ruby/models/swarm_init_response.rbs +5 -0
  558. data/sig/docker_engine_ruby/models/swarm_inspect_params.rbs +15 -0
  559. data/sig/docker_engine_ruby/models/swarm_join_params.rbs +56 -0
  560. data/sig/docker_engine_ruby/models/swarm_leave_params.rbs +25 -0
  561. data/sig/docker_engine_ruby/models/swarm_unlock_key_params.rbs +15 -0
  562. data/sig/docker_engine_ruby/models/swarm_unlock_key_response.rbs +15 -0
  563. data/sig/docker_engine_ruby/models/swarm_unlock_params.rbs +26 -0
  564. data/sig/docker_engine_ruby/models/swarm_update_params.rbs +47 -0
  565. data/sig/docker_engine_ruby/models/system_data_usage_params.rbs +50 -0
  566. data/sig/docker_engine_ruby/models/system_data_usage_response.rbs +239 -0
  567. data/sig/docker_engine_ruby/models/system_events_params.rbs +38 -0
  568. data/sig/docker_engine_ruby/models/system_events_response.rbs +124 -0
  569. data/sig/docker_engine_ruby/models/system_info_params.rbs +15 -0
  570. data/sig/docker_engine_ruby/models/system_ping_params.rbs +15 -0
  571. data/sig/docker_engine_ruby/models/system_ping_response.rbs +5 -0
  572. data/sig/docker_engine_ruby/models/system_version_params.rbs +15 -0
  573. data/sig/docker_engine_ruby/models/task.rbs +469 -0
  574. data/sig/docker_engine_ruby/models/task_inspect_params.rbs +15 -0
  575. data/sig/docker_engine_ruby/models/task_list_params.rbs +25 -0
  576. data/sig/docker_engine_ruby/models/task_list_response.rbs +7 -0
  577. data/sig/docker_engine_ruby/models/task_logs_params.rbs +70 -0
  578. data/sig/docker_engine_ruby/models/top_response.rbs +26 -0
  579. data/sig/docker_engine_ruby/models/update_response.rbs +15 -0
  580. data/sig/docker_engine_ruby/models/version.rbs +127 -0
  581. data/sig/docker_engine_ruby/models/volume.rbs +478 -0
  582. data/sig/docker_engine_ruby/models/volume_create_params.rbs +15 -0
  583. data/sig/docker_engine_ruby/models/volume_delete_params.rbs +25 -0
  584. data/sig/docker_engine_ruby/models/volume_inspect_params.rbs +15 -0
  585. data/sig/docker_engine_ruby/models/volume_list_params.rbs +25 -0
  586. data/sig/docker_engine_ruby/models/volume_prune_params.rbs +25 -0
  587. data/sig/docker_engine_ruby/models/volume_prune_response.rbs +26 -0
  588. data/sig/docker_engine_ruby/models/volume_update_params.rbs +235 -0
  589. data/sig/docker_engine_ruby/models/wait_response.rbs +38 -0
  590. data/sig/docker_engine_ruby/models.rbs +269 -0
  591. data/sig/docker_engine_ruby/request_options.rbs +36 -0
  592. data/sig/docker_engine_ruby/resources/auth.rbs +14 -0
  593. data/sig/docker_engine_ruby/resources/configs.rbs +34 -0
  594. data/sig/docker_engine_ruby/resources/containers.rbs +200 -0
  595. data/sig/docker_engine_ruby/resources/distribution.rbs +12 -0
  596. data/sig/docker_engine_ruby/resources/exec.rbs +27 -0
  597. data/sig/docker_engine_ruby/resources/images.rbs +170 -0
  598. data/sig/docker_engine_ruby/resources/networks.rbs +60 -0
  599. data/sig/docker_engine_ruby/resources/nodes.rbs +30 -0
  600. data/sig/docker_engine_ruby/resources/plugins.rbs +73 -0
  601. data/sig/docker_engine_ruby/resources/secrets.rbs +34 -0
  602. data/sig/docker_engine_ruby/resources/services.rbs +52 -0
  603. data/sig/docker_engine_ruby/resources/swarm.rbs +55 -0
  604. data/sig/docker_engine_ruby/resources/system.rbs +30 -0
  605. data/sig/docker_engine_ruby/resources/tasks.rbs +29 -0
  606. data/sig/docker_engine_ruby/resources/volumes.rbs +40 -0
  607. data/sig/docker_engine_ruby/version.rbs +3 -0
  608. metadata +679 -0
@@ -0,0 +1,4672 @@
1
+ # typed: strong
2
+
3
+ module DockerEngineRuby
4
+ module Models
5
+ class Container < DockerEngineRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ DockerEngineRuby::Container,
10
+ DockerEngineRuby::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The AppArmor profile set for the container.
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :app_armor_profile
17
+
18
+ sig { params(app_armor_profile: String).void }
19
+ attr_writer :app_armor_profile
20
+
21
+ # The arguments to the command being run
22
+ sig { returns(T.nilable(T::Array[String])) }
23
+ attr_reader :args
24
+
25
+ sig { params(args: T::Array[String]).void }
26
+ attr_writer :args
27
+
28
+ # Configuration for a container that is portable between hosts.
29
+ sig { returns(T.nilable(DockerEngineRuby::Config)) }
30
+ attr_reader :config
31
+
32
+ sig { params(config: DockerEngineRuby::Config::OrHash).void }
33
+ attr_writer :config
34
+
35
+ # Date and time at which the container was created, formatted in
36
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :created
39
+
40
+ # The storage-driver used for the container's filesystem (graph-driver or
41
+ # snapshotter).
42
+ sig { returns(T.nilable(String)) }
43
+ attr_reader :driver
44
+
45
+ sig { params(driver: String).void }
46
+ attr_writer :driver
47
+
48
+ # IDs of exec instances that are running in the container.
49
+ sig { returns(T.nilable(T::Array[String])) }
50
+ attr_accessor :exec_ids
51
+
52
+ # Information about the storage driver used to store the container's and image's
53
+ # filesystem.
54
+ sig { returns(T.nilable(DockerEngineRuby::Container::GraphDriver)) }
55
+ attr_reader :graph_driver
56
+
57
+ sig do
58
+ params(
59
+ graph_driver: DockerEngineRuby::Container::GraphDriver::OrHash
60
+ ).void
61
+ end
62
+ attr_writer :graph_driver
63
+
64
+ # Container configuration that depends on the host we are running on
65
+ sig { returns(T.nilable(DockerEngineRuby::Container::HostConfig)) }
66
+ attr_reader :host_config
67
+
68
+ sig do
69
+ params(
70
+ host_config: DockerEngineRuby::Container::HostConfig::OrHash
71
+ ).void
72
+ end
73
+ attr_writer :host_config
74
+
75
+ # Location of the `/etc/hostname` generated for the container on the host.
76
+ #
77
+ # This file is managed through the docker daemon, and should not be accessed or
78
+ # modified by other tools.
79
+ sig { returns(T.nilable(String)) }
80
+ attr_reader :hostname_path
81
+
82
+ sig { params(hostname_path: String).void }
83
+ attr_writer :hostname_path
84
+
85
+ # Location of the `/etc/hosts` generated for the container on the host.
86
+ #
87
+ # This file is managed through the docker daemon, and should not be accessed or
88
+ # modified by other tools.
89
+ sig { returns(T.nilable(String)) }
90
+ attr_reader :hosts_path
91
+
92
+ sig { params(hosts_path: String).void }
93
+ attr_writer :hosts_path
94
+
95
+ # The ID of this container as a 128-bit (64-character) hexadecimal string (32
96
+ # bytes).
97
+ sig { returns(T.nilable(String)) }
98
+ attr_reader :id
99
+
100
+ sig { params(id: String).void }
101
+ attr_writer :id
102
+
103
+ # The ID (digest) of the image that this container was created from.
104
+ sig { returns(T.nilable(String)) }
105
+ attr_reader :image
106
+
107
+ sig { params(image: String).void }
108
+ attr_writer :image
109
+
110
+ # A descriptor struct containing digest, media type, and size, as defined in the
111
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
112
+ sig do
113
+ returns(T.nilable(DockerEngineRuby::Container::ImageManifestDescriptor))
114
+ end
115
+ attr_reader :image_manifest_descriptor
116
+
117
+ sig do
118
+ params(
119
+ image_manifest_descriptor:
120
+ DockerEngineRuby::Container::ImageManifestDescriptor::OrHash
121
+ ).void
122
+ end
123
+ attr_writer :image_manifest_descriptor
124
+
125
+ # Location of the file used to buffer the container's logs. Depending on the
126
+ # logging-driver used for the container, this field may be omitted.
127
+ #
128
+ # This file is managed through the docker daemon, and should not be accessed or
129
+ # modified by other tools.
130
+ sig { returns(T.nilable(String)) }
131
+ attr_accessor :log_path
132
+
133
+ # SELinux mount label set for the container.
134
+ sig { returns(T.nilable(String)) }
135
+ attr_reader :mount_label
136
+
137
+ sig { params(mount_label: String).void }
138
+ attr_writer :mount_label
139
+
140
+ # List of mounts used by the container.
141
+ sig { returns(T.nilable(T::Array[DockerEngineRuby::Container::Mount])) }
142
+ attr_reader :mounts
143
+
144
+ sig do
145
+ params(
146
+ mounts: T::Array[DockerEngineRuby::Container::Mount::OrHash]
147
+ ).void
148
+ end
149
+ attr_writer :mounts
150
+
151
+ # The name associated with this container.
152
+ #
153
+ # For historic reasons, the name may be prefixed with a forward-slash (`/`).
154
+ sig { returns(T.nilable(String)) }
155
+ attr_reader :name
156
+
157
+ sig { params(name: String).void }
158
+ attr_writer :name
159
+
160
+ # NetworkSettings exposes the network settings in the API
161
+ sig { returns(T.nilable(DockerEngineRuby::Container::NetworkSettings)) }
162
+ attr_reader :network_settings
163
+
164
+ sig do
165
+ params(
166
+ network_settings: DockerEngineRuby::Container::NetworkSettings::OrHash
167
+ ).void
168
+ end
169
+ attr_writer :network_settings
170
+
171
+ # The path to the command being run
172
+ sig { returns(T.nilable(String)) }
173
+ attr_reader :path
174
+
175
+ sig { params(path: String).void }
176
+ attr_writer :path
177
+
178
+ # The platform (operating system) for which the container was created.
179
+ #
180
+ # This field was introduced for the experimental "LCOW" (Linux Containers On
181
+ # Windows) features, which has been removed. In most cases, this field is equal to
182
+ # the host's operating system (`linux` or `windows`).
183
+ sig { returns(T.nilable(String)) }
184
+ attr_reader :platform
185
+
186
+ sig { params(platform: String).void }
187
+ attr_writer :platform
188
+
189
+ # SELinux process label set for the container.
190
+ sig { returns(T.nilable(String)) }
191
+ attr_reader :process_label
192
+
193
+ sig { params(process_label: String).void }
194
+ attr_writer :process_label
195
+
196
+ # Location of the `/etc/resolv.conf` generated for the container on the host.
197
+ #
198
+ # This file is managed through the docker daemon, and should not be accessed or
199
+ # modified by other tools.
200
+ sig { returns(T.nilable(String)) }
201
+ attr_reader :resolv_conf_path
202
+
203
+ sig { params(resolv_conf_path: String).void }
204
+ attr_writer :resolv_conf_path
205
+
206
+ # Number of times the container was restarted since it was created, or since
207
+ # daemon was started.
208
+ sig { returns(T.nilable(Integer)) }
209
+ attr_reader :restart_count
210
+
211
+ sig { params(restart_count: Integer).void }
212
+ attr_writer :restart_count
213
+
214
+ # The total size of all files in the read-only layers from the image that the
215
+ # container uses. These layers can be shared between containers.
216
+ #
217
+ # This field is omitted by default, and only set when size is requested in the API
218
+ # request.
219
+ sig { returns(T.nilable(Integer)) }
220
+ attr_accessor :size_root_fs
221
+
222
+ # The size of files that have been created or changed by this container.
223
+ #
224
+ # This field is omitted by default, and only set when size is requested in the API
225
+ # request.
226
+ sig { returns(T.nilable(Integer)) }
227
+ attr_accessor :size_rw
228
+
229
+ # ContainerState stores container's running state. It's part of ContainerJSONBase
230
+ # and will be returned by the "inspect" command.
231
+ sig { returns(T.nilable(DockerEngineRuby::Container::State)) }
232
+ attr_reader :state
233
+
234
+ sig do
235
+ params(
236
+ state: T.nilable(DockerEngineRuby::Container::State::OrHash)
237
+ ).void
238
+ end
239
+ attr_writer :state
240
+
241
+ # Information about the storage used by the container.
242
+ sig { returns(T.nilable(DockerEngineRuby::Container::Storage)) }
243
+ attr_reader :storage
244
+
245
+ sig { params(storage: DockerEngineRuby::Container::Storage::OrHash).void }
246
+ attr_writer :storage
247
+
248
+ sig do
249
+ params(
250
+ app_armor_profile: String,
251
+ args: T::Array[String],
252
+ config: DockerEngineRuby::Config::OrHash,
253
+ created: T.nilable(String),
254
+ driver: String,
255
+ exec_ids: T.nilable(T::Array[String]),
256
+ graph_driver: DockerEngineRuby::Container::GraphDriver::OrHash,
257
+ host_config: DockerEngineRuby::Container::HostConfig::OrHash,
258
+ hostname_path: String,
259
+ hosts_path: String,
260
+ id: String,
261
+ image: String,
262
+ image_manifest_descriptor:
263
+ DockerEngineRuby::Container::ImageManifestDescriptor::OrHash,
264
+ log_path: T.nilable(String),
265
+ mount_label: String,
266
+ mounts: T::Array[DockerEngineRuby::Container::Mount::OrHash],
267
+ name: String,
268
+ network_settings:
269
+ DockerEngineRuby::Container::NetworkSettings::OrHash,
270
+ path: String,
271
+ platform: String,
272
+ process_label: String,
273
+ resolv_conf_path: String,
274
+ restart_count: Integer,
275
+ size_root_fs: T.nilable(Integer),
276
+ size_rw: T.nilable(Integer),
277
+ state: T.nilable(DockerEngineRuby::Container::State::OrHash),
278
+ storage: DockerEngineRuby::Container::Storage::OrHash
279
+ ).returns(T.attached_class)
280
+ end
281
+ def self.new(
282
+ # The AppArmor profile set for the container.
283
+ app_armor_profile: nil,
284
+ # The arguments to the command being run
285
+ args: nil,
286
+ # Configuration for a container that is portable between hosts.
287
+ config: nil,
288
+ # Date and time at which the container was created, formatted in
289
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
290
+ created: nil,
291
+ # The storage-driver used for the container's filesystem (graph-driver or
292
+ # snapshotter).
293
+ driver: nil,
294
+ # IDs of exec instances that are running in the container.
295
+ exec_ids: nil,
296
+ # Information about the storage driver used to store the container's and image's
297
+ # filesystem.
298
+ graph_driver: nil,
299
+ # Container configuration that depends on the host we are running on
300
+ host_config: nil,
301
+ # Location of the `/etc/hostname` generated for the container on the host.
302
+ #
303
+ # This file is managed through the docker daemon, and should not be accessed or
304
+ # modified by other tools.
305
+ hostname_path: nil,
306
+ # Location of the `/etc/hosts` generated for the container on the host.
307
+ #
308
+ # This file is managed through the docker daemon, and should not be accessed or
309
+ # modified by other tools.
310
+ hosts_path: nil,
311
+ # The ID of this container as a 128-bit (64-character) hexadecimal string (32
312
+ # bytes).
313
+ id: nil,
314
+ # The ID (digest) of the image that this container was created from.
315
+ image: nil,
316
+ # A descriptor struct containing digest, media type, and size, as defined in the
317
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
318
+ image_manifest_descriptor: nil,
319
+ # Location of the file used to buffer the container's logs. Depending on the
320
+ # logging-driver used for the container, this field may be omitted.
321
+ #
322
+ # This file is managed through the docker daemon, and should not be accessed or
323
+ # modified by other tools.
324
+ log_path: nil,
325
+ # SELinux mount label set for the container.
326
+ mount_label: nil,
327
+ # List of mounts used by the container.
328
+ mounts: nil,
329
+ # The name associated with this container.
330
+ #
331
+ # For historic reasons, the name may be prefixed with a forward-slash (`/`).
332
+ name: nil,
333
+ # NetworkSettings exposes the network settings in the API
334
+ network_settings: nil,
335
+ # The path to the command being run
336
+ path: nil,
337
+ # The platform (operating system) for which the container was created.
338
+ #
339
+ # This field was introduced for the experimental "LCOW" (Linux Containers On
340
+ # Windows) features, which has been removed. In most cases, this field is equal to
341
+ # the host's operating system (`linux` or `windows`).
342
+ platform: nil,
343
+ # SELinux process label set for the container.
344
+ process_label: nil,
345
+ # Location of the `/etc/resolv.conf` generated for the container on the host.
346
+ #
347
+ # This file is managed through the docker daemon, and should not be accessed or
348
+ # modified by other tools.
349
+ resolv_conf_path: nil,
350
+ # Number of times the container was restarted since it was created, or since
351
+ # daemon was started.
352
+ restart_count: nil,
353
+ # The total size of all files in the read-only layers from the image that the
354
+ # container uses. These layers can be shared between containers.
355
+ #
356
+ # This field is omitted by default, and only set when size is requested in the API
357
+ # request.
358
+ size_root_fs: nil,
359
+ # The size of files that have been created or changed by this container.
360
+ #
361
+ # This field is omitted by default, and only set when size is requested in the API
362
+ # request.
363
+ size_rw: nil,
364
+ # ContainerState stores container's running state. It's part of ContainerJSONBase
365
+ # and will be returned by the "inspect" command.
366
+ state: nil,
367
+ # Information about the storage used by the container.
368
+ storage: nil
369
+ )
370
+ end
371
+
372
+ sig do
373
+ override.returns(
374
+ {
375
+ app_armor_profile: String,
376
+ args: T::Array[String],
377
+ config: DockerEngineRuby::Config,
378
+ created: T.nilable(String),
379
+ driver: String,
380
+ exec_ids: T.nilable(T::Array[String]),
381
+ graph_driver: DockerEngineRuby::Container::GraphDriver,
382
+ host_config: DockerEngineRuby::Container::HostConfig,
383
+ hostname_path: String,
384
+ hosts_path: String,
385
+ id: String,
386
+ image: String,
387
+ image_manifest_descriptor:
388
+ DockerEngineRuby::Container::ImageManifestDescriptor,
389
+ log_path: T.nilable(String),
390
+ mount_label: String,
391
+ mounts: T::Array[DockerEngineRuby::Container::Mount],
392
+ name: String,
393
+ network_settings: DockerEngineRuby::Container::NetworkSettings,
394
+ path: String,
395
+ platform: String,
396
+ process_label: String,
397
+ resolv_conf_path: String,
398
+ restart_count: Integer,
399
+ size_root_fs: T.nilable(Integer),
400
+ size_rw: T.nilable(Integer),
401
+ state: T.nilable(DockerEngineRuby::Container::State),
402
+ storage: DockerEngineRuby::Container::Storage
403
+ }
404
+ )
405
+ end
406
+ def to_hash
407
+ end
408
+
409
+ class GraphDriver < DockerEngineRuby::Internal::Type::BaseModel
410
+ OrHash =
411
+ T.type_alias do
412
+ T.any(
413
+ DockerEngineRuby::Container::GraphDriver,
414
+ DockerEngineRuby::Internal::AnyHash
415
+ )
416
+ end
417
+
418
+ # Low-level storage metadata, provided as key/value pairs.
419
+ #
420
+ # This information is driver-specific, and depends on the storage-driver in use,
421
+ # and should be used for informational purposes only.
422
+ sig { returns(T::Hash[Symbol, String]) }
423
+ attr_accessor :data
424
+
425
+ # Name of the storage driver.
426
+ sig { returns(String) }
427
+ attr_accessor :name
428
+
429
+ # Information about the storage driver used to store the container's and image's
430
+ # filesystem.
431
+ sig do
432
+ params(data: T::Hash[Symbol, String], name: String).returns(
433
+ T.attached_class
434
+ )
435
+ end
436
+ def self.new(
437
+ # Low-level storage metadata, provided as key/value pairs.
438
+ #
439
+ # This information is driver-specific, and depends on the storage-driver in use,
440
+ # and should be used for informational purposes only.
441
+ data:,
442
+ # Name of the storage driver.
443
+ name:
444
+ )
445
+ end
446
+
447
+ sig do
448
+ override.returns({ data: T::Hash[Symbol, String], name: String })
449
+ end
450
+ def to_hash
451
+ end
452
+ end
453
+
454
+ class HostConfig < DockerEngineRuby::Internal::Type::BaseModel
455
+ OrHash =
456
+ T.type_alias do
457
+ T.any(
458
+ DockerEngineRuby::Container::HostConfig,
459
+ DockerEngineRuby::Internal::AnyHash
460
+ )
461
+ end
462
+
463
+ # Arbitrary non-identifying metadata attached to container and provided to the
464
+ # runtime when the container is started.
465
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
466
+ attr_reader :annotations
467
+
468
+ sig { params(annotations: T::Hash[Symbol, String]).void }
469
+ attr_writer :annotations
470
+
471
+ # Automatically remove the container when the container's process exits. This has
472
+ # no effect if `RestartPolicy` is set.
473
+ sig { returns(T.nilable(T::Boolean)) }
474
+ attr_reader :auto_remove
475
+
476
+ sig { params(auto_remove: T::Boolean).void }
477
+ attr_writer :auto_remove
478
+
479
+ # A list of volume bindings for this container. Each volume binding is a string in
480
+ # one of these forms:
481
+ #
482
+ # - `host-src:container-dest[:options]` to bind-mount a host path into the
483
+ # container. Both `host-src`, and `container-dest` must be an _absolute_ path.
484
+ # - `volume-name:container-dest[:options]` to bind-mount a volume managed by a
485
+ # volume driver into the container. `container-dest` must be an _absolute_ path.
486
+ #
487
+ # `options` is an optional, comma-delimited list of:
488
+ #
489
+ # - `nocopy` disables automatic copying of data from the container path to the
490
+ # volume. The `nocopy` flag only applies to named volumes.
491
+ # - `[ro|rw]` mounts a volume read-only or read-write, respectively. If omitted or
492
+ # set to `rw`, volumes are mounted read-write.
493
+ # - `[z|Z]` applies SELinux labels to allow or deny multiple containers to read
494
+ # and write to the same volume.
495
+ # - `z`: a _shared_ content label is applied to the content. This label
496
+ # indicates that multiple containers can share the volume content, for both
497
+ # reading and writing.
498
+ # - `Z`: a _private unshared_ label is applied to the content. This label
499
+ # indicates that only the current container can use a private volume. Labeling
500
+ # systems such as SELinux require proper labels to be placed on volume content
501
+ # that is mounted into a container. Without a label, the security system can
502
+ # prevent a container's processes from using the content. By default, the
503
+ # labels set by the host operating system are not modified.
504
+ # - `[[r]shared|[r]slave|[r]private]` specifies mount
505
+ # [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).
506
+ # This only applies to bind-mounted volumes, not internal volumes or named
507
+ # volumes. Mount propagation requires the source mount point (the location where
508
+ # the source directory is mounted in the host operating system) to have the
509
+ # correct propagation properties. For shared volumes, the source mount point
510
+ # must be set to `shared`. For slave volumes, the mount must be set to either
511
+ # `shared` or `slave`.
512
+ sig { returns(T.nilable(T::Array[String])) }
513
+ attr_reader :binds
514
+
515
+ sig { params(binds: T::Array[String]).void }
516
+ attr_writer :binds
517
+
518
+ # Limit read rate (bytes per second) from a device, in the form:
519
+ #
520
+ # ```
521
+ # [{"Path": "device_path", "Rate": rate}]
522
+ # ```
523
+ sig do
524
+ returns(
525
+ T.nilable(
526
+ T::Array[
527
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadBp
528
+ ]
529
+ )
530
+ )
531
+ end
532
+ attr_reader :blkio_device_read_bps
533
+
534
+ sig do
535
+ params(
536
+ blkio_device_read_bps:
537
+ T::Array[
538
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadBp::OrHash
539
+ ]
540
+ ).void
541
+ end
542
+ attr_writer :blkio_device_read_bps
543
+
544
+ # Limit read rate (IO per second) from a device, in the form:
545
+ #
546
+ # ```
547
+ # [{"Path": "device_path", "Rate": rate}]
548
+ # ```
549
+ sig do
550
+ returns(
551
+ T.nilable(
552
+ T::Array[
553
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadIOp
554
+ ]
555
+ )
556
+ )
557
+ end
558
+ attr_reader :blkio_device_read_i_ops
559
+
560
+ sig do
561
+ params(
562
+ blkio_device_read_i_ops:
563
+ T::Array[
564
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadIOp::OrHash
565
+ ]
566
+ ).void
567
+ end
568
+ attr_writer :blkio_device_read_i_ops
569
+
570
+ # Limit write rate (bytes per second) to a device, in the form:
571
+ #
572
+ # ```
573
+ # [{"Path": "device_path", "Rate": rate}]
574
+ # ```
575
+ sig do
576
+ returns(
577
+ T.nilable(
578
+ T::Array[
579
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteBp
580
+ ]
581
+ )
582
+ )
583
+ end
584
+ attr_reader :blkio_device_write_bps
585
+
586
+ sig do
587
+ params(
588
+ blkio_device_write_bps:
589
+ T::Array[
590
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteBp::OrHash
591
+ ]
592
+ ).void
593
+ end
594
+ attr_writer :blkio_device_write_bps
595
+
596
+ # Limit write rate (IO per second) to a device, in the form:
597
+ #
598
+ # ```
599
+ # [{"Path": "device_path", "Rate": rate}]
600
+ # ```
601
+ sig do
602
+ returns(
603
+ T.nilable(
604
+ T::Array[
605
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteIOp
606
+ ]
607
+ )
608
+ )
609
+ end
610
+ attr_reader :blkio_device_write_i_ops
611
+
612
+ sig do
613
+ params(
614
+ blkio_device_write_i_ops:
615
+ T::Array[
616
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteIOp::OrHash
617
+ ]
618
+ ).void
619
+ end
620
+ attr_writer :blkio_device_write_i_ops
621
+
622
+ # Block IO weight (relative weight).
623
+ sig { returns(T.nilable(Integer)) }
624
+ attr_reader :blkio_weight
625
+
626
+ sig { params(blkio_weight: Integer).void }
627
+ attr_writer :blkio_weight
628
+
629
+ # Block IO weight (relative device weight) in the form:
630
+ #
631
+ # ```
632
+ # [{"Path": "device_path", "Weight": weight}]
633
+ # ```
634
+ sig do
635
+ returns(
636
+ T.nilable(
637
+ T::Array[
638
+ DockerEngineRuby::Container::HostConfig::BlkioWeightDevice
639
+ ]
640
+ )
641
+ )
642
+ end
643
+ attr_reader :blkio_weight_device
644
+
645
+ sig do
646
+ params(
647
+ blkio_weight_device:
648
+ T::Array[
649
+ DockerEngineRuby::Container::HostConfig::BlkioWeightDevice::OrHash
650
+ ]
651
+ ).void
652
+ end
653
+ attr_writer :blkio_weight_device
654
+
655
+ # A list of kernel capabilities to add to the container. Conflicts with option
656
+ # 'Capabilities'.
657
+ sig { returns(T.nilable(T::Array[String])) }
658
+ attr_reader :cap_add
659
+
660
+ sig { params(cap_add: T::Array[String]).void }
661
+ attr_writer :cap_add
662
+
663
+ # A list of kernel capabilities to drop from the container. Conflicts with option
664
+ # 'Capabilities'.
665
+ sig { returns(T.nilable(T::Array[String])) }
666
+ attr_reader :cap_drop
667
+
668
+ sig { params(cap_drop: T::Array[String]).void }
669
+ attr_writer :cap_drop
670
+
671
+ # Cgroup to use for the container.
672
+ sig { returns(T.nilable(String)) }
673
+ attr_reader :cgroup
674
+
675
+ sig { params(cgroup: String).void }
676
+ attr_writer :cgroup
677
+
678
+ # cgroup namespace mode for the container. Possible values are:
679
+ #
680
+ # - `"private"`: the container runs in its own private cgroup namespace
681
+ # - `"host"`: use the host system's cgroup namespace
682
+ #
683
+ # If not specified, the daemon default is used, which can either be `"private"` or
684
+ # `"host"`, depending on daemon version, kernel support and configuration.
685
+ sig do
686
+ returns(
687
+ T.nilable(
688
+ DockerEngineRuby::Container::HostConfig::CgroupnsMode::TaggedSymbol
689
+ )
690
+ )
691
+ end
692
+ attr_reader :cgroupns_mode
693
+
694
+ sig do
695
+ params(
696
+ cgroupns_mode:
697
+ DockerEngineRuby::Container::HostConfig::CgroupnsMode::OrSymbol
698
+ ).void
699
+ end
700
+ attr_writer :cgroupns_mode
701
+
702
+ # Path to `cgroups` under which the container's `cgroup` is created. If the path
703
+ # is not absolute, the path is considered to be relative to the `cgroups` path of
704
+ # the init process. Cgroups are created if they do not already exist.
705
+ sig { returns(T.nilable(String)) }
706
+ attr_reader :cgroup_parent
707
+
708
+ sig { params(cgroup_parent: String).void }
709
+ attr_writer :cgroup_parent
710
+
711
+ # Initial console size, as an `[height, width]` array.
712
+ sig { returns(T.nilable(T::Array[Integer])) }
713
+ attr_accessor :console_size
714
+
715
+ # Path to a file where the container ID is written
716
+ sig { returns(T.nilable(String)) }
717
+ attr_reader :container_id_file
718
+
719
+ sig { params(container_id_file: String).void }
720
+ attr_writer :container_id_file
721
+
722
+ # The number of usable CPUs (Windows only).
723
+ #
724
+ # On Windows Server containers, the processor resource controls are mutually
725
+ # exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and
726
+ # `CPUPercent` last.
727
+ sig { returns(T.nilable(Integer)) }
728
+ attr_reader :cpu_count
729
+
730
+ sig { params(cpu_count: Integer).void }
731
+ attr_writer :cpu_count
732
+
733
+ # The usable percentage of the available CPUs (Windows only).
734
+ #
735
+ # On Windows Server containers, the processor resource controls are mutually
736
+ # exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and
737
+ # `CPUPercent` last.
738
+ sig { returns(T.nilable(Integer)) }
739
+ attr_reader :cpu_percent
740
+
741
+ sig { params(cpu_percent: Integer).void }
742
+ attr_writer :cpu_percent
743
+
744
+ # The length of a CPU period in microseconds.
745
+ sig { returns(T.nilable(Integer)) }
746
+ attr_reader :cpu_period
747
+
748
+ sig { params(cpu_period: Integer).void }
749
+ attr_writer :cpu_period
750
+
751
+ # Microseconds of CPU time that the container can get in a CPU period.
752
+ sig { returns(T.nilable(Integer)) }
753
+ attr_reader :cpu_quota
754
+
755
+ sig { params(cpu_quota: Integer).void }
756
+ attr_writer :cpu_quota
757
+
758
+ # The length of a CPU real-time period in microseconds. Set to 0 to allocate no
759
+ # time allocated to real-time tasks.
760
+ sig { returns(T.nilable(Integer)) }
761
+ attr_reader :cpu_realtime_period
762
+
763
+ sig { params(cpu_realtime_period: Integer).void }
764
+ attr_writer :cpu_realtime_period
765
+
766
+ # The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no
767
+ # time allocated to real-time tasks.
768
+ sig { returns(T.nilable(Integer)) }
769
+ attr_reader :cpu_realtime_runtime
770
+
771
+ sig { params(cpu_realtime_runtime: Integer).void }
772
+ attr_writer :cpu_realtime_runtime
773
+
774
+ # CPUs in which to allow execution (e.g., `0-3`, `0,1`).
775
+ sig { returns(T.nilable(String)) }
776
+ attr_reader :cpuset_cpus
777
+
778
+ sig { params(cpuset_cpus: String).void }
779
+ attr_writer :cpuset_cpus
780
+
781
+ # Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on
782
+ # NUMA systems.
783
+ sig { returns(T.nilable(String)) }
784
+ attr_reader :cpuset_mems
785
+
786
+ sig { params(cpuset_mems: String).void }
787
+ attr_writer :cpuset_mems
788
+
789
+ # An integer value representing this container's relative CPU weight versus other
790
+ # containers.
791
+ sig { returns(T.nilable(Integer)) }
792
+ attr_reader :cpu_shares
793
+
794
+ sig { params(cpu_shares: Integer).void }
795
+ attr_writer :cpu_shares
796
+
797
+ # a list of cgroup rules to apply to the container
798
+ sig { returns(T.nilable(T::Array[String])) }
799
+ attr_reader :device_cgroup_rules
800
+
801
+ sig { params(device_cgroup_rules: T::Array[String]).void }
802
+ attr_writer :device_cgroup_rules
803
+
804
+ # A list of requests for devices to be sent to device drivers.
805
+ sig do
806
+ returns(
807
+ T.nilable(
808
+ T::Array[DockerEngineRuby::Container::HostConfig::DeviceRequest]
809
+ )
810
+ )
811
+ end
812
+ attr_reader :device_requests
813
+
814
+ sig do
815
+ params(
816
+ device_requests:
817
+ T::Array[
818
+ DockerEngineRuby::Container::HostConfig::DeviceRequest::OrHash
819
+ ]
820
+ ).void
821
+ end
822
+ attr_writer :device_requests
823
+
824
+ # A list of devices to add to the container.
825
+ sig do
826
+ returns(
827
+ T.nilable(T::Array[DockerEngineRuby::Container::HostConfig::Device])
828
+ )
829
+ end
830
+ attr_reader :devices
831
+
832
+ sig do
833
+ params(
834
+ devices:
835
+ T::Array[DockerEngineRuby::Container::HostConfig::Device::OrHash]
836
+ ).void
837
+ end
838
+ attr_writer :devices
839
+
840
+ # A list of DNS servers for the container to use.
841
+ sig { returns(T.nilable(T::Array[String])) }
842
+ attr_reader :dns
843
+
844
+ sig { params(dns: T::Array[String]).void }
845
+ attr_writer :dns
846
+
847
+ # A list of DNS options.
848
+ sig { returns(T.nilable(T::Array[String])) }
849
+ attr_reader :dns_options
850
+
851
+ sig { params(dns_options: T::Array[String]).void }
852
+ attr_writer :dns_options
853
+
854
+ # A list of DNS search domains.
855
+ sig { returns(T.nilable(T::Array[String])) }
856
+ attr_reader :dns_search
857
+
858
+ sig { params(dns_search: T::Array[String]).void }
859
+ attr_writer :dns_search
860
+
861
+ # A list of hostnames/IP mappings to add to the container's `/etc/hosts` file.
862
+ # Specified in the form `["hostname:IP"]`.
863
+ sig { returns(T.nilable(T::Array[String])) }
864
+ attr_reader :extra_hosts
865
+
866
+ sig { params(extra_hosts: T::Array[String]).void }
867
+ attr_writer :extra_hosts
868
+
869
+ # A list of additional groups that the container process will run as.
870
+ sig { returns(T.nilable(T::Array[String])) }
871
+ attr_reader :group_add
872
+
873
+ sig { params(group_add: T::Array[String]).void }
874
+ attr_writer :group_add
875
+
876
+ # Run an init inside the container that forwards signals and reaps processes. This
877
+ # field is omitted if empty, and the default (as configured on the daemon) is
878
+ # used.
879
+ sig { returns(T.nilable(T::Boolean)) }
880
+ attr_accessor :init
881
+
882
+ # Maximum IO in bytes per second for the container system drive (Windows only).
883
+ sig { returns(T.nilable(Integer)) }
884
+ attr_reader :io_maximum_bandwidth
885
+
886
+ sig { params(io_maximum_bandwidth: Integer).void }
887
+ attr_writer :io_maximum_bandwidth
888
+
889
+ # Maximum IOps for the container system drive (Windows only)
890
+ sig { returns(T.nilable(Integer)) }
891
+ attr_reader :io_maximum_i_ops
892
+
893
+ sig { params(io_maximum_i_ops: Integer).void }
894
+ attr_writer :io_maximum_i_ops
895
+
896
+ # IPC sharing mode for the container. Possible values are:
897
+ #
898
+ # - `"none"`: own private IPC namespace, with /dev/shm not mounted
899
+ # - `"private"`: own private IPC namespace
900
+ # - `"shareable"`: own private IPC namespace, with a possibility to share it with
901
+ # other containers
902
+ # - `"container:<name|id>"`: join another (shareable) container's IPC namespace
903
+ # - `"host"`: use the host system's IPC namespace
904
+ #
905
+ # If not specified, daemon default is used, which can either be `"private"` or
906
+ # `"shareable"`, depending on daemon version and configuration.
907
+ sig { returns(T.nilable(String)) }
908
+ attr_reader :ipc_mode
909
+
910
+ sig { params(ipc_mode: String).void }
911
+ attr_writer :ipc_mode
912
+
913
+ # Isolation technology of the container. (Windows only)
914
+ sig do
915
+ returns(
916
+ T.nilable(
917
+ DockerEngineRuby::Container::HostConfig::Isolation::TaggedSymbol
918
+ )
919
+ )
920
+ end
921
+ attr_reader :isolation
922
+
923
+ sig do
924
+ params(
925
+ isolation:
926
+ DockerEngineRuby::Container::HostConfig::Isolation::OrSymbol
927
+ ).void
928
+ end
929
+ attr_writer :isolation
930
+
931
+ # A list of links for the container in the form `container_name:alias`.
932
+ sig { returns(T.nilable(T::Array[String])) }
933
+ attr_reader :links
934
+
935
+ sig { params(links: T::Array[String]).void }
936
+ attr_writer :links
937
+
938
+ # The logging configuration for this container
939
+ sig do
940
+ returns(T.nilable(DockerEngineRuby::Container::HostConfig::LogConfig))
941
+ end
942
+ attr_reader :log_config
943
+
944
+ sig do
945
+ params(
946
+ log_config:
947
+ DockerEngineRuby::Container::HostConfig::LogConfig::OrHash
948
+ ).void
949
+ end
950
+ attr_writer :log_config
951
+
952
+ # The list of paths to be masked inside the container (this overrides the default
953
+ # set of paths).
954
+ sig { returns(T.nilable(T::Array[String])) }
955
+ attr_reader :masked_paths
956
+
957
+ sig { params(masked_paths: T::Array[String]).void }
958
+ attr_writer :masked_paths
959
+
960
+ # Memory limit in bytes.
961
+ sig { returns(T.nilable(Integer)) }
962
+ attr_reader :memory
963
+
964
+ sig { params(memory: Integer).void }
965
+ attr_writer :memory
966
+
967
+ # Memory soft limit in bytes.
968
+ sig { returns(T.nilable(Integer)) }
969
+ attr_reader :memory_reservation
970
+
971
+ sig { params(memory_reservation: Integer).void }
972
+ attr_writer :memory_reservation
973
+
974
+ # Total memory limit (memory + swap). Set as `-1` to enable unlimited swap.
975
+ sig { returns(T.nilable(Integer)) }
976
+ attr_reader :memory_swap
977
+
978
+ sig { params(memory_swap: Integer).void }
979
+ attr_writer :memory_swap
980
+
981
+ # Tune a container's memory swappiness behavior. Accepts an integer between 0
982
+ # and 100.
983
+ sig { returns(T.nilable(Integer)) }
984
+ attr_reader :memory_swappiness
985
+
986
+ sig { params(memory_swappiness: Integer).void }
987
+ attr_writer :memory_swappiness
988
+
989
+ # Specification for mounts to be added to the container.
990
+ sig do
991
+ returns(
992
+ T.nilable(T::Array[DockerEngineRuby::Container::HostConfig::Mount])
993
+ )
994
+ end
995
+ attr_reader :mounts
996
+
997
+ sig do
998
+ params(
999
+ mounts:
1000
+ T::Array[DockerEngineRuby::Container::HostConfig::Mount::OrHash]
1001
+ ).void
1002
+ end
1003
+ attr_writer :mounts
1004
+
1005
+ # CPU quota in units of 10<sup>-9</sup> CPUs.
1006
+ sig { returns(T.nilable(Integer)) }
1007
+ attr_reader :nano_cpus
1008
+
1009
+ sig { params(nano_cpus: Integer).void }
1010
+ attr_writer :nano_cpus
1011
+
1012
+ # Network mode to use for this container. Supported standard values are: `bridge`,
1013
+ # `host`, `none`, and `container:<name|id>`. Any other value is taken as a custom
1014
+ # network's name to which this container should connect to.
1015
+ sig { returns(T.nilable(String)) }
1016
+ attr_reader :network_mode
1017
+
1018
+ sig { params(network_mode: String).void }
1019
+ attr_writer :network_mode
1020
+
1021
+ # Disable OOM Killer for the container.
1022
+ sig { returns(T.nilable(T::Boolean)) }
1023
+ attr_reader :oom_kill_disable
1024
+
1025
+ sig { params(oom_kill_disable: T::Boolean).void }
1026
+ attr_writer :oom_kill_disable
1027
+
1028
+ # An integer value containing the score given to the container in order to tune
1029
+ # OOM killer preferences.
1030
+ sig { returns(T.nilable(Integer)) }
1031
+ attr_reader :oom_score_adj
1032
+
1033
+ sig { params(oom_score_adj: Integer).void }
1034
+ attr_writer :oom_score_adj
1035
+
1036
+ # Set the PID (Process) Namespace mode for the container. It can be either:
1037
+ #
1038
+ # - `"container:<name|id>"`: joins another container's PID namespace
1039
+ # - `"host"`: use the host's PID namespace inside the container
1040
+ sig { returns(T.nilable(String)) }
1041
+ attr_reader :pid_mode
1042
+
1043
+ sig { params(pid_mode: String).void }
1044
+ attr_writer :pid_mode
1045
+
1046
+ # Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` to not
1047
+ # change.
1048
+ sig { returns(T.nilable(Integer)) }
1049
+ attr_accessor :pids_limit
1050
+
1051
+ # PortMap describes the mapping of container ports to host ports, using the
1052
+ # container's port-number and protocol as key in the format `<port>/<protocol>`,
1053
+ # for example, `80/udp`.
1054
+ #
1055
+ # If a container's port is mapped for multiple protocols, separate entries are
1056
+ # added to the mapping table.
1057
+ sig do
1058
+ returns(
1059
+ T.nilable(
1060
+ T::Hash[
1061
+ Symbol,
1062
+ T::Array[DockerEngineRuby::Container::HostConfig::PortBinding]
1063
+ ]
1064
+ )
1065
+ )
1066
+ end
1067
+ attr_reader :port_bindings
1068
+
1069
+ sig do
1070
+ params(
1071
+ port_bindings:
1072
+ T::Hash[
1073
+ Symbol,
1074
+ T::Array[
1075
+ DockerEngineRuby::Container::HostConfig::PortBinding::OrHash
1076
+ ]
1077
+ ]
1078
+ ).void
1079
+ end
1080
+ attr_writer :port_bindings
1081
+
1082
+ # Gives the container full access to the host.
1083
+ sig { returns(T.nilable(T::Boolean)) }
1084
+ attr_reader :privileged
1085
+
1086
+ sig { params(privileged: T::Boolean).void }
1087
+ attr_writer :privileged
1088
+
1089
+ # Allocates an ephemeral host port for all of a container's exposed ports.
1090
+ #
1091
+ # Ports are de-allocated when the container stops and allocated when the container
1092
+ # starts. The allocated port might be changed when restarting the container.
1093
+ #
1094
+ # The port is selected from the ephemeral port range that depends on the kernel.
1095
+ # For example, on Linux the range is defined by
1096
+ # `/proc/sys/net/ipv4/ip_local_port_range`.
1097
+ sig { returns(T.nilable(T::Boolean)) }
1098
+ attr_reader :publish_all_ports
1099
+
1100
+ sig { params(publish_all_ports: T::Boolean).void }
1101
+ attr_writer :publish_all_ports
1102
+
1103
+ # The list of paths to be set as read-only inside the container (this overrides
1104
+ # the default set of paths).
1105
+ sig { returns(T.nilable(T::Array[String])) }
1106
+ attr_reader :readonly_paths
1107
+
1108
+ sig { params(readonly_paths: T::Array[String]).void }
1109
+ attr_writer :readonly_paths
1110
+
1111
+ # Mount the container's root filesystem as read only.
1112
+ sig { returns(T.nilable(T::Boolean)) }
1113
+ attr_reader :readonly_rootfs
1114
+
1115
+ sig { params(readonly_rootfs: T::Boolean).void }
1116
+ attr_writer :readonly_rootfs
1117
+
1118
+ # The behavior to apply when the container exits. The default is not to restart.
1119
+ #
1120
+ # An ever increasing delay (double the previous delay, starting at 100ms) is added
1121
+ # before each restart to prevent flooding the server.
1122
+ sig do
1123
+ returns(
1124
+ T.nilable(DockerEngineRuby::Container::HostConfig::RestartPolicy)
1125
+ )
1126
+ end
1127
+ attr_reader :restart_policy
1128
+
1129
+ sig do
1130
+ params(
1131
+ restart_policy:
1132
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::OrHash
1133
+ ).void
1134
+ end
1135
+ attr_writer :restart_policy
1136
+
1137
+ # Runtime to use with this container.
1138
+ sig { returns(T.nilable(String)) }
1139
+ attr_accessor :runtime
1140
+
1141
+ # A list of string values to customize labels for MLS systems, such as SELinux.
1142
+ sig { returns(T.nilable(T::Array[String])) }
1143
+ attr_reader :security_opt
1144
+
1145
+ sig { params(security_opt: T::Array[String]).void }
1146
+ attr_writer :security_opt
1147
+
1148
+ # Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.
1149
+ sig { returns(T.nilable(Integer)) }
1150
+ attr_reader :shm_size
1151
+
1152
+ sig { params(shm_size: Integer).void }
1153
+ attr_writer :shm_size
1154
+
1155
+ # Storage driver options for this container, in the form `{"size": "120G"}`.
1156
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1157
+ attr_reader :storage_opt
1158
+
1159
+ sig { params(storage_opt: T::Hash[Symbol, String]).void }
1160
+ attr_writer :storage_opt
1161
+
1162
+ # A list of kernel parameters (sysctls) to set in the container.
1163
+ #
1164
+ # This field is omitted if not set.
1165
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1166
+ attr_accessor :sysctls
1167
+
1168
+ # A map of container directories which should be replaced by tmpfs mounts, and
1169
+ # their corresponding mount options. For example:
1170
+ #
1171
+ # ```
1172
+ # { "/run": "rw,noexec,nosuid,size=65536k" }
1173
+ # ```
1174
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1175
+ attr_reader :tmpfs
1176
+
1177
+ sig { params(tmpfs: T::Hash[Symbol, String]).void }
1178
+ attr_writer :tmpfs
1179
+
1180
+ # A list of resource limits to set in the container. For example:
1181
+ #
1182
+ # ```
1183
+ # {"Name": "nofile", "Soft": 1024, "Hard": 2048}
1184
+ # ```
1185
+ sig do
1186
+ returns(
1187
+ T.nilable(T::Array[DockerEngineRuby::Container::HostConfig::Ulimit])
1188
+ )
1189
+ end
1190
+ attr_reader :ulimits
1191
+
1192
+ sig do
1193
+ params(
1194
+ ulimits:
1195
+ T::Array[DockerEngineRuby::Container::HostConfig::Ulimit::OrHash]
1196
+ ).void
1197
+ end
1198
+ attr_writer :ulimits
1199
+
1200
+ # Sets the usernamespace mode for the container when usernamespace remapping
1201
+ # option is enabled.
1202
+ sig { returns(T.nilable(String)) }
1203
+ attr_reader :userns_mode
1204
+
1205
+ sig { params(userns_mode: String).void }
1206
+ attr_writer :userns_mode
1207
+
1208
+ # UTS namespace to use for the container.
1209
+ sig { returns(T.nilable(String)) }
1210
+ attr_reader :uts_mode
1211
+
1212
+ sig { params(uts_mode: String).void }
1213
+ attr_writer :uts_mode
1214
+
1215
+ # Driver that this container uses to mount volumes.
1216
+ sig { returns(T.nilable(String)) }
1217
+ attr_reader :volume_driver
1218
+
1219
+ sig { params(volume_driver: String).void }
1220
+ attr_writer :volume_driver
1221
+
1222
+ # A list of volumes to inherit from another container, specified in the form
1223
+ # `<container name>[:<ro|rw>]`.
1224
+ sig { returns(T.nilable(T::Array[String])) }
1225
+ attr_reader :volumes_from
1226
+
1227
+ sig { params(volumes_from: T::Array[String]).void }
1228
+ attr_writer :volumes_from
1229
+
1230
+ # Container configuration that depends on the host we are running on
1231
+ sig do
1232
+ params(
1233
+ annotations: T::Hash[Symbol, String],
1234
+ auto_remove: T::Boolean,
1235
+ binds: T::Array[String],
1236
+ blkio_device_read_bps:
1237
+ T::Array[
1238
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadBp::OrHash
1239
+ ],
1240
+ blkio_device_read_i_ops:
1241
+ T::Array[
1242
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadIOp::OrHash
1243
+ ],
1244
+ blkio_device_write_bps:
1245
+ T::Array[
1246
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteBp::OrHash
1247
+ ],
1248
+ blkio_device_write_i_ops:
1249
+ T::Array[
1250
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteIOp::OrHash
1251
+ ],
1252
+ blkio_weight: Integer,
1253
+ blkio_weight_device:
1254
+ T::Array[
1255
+ DockerEngineRuby::Container::HostConfig::BlkioWeightDevice::OrHash
1256
+ ],
1257
+ cap_add: T::Array[String],
1258
+ cap_drop: T::Array[String],
1259
+ cgroup: String,
1260
+ cgroupns_mode:
1261
+ DockerEngineRuby::Container::HostConfig::CgroupnsMode::OrSymbol,
1262
+ cgroup_parent: String,
1263
+ console_size: T.nilable(T::Array[Integer]),
1264
+ container_id_file: String,
1265
+ cpu_count: Integer,
1266
+ cpu_percent: Integer,
1267
+ cpu_period: Integer,
1268
+ cpu_quota: Integer,
1269
+ cpu_realtime_period: Integer,
1270
+ cpu_realtime_runtime: Integer,
1271
+ cpuset_cpus: String,
1272
+ cpuset_mems: String,
1273
+ cpu_shares: Integer,
1274
+ device_cgroup_rules: T::Array[String],
1275
+ device_requests:
1276
+ T::Array[
1277
+ DockerEngineRuby::Container::HostConfig::DeviceRequest::OrHash
1278
+ ],
1279
+ devices:
1280
+ T::Array[DockerEngineRuby::Container::HostConfig::Device::OrHash],
1281
+ dns: T::Array[String],
1282
+ dns_options: T::Array[String],
1283
+ dns_search: T::Array[String],
1284
+ extra_hosts: T::Array[String],
1285
+ group_add: T::Array[String],
1286
+ init: T.nilable(T::Boolean),
1287
+ io_maximum_bandwidth: Integer,
1288
+ io_maximum_i_ops: Integer,
1289
+ ipc_mode: String,
1290
+ isolation:
1291
+ DockerEngineRuby::Container::HostConfig::Isolation::OrSymbol,
1292
+ links: T::Array[String],
1293
+ log_config:
1294
+ DockerEngineRuby::Container::HostConfig::LogConfig::OrHash,
1295
+ masked_paths: T::Array[String],
1296
+ memory: Integer,
1297
+ memory_reservation: Integer,
1298
+ memory_swap: Integer,
1299
+ memory_swappiness: Integer,
1300
+ mounts:
1301
+ T::Array[DockerEngineRuby::Container::HostConfig::Mount::OrHash],
1302
+ nano_cpus: Integer,
1303
+ network_mode: String,
1304
+ oom_kill_disable: T::Boolean,
1305
+ oom_score_adj: Integer,
1306
+ pid_mode: String,
1307
+ pids_limit: T.nilable(Integer),
1308
+ port_bindings:
1309
+ T::Hash[
1310
+ Symbol,
1311
+ T::Array[
1312
+ DockerEngineRuby::Container::HostConfig::PortBinding::OrHash
1313
+ ]
1314
+ ],
1315
+ privileged: T::Boolean,
1316
+ publish_all_ports: T::Boolean,
1317
+ readonly_paths: T::Array[String],
1318
+ readonly_rootfs: T::Boolean,
1319
+ restart_policy:
1320
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::OrHash,
1321
+ runtime: T.nilable(String),
1322
+ security_opt: T::Array[String],
1323
+ shm_size: Integer,
1324
+ storage_opt: T::Hash[Symbol, String],
1325
+ sysctls: T.nilable(T::Hash[Symbol, String]),
1326
+ tmpfs: T::Hash[Symbol, String],
1327
+ ulimits:
1328
+ T::Array[DockerEngineRuby::Container::HostConfig::Ulimit::OrHash],
1329
+ userns_mode: String,
1330
+ uts_mode: String,
1331
+ volume_driver: String,
1332
+ volumes_from: T::Array[String]
1333
+ ).returns(T.attached_class)
1334
+ end
1335
+ def self.new(
1336
+ # Arbitrary non-identifying metadata attached to container and provided to the
1337
+ # runtime when the container is started.
1338
+ annotations: nil,
1339
+ # Automatically remove the container when the container's process exits. This has
1340
+ # no effect if `RestartPolicy` is set.
1341
+ auto_remove: nil,
1342
+ # A list of volume bindings for this container. Each volume binding is a string in
1343
+ # one of these forms:
1344
+ #
1345
+ # - `host-src:container-dest[:options]` to bind-mount a host path into the
1346
+ # container. Both `host-src`, and `container-dest` must be an _absolute_ path.
1347
+ # - `volume-name:container-dest[:options]` to bind-mount a volume managed by a
1348
+ # volume driver into the container. `container-dest` must be an _absolute_ path.
1349
+ #
1350
+ # `options` is an optional, comma-delimited list of:
1351
+ #
1352
+ # - `nocopy` disables automatic copying of data from the container path to the
1353
+ # volume. The `nocopy` flag only applies to named volumes.
1354
+ # - `[ro|rw]` mounts a volume read-only or read-write, respectively. If omitted or
1355
+ # set to `rw`, volumes are mounted read-write.
1356
+ # - `[z|Z]` applies SELinux labels to allow or deny multiple containers to read
1357
+ # and write to the same volume.
1358
+ # - `z`: a _shared_ content label is applied to the content. This label
1359
+ # indicates that multiple containers can share the volume content, for both
1360
+ # reading and writing.
1361
+ # - `Z`: a _private unshared_ label is applied to the content. This label
1362
+ # indicates that only the current container can use a private volume. Labeling
1363
+ # systems such as SELinux require proper labels to be placed on volume content
1364
+ # that is mounted into a container. Without a label, the security system can
1365
+ # prevent a container's processes from using the content. By default, the
1366
+ # labels set by the host operating system are not modified.
1367
+ # - `[[r]shared|[r]slave|[r]private]` specifies mount
1368
+ # [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).
1369
+ # This only applies to bind-mounted volumes, not internal volumes or named
1370
+ # volumes. Mount propagation requires the source mount point (the location where
1371
+ # the source directory is mounted in the host operating system) to have the
1372
+ # correct propagation properties. For shared volumes, the source mount point
1373
+ # must be set to `shared`. For slave volumes, the mount must be set to either
1374
+ # `shared` or `slave`.
1375
+ binds: nil,
1376
+ # Limit read rate (bytes per second) from a device, in the form:
1377
+ #
1378
+ # ```
1379
+ # [{"Path": "device_path", "Rate": rate}]
1380
+ # ```
1381
+ blkio_device_read_bps: nil,
1382
+ # Limit read rate (IO per second) from a device, in the form:
1383
+ #
1384
+ # ```
1385
+ # [{"Path": "device_path", "Rate": rate}]
1386
+ # ```
1387
+ blkio_device_read_i_ops: nil,
1388
+ # Limit write rate (bytes per second) to a device, in the form:
1389
+ #
1390
+ # ```
1391
+ # [{"Path": "device_path", "Rate": rate}]
1392
+ # ```
1393
+ blkio_device_write_bps: nil,
1394
+ # Limit write rate (IO per second) to a device, in the form:
1395
+ #
1396
+ # ```
1397
+ # [{"Path": "device_path", "Rate": rate}]
1398
+ # ```
1399
+ blkio_device_write_i_ops: nil,
1400
+ # Block IO weight (relative weight).
1401
+ blkio_weight: nil,
1402
+ # Block IO weight (relative device weight) in the form:
1403
+ #
1404
+ # ```
1405
+ # [{"Path": "device_path", "Weight": weight}]
1406
+ # ```
1407
+ blkio_weight_device: nil,
1408
+ # A list of kernel capabilities to add to the container. Conflicts with option
1409
+ # 'Capabilities'.
1410
+ cap_add: nil,
1411
+ # A list of kernel capabilities to drop from the container. Conflicts with option
1412
+ # 'Capabilities'.
1413
+ cap_drop: nil,
1414
+ # Cgroup to use for the container.
1415
+ cgroup: nil,
1416
+ # cgroup namespace mode for the container. Possible values are:
1417
+ #
1418
+ # - `"private"`: the container runs in its own private cgroup namespace
1419
+ # - `"host"`: use the host system's cgroup namespace
1420
+ #
1421
+ # If not specified, the daemon default is used, which can either be `"private"` or
1422
+ # `"host"`, depending on daemon version, kernel support and configuration.
1423
+ cgroupns_mode: nil,
1424
+ # Path to `cgroups` under which the container's `cgroup` is created. If the path
1425
+ # is not absolute, the path is considered to be relative to the `cgroups` path of
1426
+ # the init process. Cgroups are created if they do not already exist.
1427
+ cgroup_parent: nil,
1428
+ # Initial console size, as an `[height, width]` array.
1429
+ console_size: nil,
1430
+ # Path to a file where the container ID is written
1431
+ container_id_file: nil,
1432
+ # The number of usable CPUs (Windows only).
1433
+ #
1434
+ # On Windows Server containers, the processor resource controls are mutually
1435
+ # exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and
1436
+ # `CPUPercent` last.
1437
+ cpu_count: nil,
1438
+ # The usable percentage of the available CPUs (Windows only).
1439
+ #
1440
+ # On Windows Server containers, the processor resource controls are mutually
1441
+ # exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and
1442
+ # `CPUPercent` last.
1443
+ cpu_percent: nil,
1444
+ # The length of a CPU period in microseconds.
1445
+ cpu_period: nil,
1446
+ # Microseconds of CPU time that the container can get in a CPU period.
1447
+ cpu_quota: nil,
1448
+ # The length of a CPU real-time period in microseconds. Set to 0 to allocate no
1449
+ # time allocated to real-time tasks.
1450
+ cpu_realtime_period: nil,
1451
+ # The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no
1452
+ # time allocated to real-time tasks.
1453
+ cpu_realtime_runtime: nil,
1454
+ # CPUs in which to allow execution (e.g., `0-3`, `0,1`).
1455
+ cpuset_cpus: nil,
1456
+ # Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on
1457
+ # NUMA systems.
1458
+ cpuset_mems: nil,
1459
+ # An integer value representing this container's relative CPU weight versus other
1460
+ # containers.
1461
+ cpu_shares: nil,
1462
+ # a list of cgroup rules to apply to the container
1463
+ device_cgroup_rules: nil,
1464
+ # A list of requests for devices to be sent to device drivers.
1465
+ device_requests: nil,
1466
+ # A list of devices to add to the container.
1467
+ devices: nil,
1468
+ # A list of DNS servers for the container to use.
1469
+ dns: nil,
1470
+ # A list of DNS options.
1471
+ dns_options: nil,
1472
+ # A list of DNS search domains.
1473
+ dns_search: nil,
1474
+ # A list of hostnames/IP mappings to add to the container's `/etc/hosts` file.
1475
+ # Specified in the form `["hostname:IP"]`.
1476
+ extra_hosts: nil,
1477
+ # A list of additional groups that the container process will run as.
1478
+ group_add: nil,
1479
+ # Run an init inside the container that forwards signals and reaps processes. This
1480
+ # field is omitted if empty, and the default (as configured on the daemon) is
1481
+ # used.
1482
+ init: nil,
1483
+ # Maximum IO in bytes per second for the container system drive (Windows only).
1484
+ io_maximum_bandwidth: nil,
1485
+ # Maximum IOps for the container system drive (Windows only)
1486
+ io_maximum_i_ops: nil,
1487
+ # IPC sharing mode for the container. Possible values are:
1488
+ #
1489
+ # - `"none"`: own private IPC namespace, with /dev/shm not mounted
1490
+ # - `"private"`: own private IPC namespace
1491
+ # - `"shareable"`: own private IPC namespace, with a possibility to share it with
1492
+ # other containers
1493
+ # - `"container:<name|id>"`: join another (shareable) container's IPC namespace
1494
+ # - `"host"`: use the host system's IPC namespace
1495
+ #
1496
+ # If not specified, daemon default is used, which can either be `"private"` or
1497
+ # `"shareable"`, depending on daemon version and configuration.
1498
+ ipc_mode: nil,
1499
+ # Isolation technology of the container. (Windows only)
1500
+ isolation: nil,
1501
+ # A list of links for the container in the form `container_name:alias`.
1502
+ links: nil,
1503
+ # The logging configuration for this container
1504
+ log_config: nil,
1505
+ # The list of paths to be masked inside the container (this overrides the default
1506
+ # set of paths).
1507
+ masked_paths: nil,
1508
+ # Memory limit in bytes.
1509
+ memory: nil,
1510
+ # Memory soft limit in bytes.
1511
+ memory_reservation: nil,
1512
+ # Total memory limit (memory + swap). Set as `-1` to enable unlimited swap.
1513
+ memory_swap: nil,
1514
+ # Tune a container's memory swappiness behavior. Accepts an integer between 0
1515
+ # and 100.
1516
+ memory_swappiness: nil,
1517
+ # Specification for mounts to be added to the container.
1518
+ mounts: nil,
1519
+ # CPU quota in units of 10<sup>-9</sup> CPUs.
1520
+ nano_cpus: nil,
1521
+ # Network mode to use for this container. Supported standard values are: `bridge`,
1522
+ # `host`, `none`, and `container:<name|id>`. Any other value is taken as a custom
1523
+ # network's name to which this container should connect to.
1524
+ network_mode: nil,
1525
+ # Disable OOM Killer for the container.
1526
+ oom_kill_disable: nil,
1527
+ # An integer value containing the score given to the container in order to tune
1528
+ # OOM killer preferences.
1529
+ oom_score_adj: nil,
1530
+ # Set the PID (Process) Namespace mode for the container. It can be either:
1531
+ #
1532
+ # - `"container:<name|id>"`: joins another container's PID namespace
1533
+ # - `"host"`: use the host's PID namespace inside the container
1534
+ pid_mode: nil,
1535
+ # Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` to not
1536
+ # change.
1537
+ pids_limit: nil,
1538
+ # PortMap describes the mapping of container ports to host ports, using the
1539
+ # container's port-number and protocol as key in the format `<port>/<protocol>`,
1540
+ # for example, `80/udp`.
1541
+ #
1542
+ # If a container's port is mapped for multiple protocols, separate entries are
1543
+ # added to the mapping table.
1544
+ port_bindings: nil,
1545
+ # Gives the container full access to the host.
1546
+ privileged: nil,
1547
+ # Allocates an ephemeral host port for all of a container's exposed ports.
1548
+ #
1549
+ # Ports are de-allocated when the container stops and allocated when the container
1550
+ # starts. The allocated port might be changed when restarting the container.
1551
+ #
1552
+ # The port is selected from the ephemeral port range that depends on the kernel.
1553
+ # For example, on Linux the range is defined by
1554
+ # `/proc/sys/net/ipv4/ip_local_port_range`.
1555
+ publish_all_ports: nil,
1556
+ # The list of paths to be set as read-only inside the container (this overrides
1557
+ # the default set of paths).
1558
+ readonly_paths: nil,
1559
+ # Mount the container's root filesystem as read only.
1560
+ readonly_rootfs: nil,
1561
+ # The behavior to apply when the container exits. The default is not to restart.
1562
+ #
1563
+ # An ever increasing delay (double the previous delay, starting at 100ms) is added
1564
+ # before each restart to prevent flooding the server.
1565
+ restart_policy: nil,
1566
+ # Runtime to use with this container.
1567
+ runtime: nil,
1568
+ # A list of string values to customize labels for MLS systems, such as SELinux.
1569
+ security_opt: nil,
1570
+ # Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.
1571
+ shm_size: nil,
1572
+ # Storage driver options for this container, in the form `{"size": "120G"}`.
1573
+ storage_opt: nil,
1574
+ # A list of kernel parameters (sysctls) to set in the container.
1575
+ #
1576
+ # This field is omitted if not set.
1577
+ sysctls: nil,
1578
+ # A map of container directories which should be replaced by tmpfs mounts, and
1579
+ # their corresponding mount options. For example:
1580
+ #
1581
+ # ```
1582
+ # { "/run": "rw,noexec,nosuid,size=65536k" }
1583
+ # ```
1584
+ tmpfs: nil,
1585
+ # A list of resource limits to set in the container. For example:
1586
+ #
1587
+ # ```
1588
+ # {"Name": "nofile", "Soft": 1024, "Hard": 2048}
1589
+ # ```
1590
+ ulimits: nil,
1591
+ # Sets the usernamespace mode for the container when usernamespace remapping
1592
+ # option is enabled.
1593
+ userns_mode: nil,
1594
+ # UTS namespace to use for the container.
1595
+ uts_mode: nil,
1596
+ # Driver that this container uses to mount volumes.
1597
+ volume_driver: nil,
1598
+ # A list of volumes to inherit from another container, specified in the form
1599
+ # `<container name>[:<ro|rw>]`.
1600
+ volumes_from: nil
1601
+ )
1602
+ end
1603
+
1604
+ sig do
1605
+ override.returns(
1606
+ {
1607
+ annotations: T::Hash[Symbol, String],
1608
+ auto_remove: T::Boolean,
1609
+ binds: T::Array[String],
1610
+ blkio_device_read_bps:
1611
+ T::Array[
1612
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadBp
1613
+ ],
1614
+ blkio_device_read_i_ops:
1615
+ T::Array[
1616
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadIOp
1617
+ ],
1618
+ blkio_device_write_bps:
1619
+ T::Array[
1620
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteBp
1621
+ ],
1622
+ blkio_device_write_i_ops:
1623
+ T::Array[
1624
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteIOp
1625
+ ],
1626
+ blkio_weight: Integer,
1627
+ blkio_weight_device:
1628
+ T::Array[
1629
+ DockerEngineRuby::Container::HostConfig::BlkioWeightDevice
1630
+ ],
1631
+ cap_add: T::Array[String],
1632
+ cap_drop: T::Array[String],
1633
+ cgroup: String,
1634
+ cgroupns_mode:
1635
+ DockerEngineRuby::Container::HostConfig::CgroupnsMode::TaggedSymbol,
1636
+ cgroup_parent: String,
1637
+ console_size: T.nilable(T::Array[Integer]),
1638
+ container_id_file: String,
1639
+ cpu_count: Integer,
1640
+ cpu_percent: Integer,
1641
+ cpu_period: Integer,
1642
+ cpu_quota: Integer,
1643
+ cpu_realtime_period: Integer,
1644
+ cpu_realtime_runtime: Integer,
1645
+ cpuset_cpus: String,
1646
+ cpuset_mems: String,
1647
+ cpu_shares: Integer,
1648
+ device_cgroup_rules: T::Array[String],
1649
+ device_requests:
1650
+ T::Array[
1651
+ DockerEngineRuby::Container::HostConfig::DeviceRequest
1652
+ ],
1653
+ devices:
1654
+ T::Array[DockerEngineRuby::Container::HostConfig::Device],
1655
+ dns: T::Array[String],
1656
+ dns_options: T::Array[String],
1657
+ dns_search: T::Array[String],
1658
+ extra_hosts: T::Array[String],
1659
+ group_add: T::Array[String],
1660
+ init: T.nilable(T::Boolean),
1661
+ io_maximum_bandwidth: Integer,
1662
+ io_maximum_i_ops: Integer,
1663
+ ipc_mode: String,
1664
+ isolation:
1665
+ DockerEngineRuby::Container::HostConfig::Isolation::TaggedSymbol,
1666
+ links: T::Array[String],
1667
+ log_config: DockerEngineRuby::Container::HostConfig::LogConfig,
1668
+ masked_paths: T::Array[String],
1669
+ memory: Integer,
1670
+ memory_reservation: Integer,
1671
+ memory_swap: Integer,
1672
+ memory_swappiness: Integer,
1673
+ mounts: T::Array[DockerEngineRuby::Container::HostConfig::Mount],
1674
+ nano_cpus: Integer,
1675
+ network_mode: String,
1676
+ oom_kill_disable: T::Boolean,
1677
+ oom_score_adj: Integer,
1678
+ pid_mode: String,
1679
+ pids_limit: T.nilable(Integer),
1680
+ port_bindings:
1681
+ T::Hash[
1682
+ Symbol,
1683
+ T::Array[DockerEngineRuby::Container::HostConfig::PortBinding]
1684
+ ],
1685
+ privileged: T::Boolean,
1686
+ publish_all_ports: T::Boolean,
1687
+ readonly_paths: T::Array[String],
1688
+ readonly_rootfs: T::Boolean,
1689
+ restart_policy:
1690
+ DockerEngineRuby::Container::HostConfig::RestartPolicy,
1691
+ runtime: T.nilable(String),
1692
+ security_opt: T::Array[String],
1693
+ shm_size: Integer,
1694
+ storage_opt: T::Hash[Symbol, String],
1695
+ sysctls: T.nilable(T::Hash[Symbol, String]),
1696
+ tmpfs: T::Hash[Symbol, String],
1697
+ ulimits:
1698
+ T::Array[DockerEngineRuby::Container::HostConfig::Ulimit],
1699
+ userns_mode: String,
1700
+ uts_mode: String,
1701
+ volume_driver: String,
1702
+ volumes_from: T::Array[String]
1703
+ }
1704
+ )
1705
+ end
1706
+ def to_hash
1707
+ end
1708
+
1709
+ class BlkioDeviceReadBp < DockerEngineRuby::Internal::Type::BaseModel
1710
+ OrHash =
1711
+ T.type_alias do
1712
+ T.any(
1713
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadBp,
1714
+ DockerEngineRuby::Internal::AnyHash
1715
+ )
1716
+ end
1717
+
1718
+ # Device path
1719
+ sig { returns(T.nilable(String)) }
1720
+ attr_reader :path
1721
+
1722
+ sig { params(path: String).void }
1723
+ attr_writer :path
1724
+
1725
+ # Rate
1726
+ sig { returns(T.nilable(Integer)) }
1727
+ attr_reader :rate
1728
+
1729
+ sig { params(rate: Integer).void }
1730
+ attr_writer :rate
1731
+
1732
+ sig { params(path: String, rate: Integer).returns(T.attached_class) }
1733
+ def self.new(
1734
+ # Device path
1735
+ path: nil,
1736
+ # Rate
1737
+ rate: nil
1738
+ )
1739
+ end
1740
+
1741
+ sig { override.returns({ path: String, rate: Integer }) }
1742
+ def to_hash
1743
+ end
1744
+ end
1745
+
1746
+ class BlkioDeviceReadIOp < DockerEngineRuby::Internal::Type::BaseModel
1747
+ OrHash =
1748
+ T.type_alias do
1749
+ T.any(
1750
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceReadIOp,
1751
+ DockerEngineRuby::Internal::AnyHash
1752
+ )
1753
+ end
1754
+
1755
+ # Device path
1756
+ sig { returns(T.nilable(String)) }
1757
+ attr_reader :path
1758
+
1759
+ sig { params(path: String).void }
1760
+ attr_writer :path
1761
+
1762
+ # Rate
1763
+ sig { returns(T.nilable(Integer)) }
1764
+ attr_reader :rate
1765
+
1766
+ sig { params(rate: Integer).void }
1767
+ attr_writer :rate
1768
+
1769
+ sig { params(path: String, rate: Integer).returns(T.attached_class) }
1770
+ def self.new(
1771
+ # Device path
1772
+ path: nil,
1773
+ # Rate
1774
+ rate: nil
1775
+ )
1776
+ end
1777
+
1778
+ sig { override.returns({ path: String, rate: Integer }) }
1779
+ def to_hash
1780
+ end
1781
+ end
1782
+
1783
+ class BlkioDeviceWriteBp < DockerEngineRuby::Internal::Type::BaseModel
1784
+ OrHash =
1785
+ T.type_alias do
1786
+ T.any(
1787
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteBp,
1788
+ DockerEngineRuby::Internal::AnyHash
1789
+ )
1790
+ end
1791
+
1792
+ # Device path
1793
+ sig { returns(T.nilable(String)) }
1794
+ attr_reader :path
1795
+
1796
+ sig { params(path: String).void }
1797
+ attr_writer :path
1798
+
1799
+ # Rate
1800
+ sig { returns(T.nilable(Integer)) }
1801
+ attr_reader :rate
1802
+
1803
+ sig { params(rate: Integer).void }
1804
+ attr_writer :rate
1805
+
1806
+ sig { params(path: String, rate: Integer).returns(T.attached_class) }
1807
+ def self.new(
1808
+ # Device path
1809
+ path: nil,
1810
+ # Rate
1811
+ rate: nil
1812
+ )
1813
+ end
1814
+
1815
+ sig { override.returns({ path: String, rate: Integer }) }
1816
+ def to_hash
1817
+ end
1818
+ end
1819
+
1820
+ class BlkioDeviceWriteIOp < DockerEngineRuby::Internal::Type::BaseModel
1821
+ OrHash =
1822
+ T.type_alias do
1823
+ T.any(
1824
+ DockerEngineRuby::Container::HostConfig::BlkioDeviceWriteIOp,
1825
+ DockerEngineRuby::Internal::AnyHash
1826
+ )
1827
+ end
1828
+
1829
+ # Device path
1830
+ sig { returns(T.nilable(String)) }
1831
+ attr_reader :path
1832
+
1833
+ sig { params(path: String).void }
1834
+ attr_writer :path
1835
+
1836
+ # Rate
1837
+ sig { returns(T.nilable(Integer)) }
1838
+ attr_reader :rate
1839
+
1840
+ sig { params(rate: Integer).void }
1841
+ attr_writer :rate
1842
+
1843
+ sig { params(path: String, rate: Integer).returns(T.attached_class) }
1844
+ def self.new(
1845
+ # Device path
1846
+ path: nil,
1847
+ # Rate
1848
+ rate: nil
1849
+ )
1850
+ end
1851
+
1852
+ sig { override.returns({ path: String, rate: Integer }) }
1853
+ def to_hash
1854
+ end
1855
+ end
1856
+
1857
+ class BlkioWeightDevice < DockerEngineRuby::Internal::Type::BaseModel
1858
+ OrHash =
1859
+ T.type_alias do
1860
+ T.any(
1861
+ DockerEngineRuby::Container::HostConfig::BlkioWeightDevice,
1862
+ DockerEngineRuby::Internal::AnyHash
1863
+ )
1864
+ end
1865
+
1866
+ sig { returns(T.nilable(String)) }
1867
+ attr_reader :path
1868
+
1869
+ sig { params(path: String).void }
1870
+ attr_writer :path
1871
+
1872
+ sig { returns(T.nilable(Integer)) }
1873
+ attr_reader :weight
1874
+
1875
+ sig { params(weight: Integer).void }
1876
+ attr_writer :weight
1877
+
1878
+ sig do
1879
+ params(path: String, weight: Integer).returns(T.attached_class)
1880
+ end
1881
+ def self.new(path: nil, weight: nil)
1882
+ end
1883
+
1884
+ sig { override.returns({ path: String, weight: Integer }) }
1885
+ def to_hash
1886
+ end
1887
+ end
1888
+
1889
+ # cgroup namespace mode for the container. Possible values are:
1890
+ #
1891
+ # - `"private"`: the container runs in its own private cgroup namespace
1892
+ # - `"host"`: use the host system's cgroup namespace
1893
+ #
1894
+ # If not specified, the daemon default is used, which can either be `"private"` or
1895
+ # `"host"`, depending on daemon version, kernel support and configuration.
1896
+ module CgroupnsMode
1897
+ extend DockerEngineRuby::Internal::Type::Enum
1898
+
1899
+ TaggedSymbol =
1900
+ T.type_alias do
1901
+ T.all(
1902
+ Symbol,
1903
+ DockerEngineRuby::Container::HostConfig::CgroupnsMode
1904
+ )
1905
+ end
1906
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1907
+
1908
+ PRIVATE =
1909
+ T.let(
1910
+ :private,
1911
+ DockerEngineRuby::Container::HostConfig::CgroupnsMode::TaggedSymbol
1912
+ )
1913
+ HOST =
1914
+ T.let(
1915
+ :host,
1916
+ DockerEngineRuby::Container::HostConfig::CgroupnsMode::TaggedSymbol
1917
+ )
1918
+
1919
+ sig do
1920
+ override.returns(
1921
+ T::Array[
1922
+ DockerEngineRuby::Container::HostConfig::CgroupnsMode::TaggedSymbol
1923
+ ]
1924
+ )
1925
+ end
1926
+ def self.values
1927
+ end
1928
+ end
1929
+
1930
+ class DeviceRequest < DockerEngineRuby::Internal::Type::BaseModel
1931
+ OrHash =
1932
+ T.type_alias do
1933
+ T.any(
1934
+ DockerEngineRuby::Container::HostConfig::DeviceRequest,
1935
+ DockerEngineRuby::Internal::AnyHash
1936
+ )
1937
+ end
1938
+
1939
+ # A list of capabilities; an OR list of AND lists of capabilities.
1940
+ #
1941
+ # Note that if a driver is specified the capabilities have no effect on selecting
1942
+ # a driver as the driver name is used directly.
1943
+ #
1944
+ # Note that if no driver is specified the capabilities are used to select a driver
1945
+ # with the required capabilities.
1946
+ sig { returns(T.nilable(T::Array[T::Array[String]])) }
1947
+ attr_reader :capabilities
1948
+
1949
+ sig { params(capabilities: T::Array[T::Array[String]]).void }
1950
+ attr_writer :capabilities
1951
+
1952
+ sig { returns(T.nilable(Integer)) }
1953
+ attr_reader :count
1954
+
1955
+ sig { params(count: Integer).void }
1956
+ attr_writer :count
1957
+
1958
+ sig { returns(T.nilable(T::Array[String])) }
1959
+ attr_reader :device_ids
1960
+
1961
+ sig { params(device_ids: T::Array[String]).void }
1962
+ attr_writer :device_ids
1963
+
1964
+ # The name of the device driver to use for this request.
1965
+ #
1966
+ # Note that if this is specified the capabilities are ignored when selecting a
1967
+ # device driver.
1968
+ sig { returns(T.nilable(String)) }
1969
+ attr_reader :driver
1970
+
1971
+ sig { params(driver: String).void }
1972
+ attr_writer :driver
1973
+
1974
+ # Driver-specific options, specified as a key/value pairs. These options are
1975
+ # passed directly to the driver.
1976
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1977
+ attr_reader :options
1978
+
1979
+ sig { params(options: T::Hash[Symbol, String]).void }
1980
+ attr_writer :options
1981
+
1982
+ # A request for devices to be sent to device drivers
1983
+ sig do
1984
+ params(
1985
+ capabilities: T::Array[T::Array[String]],
1986
+ count: Integer,
1987
+ device_ids: T::Array[String],
1988
+ driver: String,
1989
+ options: T::Hash[Symbol, String]
1990
+ ).returns(T.attached_class)
1991
+ end
1992
+ def self.new(
1993
+ # A list of capabilities; an OR list of AND lists of capabilities.
1994
+ #
1995
+ # Note that if a driver is specified the capabilities have no effect on selecting
1996
+ # a driver as the driver name is used directly.
1997
+ #
1998
+ # Note that if no driver is specified the capabilities are used to select a driver
1999
+ # with the required capabilities.
2000
+ capabilities: nil,
2001
+ count: nil,
2002
+ device_ids: nil,
2003
+ # The name of the device driver to use for this request.
2004
+ #
2005
+ # Note that if this is specified the capabilities are ignored when selecting a
2006
+ # device driver.
2007
+ driver: nil,
2008
+ # Driver-specific options, specified as a key/value pairs. These options are
2009
+ # passed directly to the driver.
2010
+ options: nil
2011
+ )
2012
+ end
2013
+
2014
+ sig do
2015
+ override.returns(
2016
+ {
2017
+ capabilities: T::Array[T::Array[String]],
2018
+ count: Integer,
2019
+ device_ids: T::Array[String],
2020
+ driver: String,
2021
+ options: T::Hash[Symbol, String]
2022
+ }
2023
+ )
2024
+ end
2025
+ def to_hash
2026
+ end
2027
+ end
2028
+
2029
+ class Device < DockerEngineRuby::Internal::Type::BaseModel
2030
+ OrHash =
2031
+ T.type_alias do
2032
+ T.any(
2033
+ DockerEngineRuby::Container::HostConfig::Device,
2034
+ DockerEngineRuby::Internal::AnyHash
2035
+ )
2036
+ end
2037
+
2038
+ sig { returns(T.nilable(String)) }
2039
+ attr_reader :cgroup_permissions
2040
+
2041
+ sig { params(cgroup_permissions: String).void }
2042
+ attr_writer :cgroup_permissions
2043
+
2044
+ sig { returns(T.nilable(String)) }
2045
+ attr_reader :path_in_container
2046
+
2047
+ sig { params(path_in_container: String).void }
2048
+ attr_writer :path_in_container
2049
+
2050
+ sig { returns(T.nilable(String)) }
2051
+ attr_reader :path_on_host
2052
+
2053
+ sig { params(path_on_host: String).void }
2054
+ attr_writer :path_on_host
2055
+
2056
+ # A device mapping between the host and container
2057
+ sig do
2058
+ params(
2059
+ cgroup_permissions: String,
2060
+ path_in_container: String,
2061
+ path_on_host: String
2062
+ ).returns(T.attached_class)
2063
+ end
2064
+ def self.new(
2065
+ cgroup_permissions: nil,
2066
+ path_in_container: nil,
2067
+ path_on_host: nil
2068
+ )
2069
+ end
2070
+
2071
+ sig do
2072
+ override.returns(
2073
+ {
2074
+ cgroup_permissions: String,
2075
+ path_in_container: String,
2076
+ path_on_host: String
2077
+ }
2078
+ )
2079
+ end
2080
+ def to_hash
2081
+ end
2082
+ end
2083
+
2084
+ # Isolation technology of the container. (Windows only)
2085
+ module Isolation
2086
+ extend DockerEngineRuby::Internal::Type::Enum
2087
+
2088
+ TaggedSymbol =
2089
+ T.type_alias do
2090
+ T.all(Symbol, DockerEngineRuby::Container::HostConfig::Isolation)
2091
+ end
2092
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2093
+
2094
+ DEFAULT =
2095
+ T.let(
2096
+ :default,
2097
+ DockerEngineRuby::Container::HostConfig::Isolation::TaggedSymbol
2098
+ )
2099
+ PROCESS =
2100
+ T.let(
2101
+ :process,
2102
+ DockerEngineRuby::Container::HostConfig::Isolation::TaggedSymbol
2103
+ )
2104
+ HYPERV =
2105
+ T.let(
2106
+ :hyperv,
2107
+ DockerEngineRuby::Container::HostConfig::Isolation::TaggedSymbol
2108
+ )
2109
+ EMPTY =
2110
+ T.let(
2111
+ :"",
2112
+ DockerEngineRuby::Container::HostConfig::Isolation::TaggedSymbol
2113
+ )
2114
+
2115
+ sig do
2116
+ override.returns(
2117
+ T::Array[
2118
+ DockerEngineRuby::Container::HostConfig::Isolation::TaggedSymbol
2119
+ ]
2120
+ )
2121
+ end
2122
+ def self.values
2123
+ end
2124
+ end
2125
+
2126
+ class LogConfig < DockerEngineRuby::Internal::Type::BaseModel
2127
+ OrHash =
2128
+ T.type_alias do
2129
+ T.any(
2130
+ DockerEngineRuby::Container::HostConfig::LogConfig,
2131
+ DockerEngineRuby::Internal::AnyHash
2132
+ )
2133
+ end
2134
+
2135
+ # Driver-specific configuration options for the logging driver.
2136
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2137
+ attr_reader :config
2138
+
2139
+ sig { params(config: T::Hash[Symbol, String]).void }
2140
+ attr_writer :config
2141
+
2142
+ # Name of the logging driver used for the container or "none" if logging is
2143
+ # disabled.
2144
+ sig do
2145
+ returns(
2146
+ T.nilable(
2147
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2148
+ )
2149
+ )
2150
+ end
2151
+ attr_reader :type
2152
+
2153
+ sig do
2154
+ params(
2155
+ type:
2156
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::OrSymbol
2157
+ ).void
2158
+ end
2159
+ attr_writer :type
2160
+
2161
+ # The logging configuration for this container
2162
+ sig do
2163
+ params(
2164
+ config: T::Hash[Symbol, String],
2165
+ type:
2166
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::OrSymbol
2167
+ ).returns(T.attached_class)
2168
+ end
2169
+ def self.new(
2170
+ # Driver-specific configuration options for the logging driver.
2171
+ config: nil,
2172
+ # Name of the logging driver used for the container or "none" if logging is
2173
+ # disabled.
2174
+ type: nil
2175
+ )
2176
+ end
2177
+
2178
+ sig do
2179
+ override.returns(
2180
+ {
2181
+ config: T::Hash[Symbol, String],
2182
+ type:
2183
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2184
+ }
2185
+ )
2186
+ end
2187
+ def to_hash
2188
+ end
2189
+
2190
+ # Name of the logging driver used for the container or "none" if logging is
2191
+ # disabled.
2192
+ module Type
2193
+ extend DockerEngineRuby::Internal::Type::Enum
2194
+
2195
+ TaggedSymbol =
2196
+ T.type_alias do
2197
+ T.all(
2198
+ Symbol,
2199
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type
2200
+ )
2201
+ end
2202
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2203
+
2204
+ LOCAL =
2205
+ T.let(
2206
+ :local,
2207
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2208
+ )
2209
+ JSON_FILE =
2210
+ T.let(
2211
+ :"json-file",
2212
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2213
+ )
2214
+ SYSLOG =
2215
+ T.let(
2216
+ :syslog,
2217
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2218
+ )
2219
+ JOURNALD =
2220
+ T.let(
2221
+ :journald,
2222
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2223
+ )
2224
+ GELF =
2225
+ T.let(
2226
+ :gelf,
2227
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2228
+ )
2229
+ FLUENTD =
2230
+ T.let(
2231
+ :fluentd,
2232
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2233
+ )
2234
+ AWSLOGS =
2235
+ T.let(
2236
+ :awslogs,
2237
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2238
+ )
2239
+ SPLUNK =
2240
+ T.let(
2241
+ :splunk,
2242
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2243
+ )
2244
+ ETWLOGS =
2245
+ T.let(
2246
+ :etwlogs,
2247
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2248
+ )
2249
+ NONE =
2250
+ T.let(
2251
+ :none,
2252
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2253
+ )
2254
+
2255
+ sig do
2256
+ override.returns(
2257
+ T::Array[
2258
+ DockerEngineRuby::Container::HostConfig::LogConfig::Type::TaggedSymbol
2259
+ ]
2260
+ )
2261
+ end
2262
+ def self.values
2263
+ end
2264
+ end
2265
+ end
2266
+
2267
+ class Mount < DockerEngineRuby::Internal::Type::BaseModel
2268
+ OrHash =
2269
+ T.type_alias do
2270
+ T.any(
2271
+ DockerEngineRuby::Container::HostConfig::Mount,
2272
+ DockerEngineRuby::Internal::AnyHash
2273
+ )
2274
+ end
2275
+
2276
+ # Optional configuration for the `bind` type.
2277
+ sig do
2278
+ returns(
2279
+ T.nilable(
2280
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions
2281
+ )
2282
+ )
2283
+ end
2284
+ attr_reader :bind_options
2285
+
2286
+ sig do
2287
+ params(
2288
+ bind_options:
2289
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::OrHash
2290
+ ).void
2291
+ end
2292
+ attr_writer :bind_options
2293
+
2294
+ # The consistency requirement for the mount: `default`, `consistent`, `cached`, or
2295
+ # `delegated`.
2296
+ sig { returns(T.nilable(String)) }
2297
+ attr_reader :consistency
2298
+
2299
+ sig { params(consistency: String).void }
2300
+ attr_writer :consistency
2301
+
2302
+ # Optional configuration for the `image` type.
2303
+ sig do
2304
+ returns(
2305
+ T.nilable(
2306
+ DockerEngineRuby::Container::HostConfig::Mount::ImageOptions
2307
+ )
2308
+ )
2309
+ end
2310
+ attr_reader :image_options
2311
+
2312
+ sig do
2313
+ params(
2314
+ image_options:
2315
+ DockerEngineRuby::Container::HostConfig::Mount::ImageOptions::OrHash
2316
+ ).void
2317
+ end
2318
+ attr_writer :image_options
2319
+
2320
+ # Whether the mount should be read-only.
2321
+ sig { returns(T.nilable(T::Boolean)) }
2322
+ attr_reader :read_only
2323
+
2324
+ sig { params(read_only: T::Boolean).void }
2325
+ attr_writer :read_only
2326
+
2327
+ # Mount source (e.g. a volume name, a host path). The source cannot be specified
2328
+ # when using `Type=tmpfs`. For `Type=bind`, the source path must either exist, or
2329
+ # the `CreateMountpoint` must be set to `true` to create the source path on the
2330
+ # host if missing.
2331
+ #
2332
+ # For `Type=npipe`, the pipe must exist prior to creating the container.
2333
+ sig { returns(T.nilable(String)) }
2334
+ attr_reader :source
2335
+
2336
+ sig { params(source: String).void }
2337
+ attr_writer :source
2338
+
2339
+ # Container path.
2340
+ sig { returns(T.nilable(String)) }
2341
+ attr_reader :target
2342
+
2343
+ sig { params(target: String).void }
2344
+ attr_writer :target
2345
+
2346
+ # Optional configuration for the `tmpfs` type.
2347
+ sig do
2348
+ returns(
2349
+ T.nilable(
2350
+ DockerEngineRuby::Container::HostConfig::Mount::TmpfsOptions
2351
+ )
2352
+ )
2353
+ end
2354
+ attr_reader :tmpfs_options
2355
+
2356
+ sig do
2357
+ params(
2358
+ tmpfs_options:
2359
+ DockerEngineRuby::Container::HostConfig::Mount::TmpfsOptions::OrHash
2360
+ ).void
2361
+ end
2362
+ attr_writer :tmpfs_options
2363
+
2364
+ # The mount type. Available types:
2365
+ #
2366
+ # - `bind` a mount of a file or directory from the host into the container.
2367
+ # - `cluster` a Swarm cluster volume.
2368
+ # - `image` an OCI image.
2369
+ # - `npipe` a named pipe from the host into the container.
2370
+ # - `tmpfs` a `tmpfs`.
2371
+ # - `volume` a docker volume with the given `Name`.
2372
+ sig do
2373
+ returns(
2374
+ T.nilable(
2375
+ DockerEngineRuby::Container::HostConfig::Mount::Type::TaggedSymbol
2376
+ )
2377
+ )
2378
+ end
2379
+ attr_reader :type
2380
+
2381
+ sig do
2382
+ params(
2383
+ type:
2384
+ DockerEngineRuby::Container::HostConfig::Mount::Type::OrSymbol
2385
+ ).void
2386
+ end
2387
+ attr_writer :type
2388
+
2389
+ # Optional configuration for the `volume` type.
2390
+ sig do
2391
+ returns(
2392
+ T.nilable(
2393
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions
2394
+ )
2395
+ )
2396
+ end
2397
+ attr_reader :volume_options
2398
+
2399
+ sig do
2400
+ params(
2401
+ volume_options:
2402
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions::OrHash
2403
+ ).void
2404
+ end
2405
+ attr_writer :volume_options
2406
+
2407
+ sig do
2408
+ params(
2409
+ bind_options:
2410
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::OrHash,
2411
+ consistency: String,
2412
+ image_options:
2413
+ DockerEngineRuby::Container::HostConfig::Mount::ImageOptions::OrHash,
2414
+ read_only: T::Boolean,
2415
+ source: String,
2416
+ target: String,
2417
+ tmpfs_options:
2418
+ DockerEngineRuby::Container::HostConfig::Mount::TmpfsOptions::OrHash,
2419
+ type:
2420
+ DockerEngineRuby::Container::HostConfig::Mount::Type::OrSymbol,
2421
+ volume_options:
2422
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions::OrHash
2423
+ ).returns(T.attached_class)
2424
+ end
2425
+ def self.new(
2426
+ # Optional configuration for the `bind` type.
2427
+ bind_options: nil,
2428
+ # The consistency requirement for the mount: `default`, `consistent`, `cached`, or
2429
+ # `delegated`.
2430
+ consistency: nil,
2431
+ # Optional configuration for the `image` type.
2432
+ image_options: nil,
2433
+ # Whether the mount should be read-only.
2434
+ read_only: nil,
2435
+ # Mount source (e.g. a volume name, a host path). The source cannot be specified
2436
+ # when using `Type=tmpfs`. For `Type=bind`, the source path must either exist, or
2437
+ # the `CreateMountpoint` must be set to `true` to create the source path on the
2438
+ # host if missing.
2439
+ #
2440
+ # For `Type=npipe`, the pipe must exist prior to creating the container.
2441
+ source: nil,
2442
+ # Container path.
2443
+ target: nil,
2444
+ # Optional configuration for the `tmpfs` type.
2445
+ tmpfs_options: nil,
2446
+ # The mount type. Available types:
2447
+ #
2448
+ # - `bind` a mount of a file or directory from the host into the container.
2449
+ # - `cluster` a Swarm cluster volume.
2450
+ # - `image` an OCI image.
2451
+ # - `npipe` a named pipe from the host into the container.
2452
+ # - `tmpfs` a `tmpfs`.
2453
+ # - `volume` a docker volume with the given `Name`.
2454
+ type: nil,
2455
+ # Optional configuration for the `volume` type.
2456
+ volume_options: nil
2457
+ )
2458
+ end
2459
+
2460
+ sig do
2461
+ override.returns(
2462
+ {
2463
+ bind_options:
2464
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions,
2465
+ consistency: String,
2466
+ image_options:
2467
+ DockerEngineRuby::Container::HostConfig::Mount::ImageOptions,
2468
+ read_only: T::Boolean,
2469
+ source: String,
2470
+ target: String,
2471
+ tmpfs_options:
2472
+ DockerEngineRuby::Container::HostConfig::Mount::TmpfsOptions,
2473
+ type:
2474
+ DockerEngineRuby::Container::HostConfig::Mount::Type::TaggedSymbol,
2475
+ volume_options:
2476
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions
2477
+ }
2478
+ )
2479
+ end
2480
+ def to_hash
2481
+ end
2482
+
2483
+ class BindOptions < DockerEngineRuby::Internal::Type::BaseModel
2484
+ OrHash =
2485
+ T.type_alias do
2486
+ T.any(
2487
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions,
2488
+ DockerEngineRuby::Internal::AnyHash
2489
+ )
2490
+ end
2491
+
2492
+ # Create mount point on host if missing
2493
+ sig { returns(T.nilable(T::Boolean)) }
2494
+ attr_reader :create_mountpoint
2495
+
2496
+ sig { params(create_mountpoint: T::Boolean).void }
2497
+ attr_writer :create_mountpoint
2498
+
2499
+ # Disable recursive bind mount.
2500
+ sig { returns(T.nilable(T::Boolean)) }
2501
+ attr_reader :non_recursive
2502
+
2503
+ sig { params(non_recursive: T::Boolean).void }
2504
+ attr_writer :non_recursive
2505
+
2506
+ # A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.
2507
+ sig do
2508
+ returns(
2509
+ T.nilable(
2510
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::TaggedSymbol
2511
+ )
2512
+ )
2513
+ end
2514
+ attr_reader :propagation
2515
+
2516
+ sig do
2517
+ params(
2518
+ propagation:
2519
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::OrSymbol
2520
+ ).void
2521
+ end
2522
+ attr_writer :propagation
2523
+
2524
+ # Raise an error if the mount cannot be made recursively read-only.
2525
+ sig { returns(T.nilable(T::Boolean)) }
2526
+ attr_reader :read_only_force_recursive
2527
+
2528
+ sig { params(read_only_force_recursive: T::Boolean).void }
2529
+ attr_writer :read_only_force_recursive
2530
+
2531
+ # Make the mount non-recursively read-only, but still leave the mount recursive
2532
+ # (unless NonRecursive is set to `true` in conjunction).
2533
+ #
2534
+ # Added in v1.44, before that version all read-only mounts were non-recursive by
2535
+ # default. To match the previous behaviour this will default to `true` for clients
2536
+ # on versions prior to v1.44.
2537
+ sig { returns(T.nilable(T::Boolean)) }
2538
+ attr_reader :read_only_non_recursive
2539
+
2540
+ sig { params(read_only_non_recursive: T::Boolean).void }
2541
+ attr_writer :read_only_non_recursive
2542
+
2543
+ # Optional configuration for the `bind` type.
2544
+ sig do
2545
+ params(
2546
+ create_mountpoint: T::Boolean,
2547
+ non_recursive: T::Boolean,
2548
+ propagation:
2549
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::OrSymbol,
2550
+ read_only_force_recursive: T::Boolean,
2551
+ read_only_non_recursive: T::Boolean
2552
+ ).returns(T.attached_class)
2553
+ end
2554
+ def self.new(
2555
+ # Create mount point on host if missing
2556
+ create_mountpoint: nil,
2557
+ # Disable recursive bind mount.
2558
+ non_recursive: nil,
2559
+ # A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.
2560
+ propagation: nil,
2561
+ # Raise an error if the mount cannot be made recursively read-only.
2562
+ read_only_force_recursive: nil,
2563
+ # Make the mount non-recursively read-only, but still leave the mount recursive
2564
+ # (unless NonRecursive is set to `true` in conjunction).
2565
+ #
2566
+ # Added in v1.44, before that version all read-only mounts were non-recursive by
2567
+ # default. To match the previous behaviour this will default to `true` for clients
2568
+ # on versions prior to v1.44.
2569
+ read_only_non_recursive: nil
2570
+ )
2571
+ end
2572
+
2573
+ sig do
2574
+ override.returns(
2575
+ {
2576
+ create_mountpoint: T::Boolean,
2577
+ non_recursive: T::Boolean,
2578
+ propagation:
2579
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::TaggedSymbol,
2580
+ read_only_force_recursive: T::Boolean,
2581
+ read_only_non_recursive: T::Boolean
2582
+ }
2583
+ )
2584
+ end
2585
+ def to_hash
2586
+ end
2587
+
2588
+ # A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.
2589
+ module Propagation
2590
+ extend DockerEngineRuby::Internal::Type::Enum
2591
+
2592
+ TaggedSymbol =
2593
+ T.type_alias do
2594
+ T.all(
2595
+ Symbol,
2596
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation
2597
+ )
2598
+ end
2599
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2600
+
2601
+ PRIVATE =
2602
+ T.let(
2603
+ :private,
2604
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::TaggedSymbol
2605
+ )
2606
+ RPRIVATE =
2607
+ T.let(
2608
+ :rprivate,
2609
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::TaggedSymbol
2610
+ )
2611
+ SHARED =
2612
+ T.let(
2613
+ :shared,
2614
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::TaggedSymbol
2615
+ )
2616
+ RSHARED =
2617
+ T.let(
2618
+ :rshared,
2619
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::TaggedSymbol
2620
+ )
2621
+ SLAVE =
2622
+ T.let(
2623
+ :slave,
2624
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::TaggedSymbol
2625
+ )
2626
+ RSLAVE =
2627
+ T.let(
2628
+ :rslave,
2629
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::TaggedSymbol
2630
+ )
2631
+
2632
+ sig do
2633
+ override.returns(
2634
+ T::Array[
2635
+ DockerEngineRuby::Container::HostConfig::Mount::BindOptions::Propagation::TaggedSymbol
2636
+ ]
2637
+ )
2638
+ end
2639
+ def self.values
2640
+ end
2641
+ end
2642
+ end
2643
+
2644
+ class ImageOptions < DockerEngineRuby::Internal::Type::BaseModel
2645
+ OrHash =
2646
+ T.type_alias do
2647
+ T.any(
2648
+ DockerEngineRuby::Container::HostConfig::Mount::ImageOptions,
2649
+ DockerEngineRuby::Internal::AnyHash
2650
+ )
2651
+ end
2652
+
2653
+ # Source path inside the image. Must be relative without any back traversals.
2654
+ sig { returns(T.nilable(String)) }
2655
+ attr_reader :subpath
2656
+
2657
+ sig { params(subpath: String).void }
2658
+ attr_writer :subpath
2659
+
2660
+ # Optional configuration for the `image` type.
2661
+ sig { params(subpath: String).returns(T.attached_class) }
2662
+ def self.new(
2663
+ # Source path inside the image. Must be relative without any back traversals.
2664
+ subpath: nil
2665
+ )
2666
+ end
2667
+
2668
+ sig { override.returns({ subpath: String }) }
2669
+ def to_hash
2670
+ end
2671
+ end
2672
+
2673
+ class TmpfsOptions < DockerEngineRuby::Internal::Type::BaseModel
2674
+ OrHash =
2675
+ T.type_alias do
2676
+ T.any(
2677
+ DockerEngineRuby::Container::HostConfig::Mount::TmpfsOptions,
2678
+ DockerEngineRuby::Internal::AnyHash
2679
+ )
2680
+ end
2681
+
2682
+ # The permission mode for the tmpfs mount in an integer. The value must not be in
2683
+ # octal format (e.g. 755) but rather the decimal representation of the octal value
2684
+ # (e.g. 493).
2685
+ sig { returns(T.nilable(Integer)) }
2686
+ attr_reader :mode
2687
+
2688
+ sig { params(mode: Integer).void }
2689
+ attr_writer :mode
2690
+
2691
+ # The options to be passed to the tmpfs mount. An array of arrays. Flag options
2692
+ # should be provided as 1-length arrays. Other types should be provided as as
2693
+ # 2-length arrays, where the first item is the key and the second the value.
2694
+ sig { returns(T.nilable(T::Array[T::Array[String]])) }
2695
+ attr_reader :options
2696
+
2697
+ sig { params(options: T::Array[T::Array[String]]).void }
2698
+ attr_writer :options
2699
+
2700
+ # The size for the tmpfs mount in bytes.
2701
+ sig { returns(T.nilable(Integer)) }
2702
+ attr_reader :size_bytes
2703
+
2704
+ sig { params(size_bytes: Integer).void }
2705
+ attr_writer :size_bytes
2706
+
2707
+ # Optional configuration for the `tmpfs` type.
2708
+ sig do
2709
+ params(
2710
+ mode: Integer,
2711
+ options: T::Array[T::Array[String]],
2712
+ size_bytes: Integer
2713
+ ).returns(T.attached_class)
2714
+ end
2715
+ def self.new(
2716
+ # The permission mode for the tmpfs mount in an integer. The value must not be in
2717
+ # octal format (e.g. 755) but rather the decimal representation of the octal value
2718
+ # (e.g. 493).
2719
+ mode: nil,
2720
+ # The options to be passed to the tmpfs mount. An array of arrays. Flag options
2721
+ # should be provided as 1-length arrays. Other types should be provided as as
2722
+ # 2-length arrays, where the first item is the key and the second the value.
2723
+ options: nil,
2724
+ # The size for the tmpfs mount in bytes.
2725
+ size_bytes: nil
2726
+ )
2727
+ end
2728
+
2729
+ sig do
2730
+ override.returns(
2731
+ {
2732
+ mode: Integer,
2733
+ options: T::Array[T::Array[String]],
2734
+ size_bytes: Integer
2735
+ }
2736
+ )
2737
+ end
2738
+ def to_hash
2739
+ end
2740
+ end
2741
+
2742
+ # The mount type. Available types:
2743
+ #
2744
+ # - `bind` a mount of a file or directory from the host into the container.
2745
+ # - `cluster` a Swarm cluster volume.
2746
+ # - `image` an OCI image.
2747
+ # - `npipe` a named pipe from the host into the container.
2748
+ # - `tmpfs` a `tmpfs`.
2749
+ # - `volume` a docker volume with the given `Name`.
2750
+ module Type
2751
+ extend DockerEngineRuby::Internal::Type::Enum
2752
+
2753
+ TaggedSymbol =
2754
+ T.type_alias do
2755
+ T.all(
2756
+ Symbol,
2757
+ DockerEngineRuby::Container::HostConfig::Mount::Type
2758
+ )
2759
+ end
2760
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2761
+
2762
+ BIND =
2763
+ T.let(
2764
+ :bind,
2765
+ DockerEngineRuby::Container::HostConfig::Mount::Type::TaggedSymbol
2766
+ )
2767
+ CLUSTER =
2768
+ T.let(
2769
+ :cluster,
2770
+ DockerEngineRuby::Container::HostConfig::Mount::Type::TaggedSymbol
2771
+ )
2772
+ IMAGE =
2773
+ T.let(
2774
+ :image,
2775
+ DockerEngineRuby::Container::HostConfig::Mount::Type::TaggedSymbol
2776
+ )
2777
+ NPIPE =
2778
+ T.let(
2779
+ :npipe,
2780
+ DockerEngineRuby::Container::HostConfig::Mount::Type::TaggedSymbol
2781
+ )
2782
+ TMPFS =
2783
+ T.let(
2784
+ :tmpfs,
2785
+ DockerEngineRuby::Container::HostConfig::Mount::Type::TaggedSymbol
2786
+ )
2787
+ VOLUME =
2788
+ T.let(
2789
+ :volume,
2790
+ DockerEngineRuby::Container::HostConfig::Mount::Type::TaggedSymbol
2791
+ )
2792
+
2793
+ sig do
2794
+ override.returns(
2795
+ T::Array[
2796
+ DockerEngineRuby::Container::HostConfig::Mount::Type::TaggedSymbol
2797
+ ]
2798
+ )
2799
+ end
2800
+ def self.values
2801
+ end
2802
+ end
2803
+
2804
+ class VolumeOptions < DockerEngineRuby::Internal::Type::BaseModel
2805
+ OrHash =
2806
+ T.type_alias do
2807
+ T.any(
2808
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions,
2809
+ DockerEngineRuby::Internal::AnyHash
2810
+ )
2811
+ end
2812
+
2813
+ # Map of driver specific options
2814
+ sig do
2815
+ returns(
2816
+ T.nilable(
2817
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions::DriverConfig
2818
+ )
2819
+ )
2820
+ end
2821
+ attr_reader :driver_config
2822
+
2823
+ sig do
2824
+ params(
2825
+ driver_config:
2826
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions::DriverConfig::OrHash
2827
+ ).void
2828
+ end
2829
+ attr_writer :driver_config
2830
+
2831
+ # User-defined key/value metadata.
2832
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2833
+ attr_reader :labels
2834
+
2835
+ sig { params(labels: T::Hash[Symbol, String]).void }
2836
+ attr_writer :labels
2837
+
2838
+ # Populate volume with data from the target.
2839
+ sig { returns(T.nilable(T::Boolean)) }
2840
+ attr_reader :no_copy
2841
+
2842
+ sig { params(no_copy: T::Boolean).void }
2843
+ attr_writer :no_copy
2844
+
2845
+ # Source path inside the volume. Must be relative without any back traversals.
2846
+ sig { returns(T.nilable(String)) }
2847
+ attr_reader :subpath
2848
+
2849
+ sig { params(subpath: String).void }
2850
+ attr_writer :subpath
2851
+
2852
+ # Optional configuration for the `volume` type.
2853
+ sig do
2854
+ params(
2855
+ driver_config:
2856
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions::DriverConfig::OrHash,
2857
+ labels: T::Hash[Symbol, String],
2858
+ no_copy: T::Boolean,
2859
+ subpath: String
2860
+ ).returns(T.attached_class)
2861
+ end
2862
+ def self.new(
2863
+ # Map of driver specific options
2864
+ driver_config: nil,
2865
+ # User-defined key/value metadata.
2866
+ labels: nil,
2867
+ # Populate volume with data from the target.
2868
+ no_copy: nil,
2869
+ # Source path inside the volume. Must be relative without any back traversals.
2870
+ subpath: nil
2871
+ )
2872
+ end
2873
+
2874
+ sig do
2875
+ override.returns(
2876
+ {
2877
+ driver_config:
2878
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions::DriverConfig,
2879
+ labels: T::Hash[Symbol, String],
2880
+ no_copy: T::Boolean,
2881
+ subpath: String
2882
+ }
2883
+ )
2884
+ end
2885
+ def to_hash
2886
+ end
2887
+
2888
+ class DriverConfig < DockerEngineRuby::Internal::Type::BaseModel
2889
+ OrHash =
2890
+ T.type_alias do
2891
+ T.any(
2892
+ DockerEngineRuby::Container::HostConfig::Mount::VolumeOptions::DriverConfig,
2893
+ DockerEngineRuby::Internal::AnyHash
2894
+ )
2895
+ end
2896
+
2897
+ # Name of the driver to use to create the volume.
2898
+ sig { returns(T.nilable(String)) }
2899
+ attr_reader :name
2900
+
2901
+ sig { params(name: String).void }
2902
+ attr_writer :name
2903
+
2904
+ # key/value map of driver specific options.
2905
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2906
+ attr_reader :options
2907
+
2908
+ sig { params(options: T::Hash[Symbol, String]).void }
2909
+ attr_writer :options
2910
+
2911
+ # Map of driver specific options
2912
+ sig do
2913
+ params(name: String, options: T::Hash[Symbol, String]).returns(
2914
+ T.attached_class
2915
+ )
2916
+ end
2917
+ def self.new(
2918
+ # Name of the driver to use to create the volume.
2919
+ name: nil,
2920
+ # key/value map of driver specific options.
2921
+ options: nil
2922
+ )
2923
+ end
2924
+
2925
+ sig do
2926
+ override.returns(
2927
+ { name: String, options: T::Hash[Symbol, String] }
2928
+ )
2929
+ end
2930
+ def to_hash
2931
+ end
2932
+ end
2933
+ end
2934
+ end
2935
+
2936
+ class PortBinding < DockerEngineRuby::Internal::Type::BaseModel
2937
+ OrHash =
2938
+ T.type_alias do
2939
+ T.any(
2940
+ DockerEngineRuby::Container::HostConfig::PortBinding,
2941
+ DockerEngineRuby::Internal::AnyHash
2942
+ )
2943
+ end
2944
+
2945
+ # Host IP address that the container's port is mapped to.
2946
+ sig { returns(T.nilable(String)) }
2947
+ attr_reader :host_ip
2948
+
2949
+ sig { params(host_ip: String).void }
2950
+ attr_writer :host_ip
2951
+
2952
+ # Host port number that the container's port is mapped to.
2953
+ sig { returns(T.nilable(String)) }
2954
+ attr_reader :host_port
2955
+
2956
+ sig { params(host_port: String).void }
2957
+ attr_writer :host_port
2958
+
2959
+ # PortBinding represents a binding between a host IP address and a host port.
2960
+ sig do
2961
+ params(host_ip: String, host_port: String).returns(T.attached_class)
2962
+ end
2963
+ def self.new(
2964
+ # Host IP address that the container's port is mapped to.
2965
+ host_ip: nil,
2966
+ # Host port number that the container's port is mapped to.
2967
+ host_port: nil
2968
+ )
2969
+ end
2970
+
2971
+ sig { override.returns({ host_ip: String, host_port: String }) }
2972
+ def to_hash
2973
+ end
2974
+ end
2975
+
2976
+ class RestartPolicy < DockerEngineRuby::Internal::Type::BaseModel
2977
+ OrHash =
2978
+ T.type_alias do
2979
+ T.any(
2980
+ DockerEngineRuby::Container::HostConfig::RestartPolicy,
2981
+ DockerEngineRuby::Internal::AnyHash
2982
+ )
2983
+ end
2984
+
2985
+ # If `on-failure` is used, the number of times to retry before giving up.
2986
+ sig { returns(T.nilable(Integer)) }
2987
+ attr_reader :maximum_retry_count
2988
+
2989
+ sig { params(maximum_retry_count: Integer).void }
2990
+ attr_writer :maximum_retry_count
2991
+
2992
+ # - Empty string means not to restart
2993
+ # - `no` Do not automatically restart
2994
+ # - `always` Always restart
2995
+ # - `unless-stopped` Restart always except when the user has manually stopped the
2996
+ # container
2997
+ # - `on-failure` Restart only when the container exit code is non-zero
2998
+ sig do
2999
+ returns(
3000
+ T.nilable(
3001
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::TaggedSymbol
3002
+ )
3003
+ )
3004
+ end
3005
+ attr_reader :name
3006
+
3007
+ sig do
3008
+ params(
3009
+ name:
3010
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::OrSymbol
3011
+ ).void
3012
+ end
3013
+ attr_writer :name
3014
+
3015
+ # The behavior to apply when the container exits. The default is not to restart.
3016
+ #
3017
+ # An ever increasing delay (double the previous delay, starting at 100ms) is added
3018
+ # before each restart to prevent flooding the server.
3019
+ sig do
3020
+ params(
3021
+ maximum_retry_count: Integer,
3022
+ name:
3023
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::OrSymbol
3024
+ ).returns(T.attached_class)
3025
+ end
3026
+ def self.new(
3027
+ # If `on-failure` is used, the number of times to retry before giving up.
3028
+ maximum_retry_count: nil,
3029
+ # - Empty string means not to restart
3030
+ # - `no` Do not automatically restart
3031
+ # - `always` Always restart
3032
+ # - `unless-stopped` Restart always except when the user has manually stopped the
3033
+ # container
3034
+ # - `on-failure` Restart only when the container exit code is non-zero
3035
+ name: nil
3036
+ )
3037
+ end
3038
+
3039
+ sig do
3040
+ override.returns(
3041
+ {
3042
+ maximum_retry_count: Integer,
3043
+ name:
3044
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::TaggedSymbol
3045
+ }
3046
+ )
3047
+ end
3048
+ def to_hash
3049
+ end
3050
+
3051
+ # - Empty string means not to restart
3052
+ # - `no` Do not automatically restart
3053
+ # - `always` Always restart
3054
+ # - `unless-stopped` Restart always except when the user has manually stopped the
3055
+ # container
3056
+ # - `on-failure` Restart only when the container exit code is non-zero
3057
+ module Name
3058
+ extend DockerEngineRuby::Internal::Type::Enum
3059
+
3060
+ TaggedSymbol =
3061
+ T.type_alias do
3062
+ T.all(
3063
+ Symbol,
3064
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name
3065
+ )
3066
+ end
3067
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3068
+
3069
+ EMPTY =
3070
+ T.let(
3071
+ :"",
3072
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::TaggedSymbol
3073
+ )
3074
+ NO =
3075
+ T.let(
3076
+ :no,
3077
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::TaggedSymbol
3078
+ )
3079
+ ALWAYS =
3080
+ T.let(
3081
+ :always,
3082
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::TaggedSymbol
3083
+ )
3084
+ UNLESS_STOPPED =
3085
+ T.let(
3086
+ :"unless-stopped",
3087
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::TaggedSymbol
3088
+ )
3089
+ ON_FAILURE =
3090
+ T.let(
3091
+ :"on-failure",
3092
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::TaggedSymbol
3093
+ )
3094
+
3095
+ sig do
3096
+ override.returns(
3097
+ T::Array[
3098
+ DockerEngineRuby::Container::HostConfig::RestartPolicy::Name::TaggedSymbol
3099
+ ]
3100
+ )
3101
+ end
3102
+ def self.values
3103
+ end
3104
+ end
3105
+ end
3106
+
3107
+ class Ulimit < DockerEngineRuby::Internal::Type::BaseModel
3108
+ OrHash =
3109
+ T.type_alias do
3110
+ T.any(
3111
+ DockerEngineRuby::Container::HostConfig::Ulimit,
3112
+ DockerEngineRuby::Internal::AnyHash
3113
+ )
3114
+ end
3115
+
3116
+ # Hard limit
3117
+ sig { returns(T.nilable(Integer)) }
3118
+ attr_reader :hard
3119
+
3120
+ sig { params(hard: Integer).void }
3121
+ attr_writer :hard
3122
+
3123
+ # Name of ulimit
3124
+ sig { returns(T.nilable(String)) }
3125
+ attr_reader :name
3126
+
3127
+ sig { params(name: String).void }
3128
+ attr_writer :name
3129
+
3130
+ # Soft limit
3131
+ sig { returns(T.nilable(Integer)) }
3132
+ attr_reader :soft
3133
+
3134
+ sig { params(soft: Integer).void }
3135
+ attr_writer :soft
3136
+
3137
+ sig do
3138
+ params(hard: Integer, name: String, soft: Integer).returns(
3139
+ T.attached_class
3140
+ )
3141
+ end
3142
+ def self.new(
3143
+ # Hard limit
3144
+ hard: nil,
3145
+ # Name of ulimit
3146
+ name: nil,
3147
+ # Soft limit
3148
+ soft: nil
3149
+ )
3150
+ end
3151
+
3152
+ sig do
3153
+ override.returns({ hard: Integer, name: String, soft: Integer })
3154
+ end
3155
+ def to_hash
3156
+ end
3157
+ end
3158
+ end
3159
+
3160
+ class ImageManifestDescriptor < DockerEngineRuby::Internal::Type::BaseModel
3161
+ OrHash =
3162
+ T.type_alias do
3163
+ T.any(
3164
+ DockerEngineRuby::Container::ImageManifestDescriptor,
3165
+ DockerEngineRuby::Internal::AnyHash
3166
+ )
3167
+ end
3168
+
3169
+ # Arbitrary metadata relating to the targeted content.
3170
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3171
+ attr_accessor :annotations
3172
+
3173
+ # ArtifactType is the IANA media type of this artifact.
3174
+ sig { returns(T.nilable(String)) }
3175
+ attr_accessor :artifact_type
3176
+
3177
+ # Data is an embedding of the targeted content. This is encoded as a base64 string
3178
+ # when marshalled to JSON (automatically, by encoding/json). If present, Data can
3179
+ # be used directly to avoid fetching the targeted content.
3180
+ sig { returns(T.nilable(String)) }
3181
+ attr_accessor :data
3182
+
3183
+ # The digest of the targeted content.
3184
+ sig { returns(T.nilable(String)) }
3185
+ attr_reader :digest
3186
+
3187
+ sig { params(digest: String).void }
3188
+ attr_writer :digest
3189
+
3190
+ # The media type of the object this schema refers to.
3191
+ sig { returns(T.nilable(String)) }
3192
+ attr_reader :media_type
3193
+
3194
+ sig { params(media_type: String).void }
3195
+ attr_writer :media_type
3196
+
3197
+ # Describes the platform which the image in the manifest runs on, as defined in
3198
+ # the
3199
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
3200
+ sig do
3201
+ returns(
3202
+ T.nilable(
3203
+ DockerEngineRuby::Container::ImageManifestDescriptor::Platform
3204
+ )
3205
+ )
3206
+ end
3207
+ attr_reader :platform
3208
+
3209
+ sig do
3210
+ params(
3211
+ platform:
3212
+ T.nilable(
3213
+ DockerEngineRuby::Container::ImageManifestDescriptor::Platform::OrHash
3214
+ )
3215
+ ).void
3216
+ end
3217
+ attr_writer :platform
3218
+
3219
+ # The size in bytes of the blob.
3220
+ sig { returns(T.nilable(Integer)) }
3221
+ attr_reader :size
3222
+
3223
+ sig { params(size: Integer).void }
3224
+ attr_writer :size
3225
+
3226
+ # List of URLs from which this object MAY be downloaded.
3227
+ sig { returns(T.nilable(T::Array[String])) }
3228
+ attr_accessor :urls
3229
+
3230
+ # A descriptor struct containing digest, media type, and size, as defined in the
3231
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
3232
+ sig do
3233
+ params(
3234
+ annotations: T.nilable(T::Hash[Symbol, String]),
3235
+ artifact_type: T.nilable(String),
3236
+ data: T.nilable(String),
3237
+ digest: String,
3238
+ media_type: String,
3239
+ platform:
3240
+ T.nilable(
3241
+ DockerEngineRuby::Container::ImageManifestDescriptor::Platform::OrHash
3242
+ ),
3243
+ size: Integer,
3244
+ urls: T.nilable(T::Array[String])
3245
+ ).returns(T.attached_class)
3246
+ end
3247
+ def self.new(
3248
+ # Arbitrary metadata relating to the targeted content.
3249
+ annotations: nil,
3250
+ # ArtifactType is the IANA media type of this artifact.
3251
+ artifact_type: nil,
3252
+ # Data is an embedding of the targeted content. This is encoded as a base64 string
3253
+ # when marshalled to JSON (automatically, by encoding/json). If present, Data can
3254
+ # be used directly to avoid fetching the targeted content.
3255
+ data: nil,
3256
+ # The digest of the targeted content.
3257
+ digest: nil,
3258
+ # The media type of the object this schema refers to.
3259
+ media_type: nil,
3260
+ # Describes the platform which the image in the manifest runs on, as defined in
3261
+ # the
3262
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
3263
+ platform: nil,
3264
+ # The size in bytes of the blob.
3265
+ size: nil,
3266
+ # List of URLs from which this object MAY be downloaded.
3267
+ urls: nil
3268
+ )
3269
+ end
3270
+
3271
+ sig do
3272
+ override.returns(
3273
+ {
3274
+ annotations: T.nilable(T::Hash[Symbol, String]),
3275
+ artifact_type: T.nilable(String),
3276
+ data: T.nilable(String),
3277
+ digest: String,
3278
+ media_type: String,
3279
+ platform:
3280
+ T.nilable(
3281
+ DockerEngineRuby::Container::ImageManifestDescriptor::Platform
3282
+ ),
3283
+ size: Integer,
3284
+ urls: T.nilable(T::Array[String])
3285
+ }
3286
+ )
3287
+ end
3288
+ def to_hash
3289
+ end
3290
+
3291
+ class Platform < DockerEngineRuby::Internal::Type::BaseModel
3292
+ OrHash =
3293
+ T.type_alias do
3294
+ T.any(
3295
+ DockerEngineRuby::Container::ImageManifestDescriptor::Platform,
3296
+ DockerEngineRuby::Internal::AnyHash
3297
+ )
3298
+ end
3299
+
3300
+ # The CPU architecture, for example `amd64` or `ppc64`.
3301
+ sig { returns(T.nilable(String)) }
3302
+ attr_reader :architecture
3303
+
3304
+ sig { params(architecture: String).void }
3305
+ attr_writer :architecture
3306
+
3307
+ # The operating system, for example `linux` or `windows`.
3308
+ sig { returns(T.nilable(String)) }
3309
+ attr_reader :os
3310
+
3311
+ sig { params(os: String).void }
3312
+ attr_writer :os
3313
+
3314
+ # Optional field specifying an array of strings, each listing a required OS
3315
+ # feature (for example on Windows `win32k`).
3316
+ sig { returns(T.nilable(T::Array[String])) }
3317
+ attr_reader :os_features
3318
+
3319
+ sig { params(os_features: T::Array[String]).void }
3320
+ attr_writer :os_features
3321
+
3322
+ # Optional field specifying the operating system version, for example on Windows
3323
+ # `10.0.19041.1165`.
3324
+ sig { returns(T.nilable(String)) }
3325
+ attr_reader :os_version
3326
+
3327
+ sig { params(os_version: String).void }
3328
+ attr_writer :os_version
3329
+
3330
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
3331
+ # ARMv7 when architecture is `arm`.
3332
+ sig { returns(T.nilable(String)) }
3333
+ attr_reader :variant
3334
+
3335
+ sig { params(variant: String).void }
3336
+ attr_writer :variant
3337
+
3338
+ # Describes the platform which the image in the manifest runs on, as defined in
3339
+ # the
3340
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
3341
+ sig do
3342
+ params(
3343
+ architecture: String,
3344
+ os: String,
3345
+ os_features: T::Array[String],
3346
+ os_version: String,
3347
+ variant: String
3348
+ ).returns(T.attached_class)
3349
+ end
3350
+ def self.new(
3351
+ # The CPU architecture, for example `amd64` or `ppc64`.
3352
+ architecture: nil,
3353
+ # The operating system, for example `linux` or `windows`.
3354
+ os: nil,
3355
+ # Optional field specifying an array of strings, each listing a required OS
3356
+ # feature (for example on Windows `win32k`).
3357
+ os_features: nil,
3358
+ # Optional field specifying the operating system version, for example on Windows
3359
+ # `10.0.19041.1165`.
3360
+ os_version: nil,
3361
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
3362
+ # ARMv7 when architecture is `arm`.
3363
+ variant: nil
3364
+ )
3365
+ end
3366
+
3367
+ sig do
3368
+ override.returns(
3369
+ {
3370
+ architecture: String,
3371
+ os: String,
3372
+ os_features: T::Array[String],
3373
+ os_version: String,
3374
+ variant: String
3375
+ }
3376
+ )
3377
+ end
3378
+ def to_hash
3379
+ end
3380
+ end
3381
+ end
3382
+
3383
+ class Mount < DockerEngineRuby::Internal::Type::BaseModel
3384
+ OrHash =
3385
+ T.type_alias do
3386
+ T.any(
3387
+ DockerEngineRuby::Container::Mount,
3388
+ DockerEngineRuby::Internal::AnyHash
3389
+ )
3390
+ end
3391
+
3392
+ # Destination is the path relative to the container root (`/`) where the `Source`
3393
+ # is mounted inside the container.
3394
+ sig { returns(T.nilable(String)) }
3395
+ attr_reader :destination
3396
+
3397
+ sig { params(destination: String).void }
3398
+ attr_writer :destination
3399
+
3400
+ # Driver is the volume driver used to create the volume (if it is a volume).
3401
+ sig { returns(T.nilable(String)) }
3402
+ attr_reader :driver
3403
+
3404
+ sig { params(driver: String).void }
3405
+ attr_writer :driver
3406
+
3407
+ # Mode is a comma separated list of options supplied by the user when creating the
3408
+ # bind/volume mount.
3409
+ #
3410
+ # The default is platform-specific (`"z"` on Linux, empty on Windows).
3411
+ sig { returns(T.nilable(String)) }
3412
+ attr_reader :mode
3413
+
3414
+ sig { params(mode: String).void }
3415
+ attr_writer :mode
3416
+
3417
+ # Name is the name reference to the underlying data defined by `Source` e.g., the
3418
+ # volume name.
3419
+ sig { returns(T.nilable(String)) }
3420
+ attr_reader :name
3421
+
3422
+ sig { params(name: String).void }
3423
+ attr_writer :name
3424
+
3425
+ # Propagation describes how mounts are propagated from the host into the mount
3426
+ # point, and vice-versa. Refer to the
3427
+ # [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)
3428
+ # for details. This field is not used on Windows.
3429
+ sig { returns(T.nilable(String)) }
3430
+ attr_reader :propagation
3431
+
3432
+ sig { params(propagation: String).void }
3433
+ attr_writer :propagation
3434
+
3435
+ # Whether the mount is mounted writable (read-write).
3436
+ sig { returns(T.nilable(T::Boolean)) }
3437
+ attr_reader :rw
3438
+
3439
+ sig { params(rw: T::Boolean).void }
3440
+ attr_writer :rw
3441
+
3442
+ # Source location of the mount.
3443
+ #
3444
+ # For volumes, this contains the storage location of the volume (within
3445
+ # `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains the
3446
+ # source (host) part of the bind-mount. For `tmpfs` mount points, this field is
3447
+ # empty.
3448
+ sig { returns(T.nilable(String)) }
3449
+ attr_reader :source
3450
+
3451
+ sig { params(source: String).void }
3452
+ attr_writer :source
3453
+
3454
+ # The mount type. Available types:
3455
+ #
3456
+ # - `bind` a mount of a file or directory from the host into the container.
3457
+ # - `cluster` a Swarm cluster volume.
3458
+ # - `image` an OCI image.
3459
+ # - `npipe` a named pipe from the host into the container.
3460
+ # - `tmpfs` a `tmpfs`.
3461
+ # - `volume` a docker volume with the given `Name`.
3462
+ sig do
3463
+ returns(
3464
+ T.nilable(DockerEngineRuby::Container::Mount::Type::TaggedSymbol)
3465
+ )
3466
+ end
3467
+ attr_reader :type
3468
+
3469
+ sig do
3470
+ params(type: DockerEngineRuby::Container::Mount::Type::OrSymbol).void
3471
+ end
3472
+ attr_writer :type
3473
+
3474
+ # MountPoint represents a mount point configuration inside the container. This is
3475
+ # used for reporting the mountpoints in use by a container.
3476
+ sig do
3477
+ params(
3478
+ destination: String,
3479
+ driver: String,
3480
+ mode: String,
3481
+ name: String,
3482
+ propagation: String,
3483
+ rw: T::Boolean,
3484
+ source: String,
3485
+ type: DockerEngineRuby::Container::Mount::Type::OrSymbol
3486
+ ).returns(T.attached_class)
3487
+ end
3488
+ def self.new(
3489
+ # Destination is the path relative to the container root (`/`) where the `Source`
3490
+ # is mounted inside the container.
3491
+ destination: nil,
3492
+ # Driver is the volume driver used to create the volume (if it is a volume).
3493
+ driver: nil,
3494
+ # Mode is a comma separated list of options supplied by the user when creating the
3495
+ # bind/volume mount.
3496
+ #
3497
+ # The default is platform-specific (`"z"` on Linux, empty on Windows).
3498
+ mode: nil,
3499
+ # Name is the name reference to the underlying data defined by `Source` e.g., the
3500
+ # volume name.
3501
+ name: nil,
3502
+ # Propagation describes how mounts are propagated from the host into the mount
3503
+ # point, and vice-versa. Refer to the
3504
+ # [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)
3505
+ # for details. This field is not used on Windows.
3506
+ propagation: nil,
3507
+ # Whether the mount is mounted writable (read-write).
3508
+ rw: nil,
3509
+ # Source location of the mount.
3510
+ #
3511
+ # For volumes, this contains the storage location of the volume (within
3512
+ # `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains the
3513
+ # source (host) part of the bind-mount. For `tmpfs` mount points, this field is
3514
+ # empty.
3515
+ source: nil,
3516
+ # The mount type. Available types:
3517
+ #
3518
+ # - `bind` a mount of a file or directory from the host into the container.
3519
+ # - `cluster` a Swarm cluster volume.
3520
+ # - `image` an OCI image.
3521
+ # - `npipe` a named pipe from the host into the container.
3522
+ # - `tmpfs` a `tmpfs`.
3523
+ # - `volume` a docker volume with the given `Name`.
3524
+ type: nil
3525
+ )
3526
+ end
3527
+
3528
+ sig do
3529
+ override.returns(
3530
+ {
3531
+ destination: String,
3532
+ driver: String,
3533
+ mode: String,
3534
+ name: String,
3535
+ propagation: String,
3536
+ rw: T::Boolean,
3537
+ source: String,
3538
+ type: DockerEngineRuby::Container::Mount::Type::TaggedSymbol
3539
+ }
3540
+ )
3541
+ end
3542
+ def to_hash
3543
+ end
3544
+
3545
+ # The mount type. Available types:
3546
+ #
3547
+ # - `bind` a mount of a file or directory from the host into the container.
3548
+ # - `cluster` a Swarm cluster volume.
3549
+ # - `image` an OCI image.
3550
+ # - `npipe` a named pipe from the host into the container.
3551
+ # - `tmpfs` a `tmpfs`.
3552
+ # - `volume` a docker volume with the given `Name`.
3553
+ module Type
3554
+ extend DockerEngineRuby::Internal::Type::Enum
3555
+
3556
+ TaggedSymbol =
3557
+ T.type_alias do
3558
+ T.all(Symbol, DockerEngineRuby::Container::Mount::Type)
3559
+ end
3560
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3561
+
3562
+ BIND =
3563
+ T.let(:bind, DockerEngineRuby::Container::Mount::Type::TaggedSymbol)
3564
+ CLUSTER =
3565
+ T.let(
3566
+ :cluster,
3567
+ DockerEngineRuby::Container::Mount::Type::TaggedSymbol
3568
+ )
3569
+ IMAGE =
3570
+ T.let(
3571
+ :image,
3572
+ DockerEngineRuby::Container::Mount::Type::TaggedSymbol
3573
+ )
3574
+ NPIPE =
3575
+ T.let(
3576
+ :npipe,
3577
+ DockerEngineRuby::Container::Mount::Type::TaggedSymbol
3578
+ )
3579
+ TMPFS =
3580
+ T.let(
3581
+ :tmpfs,
3582
+ DockerEngineRuby::Container::Mount::Type::TaggedSymbol
3583
+ )
3584
+ VOLUME =
3585
+ T.let(
3586
+ :volume,
3587
+ DockerEngineRuby::Container::Mount::Type::TaggedSymbol
3588
+ )
3589
+
3590
+ sig do
3591
+ override.returns(
3592
+ T::Array[DockerEngineRuby::Container::Mount::Type::TaggedSymbol]
3593
+ )
3594
+ end
3595
+ def self.values
3596
+ end
3597
+ end
3598
+ end
3599
+
3600
+ class NetworkSettings < DockerEngineRuby::Internal::Type::BaseModel
3601
+ OrHash =
3602
+ T.type_alias do
3603
+ T.any(
3604
+ DockerEngineRuby::Container::NetworkSettings,
3605
+ DockerEngineRuby::Internal::AnyHash
3606
+ )
3607
+ end
3608
+
3609
+ # Information about all networks that the container is connected to.
3610
+ sig do
3611
+ returns(
3612
+ T.nilable(
3613
+ T::Hash[
3614
+ Symbol,
3615
+ DockerEngineRuby::Container::NetworkSettings::Network
3616
+ ]
3617
+ )
3618
+ )
3619
+ end
3620
+ attr_reader :networks
3621
+
3622
+ sig do
3623
+ params(
3624
+ networks:
3625
+ T::Hash[
3626
+ Symbol,
3627
+ DockerEngineRuby::Container::NetworkSettings::Network::OrHash
3628
+ ]
3629
+ ).void
3630
+ end
3631
+ attr_writer :networks
3632
+
3633
+ # PortMap describes the mapping of container ports to host ports, using the
3634
+ # container's port-number and protocol as key in the format `<port>/<protocol>`,
3635
+ # for example, `80/udp`.
3636
+ #
3637
+ # If a container's port is mapped for multiple protocols, separate entries are
3638
+ # added to the mapping table.
3639
+ sig do
3640
+ returns(
3641
+ T.nilable(
3642
+ T::Hash[
3643
+ Symbol,
3644
+ T::Array[DockerEngineRuby::Container::NetworkSettings::Port]
3645
+ ]
3646
+ )
3647
+ )
3648
+ end
3649
+ attr_reader :ports
3650
+
3651
+ sig do
3652
+ params(
3653
+ ports:
3654
+ T::Hash[
3655
+ Symbol,
3656
+ T::Array[
3657
+ DockerEngineRuby::Container::NetworkSettings::Port::OrHash
3658
+ ]
3659
+ ]
3660
+ ).void
3661
+ end
3662
+ attr_writer :ports
3663
+
3664
+ # SandboxID uniquely represents a container's network stack.
3665
+ sig { returns(T.nilable(String)) }
3666
+ attr_reader :sandbox_id
3667
+
3668
+ sig { params(sandbox_id: String).void }
3669
+ attr_writer :sandbox_id
3670
+
3671
+ # SandboxKey is the full path of the netns handle
3672
+ sig { returns(T.nilable(String)) }
3673
+ attr_reader :sandbox_key
3674
+
3675
+ sig { params(sandbox_key: String).void }
3676
+ attr_writer :sandbox_key
3677
+
3678
+ # NetworkSettings exposes the network settings in the API
3679
+ sig do
3680
+ params(
3681
+ networks:
3682
+ T::Hash[
3683
+ Symbol,
3684
+ DockerEngineRuby::Container::NetworkSettings::Network::OrHash
3685
+ ],
3686
+ ports:
3687
+ T::Hash[
3688
+ Symbol,
3689
+ T::Array[
3690
+ DockerEngineRuby::Container::NetworkSettings::Port::OrHash
3691
+ ]
3692
+ ],
3693
+ sandbox_id: String,
3694
+ sandbox_key: String
3695
+ ).returns(T.attached_class)
3696
+ end
3697
+ def self.new(
3698
+ # Information about all networks that the container is connected to.
3699
+ networks: nil,
3700
+ # PortMap describes the mapping of container ports to host ports, using the
3701
+ # container's port-number and protocol as key in the format `<port>/<protocol>`,
3702
+ # for example, `80/udp`.
3703
+ #
3704
+ # If a container's port is mapped for multiple protocols, separate entries are
3705
+ # added to the mapping table.
3706
+ ports: nil,
3707
+ # SandboxID uniquely represents a container's network stack.
3708
+ sandbox_id: nil,
3709
+ # SandboxKey is the full path of the netns handle
3710
+ sandbox_key: nil
3711
+ )
3712
+ end
3713
+
3714
+ sig do
3715
+ override.returns(
3716
+ {
3717
+ networks:
3718
+ T::Hash[
3719
+ Symbol,
3720
+ DockerEngineRuby::Container::NetworkSettings::Network
3721
+ ],
3722
+ ports:
3723
+ T::Hash[
3724
+ Symbol,
3725
+ T::Array[DockerEngineRuby::Container::NetworkSettings::Port]
3726
+ ],
3727
+ sandbox_id: String,
3728
+ sandbox_key: String
3729
+ }
3730
+ )
3731
+ end
3732
+ def to_hash
3733
+ end
3734
+
3735
+ class Network < DockerEngineRuby::Internal::Type::BaseModel
3736
+ OrHash =
3737
+ T.type_alias do
3738
+ T.any(
3739
+ DockerEngineRuby::Container::NetworkSettings::Network,
3740
+ DockerEngineRuby::Internal::AnyHash
3741
+ )
3742
+ end
3743
+
3744
+ sig { returns(T.nilable(T::Array[String])) }
3745
+ attr_reader :aliases
3746
+
3747
+ sig { params(aliases: T::Array[String]).void }
3748
+ attr_writer :aliases
3749
+
3750
+ # List of all DNS names an endpoint has on a specific network. This list is based
3751
+ # on the container name, network aliases, container short ID, and hostname.
3752
+ #
3753
+ # These DNS names are non-fully qualified but can contain several dots. You can
3754
+ # get fully qualified DNS names by appending `.<network-name>`. For instance, if
3755
+ # container name is `my.ctr` and the network is named `testnet`, `DNSNames` will
3756
+ # contain `my.ctr` and the FQDN will be `my.ctr.testnet`.
3757
+ sig { returns(T.nilable(T::Array[String])) }
3758
+ attr_reader :dns_names
3759
+
3760
+ sig { params(dns_names: T::Array[String]).void }
3761
+ attr_writer :dns_names
3762
+
3763
+ # DriverOpts is a mapping of driver options and values. These options are passed
3764
+ # directly to the driver and are driver specific.
3765
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3766
+ attr_accessor :driver_opts
3767
+
3768
+ # Unique ID for the service endpoint in a Sandbox.
3769
+ sig { returns(T.nilable(String)) }
3770
+ attr_reader :endpoint_id
3771
+
3772
+ sig { params(endpoint_id: String).void }
3773
+ attr_writer :endpoint_id
3774
+
3775
+ # Gateway address for this network.
3776
+ sig { returns(T.nilable(String)) }
3777
+ attr_reader :gateway
3778
+
3779
+ sig { params(gateway: String).void }
3780
+ attr_writer :gateway
3781
+
3782
+ # Global IPv6 address.
3783
+ sig { returns(T.nilable(String)) }
3784
+ attr_reader :global_i_pv6_address
3785
+
3786
+ sig { params(global_i_pv6_address: String).void }
3787
+ attr_writer :global_i_pv6_address
3788
+
3789
+ # Mask length of the global IPv6 address.
3790
+ sig { returns(T.nilable(Integer)) }
3791
+ attr_reader :global_i_pv6_prefix_len
3792
+
3793
+ sig { params(global_i_pv6_prefix_len: Integer).void }
3794
+ attr_writer :global_i_pv6_prefix_len
3795
+
3796
+ # This property determines which endpoint will provide the default gateway for a
3797
+ # container. The endpoint with the highest priority will be used. If multiple
3798
+ # endpoints have the same priority, endpoints are lexicographically sorted based
3799
+ # on their network name, and the one that sorts first is picked.
3800
+ sig { returns(T.nilable(Integer)) }
3801
+ attr_reader :gw_priority
3802
+
3803
+ sig { params(gw_priority: Integer).void }
3804
+ attr_writer :gw_priority
3805
+
3806
+ # IPv4 address.
3807
+ sig { returns(T.nilable(String)) }
3808
+ attr_reader :ip_address
3809
+
3810
+ sig { params(ip_address: String).void }
3811
+ attr_writer :ip_address
3812
+
3813
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
3814
+ sig do
3815
+ returns(
3816
+ T.nilable(
3817
+ DockerEngineRuby::Container::NetworkSettings::Network::IpamConfig
3818
+ )
3819
+ )
3820
+ end
3821
+ attr_reader :ipam_config
3822
+
3823
+ sig do
3824
+ params(
3825
+ ipam_config:
3826
+ T.nilable(
3827
+ DockerEngineRuby::Container::NetworkSettings::Network::IpamConfig::OrHash
3828
+ )
3829
+ ).void
3830
+ end
3831
+ attr_writer :ipam_config
3832
+
3833
+ # Mask length of the IPv4 address.
3834
+ sig { returns(T.nilable(Integer)) }
3835
+ attr_reader :ip_prefix_len
3836
+
3837
+ sig { params(ip_prefix_len: Integer).void }
3838
+ attr_writer :ip_prefix_len
3839
+
3840
+ # IPv6 gateway address.
3841
+ sig { returns(T.nilable(String)) }
3842
+ attr_reader :i_pv6_gateway
3843
+
3844
+ sig { params(i_pv6_gateway: String).void }
3845
+ attr_writer :i_pv6_gateway
3846
+
3847
+ sig { returns(T.nilable(T::Array[String])) }
3848
+ attr_reader :links
3849
+
3850
+ sig { params(links: T::Array[String]).void }
3851
+ attr_writer :links
3852
+
3853
+ # MAC address for the endpoint on this network. The network driver might ignore
3854
+ # this parameter.
3855
+ sig { returns(T.nilable(String)) }
3856
+ attr_reader :mac_address
3857
+
3858
+ sig { params(mac_address: String).void }
3859
+ attr_writer :mac_address
3860
+
3861
+ # Unique ID of the network.
3862
+ sig { returns(T.nilable(String)) }
3863
+ attr_reader :network_id
3864
+
3865
+ sig { params(network_id: String).void }
3866
+ attr_writer :network_id
3867
+
3868
+ # Configuration for a network endpoint.
3869
+ sig do
3870
+ params(
3871
+ aliases: T::Array[String],
3872
+ dns_names: T::Array[String],
3873
+ driver_opts: T.nilable(T::Hash[Symbol, String]),
3874
+ endpoint_id: String,
3875
+ gateway: String,
3876
+ global_i_pv6_address: String,
3877
+ global_i_pv6_prefix_len: Integer,
3878
+ gw_priority: Integer,
3879
+ ip_address: String,
3880
+ ipam_config:
3881
+ T.nilable(
3882
+ DockerEngineRuby::Container::NetworkSettings::Network::IpamConfig::OrHash
3883
+ ),
3884
+ ip_prefix_len: Integer,
3885
+ i_pv6_gateway: String,
3886
+ links: T::Array[String],
3887
+ mac_address: String,
3888
+ network_id: String
3889
+ ).returns(T.attached_class)
3890
+ end
3891
+ def self.new(
3892
+ aliases: nil,
3893
+ # List of all DNS names an endpoint has on a specific network. This list is based
3894
+ # on the container name, network aliases, container short ID, and hostname.
3895
+ #
3896
+ # These DNS names are non-fully qualified but can contain several dots. You can
3897
+ # get fully qualified DNS names by appending `.<network-name>`. For instance, if
3898
+ # container name is `my.ctr` and the network is named `testnet`, `DNSNames` will
3899
+ # contain `my.ctr` and the FQDN will be `my.ctr.testnet`.
3900
+ dns_names: nil,
3901
+ # DriverOpts is a mapping of driver options and values. These options are passed
3902
+ # directly to the driver and are driver specific.
3903
+ driver_opts: nil,
3904
+ # Unique ID for the service endpoint in a Sandbox.
3905
+ endpoint_id: nil,
3906
+ # Gateway address for this network.
3907
+ gateway: nil,
3908
+ # Global IPv6 address.
3909
+ global_i_pv6_address: nil,
3910
+ # Mask length of the global IPv6 address.
3911
+ global_i_pv6_prefix_len: nil,
3912
+ # This property determines which endpoint will provide the default gateway for a
3913
+ # container. The endpoint with the highest priority will be used. If multiple
3914
+ # endpoints have the same priority, endpoints are lexicographically sorted based
3915
+ # on their network name, and the one that sorts first is picked.
3916
+ gw_priority: nil,
3917
+ # IPv4 address.
3918
+ ip_address: nil,
3919
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
3920
+ ipam_config: nil,
3921
+ # Mask length of the IPv4 address.
3922
+ ip_prefix_len: nil,
3923
+ # IPv6 gateway address.
3924
+ i_pv6_gateway: nil,
3925
+ links: nil,
3926
+ # MAC address for the endpoint on this network. The network driver might ignore
3927
+ # this parameter.
3928
+ mac_address: nil,
3929
+ # Unique ID of the network.
3930
+ network_id: nil
3931
+ )
3932
+ end
3933
+
3934
+ sig do
3935
+ override.returns(
3936
+ {
3937
+ aliases: T::Array[String],
3938
+ dns_names: T::Array[String],
3939
+ driver_opts: T.nilable(T::Hash[Symbol, String]),
3940
+ endpoint_id: String,
3941
+ gateway: String,
3942
+ global_i_pv6_address: String,
3943
+ global_i_pv6_prefix_len: Integer,
3944
+ gw_priority: Integer,
3945
+ ip_address: String,
3946
+ ipam_config:
3947
+ T.nilable(
3948
+ DockerEngineRuby::Container::NetworkSettings::Network::IpamConfig
3949
+ ),
3950
+ ip_prefix_len: Integer,
3951
+ i_pv6_gateway: String,
3952
+ links: T::Array[String],
3953
+ mac_address: String,
3954
+ network_id: String
3955
+ }
3956
+ )
3957
+ end
3958
+ def to_hash
3959
+ end
3960
+
3961
+ class IpamConfig < DockerEngineRuby::Internal::Type::BaseModel
3962
+ OrHash =
3963
+ T.type_alias do
3964
+ T.any(
3965
+ DockerEngineRuby::Container::NetworkSettings::Network::IpamConfig,
3966
+ DockerEngineRuby::Internal::AnyHash
3967
+ )
3968
+ end
3969
+
3970
+ sig { returns(T.nilable(String)) }
3971
+ attr_reader :i_pv4_address
3972
+
3973
+ sig { params(i_pv4_address: String).void }
3974
+ attr_writer :i_pv4_address
3975
+
3976
+ sig { returns(T.nilable(String)) }
3977
+ attr_reader :i_pv6_address
3978
+
3979
+ sig { params(i_pv6_address: String).void }
3980
+ attr_writer :i_pv6_address
3981
+
3982
+ sig { returns(T.nilable(T::Array[String])) }
3983
+ attr_reader :link_local_ips
3984
+
3985
+ sig { params(link_local_ips: T::Array[String]).void }
3986
+ attr_writer :link_local_ips
3987
+
3988
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
3989
+ sig do
3990
+ params(
3991
+ i_pv4_address: String,
3992
+ i_pv6_address: String,
3993
+ link_local_ips: T::Array[String]
3994
+ ).returns(T.attached_class)
3995
+ end
3996
+ def self.new(
3997
+ i_pv4_address: nil,
3998
+ i_pv6_address: nil,
3999
+ link_local_ips: nil
4000
+ )
4001
+ end
4002
+
4003
+ sig do
4004
+ override.returns(
4005
+ {
4006
+ i_pv4_address: String,
4007
+ i_pv6_address: String,
4008
+ link_local_ips: T::Array[String]
4009
+ }
4010
+ )
4011
+ end
4012
+ def to_hash
4013
+ end
4014
+ end
4015
+ end
4016
+
4017
+ class Port < DockerEngineRuby::Internal::Type::BaseModel
4018
+ OrHash =
4019
+ T.type_alias do
4020
+ T.any(
4021
+ DockerEngineRuby::Container::NetworkSettings::Port,
4022
+ DockerEngineRuby::Internal::AnyHash
4023
+ )
4024
+ end
4025
+
4026
+ # Host IP address that the container's port is mapped to.
4027
+ sig { returns(T.nilable(String)) }
4028
+ attr_reader :host_ip
4029
+
4030
+ sig { params(host_ip: String).void }
4031
+ attr_writer :host_ip
4032
+
4033
+ # Host port number that the container's port is mapped to.
4034
+ sig { returns(T.nilable(String)) }
4035
+ attr_reader :host_port
4036
+
4037
+ sig { params(host_port: String).void }
4038
+ attr_writer :host_port
4039
+
4040
+ # PortBinding represents a binding between a host IP address and a host port.
4041
+ sig do
4042
+ params(host_ip: String, host_port: String).returns(T.attached_class)
4043
+ end
4044
+ def self.new(
4045
+ # Host IP address that the container's port is mapped to.
4046
+ host_ip: nil,
4047
+ # Host port number that the container's port is mapped to.
4048
+ host_port: nil
4049
+ )
4050
+ end
4051
+
4052
+ sig { override.returns({ host_ip: String, host_port: String }) }
4053
+ def to_hash
4054
+ end
4055
+ end
4056
+ end
4057
+
4058
+ class State < DockerEngineRuby::Internal::Type::BaseModel
4059
+ OrHash =
4060
+ T.type_alias do
4061
+ T.any(
4062
+ DockerEngineRuby::Container::State,
4063
+ DockerEngineRuby::Internal::AnyHash
4064
+ )
4065
+ end
4066
+
4067
+ sig { returns(T.nilable(T::Boolean)) }
4068
+ attr_reader :dead
4069
+
4070
+ sig { params(dead: T::Boolean).void }
4071
+ attr_writer :dead
4072
+
4073
+ sig { returns(T.nilable(String)) }
4074
+ attr_reader :error
4075
+
4076
+ sig { params(error: String).void }
4077
+ attr_writer :error
4078
+
4079
+ # The last exit code of this container
4080
+ sig { returns(T.nilable(Integer)) }
4081
+ attr_reader :exit_code
4082
+
4083
+ sig { params(exit_code: Integer).void }
4084
+ attr_writer :exit_code
4085
+
4086
+ # The time when this container last exited.
4087
+ sig { returns(T.nilable(String)) }
4088
+ attr_reader :finished_at
4089
+
4090
+ sig { params(finished_at: String).void }
4091
+ attr_writer :finished_at
4092
+
4093
+ # Health stores information about the container's healthcheck results.
4094
+ sig { returns(T.nilable(DockerEngineRuby::Container::State::Health)) }
4095
+ attr_reader :health
4096
+
4097
+ sig do
4098
+ params(
4099
+ health:
4100
+ T.nilable(DockerEngineRuby::Container::State::Health::OrHash)
4101
+ ).void
4102
+ end
4103
+ attr_writer :health
4104
+
4105
+ # Whether a process within this container has been killed because it ran out of
4106
+ # memory since the container was last started.
4107
+ sig { returns(T.nilable(T::Boolean)) }
4108
+ attr_reader :oom_killed
4109
+
4110
+ sig { params(oom_killed: T::Boolean).void }
4111
+ attr_writer :oom_killed
4112
+
4113
+ # Whether this container is paused.
4114
+ sig { returns(T.nilable(T::Boolean)) }
4115
+ attr_reader :paused
4116
+
4117
+ sig { params(paused: T::Boolean).void }
4118
+ attr_writer :paused
4119
+
4120
+ # The process ID of this container
4121
+ sig { returns(T.nilable(Integer)) }
4122
+ attr_reader :pid
4123
+
4124
+ sig { params(pid: Integer).void }
4125
+ attr_writer :pid
4126
+
4127
+ # Whether this container is restarting.
4128
+ sig { returns(T.nilable(T::Boolean)) }
4129
+ attr_reader :restarting
4130
+
4131
+ sig { params(restarting: T::Boolean).void }
4132
+ attr_writer :restarting
4133
+
4134
+ # Whether this container is running.
4135
+ #
4136
+ # Note that a running container can be _paused_. The `Running` and `Paused`
4137
+ # booleans are not mutually exclusive:
4138
+ #
4139
+ # When pausing a container (on Linux), the freezer cgroup is used to suspend all
4140
+ # processes in the container. Freezing the process requires the process to be
4141
+ # running. As a result, paused containers are both `Running` _and_ `Paused`.
4142
+ #
4143
+ # Use the `Status` field instead to determine if a container's state is "running".
4144
+ sig { returns(T.nilable(T::Boolean)) }
4145
+ attr_reader :running
4146
+
4147
+ sig { params(running: T::Boolean).void }
4148
+ attr_writer :running
4149
+
4150
+ # The time when this container was last started.
4151
+ sig { returns(T.nilable(String)) }
4152
+ attr_reader :started_at
4153
+
4154
+ sig { params(started_at: String).void }
4155
+ attr_writer :started_at
4156
+
4157
+ # String representation of the container state. Can be one of "created",
4158
+ # "running", "paused", "restarting", "removing", "exited", or "dead".
4159
+ sig do
4160
+ returns(
4161
+ T.nilable(DockerEngineRuby::Container::State::Status::TaggedSymbol)
4162
+ )
4163
+ end
4164
+ attr_reader :status
4165
+
4166
+ sig do
4167
+ params(
4168
+ status: DockerEngineRuby::Container::State::Status::OrSymbol
4169
+ ).void
4170
+ end
4171
+ attr_writer :status
4172
+
4173
+ # ContainerState stores container's running state. It's part of ContainerJSONBase
4174
+ # and will be returned by the "inspect" command.
4175
+ sig do
4176
+ params(
4177
+ dead: T::Boolean,
4178
+ error: String,
4179
+ exit_code: Integer,
4180
+ finished_at: String,
4181
+ health:
4182
+ T.nilable(DockerEngineRuby::Container::State::Health::OrHash),
4183
+ oom_killed: T::Boolean,
4184
+ paused: T::Boolean,
4185
+ pid: Integer,
4186
+ restarting: T::Boolean,
4187
+ running: T::Boolean,
4188
+ started_at: String,
4189
+ status: DockerEngineRuby::Container::State::Status::OrSymbol
4190
+ ).returns(T.attached_class)
4191
+ end
4192
+ def self.new(
4193
+ dead: nil,
4194
+ error: nil,
4195
+ # The last exit code of this container
4196
+ exit_code: nil,
4197
+ # The time when this container last exited.
4198
+ finished_at: nil,
4199
+ # Health stores information about the container's healthcheck results.
4200
+ health: nil,
4201
+ # Whether a process within this container has been killed because it ran out of
4202
+ # memory since the container was last started.
4203
+ oom_killed: nil,
4204
+ # Whether this container is paused.
4205
+ paused: nil,
4206
+ # The process ID of this container
4207
+ pid: nil,
4208
+ # Whether this container is restarting.
4209
+ restarting: nil,
4210
+ # Whether this container is running.
4211
+ #
4212
+ # Note that a running container can be _paused_. The `Running` and `Paused`
4213
+ # booleans are not mutually exclusive:
4214
+ #
4215
+ # When pausing a container (on Linux), the freezer cgroup is used to suspend all
4216
+ # processes in the container. Freezing the process requires the process to be
4217
+ # running. As a result, paused containers are both `Running` _and_ `Paused`.
4218
+ #
4219
+ # Use the `Status` field instead to determine if a container's state is "running".
4220
+ running: nil,
4221
+ # The time when this container was last started.
4222
+ started_at: nil,
4223
+ # String representation of the container state. Can be one of "created",
4224
+ # "running", "paused", "restarting", "removing", "exited", or "dead".
4225
+ status: nil
4226
+ )
4227
+ end
4228
+
4229
+ sig do
4230
+ override.returns(
4231
+ {
4232
+ dead: T::Boolean,
4233
+ error: String,
4234
+ exit_code: Integer,
4235
+ finished_at: String,
4236
+ health: T.nilable(DockerEngineRuby::Container::State::Health),
4237
+ oom_killed: T::Boolean,
4238
+ paused: T::Boolean,
4239
+ pid: Integer,
4240
+ restarting: T::Boolean,
4241
+ running: T::Boolean,
4242
+ started_at: String,
4243
+ status: DockerEngineRuby::Container::State::Status::TaggedSymbol
4244
+ }
4245
+ )
4246
+ end
4247
+ def to_hash
4248
+ end
4249
+
4250
+ class Health < DockerEngineRuby::Internal::Type::BaseModel
4251
+ OrHash =
4252
+ T.type_alias do
4253
+ T.any(
4254
+ DockerEngineRuby::Container::State::Health,
4255
+ DockerEngineRuby::Internal::AnyHash
4256
+ )
4257
+ end
4258
+
4259
+ # FailingStreak is the number of consecutive failures
4260
+ sig { returns(T.nilable(Integer)) }
4261
+ attr_reader :failing_streak
4262
+
4263
+ sig { params(failing_streak: Integer).void }
4264
+ attr_writer :failing_streak
4265
+
4266
+ # Log contains the last few results (oldest first)
4267
+ sig do
4268
+ returns(
4269
+ T.nilable(
4270
+ T::Array[
4271
+ T.nilable(DockerEngineRuby::Container::State::Health::Log)
4272
+ ]
4273
+ )
4274
+ )
4275
+ end
4276
+ attr_reader :log
4277
+
4278
+ sig do
4279
+ params(
4280
+ log:
4281
+ T::Array[
4282
+ T.nilable(
4283
+ DockerEngineRuby::Container::State::Health::Log::OrHash
4284
+ )
4285
+ ]
4286
+ ).void
4287
+ end
4288
+ attr_writer :log
4289
+
4290
+ # Status is one of `none`, `starting`, `healthy` or `unhealthy`
4291
+ #
4292
+ # - "none" Indicates there is no healthcheck
4293
+ # - "starting" Starting indicates that the container is not yet ready
4294
+ # - "healthy" Healthy indicates that the container is running correctly
4295
+ # - "unhealthy" Unhealthy indicates that the container has a problem
4296
+ sig do
4297
+ returns(
4298
+ T.nilable(
4299
+ DockerEngineRuby::Container::State::Health::Status::TaggedSymbol
4300
+ )
4301
+ )
4302
+ end
4303
+ attr_reader :status
4304
+
4305
+ sig do
4306
+ params(
4307
+ status:
4308
+ DockerEngineRuby::Container::State::Health::Status::OrSymbol
4309
+ ).void
4310
+ end
4311
+ attr_writer :status
4312
+
4313
+ # Health stores information about the container's healthcheck results.
4314
+ sig do
4315
+ params(
4316
+ failing_streak: Integer,
4317
+ log:
4318
+ T::Array[
4319
+ T.nilable(
4320
+ DockerEngineRuby::Container::State::Health::Log::OrHash
4321
+ )
4322
+ ],
4323
+ status:
4324
+ DockerEngineRuby::Container::State::Health::Status::OrSymbol
4325
+ ).returns(T.attached_class)
4326
+ end
4327
+ def self.new(
4328
+ # FailingStreak is the number of consecutive failures
4329
+ failing_streak: nil,
4330
+ # Log contains the last few results (oldest first)
4331
+ log: nil,
4332
+ # Status is one of `none`, `starting`, `healthy` or `unhealthy`
4333
+ #
4334
+ # - "none" Indicates there is no healthcheck
4335
+ # - "starting" Starting indicates that the container is not yet ready
4336
+ # - "healthy" Healthy indicates that the container is running correctly
4337
+ # - "unhealthy" Unhealthy indicates that the container has a problem
4338
+ status: nil
4339
+ )
4340
+ end
4341
+
4342
+ sig do
4343
+ override.returns(
4344
+ {
4345
+ failing_streak: Integer,
4346
+ log:
4347
+ T::Array[
4348
+ T.nilable(DockerEngineRuby::Container::State::Health::Log)
4349
+ ],
4350
+ status:
4351
+ DockerEngineRuby::Container::State::Health::Status::TaggedSymbol
4352
+ }
4353
+ )
4354
+ end
4355
+ def to_hash
4356
+ end
4357
+
4358
+ class Log < DockerEngineRuby::Internal::Type::BaseModel
4359
+ OrHash =
4360
+ T.type_alias do
4361
+ T.any(
4362
+ DockerEngineRuby::Container::State::Health::Log,
4363
+ DockerEngineRuby::Internal::AnyHash
4364
+ )
4365
+ end
4366
+
4367
+ # Date and time at which this check ended in
4368
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
4369
+ sig { returns(T.nilable(String)) }
4370
+ attr_reader :end_
4371
+
4372
+ sig { params(end_: String).void }
4373
+ attr_writer :end_
4374
+
4375
+ # ExitCode meanings:
4376
+ #
4377
+ # - `0` healthy
4378
+ # - `1` unhealthy
4379
+ # - `2` reserved (considered unhealthy)
4380
+ # - other values: error running probe
4381
+ sig { returns(T.nilable(Integer)) }
4382
+ attr_reader :exit_code
4383
+
4384
+ sig { params(exit_code: Integer).void }
4385
+ attr_writer :exit_code
4386
+
4387
+ # Output from last check
4388
+ sig { returns(T.nilable(String)) }
4389
+ attr_reader :output
4390
+
4391
+ sig { params(output: String).void }
4392
+ attr_writer :output
4393
+
4394
+ # Date and time at which this check started in
4395
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
4396
+ sig { returns(T.nilable(Time)) }
4397
+ attr_reader :start
4398
+
4399
+ sig { params(start: Time).void }
4400
+ attr_writer :start
4401
+
4402
+ # HealthcheckResult stores information about a single run of a healthcheck probe
4403
+ sig do
4404
+ params(
4405
+ end_: String,
4406
+ exit_code: Integer,
4407
+ output: String,
4408
+ start: Time
4409
+ ).returns(T.attached_class)
4410
+ end
4411
+ def self.new(
4412
+ # Date and time at which this check ended in
4413
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
4414
+ end_: nil,
4415
+ # ExitCode meanings:
4416
+ #
4417
+ # - `0` healthy
4418
+ # - `1` unhealthy
4419
+ # - `2` reserved (considered unhealthy)
4420
+ # - other values: error running probe
4421
+ exit_code: nil,
4422
+ # Output from last check
4423
+ output: nil,
4424
+ # Date and time at which this check started in
4425
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
4426
+ start: nil
4427
+ )
4428
+ end
4429
+
4430
+ sig do
4431
+ override.returns(
4432
+ {
4433
+ end_: String,
4434
+ exit_code: Integer,
4435
+ output: String,
4436
+ start: Time
4437
+ }
4438
+ )
4439
+ end
4440
+ def to_hash
4441
+ end
4442
+ end
4443
+
4444
+ # Status is one of `none`, `starting`, `healthy` or `unhealthy`
4445
+ #
4446
+ # - "none" Indicates there is no healthcheck
4447
+ # - "starting" Starting indicates that the container is not yet ready
4448
+ # - "healthy" Healthy indicates that the container is running correctly
4449
+ # - "unhealthy" Unhealthy indicates that the container has a problem
4450
+ module Status
4451
+ extend DockerEngineRuby::Internal::Type::Enum
4452
+
4453
+ TaggedSymbol =
4454
+ T.type_alias do
4455
+ T.all(
4456
+ Symbol,
4457
+ DockerEngineRuby::Container::State::Health::Status
4458
+ )
4459
+ end
4460
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4461
+
4462
+ NONE =
4463
+ T.let(
4464
+ :none,
4465
+ DockerEngineRuby::Container::State::Health::Status::TaggedSymbol
4466
+ )
4467
+ STARTING =
4468
+ T.let(
4469
+ :starting,
4470
+ DockerEngineRuby::Container::State::Health::Status::TaggedSymbol
4471
+ )
4472
+ HEALTHY =
4473
+ T.let(
4474
+ :healthy,
4475
+ DockerEngineRuby::Container::State::Health::Status::TaggedSymbol
4476
+ )
4477
+ UNHEALTHY =
4478
+ T.let(
4479
+ :unhealthy,
4480
+ DockerEngineRuby::Container::State::Health::Status::TaggedSymbol
4481
+ )
4482
+
4483
+ sig do
4484
+ override.returns(
4485
+ T::Array[
4486
+ DockerEngineRuby::Container::State::Health::Status::TaggedSymbol
4487
+ ]
4488
+ )
4489
+ end
4490
+ def self.values
4491
+ end
4492
+ end
4493
+ end
4494
+
4495
+ # String representation of the container state. Can be one of "created",
4496
+ # "running", "paused", "restarting", "removing", "exited", or "dead".
4497
+ module Status
4498
+ extend DockerEngineRuby::Internal::Type::Enum
4499
+
4500
+ TaggedSymbol =
4501
+ T.type_alias do
4502
+ T.all(Symbol, DockerEngineRuby::Container::State::Status)
4503
+ end
4504
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4505
+
4506
+ CREATED =
4507
+ T.let(
4508
+ :created,
4509
+ DockerEngineRuby::Container::State::Status::TaggedSymbol
4510
+ )
4511
+ RUNNING =
4512
+ T.let(
4513
+ :running,
4514
+ DockerEngineRuby::Container::State::Status::TaggedSymbol
4515
+ )
4516
+ PAUSED =
4517
+ T.let(
4518
+ :paused,
4519
+ DockerEngineRuby::Container::State::Status::TaggedSymbol
4520
+ )
4521
+ RESTARTING =
4522
+ T.let(
4523
+ :restarting,
4524
+ DockerEngineRuby::Container::State::Status::TaggedSymbol
4525
+ )
4526
+ REMOVING =
4527
+ T.let(
4528
+ :removing,
4529
+ DockerEngineRuby::Container::State::Status::TaggedSymbol
4530
+ )
4531
+ EXITED =
4532
+ T.let(
4533
+ :exited,
4534
+ DockerEngineRuby::Container::State::Status::TaggedSymbol
4535
+ )
4536
+ DEAD =
4537
+ T.let(
4538
+ :dead,
4539
+ DockerEngineRuby::Container::State::Status::TaggedSymbol
4540
+ )
4541
+
4542
+ sig do
4543
+ override.returns(
4544
+ T::Array[DockerEngineRuby::Container::State::Status::TaggedSymbol]
4545
+ )
4546
+ end
4547
+ def self.values
4548
+ end
4549
+ end
4550
+ end
4551
+
4552
+ class Storage < DockerEngineRuby::Internal::Type::BaseModel
4553
+ OrHash =
4554
+ T.type_alias do
4555
+ T.any(
4556
+ DockerEngineRuby::Container::Storage,
4557
+ DockerEngineRuby::Internal::AnyHash
4558
+ )
4559
+ end
4560
+
4561
+ # Information about the storage used for the container's root filesystem.
4562
+ sig { returns(T.nilable(DockerEngineRuby::Container::Storage::RootFs)) }
4563
+ attr_reader :root_fs
4564
+
4565
+ sig do
4566
+ params(
4567
+ root_fs: DockerEngineRuby::Container::Storage::RootFs::OrHash
4568
+ ).void
4569
+ end
4570
+ attr_writer :root_fs
4571
+
4572
+ # Information about the storage used by the container.
4573
+ sig do
4574
+ params(
4575
+ root_fs: DockerEngineRuby::Container::Storage::RootFs::OrHash
4576
+ ).returns(T.attached_class)
4577
+ end
4578
+ def self.new(
4579
+ # Information about the storage used for the container's root filesystem.
4580
+ root_fs: nil
4581
+ )
4582
+ end
4583
+
4584
+ sig do
4585
+ override.returns(
4586
+ { root_fs: DockerEngineRuby::Container::Storage::RootFs }
4587
+ )
4588
+ end
4589
+ def to_hash
4590
+ end
4591
+
4592
+ class RootFs < DockerEngineRuby::Internal::Type::BaseModel
4593
+ OrHash =
4594
+ T.type_alias do
4595
+ T.any(
4596
+ DockerEngineRuby::Container::Storage::RootFs,
4597
+ DockerEngineRuby::Internal::AnyHash
4598
+ )
4599
+ end
4600
+
4601
+ # Information about a snapshot backend of the container's root filesystem.
4602
+ sig do
4603
+ returns(
4604
+ T.nilable(DockerEngineRuby::Container::Storage::RootFs::Snapshot)
4605
+ )
4606
+ end
4607
+ attr_reader :snapshot
4608
+
4609
+ sig do
4610
+ params(
4611
+ snapshot:
4612
+ DockerEngineRuby::Container::Storage::RootFs::Snapshot::OrHash
4613
+ ).void
4614
+ end
4615
+ attr_writer :snapshot
4616
+
4617
+ # Information about the storage used for the container's root filesystem.
4618
+ sig do
4619
+ params(
4620
+ snapshot:
4621
+ DockerEngineRuby::Container::Storage::RootFs::Snapshot::OrHash
4622
+ ).returns(T.attached_class)
4623
+ end
4624
+ def self.new(
4625
+ # Information about a snapshot backend of the container's root filesystem.
4626
+ snapshot: nil
4627
+ )
4628
+ end
4629
+
4630
+ sig do
4631
+ override.returns(
4632
+ {
4633
+ snapshot: DockerEngineRuby::Container::Storage::RootFs::Snapshot
4634
+ }
4635
+ )
4636
+ end
4637
+ def to_hash
4638
+ end
4639
+
4640
+ class Snapshot < DockerEngineRuby::Internal::Type::BaseModel
4641
+ OrHash =
4642
+ T.type_alias do
4643
+ T.any(
4644
+ DockerEngineRuby::Container::Storage::RootFs::Snapshot,
4645
+ DockerEngineRuby::Internal::AnyHash
4646
+ )
4647
+ end
4648
+
4649
+ # Name of the snapshotter.
4650
+ sig { returns(T.nilable(String)) }
4651
+ attr_reader :name
4652
+
4653
+ sig { params(name: String).void }
4654
+ attr_writer :name
4655
+
4656
+ # Information about a snapshot backend of the container's root filesystem.
4657
+ sig { params(name: String).returns(T.attached_class) }
4658
+ def self.new(
4659
+ # Name of the snapshotter.
4660
+ name: nil
4661
+ )
4662
+ end
4663
+
4664
+ sig { override.returns({ name: String }) }
4665
+ def to_hash
4666
+ end
4667
+ end
4668
+ end
4669
+ end
4670
+ end
4671
+ end
4672
+ end