docker-engine-api 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (608) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +33 -0
  4. data/README.md +232 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/docker_engine_api/client.rb +109 -0
  7. data/lib/docker_engine_api/errors.rb +228 -0
  8. data/lib/docker_engine_api/file_part.rb +58 -0
  9. data/lib/docker_engine_api/internal/transport/base_client.rb +571 -0
  10. data/lib/docker_engine_api/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/docker_engine_api/internal/type/array_of.rb +168 -0
  12. data/lib/docker_engine_api/internal/type/base_model.rb +534 -0
  13. data/lib/docker_engine_api/internal/type/base_page.rb +55 -0
  14. data/lib/docker_engine_api/internal/type/boolean.rb +77 -0
  15. data/lib/docker_engine_api/internal/type/converter.rb +327 -0
  16. data/lib/docker_engine_api/internal/type/enum.rb +131 -0
  17. data/lib/docker_engine_api/internal/type/file_input.rb +111 -0
  18. data/lib/docker_engine_api/internal/type/hash_of.rb +188 -0
  19. data/lib/docker_engine_api/internal/type/request_parameters.rb +42 -0
  20. data/lib/docker_engine_api/internal/type/union.rb +245 -0
  21. data/lib/docker_engine_api/internal/type/unknown.rb +81 -0
  22. data/lib/docker_engine_api/internal/util.rb +920 -0
  23. data/lib/docker_engine_api/internal.rb +20 -0
  24. data/lib/docker_engine_api/models/auth_login_params.rb +32 -0
  25. data/lib/docker_engine_api/models/auth_response.rb +27 -0
  26. data/lib/docker_engine_api/models/config.rb +307 -0
  27. data/lib/docker_engine_api/models/config_create_params.rb +24 -0
  28. data/lib/docker_engine_api/models/config_create_response.rb +19 -0
  29. data/lib/docker_engine_api/models/config_delete_params.rb +14 -0
  30. data/lib/docker_engine_api/models/config_inspect_params.rb +14 -0
  31. data/lib/docker_engine_api/models/config_list_params.rb +33 -0
  32. data/lib/docker_engine_api/models/config_list_response.rb +8 -0
  33. data/lib/docker_engine_api/models/config_update_params.rb +26 -0
  34. data/lib/docker_engine_api/models/connect_request.rb +198 -0
  35. data/lib/docker_engine_api/models/container.rb +2515 -0
  36. data/lib/docker_engine_api/models/container_archive_params.rb +22 -0
  37. data/lib/docker_engine_api/models/container_attach_params.rb +73 -0
  38. data/lib/docker_engine_api/models/container_changes_params.rb +14 -0
  39. data/lib/docker_engine_api/models/container_changes_response.rb +9 -0
  40. data/lib/docker_engine_api/models/container_create_params.rb +1720 -0
  41. data/lib/docker_engine_api/models/container_delete_params.rb +38 -0
  42. data/lib/docker_engine_api/models/container_exec_params.rb +111 -0
  43. data/lib/docker_engine_api/models/container_exec_response.rb +19 -0
  44. data/lib/docker_engine_api/models/container_export_params.rb +14 -0
  45. data/lib/docker_engine_api/models/container_inspect_params.rb +22 -0
  46. data/lib/docker_engine_api/models/container_kill_params.rb +25 -0
  47. data/lib/docker_engine_api/models/container_list_params.rb +70 -0
  48. data/lib/docker_engine_api/models/container_list_response.rb +8 -0
  49. data/lib/docker_engine_api/models/container_logs_params.rb +74 -0
  50. data/lib/docker_engine_api/models/container_pause_params.rb +14 -0
  51. data/lib/docker_engine_api/models/container_prune_params.rb +35 -0
  52. data/lib/docker_engine_api/models/container_prune_response.rb +27 -0
  53. data/lib/docker_engine_api/models/container_rename_params.rb +22 -0
  54. data/lib/docker_engine_api/models/container_resize_params.rb +30 -0
  55. data/lib/docker_engine_api/models/container_restart_params.rb +33 -0
  56. data/lib/docker_engine_api/models/container_start_params.rb +27 -0
  57. data/lib/docker_engine_api/models/container_stats_params.rb +35 -0
  58. data/lib/docker_engine_api/models/container_stop_params.rb +33 -0
  59. data/lib/docker_engine_api/models/container_top_params.rb +22 -0
  60. data/lib/docker_engine_api/models/container_unpause_params.rb +14 -0
  61. data/lib/docker_engine_api/models/container_update_params.rb +606 -0
  62. data/lib/docker_engine_api/models/container_wait_params.rb +41 -0
  63. data/lib/docker_engine_api/models/create_request.rb +348 -0
  64. data/lib/docker_engine_api/models/create_response.rb +27 -0
  65. data/lib/docker_engine_api/models/delete_item.rb +24 -0
  66. data/lib/docker_engine_api/models/disconnect_request.rb +27 -0
  67. data/lib/docker_engine_api/models/distribution_inspect_params.rb +14 -0
  68. data/lib/docker_engine_api/models/error.rb +18 -0
  69. data/lib/docker_engine_api/models/exec_inspect_params.rb +14 -0
  70. data/lib/docker_engine_api/models/exec_inspect_response.rb +87 -0
  71. data/lib/docker_engine_api/models/exec_resize_params.rb +30 -0
  72. data/lib/docker_engine_api/models/exec_start_params.rb +41 -0
  73. data/lib/docker_engine_api/models/filesystem_change.rb +55 -0
  74. data/lib/docker_engine_api/models/history_item.rb +47 -0
  75. data/lib/docker_engine_api/models/image.rb +1395 -0
  76. data/lib/docker_engine_api/models/image_build_params.rb +283 -0
  77. data/lib/docker_engine_api/models/image_build_prune_params.rb +71 -0
  78. data/lib/docker_engine_api/models/image_build_prune_response.rb +24 -0
  79. data/lib/docker_engine_api/models/image_commit_params.rb +70 -0
  80. data/lib/docker_engine_api/models/image_commit_response.rb +19 -0
  81. data/lib/docker_engine_api/models/image_delete_params.rb +43 -0
  82. data/lib/docker_engine_api/models/image_delete_response.rb +8 -0
  83. data/lib/docker_engine_api/models/image_get_all_params.rb +37 -0
  84. data/lib/docker_engine_api/models/image_get_params.rb +29 -0
  85. data/lib/docker_engine_api/models/image_history_params.rb +34 -0
  86. data/lib/docker_engine_api/models/image_history_response.rb +8 -0
  87. data/lib/docker_engine_api/models/image_inspect_params.rb +22 -0
  88. data/lib/docker_engine_api/models/image_list_params.rb +68 -0
  89. data/lib/docker_engine_api/models/image_list_response.rb +8 -0
  90. data/lib/docker_engine_api/models/image_load_params.rb +44 -0
  91. data/lib/docker_engine_api/models/image_prune_params.rb +35 -0
  92. data/lib/docker_engine_api/models/image_prune_response.rb +27 -0
  93. data/lib/docker_engine_api/models/image_pull_params.rb +115 -0
  94. data/lib/docker_engine_api/models/image_push_params.rb +49 -0
  95. data/lib/docker_engine_api/models/image_search_params.rb +45 -0
  96. data/lib/docker_engine_api/models/image_search_response.rb +55 -0
  97. data/lib/docker_engine_api/models/image_tag_params.rb +30 -0
  98. data/lib/docker_engine_api/models/info.rb +1488 -0
  99. data/lib/docker_engine_api/models/inspect.rb +221 -0
  100. data/lib/docker_engine_api/models/inspect_response.rb +39 -0
  101. data/lib/docker_engine_api/models/list_response.rb +32 -0
  102. data/lib/docker_engine_api/models/network.rb +253 -0
  103. data/lib/docker_engine_api/models/network_connect_params.rb +14 -0
  104. data/lib/docker_engine_api/models/network_create_params.rb +210 -0
  105. data/lib/docker_engine_api/models/network_delete_params.rb +14 -0
  106. data/lib/docker_engine_api/models/network_disconnect_params.rb +14 -0
  107. data/lib/docker_engine_api/models/network_inspect_params.rb +30 -0
  108. data/lib/docker_engine_api/models/network_inspect_response.rb +131 -0
  109. data/lib/docker_engine_api/models/network_list_params.rb +40 -0
  110. data/lib/docker_engine_api/models/network_list_response.rb +8 -0
  111. data/lib/docker_engine_api/models/network_prune_params.rb +35 -0
  112. data/lib/docker_engine_api/models/network_prune_response.rb +17 -0
  113. data/lib/docker_engine_api/models/node.rb +459 -0
  114. data/lib/docker_engine_api/models/node_delete_params.rb +22 -0
  115. data/lib/docker_engine_api/models/node_inspect_params.rb +14 -0
  116. data/lib/docker_engine_api/models/node_list_params.rb +34 -0
  117. data/lib/docker_engine_api/models/node_list_response.rb +8 -0
  118. data/lib/docker_engine_api/models/node_update_params.rb +26 -0
  119. data/lib/docker_engine_api/models/plugin.rb +532 -0
  120. data/lib/docker_engine_api/models/plugin_create_params.rb +33 -0
  121. data/lib/docker_engine_api/models/plugin_delete_params.rb +26 -0
  122. data/lib/docker_engine_api/models/plugin_disable_params.rb +25 -0
  123. data/lib/docker_engine_api/models/plugin_enable_params.rb +22 -0
  124. data/lib/docker_engine_api/models/plugin_inspect_params.rb +14 -0
  125. data/lib/docker_engine_api/models/plugin_list_params.rb +31 -0
  126. data/lib/docker_engine_api/models/plugin_list_response.rb +8 -0
  127. data/lib/docker_engine_api/models/plugin_privileges_params.rb +26 -0
  128. data/lib/docker_engine_api/models/plugin_privileges_response.rb +8 -0
  129. data/lib/docker_engine_api/models/plugin_pull_params.rb +51 -0
  130. data/lib/docker_engine_api/models/plugin_push_params.rb +14 -0
  131. data/lib/docker_engine_api/models/plugin_set_params.rb +20 -0
  132. data/lib/docker_engine_api/models/plugin_upgrade_params.rb +41 -0
  133. data/lib/docker_engine_api/models/privilege.rb +29 -0
  134. data/lib/docker_engine_api/models/secret.rb +77 -0
  135. data/lib/docker_engine_api/models/secret_create_params.rb +24 -0
  136. data/lib/docker_engine_api/models/secret_create_response.rb +19 -0
  137. data/lib/docker_engine_api/models/secret_delete_params.rb +14 -0
  138. data/lib/docker_engine_api/models/secret_inspect_params.rb +14 -0
  139. data/lib/docker_engine_api/models/secret_list_params.rb +33 -0
  140. data/lib/docker_engine_api/models/secret_list_response.rb +8 -0
  141. data/lib/docker_engine_api/models/secret_update_params.rb +26 -0
  142. data/lib/docker_engine_api/models/service.rb +524 -0
  143. data/lib/docker_engine_api/models/service_create_params.rb +34 -0
  144. data/lib/docker_engine_api/models/service_delete_params.rb +14 -0
  145. data/lib/docker_engine_api/models/service_inspect_params.rb +22 -0
  146. data/lib/docker_engine_api/models/service_list_params.rb +41 -0
  147. data/lib/docker_engine_api/models/service_list_response.rb +8 -0
  148. data/lib/docker_engine_api/models/service_logs_params.rb +74 -0
  149. data/lib/docker_engine_api/models/service_update_params.rb +78 -0
  150. data/lib/docker_engine_api/models/spec.rb +510 -0
  151. data/lib/docker_engine_api/models/stats_response.rb +950 -0
  152. data/lib/docker_engine_api/models/summary.rb +767 -0
  153. data/lib/docker_engine_api/models/swarm.rb +198 -0
  154. data/lib/docker_engine_api/models/swarm_init_params.rb +101 -0
  155. data/lib/docker_engine_api/models/swarm_init_response.rb +7 -0
  156. data/lib/docker_engine_api/models/swarm_inspect_params.rb +14 -0
  157. data/lib/docker_engine_api/models/swarm_join_params.rb +70 -0
  158. data/lib/docker_engine_api/models/swarm_leave_params.rb +26 -0
  159. data/lib/docker_engine_api/models/swarm_unlock_key_params.rb +14 -0
  160. data/lib/docker_engine_api/models/swarm_unlock_key_response.rb +17 -0
  161. data/lib/docker_engine_api/models/swarm_unlock_params.rb +22 -0
  162. data/lib/docker_engine_api/models/swarm_update_params.rb +50 -0
  163. data/lib/docker_engine_api/models/system_data_usage_params.rb +46 -0
  164. data/lib/docker_engine_api/models/system_data_usage_response.rb +260 -0
  165. data/lib/docker_engine_api/models/system_events_params.rb +58 -0
  166. data/lib/docker_engine_api/models/system_events_response.rb +126 -0
  167. data/lib/docker_engine_api/models/system_info_params.rb +14 -0
  168. data/lib/docker_engine_api/models/system_ping_params.rb +14 -0
  169. data/lib/docker_engine_api/models/system_ping_response.rb +7 -0
  170. data/lib/docker_engine_api/models/system_version_params.rb +14 -0
  171. data/lib/docker_engine_api/models/task.rb +471 -0
  172. data/lib/docker_engine_api/models/task_inspect_params.rb +14 -0
  173. data/lib/docker_engine_api/models/task_list_params.rb +35 -0
  174. data/lib/docker_engine_api/models/task_list_response.rb +8 -0
  175. data/lib/docker_engine_api/models/task_logs_params.rb +74 -0
  176. data/lib/docker_engine_api/models/top_response.rb +33 -0
  177. data/lib/docker_engine_api/models/update_response.rb +19 -0
  178. data/lib/docker_engine_api/models/version.rb +164 -0
  179. data/lib/docker_engine_api/models/volume.rb +651 -0
  180. data/lib/docker_engine_api/models/volume_create_params.rb +14 -0
  181. data/lib/docker_engine_api/models/volume_delete_params.rb +22 -0
  182. data/lib/docker_engine_api/models/volume_inspect_params.rb +14 -0
  183. data/lib/docker_engine_api/models/volume_list_params.rb +34 -0
  184. data/lib/docker_engine_api/models/volume_prune_params.rb +33 -0
  185. data/lib/docker_engine_api/models/volume_prune_response.rb +25 -0
  186. data/lib/docker_engine_api/models/volume_update_params.rb +325 -0
  187. data/lib/docker_engine_api/models/wait_response.rb +41 -0
  188. data/lib/docker_engine_api/models.rb +312 -0
  189. data/lib/docker_engine_api/request_options.rb +78 -0
  190. data/lib/docker_engine_api/resources/auth.rb +38 -0
  191. data/lib/docker_engine_api/resources/configs.rb +130 -0
  192. data/lib/docker_engine_api/resources/containers.rb +854 -0
  193. data/lib/docker_engine_api/resources/distribution.rb +34 -0
  194. data/lib/docker_engine_api/resources/exec.rb +91 -0
  195. data/lib/docker_engine_api/resources/images.rb +676 -0
  196. data/lib/docker_engine_api/resources/networks.rb +218 -0
  197. data/lib/docker_engine_api/resources/nodes.rb +113 -0
  198. data/lib/docker_engine_api/resources/plugins.rb +317 -0
  199. data/lib/docker_engine_api/resources/secrets.rb +130 -0
  200. data/lib/docker_engine_api/resources/services.rb +195 -0
  201. data/lib/docker_engine_api/resources/swarm.rb +183 -0
  202. data/lib/docker_engine_api/resources/system.rb +155 -0
  203. data/lib/docker_engine_api/resources/tasks.rb +103 -0
  204. data/lib/docker_engine_api/resources/volumes.rb +161 -0
  205. data/lib/docker_engine_api/version.rb +5 -0
  206. data/lib/docker_engine_api.rb +234 -0
  207. data/manifest.yaml +17 -0
  208. data/rbi/docker_engine_api/client.rbi +80 -0
  209. data/rbi/docker_engine_api/errors.rbi +205 -0
  210. data/rbi/docker_engine_api/file_part.rbi +37 -0
  211. data/rbi/docker_engine_api/internal/transport/base_client.rbi +304 -0
  212. data/rbi/docker_engine_api/internal/transport/pooled_net_requester.rbi +84 -0
  213. data/rbi/docker_engine_api/internal/type/array_of.rbi +108 -0
  214. data/rbi/docker_engine_api/internal/type/base_model.rbi +314 -0
  215. data/rbi/docker_engine_api/internal/type/base_page.rbi +43 -0
  216. data/rbi/docker_engine_api/internal/type/boolean.rbi +58 -0
  217. data/rbi/docker_engine_api/internal/type/converter.rbi +225 -0
  218. data/rbi/docker_engine_api/internal/type/enum.rbi +82 -0
  219. data/rbi/docker_engine_api/internal/type/file_input.rbi +59 -0
  220. data/rbi/docker_engine_api/internal/type/hash_of.rbi +108 -0
  221. data/rbi/docker_engine_api/internal/type/request_parameters.rbi +31 -0
  222. data/rbi/docker_engine_api/internal/type/union.rbi +134 -0
  223. data/rbi/docker_engine_api/internal/type/unknown.rbi +58 -0
  224. data/rbi/docker_engine_api/internal/util.rbi +487 -0
  225. data/rbi/docker_engine_api/internal.rbi +18 -0
  226. data/rbi/docker_engine_api/models/auth_login_params.rbi +65 -0
  227. data/rbi/docker_engine_api/models/auth_response.rbi +42 -0
  228. data/rbi/docker_engine_api/models/config.rbi +442 -0
  229. data/rbi/docker_engine_api/models/config_create_params.rbi +64 -0
  230. data/rbi/docker_engine_api/models/config_create_response.rbi +31 -0
  231. data/rbi/docker_engine_api/models/config_delete_params.rbi +32 -0
  232. data/rbi/docker_engine_api/models/config_inspect_params.rbi +32 -0
  233. data/rbi/docker_engine_api/models/config_list_params.rbi +62 -0
  234. data/rbi/docker_engine_api/models/config_list_response.rbi +11 -0
  235. data/rbi/docker_engine_api/models/config_update_params.rbi +45 -0
  236. data/rbi/docker_engine_api/models/connect_request.rbi +343 -0
  237. data/rbi/docker_engine_api/models/container.rbi +4645 -0
  238. data/rbi/docker_engine_api/models/container_archive_params.rbi +43 -0
  239. data/rbi/docker_engine_api/models/container_attach_params.rbi +120 -0
  240. data/rbi/docker_engine_api/models/container_changes_params.rbi +32 -0
  241. data/rbi/docker_engine_api/models/container_changes_response.rbi +13 -0
  242. data/rbi/docker_engine_api/models/container_create_params.rbi +3301 -0
  243. data/rbi/docker_engine_api/models/container_delete_params.rbi +71 -0
  244. data/rbi/docker_engine_api/models/container_exec_params.rbi +162 -0
  245. data/rbi/docker_engine_api/models/container_exec_response.rbi +31 -0
  246. data/rbi/docker_engine_api/models/container_export_params.rbi +32 -0
  247. data/rbi/docker_engine_api/models/container_inspect_params.rbi +46 -0
  248. data/rbi/docker_engine_api/models/container_kill_params.rbi +46 -0
  249. data/rbi/docker_engine_api/models/container_list_params.rbi +124 -0
  250. data/rbi/docker_engine_api/models/container_list_response.rbi +11 -0
  251. data/rbi/docker_engine_api/models/container_logs_params.rbi +117 -0
  252. data/rbi/docker_engine_api/models/container_pause_params.rbi +32 -0
  253. data/rbi/docker_engine_api/models/container_prune_params.rbi +66 -0
  254. data/rbi/docker_engine_api/models/container_prune_response.rbi +51 -0
  255. data/rbi/docker_engine_api/models/container_rename_params.rbi +43 -0
  256. data/rbi/docker_engine_api/models/container_resize_params.rbi +54 -0
  257. data/rbi/docker_engine_api/models/container_restart_params.rbi +60 -0
  258. data/rbi/docker_engine_api/models/container_start_params.rbi +53 -0
  259. data/rbi/docker_engine_api/models/container_stats_params.rbi +64 -0
  260. data/rbi/docker_engine_api/models/container_stop_params.rbi +60 -0
  261. data/rbi/docker_engine_api/models/container_top_params.rbi +46 -0
  262. data/rbi/docker_engine_api/models/container_unpause_params.rbi +32 -0
  263. data/rbi/docker_engine_api/models/container_update_params.rbi +1121 -0
  264. data/rbi/docker_engine_api/models/container_wait_params.rbi +101 -0
  265. data/rbi/docker_engine_api/models/create_request.rbi +708 -0
  266. data/rbi/docker_engine_api/models/create_response.rbi +39 -0
  267. data/rbi/docker_engine_api/models/delete_item.rbi +41 -0
  268. data/rbi/docker_engine_api/models/disconnect_request.rbi +43 -0
  269. data/rbi/docker_engine_api/models/distribution_inspect_params.rbi +32 -0
  270. data/rbi/docker_engine_api/models/error.rbi +28 -0
  271. data/rbi/docker_engine_api/models/exec_inspect_params.rbi +32 -0
  272. data/rbi/docker_engine_api/models/exec_inspect_response.rbi +135 -0
  273. data/rbi/docker_engine_api/models/exec_resize_params.rbi +54 -0
  274. data/rbi/docker_engine_api/models/exec_start_params.rbi +68 -0
  275. data/rbi/docker_engine_api/models/filesystem_change.rbi +93 -0
  276. data/rbi/docker_engine_api/models/history_item.rbi +62 -0
  277. data/rbi/docker_engine_api/models/image.rbi +2353 -0
  278. data/rbi/docker_engine_api/models/image_build_params.rbi +434 -0
  279. data/rbi/docker_engine_api/models/image_build_prune_params.rbi +121 -0
  280. data/rbi/docker_engine_api/models/image_build_prune_response.rbi +49 -0
  281. data/rbi/docker_engine_api/models/image_commit_params.rbi +115 -0
  282. data/rbi/docker_engine_api/models/image_commit_response.rbi +31 -0
  283. data/rbi/docker_engine_api/models/image_delete_params.rbi +75 -0
  284. data/rbi/docker_engine_api/models/image_delete_response.rbi +11 -0
  285. data/rbi/docker_engine_api/models/image_get_all_params.rbi +68 -0
  286. data/rbi/docker_engine_api/models/image_get_params.rbi +57 -0
  287. data/rbi/docker_engine_api/models/image_history_params.rbi +64 -0
  288. data/rbi/docker_engine_api/models/image_history_response.rbi +11 -0
  289. data/rbi/docker_engine_api/models/image_inspect_params.rbi +49 -0
  290. data/rbi/docker_engine_api/models/image_list_params.rbi +115 -0
  291. data/rbi/docker_engine_api/models/image_list_response.rbi +11 -0
  292. data/rbi/docker_engine_api/models/image_load_params.rbi +74 -0
  293. data/rbi/docker_engine_api/models/image_prune_params.rbi +66 -0
  294. data/rbi/docker_engine_api/models/image_prune_response.rbi +58 -0
  295. data/rbi/docker_engine_api/models/image_pull_params.rbi +189 -0
  296. data/rbi/docker_engine_api/models/image_push_params.rbi +84 -0
  297. data/rbi/docker_engine_api/models/image_search_params.rbi +76 -0
  298. data/rbi/docker_engine_api/models/image_search_response.rbi +95 -0
  299. data/rbi/docker_engine_api/models/image_tag_params.rbi +60 -0
  300. data/rbi/docker_engine_api/models/info.rbi +2564 -0
  301. data/rbi/docker_engine_api/models/inspect.rbi +359 -0
  302. data/rbi/docker_engine_api/models/inspect_response.rbi +77 -0
  303. data/rbi/docker_engine_api/models/list_response.rbi +55 -0
  304. data/rbi/docker_engine_api/models/network.rbi +427 -0
  305. data/rbi/docker_engine_api/models/network_connect_params.rbi +32 -0
  306. data/rbi/docker_engine_api/models/network_create_params.rbi +373 -0
  307. data/rbi/docker_engine_api/models/network_delete_params.rbi +32 -0
  308. data/rbi/docker_engine_api/models/network_disconnect_params.rbi +32 -0
  309. data/rbi/docker_engine_api/models/network_inspect_params.rbi +60 -0
  310. data/rbi/docker_engine_api/models/network_inspect_response.rbi +336 -0
  311. data/rbi/docker_engine_api/models/network_list_params.rbi +76 -0
  312. data/rbi/docker_engine_api/models/network_list_response.rbi +11 -0
  313. data/rbi/docker_engine_api/models/network_prune_params.rbi +66 -0
  314. data/rbi/docker_engine_api/models/network_prune_response.rbi +35 -0
  315. data/rbi/docker_engine_api/models/node.rbi +909 -0
  316. data/rbi/docker_engine_api/models/node_delete_params.rbi +49 -0
  317. data/rbi/docker_engine_api/models/node_inspect_params.rbi +32 -0
  318. data/rbi/docker_engine_api/models/node_list_params.rbi +64 -0
  319. data/rbi/docker_engine_api/models/node_list_response.rbi +11 -0
  320. data/rbi/docker_engine_api/models/node_update_params.rbi +45 -0
  321. data/rbi/docker_engine_api/models/plugin.rbi +835 -0
  322. data/rbi/docker_engine_api/models/plugin_create_params.rbi +54 -0
  323. data/rbi/docker_engine_api/models/plugin_delete_params.rbi +51 -0
  324. data/rbi/docker_engine_api/models/plugin_disable_params.rbi +49 -0
  325. data/rbi/docker_engine_api/models/plugin_enable_params.rbi +46 -0
  326. data/rbi/docker_engine_api/models/plugin_inspect_params.rbi +32 -0
  327. data/rbi/docker_engine_api/models/plugin_list_params.rbi +58 -0
  328. data/rbi/docker_engine_api/models/plugin_list_response.rbi +11 -0
  329. data/rbi/docker_engine_api/models/plugin_privileges_params.rbi +45 -0
  330. data/rbi/docker_engine_api/models/plugin_privileges_response.rbi +11 -0
  331. data/rbi/docker_engine_api/models/plugin_pull_params.rbi +83 -0
  332. data/rbi/docker_engine_api/models/plugin_push_params.rbi +32 -0
  333. data/rbi/docker_engine_api/models/plugin_set_params.rbi +44 -0
  334. data/rbi/docker_engine_api/models/plugin_upgrade_params.rbi +68 -0
  335. data/rbi/docker_engine_api/models/privilege.rbi +49 -0
  336. data/rbi/docker_engine_api/models/secret.rbi +125 -0
  337. data/rbi/docker_engine_api/models/secret_create_params.rbi +64 -0
  338. data/rbi/docker_engine_api/models/secret_create_response.rbi +31 -0
  339. data/rbi/docker_engine_api/models/secret_delete_params.rbi +32 -0
  340. data/rbi/docker_engine_api/models/secret_inspect_params.rbi +32 -0
  341. data/rbi/docker_engine_api/models/secret_list_params.rbi +62 -0
  342. data/rbi/docker_engine_api/models/secret_list_response.rbi +11 -0
  343. data/rbi/docker_engine_api/models/secret_update_params.rbi +45 -0
  344. data/rbi/docker_engine_api/models/service.rbi +1093 -0
  345. data/rbi/docker_engine_api/models/service_create_params.rbi +79 -0
  346. data/rbi/docker_engine_api/models/service_delete_params.rbi +32 -0
  347. data/rbi/docker_engine_api/models/service_inspect_params.rbi +49 -0
  348. data/rbi/docker_engine_api/models/service_list_params.rbi +76 -0
  349. data/rbi/docker_engine_api/models/service_list_response.rbi +11 -0
  350. data/rbi/docker_engine_api/models/service_logs_params.rbi +117 -0
  351. data/rbi/docker_engine_api/models/service_update_params.rbi +168 -0
  352. data/rbi/docker_engine_api/models/spec.rbi +1030 -0
  353. data/rbi/docker_engine_api/models/stats_response.rbi +1772 -0
  354. data/rbi/docker_engine_api/models/summary.rbi +1332 -0
  355. data/rbi/docker_engine_api/models/swarm.rbi +315 -0
  356. data/rbi/docker_engine_api/models/swarm_init_params.rbi +162 -0
  357. data/rbi/docker_engine_api/models/swarm_init_response.rbi +7 -0
  358. data/rbi/docker_engine_api/models/swarm_inspect_params.rbi +32 -0
  359. data/rbi/docker_engine_api/models/swarm_join_params.rbi +119 -0
  360. data/rbi/docker_engine_api/models/swarm_leave_params.rbi +51 -0
  361. data/rbi/docker_engine_api/models/swarm_unlock_key_params.rbi +32 -0
  362. data/rbi/docker_engine_api/models/swarm_unlock_key_response.rbi +33 -0
  363. data/rbi/docker_engine_api/models/swarm_unlock_params.rbi +49 -0
  364. data/rbi/docker_engine_api/models/swarm_update_params.rbi +81 -0
  365. data/rbi/docker_engine_api/models/system_data_usage_params.rbi +111 -0
  366. data/rbi/docker_engine_api/models/system_data_usage_response.rbi +460 -0
  367. data/rbi/docker_engine_api/models/system_events_params.rbi +105 -0
  368. data/rbi/docker_engine_api/models/system_events_response.rbi +286 -0
  369. data/rbi/docker_engine_api/models/system_info_params.rbi +32 -0
  370. data/rbi/docker_engine_api/models/system_ping_params.rbi +32 -0
  371. data/rbi/docker_engine_api/models/system_ping_response.rbi +7 -0
  372. data/rbi/docker_engine_api/models/system_version_params.rbi +32 -0
  373. data/rbi/docker_engine_api/models/task.rbi +921 -0
  374. data/rbi/docker_engine_api/models/task_inspect_params.rbi +32 -0
  375. data/rbi/docker_engine_api/models/task_list_params.rbi +66 -0
  376. data/rbi/docker_engine_api/models/task_list_response.rbi +11 -0
  377. data/rbi/docker_engine_api/models/task_logs_params.rbi +117 -0
  378. data/rbi/docker_engine_api/models/top_response.rbi +54 -0
  379. data/rbi/docker_engine_api/models/update_response.rbi +34 -0
  380. data/rbi/docker_engine_api/models/version.rbi +256 -0
  381. data/rbi/docker_engine_api/models/volume.rbi +1230 -0
  382. data/rbi/docker_engine_api/models/volume_create_params.rbi +32 -0
  383. data/rbi/docker_engine_api/models/volume_delete_params.rbi +49 -0
  384. data/rbi/docker_engine_api/models/volume_inspect_params.rbi +32 -0
  385. data/rbi/docker_engine_api/models/volume_list_params.rbi +64 -0
  386. data/rbi/docker_engine_api/models/volume_prune_params.rbi +62 -0
  387. data/rbi/docker_engine_api/models/volume_prune_response.rbi +51 -0
  388. data/rbi/docker_engine_api/models/volume_update_params.rbi +668 -0
  389. data/rbi/docker_engine_api/models/wait_response.rbi +78 -0
  390. data/rbi/docker_engine_api/models.rbi +271 -0
  391. data/rbi/docker_engine_api/request_options.rbi +64 -0
  392. data/rbi/docker_engine_api/resources/auth.rbi +30 -0
  393. data/rbi/docker_engine_api/resources/configs.rbi +93 -0
  394. data/rbi/docker_engine_api/resources/containers.rbi +843 -0
  395. data/rbi/docker_engine_api/resources/distribution.rbi +26 -0
  396. data/rbi/docker_engine_api/resources/exec.rbi +72 -0
  397. data/rbi/docker_engine_api/resources/images.rbi +739 -0
  398. data/rbi/docker_engine_api/resources/networks.rbi +200 -0
  399. data/rbi/docker_engine_api/resources/nodes.rbi +87 -0
  400. data/rbi/docker_engine_api/resources/plugins.rbi +228 -0
  401. data/rbi/docker_engine_api/resources/secrets.rbi +93 -0
  402. data/rbi/docker_engine_api/resources/services.rbi +166 -0
  403. data/rbi/docker_engine_api/resources/swarm.rbi +178 -0
  404. data/rbi/docker_engine_api/resources/system.rbi +123 -0
  405. data/rbi/docker_engine_api/resources/tasks.rbi +90 -0
  406. data/rbi/docker_engine_api/resources/volumes.rbi +123 -0
  407. data/rbi/docker_engine_api/version.rbi +5 -0
  408. data/sig/docker_engine_api/client.rbs +49 -0
  409. data/sig/docker_engine_api/errors.rbs +117 -0
  410. data/sig/docker_engine_api/file_part.rbs +21 -0
  411. data/sig/docker_engine_api/internal/transport/base_client.rbs +131 -0
  412. data/sig/docker_engine_api/internal/transport/pooled_net_requester.rbs +48 -0
  413. data/sig/docker_engine_api/internal/type/array_of.rbs +48 -0
  414. data/sig/docker_engine_api/internal/type/base_model.rbs +104 -0
  415. data/sig/docker_engine_api/internal/type/base_page.rbs +24 -0
  416. data/sig/docker_engine_api/internal/type/boolean.rbs +26 -0
  417. data/sig/docker_engine_api/internal/type/converter.rbs +79 -0
  418. data/sig/docker_engine_api/internal/type/enum.rbs +32 -0
  419. data/sig/docker_engine_api/internal/type/file_input.rbs +25 -0
  420. data/sig/docker_engine_api/internal/type/hash_of.rbs +48 -0
  421. data/sig/docker_engine_api/internal/type/request_parameters.rbs +20 -0
  422. data/sig/docker_engine_api/internal/type/union.rbs +52 -0
  423. data/sig/docker_engine_api/internal/type/unknown.rbs +26 -0
  424. data/sig/docker_engine_api/internal/util.rbs +185 -0
  425. data/sig/docker_engine_api/internal.rbs +10 -0
  426. data/sig/docker_engine_api/models/auth_login_params.rbs +38 -0
  427. data/sig/docker_engine_api/models/auth_response.rbs +17 -0
  428. data/sig/docker_engine_api/models/config.rbs +225 -0
  429. data/sig/docker_engine_api/models/config_create_params.rbs +36 -0
  430. data/sig/docker_engine_api/models/config_create_response.rbs +13 -0
  431. data/sig/docker_engine_api/models/config_delete_params.rbs +15 -0
  432. data/sig/docker_engine_api/models/config_inspect_params.rbs +15 -0
  433. data/sig/docker_engine_api/models/config_list_params.rbs +25 -0
  434. data/sig/docker_engine_api/models/config_list_response.rbs +7 -0
  435. data/sig/docker_engine_api/models/config_update_params.rbs +23 -0
  436. data/sig/docker_engine_api/models/connect_request.rbs +175 -0
  437. data/sig/docker_engine_api/models/container.rbs +1973 -0
  438. data/sig/docker_engine_api/models/container_archive_params.rbs +23 -0
  439. data/sig/docker_engine_api/models/container_attach_params.rbs +63 -0
  440. data/sig/docker_engine_api/models/container_changes_params.rbs +15 -0
  441. data/sig/docker_engine_api/models/container_changes_response.rbs +7 -0
  442. data/sig/docker_engine_api/models/container_create_params.rbs +1352 -0
  443. data/sig/docker_engine_api/models/container_delete_params.rbs +38 -0
  444. data/sig/docker_engine_api/models/container_exec_params.rbs +96 -0
  445. data/sig/docker_engine_api/models/container_exec_response.rbs +13 -0
  446. data/sig/docker_engine_api/models/container_export_params.rbs +15 -0
  447. data/sig/docker_engine_api/models/container_inspect_params.rbs +25 -0
  448. data/sig/docker_engine_api/models/container_kill_params.rbs +25 -0
  449. data/sig/docker_engine_api/models/container_list_params.rbs +44 -0
  450. data/sig/docker_engine_api/models/container_list_response.rbs +7 -0
  451. data/sig/docker_engine_api/models/container_logs_params.rbs +70 -0
  452. data/sig/docker_engine_api/models/container_pause_params.rbs +15 -0
  453. data/sig/docker_engine_api/models/container_prune_params.rbs +25 -0
  454. data/sig/docker_engine_api/models/container_prune_response.rbs +26 -0
  455. data/sig/docker_engine_api/models/container_rename_params.rbs +23 -0
  456. data/sig/docker_engine_api/models/container_resize_params.rbs +28 -0
  457. data/sig/docker_engine_api/models/container_restart_params.rbs +32 -0
  458. data/sig/docker_engine_api/models/container_start_params.rbs +26 -0
  459. data/sig/docker_engine_api/models/container_stats_params.rbs +32 -0
  460. data/sig/docker_engine_api/models/container_stop_params.rbs +32 -0
  461. data/sig/docker_engine_api/models/container_top_params.rbs +25 -0
  462. data/sig/docker_engine_api/models/container_unpause_params.rbs +15 -0
  463. data/sig/docker_engine_api/models/container_update_params.rbs +476 -0
  464. data/sig/docker_engine_api/models/container_wait_params.rbs +40 -0
  465. data/sig/docker_engine_api/models/create_request.rbs +255 -0
  466. data/sig/docker_engine_api/models/create_response.rbs +15 -0
  467. data/sig/docker_engine_api/models/delete_item.rbs +19 -0
  468. data/sig/docker_engine_api/models/disconnect_request.rbs +17 -0
  469. data/sig/docker_engine_api/models/distribution_inspect_params.rbs +15 -0
  470. data/sig/docker_engine_api/models/error.rbs +13 -0
  471. data/sig/docker_engine_api/models/exec_inspect_params.rbs +15 -0
  472. data/sig/docker_engine_api/models/exec_inspect_response.rbs +94 -0
  473. data/sig/docker_engine_api/models/exec_resize_params.rbs +28 -0
  474. data/sig/docker_engine_api/models/exec_start_params.rbs +36 -0
  475. data/sig/docker_engine_api/models/filesystem_change.rbs +34 -0
  476. data/sig/docker_engine_api/models/history_item.rbs +45 -0
  477. data/sig/docker_engine_api/models/image.rbs +1042 -0
  478. data/sig/docker_engine_api/models/image_build_params.rbs +221 -0
  479. data/sig/docker_engine_api/models/image_build_prune_params.rbs +56 -0
  480. data/sig/docker_engine_api/models/image_build_prune_response.rbs +26 -0
  481. data/sig/docker_engine_api/models/image_commit_params.rbs +70 -0
  482. data/sig/docker_engine_api/models/image_commit_response.rbs +13 -0
  483. data/sig/docker_engine_api/models/image_delete_params.rbs +38 -0
  484. data/sig/docker_engine_api/models/image_delete_response.rbs +7 -0
  485. data/sig/docker_engine_api/models/image_get_all_params.rbs +32 -0
  486. data/sig/docker_engine_api/models/image_get_params.rbs +26 -0
  487. data/sig/docker_engine_api/models/image_history_params.rbs +25 -0
  488. data/sig/docker_engine_api/models/image_history_response.rbs +7 -0
  489. data/sig/docker_engine_api/models/image_inspect_params.rbs +25 -0
  490. data/sig/docker_engine_api/models/image_list_params.rbs +56 -0
  491. data/sig/docker_engine_api/models/image_list_response.rbs +7 -0
  492. data/sig/docker_engine_api/models/image_load_params.rbs +40 -0
  493. data/sig/docker_engine_api/models/image_prune_params.rbs +25 -0
  494. data/sig/docker_engine_api/models/image_prune_response.rbs +31 -0
  495. data/sig/docker_engine_api/models/image_pull_params.rbs +84 -0
  496. data/sig/docker_engine_api/models/image_push_params.rbs +36 -0
  497. data/sig/docker_engine_api/models/image_search_params.rbs +36 -0
  498. data/sig/docker_engine_api/models/image_search_response.rbs +55 -0
  499. data/sig/docker_engine_api/models/image_tag_params.rbs +32 -0
  500. data/sig/docker_engine_api/models/info.rbs +1080 -0
  501. data/sig/docker_engine_api/models/inspect.rbs +177 -0
  502. data/sig/docker_engine_api/models/inspect_response.rbs +50 -0
  503. data/sig/docker_engine_api/models/list_response.rbs +28 -0
  504. data/sig/docker_engine_api/models/network.rbs +238 -0
  505. data/sig/docker_engine_api/models/network_connect_params.rbs +15 -0
  506. data/sig/docker_engine_api/models/network_create_params.rbs +203 -0
  507. data/sig/docker_engine_api/models/network_delete_params.rbs +15 -0
  508. data/sig/docker_engine_api/models/network_disconnect_params.rbs +15 -0
  509. data/sig/docker_engine_api/models/network_inspect_params.rbs +32 -0
  510. data/sig/docker_engine_api/models/network_inspect_response.rbs +149 -0
  511. data/sig/docker_engine_api/models/network_list_params.rbs +25 -0
  512. data/sig/docker_engine_api/models/network_list_response.rbs +7 -0
  513. data/sig/docker_engine_api/models/network_prune_params.rbs +25 -0
  514. data/sig/docker_engine_api/models/network_prune_response.rbs +15 -0
  515. data/sig/docker_engine_api/models/node.rbs +434 -0
  516. data/sig/docker_engine_api/models/node_delete_params.rbs +25 -0
  517. data/sig/docker_engine_api/models/node_inspect_params.rbs +15 -0
  518. data/sig/docker_engine_api/models/node_list_params.rbs +25 -0
  519. data/sig/docker_engine_api/models/node_list_response.rbs +7 -0
  520. data/sig/docker_engine_api/models/node_update_params.rbs +23 -0
  521. data/sig/docker_engine_api/models/plugin.rbs +509 -0
  522. data/sig/docker_engine_api/models/plugin_create_params.rbs +28 -0
  523. data/sig/docker_engine_api/models/plugin_delete_params.rbs +25 -0
  524. data/sig/docker_engine_api/models/plugin_disable_params.rbs +25 -0
  525. data/sig/docker_engine_api/models/plugin_enable_params.rbs +25 -0
  526. data/sig/docker_engine_api/models/plugin_inspect_params.rbs +15 -0
  527. data/sig/docker_engine_api/models/plugin_list_params.rbs +25 -0
  528. data/sig/docker_engine_api/models/plugin_list_response.rbs +7 -0
  529. data/sig/docker_engine_api/models/plugin_privileges_params.rbs +23 -0
  530. data/sig/docker_engine_api/models/plugin_privileges_response.rbs +7 -0
  531. data/sig/docker_engine_api/models/plugin_pull_params.rbs +49 -0
  532. data/sig/docker_engine_api/models/plugin_push_params.rbs +15 -0
  533. data/sig/docker_engine_api/models/plugin_set_params.rbs +26 -0
  534. data/sig/docker_engine_api/models/plugin_upgrade_params.rbs +42 -0
  535. data/sig/docker_engine_api/models/privilege.rbs +32 -0
  536. data/sig/docker_engine_api/models/secret.rbs +64 -0
  537. data/sig/docker_engine_api/models/secret_create_params.rbs +36 -0
  538. data/sig/docker_engine_api/models/secret_create_response.rbs +13 -0
  539. data/sig/docker_engine_api/models/secret_delete_params.rbs +15 -0
  540. data/sig/docker_engine_api/models/secret_inspect_params.rbs +15 -0
  541. data/sig/docker_engine_api/models/secret_list_params.rbs +25 -0
  542. data/sig/docker_engine_api/models/secret_list_response.rbs +7 -0
  543. data/sig/docker_engine_api/models/secret_update_params.rbs +23 -0
  544. data/sig/docker_engine_api/models/service.rbs +471 -0
  545. data/sig/docker_engine_api/models/service_create_params.rbs +41 -0
  546. data/sig/docker_engine_api/models/service_delete_params.rbs +15 -0
  547. data/sig/docker_engine_api/models/service_inspect_params.rbs +26 -0
  548. data/sig/docker_engine_api/models/service_list_params.rbs +32 -0
  549. data/sig/docker_engine_api/models/service_list_response.rbs +7 -0
  550. data/sig/docker_engine_api/models/service_logs_params.rbs +70 -0
  551. data/sig/docker_engine_api/models/service_update_params.rbs +73 -0
  552. data/sig/docker_engine_api/models/spec.rbs +467 -0
  553. data/sig/docker_engine_api/models/stats_response.rbs +730 -0
  554. data/sig/docker_engine_api/models/summary.rbs +634 -0
  555. data/sig/docker_engine_api/models/swarm.rbs +159 -0
  556. data/sig/docker_engine_api/models/swarm_init_params.rbs +77 -0
  557. data/sig/docker_engine_api/models/swarm_init_response.rbs +5 -0
  558. data/sig/docker_engine_api/models/swarm_inspect_params.rbs +15 -0
  559. data/sig/docker_engine_api/models/swarm_join_params.rbs +56 -0
  560. data/sig/docker_engine_api/models/swarm_leave_params.rbs +25 -0
  561. data/sig/docker_engine_api/models/swarm_unlock_key_params.rbs +15 -0
  562. data/sig/docker_engine_api/models/swarm_unlock_key_response.rbs +15 -0
  563. data/sig/docker_engine_api/models/swarm_unlock_params.rbs +26 -0
  564. data/sig/docker_engine_api/models/swarm_update_params.rbs +47 -0
  565. data/sig/docker_engine_api/models/system_data_usage_params.rbs +50 -0
  566. data/sig/docker_engine_api/models/system_data_usage_response.rbs +239 -0
  567. data/sig/docker_engine_api/models/system_events_params.rbs +38 -0
  568. data/sig/docker_engine_api/models/system_events_response.rbs +124 -0
  569. data/sig/docker_engine_api/models/system_info_params.rbs +15 -0
  570. data/sig/docker_engine_api/models/system_ping_params.rbs +15 -0
  571. data/sig/docker_engine_api/models/system_ping_response.rbs +5 -0
  572. data/sig/docker_engine_api/models/system_version_params.rbs +15 -0
  573. data/sig/docker_engine_api/models/task.rbs +469 -0
  574. data/sig/docker_engine_api/models/task_inspect_params.rbs +15 -0
  575. data/sig/docker_engine_api/models/task_list_params.rbs +25 -0
  576. data/sig/docker_engine_api/models/task_list_response.rbs +7 -0
  577. data/sig/docker_engine_api/models/task_logs_params.rbs +70 -0
  578. data/sig/docker_engine_api/models/top_response.rbs +26 -0
  579. data/sig/docker_engine_api/models/update_response.rbs +15 -0
  580. data/sig/docker_engine_api/models/version.rbs +127 -0
  581. data/sig/docker_engine_api/models/volume.rbs +478 -0
  582. data/sig/docker_engine_api/models/volume_create_params.rbs +15 -0
  583. data/sig/docker_engine_api/models/volume_delete_params.rbs +25 -0
  584. data/sig/docker_engine_api/models/volume_inspect_params.rbs +15 -0
  585. data/sig/docker_engine_api/models/volume_list_params.rbs +25 -0
  586. data/sig/docker_engine_api/models/volume_prune_params.rbs +25 -0
  587. data/sig/docker_engine_api/models/volume_prune_response.rbs +26 -0
  588. data/sig/docker_engine_api/models/volume_update_params.rbs +235 -0
  589. data/sig/docker_engine_api/models/wait_response.rbs +38 -0
  590. data/sig/docker_engine_api/models.rbs +269 -0
  591. data/sig/docker_engine_api/request_options.rbs +36 -0
  592. data/sig/docker_engine_api/resources/auth.rbs +14 -0
  593. data/sig/docker_engine_api/resources/configs.rbs +34 -0
  594. data/sig/docker_engine_api/resources/containers.rbs +200 -0
  595. data/sig/docker_engine_api/resources/distribution.rbs +12 -0
  596. data/sig/docker_engine_api/resources/exec.rbs +27 -0
  597. data/sig/docker_engine_api/resources/images.rbs +170 -0
  598. data/sig/docker_engine_api/resources/networks.rbs +60 -0
  599. data/sig/docker_engine_api/resources/nodes.rbs +30 -0
  600. data/sig/docker_engine_api/resources/plugins.rbs +73 -0
  601. data/sig/docker_engine_api/resources/secrets.rbs +34 -0
  602. data/sig/docker_engine_api/resources/services.rbs +52 -0
  603. data/sig/docker_engine_api/resources/swarm.rbs +55 -0
  604. data/sig/docker_engine_api/resources/system.rbs +30 -0
  605. data/sig/docker_engine_api/resources/tasks.rbs +29 -0
  606. data/sig/docker_engine_api/resources/volumes.rbs +40 -0
  607. data/sig/docker_engine_api/version.rbs +3 -0
  608. metadata +679 -0
@@ -0,0 +1,1720 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngineAPI
4
+ module Models
5
+ # @see DockerEngineAPI::Resources::Containers#create
6
+ class ContainerCreateParams < DockerEngineAPI::Internal::Type::BaseModel
7
+ extend DockerEngineAPI::Internal::Type::RequestParameters::Converter
8
+ include DockerEngineAPI::Internal::Type::RequestParameters
9
+
10
+ # @!attribute config
11
+ # Configuration for a container that is portable between hosts.
12
+ #
13
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config]
14
+ required :config, -> { DockerEngineAPI::ContainerCreateParams::Config }
15
+
16
+ # @!attribute name
17
+ # Assign the specified name to the container. Must match
18
+ # `/?[a-zA-Z0-9][a-zA-Z0-9_.-]+`.
19
+ #
20
+ # @return [String, nil]
21
+ optional :name, String
22
+
23
+ # @!attribute platform
24
+ # Platform in the format `os[/arch[/variant]]` used for image lookup.
25
+ #
26
+ # When specified, the daemon checks if the requested image is present in the local
27
+ # image cache with the given OS and Architecture, and otherwise returns a `404`
28
+ # status.
29
+ #
30
+ # If the option is not set, the host's native OS and Architecture are used to look
31
+ # up the image in the image cache. However, if no platform is passed and the given
32
+ # image does exist in the local image cache, but its OS or architecture does not
33
+ # match, the container is created with the available image, and a warning is added
34
+ # to the `Warnings` field in the response, for example;
35
+ #
36
+ # WARNING: The requested image's platform (linux/arm64/v8) does not
37
+ # match the detected host platform (linux/amd64) and no
38
+ # specific platform was requested
39
+ #
40
+ # @return [String, nil]
41
+ optional :platform, String
42
+
43
+ # @!method initialize(config:, name: nil, platform: nil, request_options: {})
44
+ # Some parameter documentations has been truncated, see
45
+ # {DockerEngineAPI::Models::ContainerCreateParams} for more details.
46
+ #
47
+ # @param config [DockerEngineAPI::Models::ContainerCreateParams::Config] Configuration for a container that is portable between hosts.
48
+ #
49
+ # @param name [String] Assign the specified name to the container. Must match
50
+ #
51
+ # @param platform [String] Platform in the format `os[/arch[/variant]]` used for image lookup.
52
+ #
53
+ # @param request_options [DockerEngineAPI::RequestOptions, Hash{Symbol=>Object}]
54
+
55
+ class Config < DockerEngineAPI::Models::Config
56
+ # @!attribute host_config
57
+ # Container configuration that depends on the host we are running on
58
+ #
59
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig, nil]
60
+ optional :host_config,
61
+ -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig },
62
+ api_name: :HostConfig
63
+
64
+ # @!attribute networking_config
65
+ # NetworkingConfig represents the container's networking configuration for each of
66
+ # its interfaces. It is used for the networking configs specified in the
67
+ # `docker create` and `docker network connect` commands.
68
+ #
69
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::NetworkingConfig, nil]
70
+ optional :networking_config,
71
+ -> { DockerEngineAPI::ContainerCreateParams::Config::NetworkingConfig },
72
+ api_name: :NetworkingConfig
73
+
74
+ # @!method initialize(host_config: nil, networking_config: nil)
75
+ # Some parameter documentations has been truncated, see
76
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config} for more details.
77
+ #
78
+ # Configuration for a container that is portable between hosts.
79
+ #
80
+ # @param host_config [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig] Container configuration that depends on the host we are running on
81
+ #
82
+ # @param networking_config [DockerEngineAPI::Models::ContainerCreateParams::Config::NetworkingConfig] NetworkingConfig represents the container's networking configuration for
83
+
84
+ class HostConfig < DockerEngineAPI::Internal::Type::BaseModel
85
+ # @!attribute annotations
86
+ # Arbitrary non-identifying metadata attached to container and provided to the
87
+ # runtime when the container is started.
88
+ #
89
+ # @return [Hash{Symbol=>String}, nil]
90
+ optional :annotations, DockerEngineAPI::Internal::Type::HashOf[String], api_name: :Annotations
91
+
92
+ # @!attribute auto_remove
93
+ # Automatically remove the container when the container's process exits. This has
94
+ # no effect if `RestartPolicy` is set.
95
+ #
96
+ # @return [Boolean, nil]
97
+ optional :auto_remove, DockerEngineAPI::Internal::Type::Boolean, api_name: :AutoRemove
98
+
99
+ # @!attribute binds
100
+ # A list of volume bindings for this container. Each volume binding is a string in
101
+ # one of these forms:
102
+ #
103
+ # - `host-src:container-dest[:options]` to bind-mount a host path into the
104
+ # container. Both `host-src`, and `container-dest` must be an _absolute_ path.
105
+ # - `volume-name:container-dest[:options]` to bind-mount a volume managed by a
106
+ # volume driver into the container. `container-dest` must be an _absolute_ path.
107
+ #
108
+ # `options` is an optional, comma-delimited list of:
109
+ #
110
+ # - `nocopy` disables automatic copying of data from the container path to the
111
+ # volume. The `nocopy` flag only applies to named volumes.
112
+ # - `[ro|rw]` mounts a volume read-only or read-write, respectively. If omitted or
113
+ # set to `rw`, volumes are mounted read-write.
114
+ # - `[z|Z]` applies SELinux labels to allow or deny multiple containers to read
115
+ # and write to the same volume.
116
+ # - `z`: a _shared_ content label is applied to the content. This label
117
+ # indicates that multiple containers can share the volume content, for both
118
+ # reading and writing.
119
+ # - `Z`: a _private unshared_ label is applied to the content. This label
120
+ # indicates that only the current container can use a private volume. Labeling
121
+ # systems such as SELinux require proper labels to be placed on volume content
122
+ # that is mounted into a container. Without a label, the security system can
123
+ # prevent a container's processes from using the content. By default, the
124
+ # labels set by the host operating system are not modified.
125
+ # - `[[r]shared|[r]slave|[r]private]` specifies mount
126
+ # [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).
127
+ # This only applies to bind-mounted volumes, not internal volumes or named
128
+ # volumes. Mount propagation requires the source mount point (the location where
129
+ # the source directory is mounted in the host operating system) to have the
130
+ # correct propagation properties. For shared volumes, the source mount point
131
+ # must be set to `shared`. For slave volumes, the mount must be set to either
132
+ # `shared` or `slave`.
133
+ #
134
+ # @return [Array<String>, nil]
135
+ optional :binds, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :Binds
136
+
137
+ # @!attribute blkio_device_read_bps
138
+ # Limit read rate (bytes per second) from a device, in the form:
139
+ #
140
+ # ```
141
+ # [{"Path": "device_path", "Rate": rate}]
142
+ # ```
143
+ #
144
+ # @return [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioDeviceReadBp>, nil]
145
+ optional :blkio_device_read_bps,
146
+ -> {
147
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::BlkioDeviceReadBp]
148
+ },
149
+ api_name: :BlkioDeviceReadBps
150
+
151
+ # @!attribute blkio_device_read_i_ops
152
+ # Limit read rate (IO per second) from a device, in the form:
153
+ #
154
+ # ```
155
+ # [{"Path": "device_path", "Rate": rate}]
156
+ # ```
157
+ #
158
+ # @return [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioDeviceReadIOp>, nil]
159
+ optional :blkio_device_read_i_ops,
160
+ -> {
161
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::BlkioDeviceReadIOp]
162
+ },
163
+ api_name: :BlkioDeviceReadIOps
164
+
165
+ # @!attribute blkio_device_write_bps
166
+ # Limit write rate (bytes per second) to a device, in the form:
167
+ #
168
+ # ```
169
+ # [{"Path": "device_path", "Rate": rate}]
170
+ # ```
171
+ #
172
+ # @return [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioDeviceWriteBp>, nil]
173
+ optional :blkio_device_write_bps,
174
+ -> {
175
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::BlkioDeviceWriteBp]
176
+ },
177
+ api_name: :BlkioDeviceWriteBps
178
+
179
+ # @!attribute blkio_device_write_i_ops
180
+ # Limit write rate (IO per second) to a device, in the form:
181
+ #
182
+ # ```
183
+ # [{"Path": "device_path", "Rate": rate}]
184
+ # ```
185
+ #
186
+ # @return [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioDeviceWriteIOp>, nil]
187
+ optional :blkio_device_write_i_ops,
188
+ -> {
189
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::BlkioDeviceWriteIOp]
190
+ },
191
+ api_name: :BlkioDeviceWriteIOps
192
+
193
+ # @!attribute blkio_weight
194
+ # Block IO weight (relative weight).
195
+ #
196
+ # @return [Integer, nil]
197
+ optional :blkio_weight, Integer, api_name: :BlkioWeight
198
+
199
+ # @!attribute blkio_weight_device
200
+ # Block IO weight (relative device weight) in the form:
201
+ #
202
+ # ```
203
+ # [{"Path": "device_path", "Weight": weight}]
204
+ # ```
205
+ #
206
+ # @return [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioWeightDevice>, nil]
207
+ optional :blkio_weight_device,
208
+ -> {
209
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::BlkioWeightDevice]
210
+ },
211
+ api_name: :BlkioWeightDevice
212
+
213
+ # @!attribute cap_add
214
+ # A list of kernel capabilities to add to the container. Conflicts with option
215
+ # 'Capabilities'.
216
+ #
217
+ # @return [Array<String>, nil]
218
+ optional :cap_add, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :CapAdd
219
+
220
+ # @!attribute cap_drop
221
+ # A list of kernel capabilities to drop from the container. Conflicts with option
222
+ # 'Capabilities'.
223
+ #
224
+ # @return [Array<String>, nil]
225
+ optional :cap_drop, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :CapDrop
226
+
227
+ # @!attribute cgroup
228
+ # Cgroup to use for the container.
229
+ #
230
+ # @return [String, nil]
231
+ optional :cgroup, String, api_name: :Cgroup
232
+
233
+ # @!attribute cgroupns_mode
234
+ # cgroup namespace mode for the container. Possible values are:
235
+ #
236
+ # - `"private"`: the container runs in its own private cgroup namespace
237
+ # - `"host"`: use the host system's cgroup namespace
238
+ #
239
+ # If not specified, the daemon default is used, which can either be `"private"` or
240
+ # `"host"`, depending on daemon version, kernel support and configuration.
241
+ #
242
+ # @return [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::CgroupnsMode, nil]
243
+ optional :cgroupns_mode,
244
+ enum: -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::CgroupnsMode },
245
+ api_name: :CgroupnsMode
246
+
247
+ # @!attribute cgroup_parent
248
+ # Path to `cgroups` under which the container's `cgroup` is created. If the path
249
+ # is not absolute, the path is considered to be relative to the `cgroups` path of
250
+ # the init process. Cgroups are created if they do not already exist.
251
+ #
252
+ # @return [String, nil]
253
+ optional :cgroup_parent, String, api_name: :CgroupParent
254
+
255
+ # @!attribute console_size
256
+ # Initial console size, as an `[height, width]` array.
257
+ #
258
+ # @return [Array<Integer>, nil]
259
+ optional :console_size,
260
+ DockerEngineAPI::Internal::Type::ArrayOf[Integer],
261
+ api_name: :ConsoleSize,
262
+ nil?: true
263
+
264
+ # @!attribute container_id_file
265
+ # Path to a file where the container ID is written
266
+ #
267
+ # @return [String, nil]
268
+ optional :container_id_file, String, api_name: :ContainerIDFile
269
+
270
+ # @!attribute cpu_count
271
+ # The number of usable CPUs (Windows only).
272
+ #
273
+ # On Windows Server containers, the processor resource controls are mutually
274
+ # exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and
275
+ # `CPUPercent` last.
276
+ #
277
+ # @return [Integer, nil]
278
+ optional :cpu_count, Integer, api_name: :CpuCount
279
+
280
+ # @!attribute cpu_percent
281
+ # The usable percentage of the available CPUs (Windows only).
282
+ #
283
+ # On Windows Server containers, the processor resource controls are mutually
284
+ # exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and
285
+ # `CPUPercent` last.
286
+ #
287
+ # @return [Integer, nil]
288
+ optional :cpu_percent, Integer, api_name: :CpuPercent
289
+
290
+ # @!attribute cpu_period
291
+ # The length of a CPU period in microseconds.
292
+ #
293
+ # @return [Integer, nil]
294
+ optional :cpu_period, Integer, api_name: :CpuPeriod
295
+
296
+ # @!attribute cpu_quota
297
+ # Microseconds of CPU time that the container can get in a CPU period.
298
+ #
299
+ # @return [Integer, nil]
300
+ optional :cpu_quota, Integer, api_name: :CpuQuota
301
+
302
+ # @!attribute cpu_realtime_period
303
+ # The length of a CPU real-time period in microseconds. Set to 0 to allocate no
304
+ # time allocated to real-time tasks.
305
+ #
306
+ # @return [Integer, nil]
307
+ optional :cpu_realtime_period, Integer, api_name: :CpuRealtimePeriod
308
+
309
+ # @!attribute cpu_realtime_runtime
310
+ # The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no
311
+ # time allocated to real-time tasks.
312
+ #
313
+ # @return [Integer, nil]
314
+ optional :cpu_realtime_runtime, Integer, api_name: :CpuRealtimeRuntime
315
+
316
+ # @!attribute cpuset_cpus
317
+ # CPUs in which to allow execution (e.g., `0-3`, `0,1`).
318
+ #
319
+ # @return [String, nil]
320
+ optional :cpuset_cpus, String, api_name: :CpusetCpus
321
+
322
+ # @!attribute cpuset_mems
323
+ # Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on
324
+ # NUMA systems.
325
+ #
326
+ # @return [String, nil]
327
+ optional :cpuset_mems, String, api_name: :CpusetMems
328
+
329
+ # @!attribute cpu_shares
330
+ # An integer value representing this container's relative CPU weight versus other
331
+ # containers.
332
+ #
333
+ # @return [Integer, nil]
334
+ optional :cpu_shares, Integer, api_name: :CpuShares
335
+
336
+ # @!attribute device_cgroup_rules
337
+ # a list of cgroup rules to apply to the container
338
+ #
339
+ # @return [Array<String>, nil]
340
+ optional :device_cgroup_rules,
341
+ DockerEngineAPI::Internal::Type::ArrayOf[String],
342
+ api_name: :DeviceCgroupRules
343
+
344
+ # @!attribute device_requests
345
+ # A list of requests for devices to be sent to device drivers.
346
+ #
347
+ # @return [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::DeviceRequest>, nil]
348
+ optional :device_requests,
349
+ -> {
350
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::DeviceRequest]
351
+ },
352
+ api_name: :DeviceRequests
353
+
354
+ # @!attribute devices
355
+ # A list of devices to add to the container.
356
+ #
357
+ # @return [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Device>, nil]
358
+ optional :devices,
359
+ -> {
360
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Device]
361
+ },
362
+ api_name: :Devices
363
+
364
+ # @!attribute dns
365
+ # A list of DNS servers for the container to use.
366
+ #
367
+ # @return [Array<String>, nil]
368
+ optional :dns, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :Dns
369
+
370
+ # @!attribute dns_options
371
+ # A list of DNS options.
372
+ #
373
+ # @return [Array<String>, nil]
374
+ optional :dns_options, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :DnsOptions
375
+
376
+ # @!attribute dns_search
377
+ # A list of DNS search domains.
378
+ #
379
+ # @return [Array<String>, nil]
380
+ optional :dns_search, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :DnsSearch
381
+
382
+ # @!attribute extra_hosts
383
+ # A list of hostnames/IP mappings to add to the container's `/etc/hosts` file.
384
+ # Specified in the form `["hostname:IP"]`.
385
+ #
386
+ # @return [Array<String>, nil]
387
+ optional :extra_hosts, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :ExtraHosts
388
+
389
+ # @!attribute group_add
390
+ # A list of additional groups that the container process will run as.
391
+ #
392
+ # @return [Array<String>, nil]
393
+ optional :group_add, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :GroupAdd
394
+
395
+ # @!attribute init
396
+ # Run an init inside the container that forwards signals and reaps processes. This
397
+ # field is omitted if empty, and the default (as configured on the daemon) is
398
+ # used.
399
+ #
400
+ # @return [Boolean, nil]
401
+ optional :init, DockerEngineAPI::Internal::Type::Boolean, api_name: :Init, nil?: true
402
+
403
+ # @!attribute io_maximum_bandwidth
404
+ # Maximum IO in bytes per second for the container system drive (Windows only).
405
+ #
406
+ # @return [Integer, nil]
407
+ optional :io_maximum_bandwidth, Integer, api_name: :IOMaximumBandwidth
408
+
409
+ # @!attribute io_maximum_i_ops
410
+ # Maximum IOps for the container system drive (Windows only)
411
+ #
412
+ # @return [Integer, nil]
413
+ optional :io_maximum_i_ops, Integer, api_name: :IOMaximumIOps
414
+
415
+ # @!attribute ipc_mode
416
+ # IPC sharing mode for the container. Possible values are:
417
+ #
418
+ # - `"none"`: own private IPC namespace, with /dev/shm not mounted
419
+ # - `"private"`: own private IPC namespace
420
+ # - `"shareable"`: own private IPC namespace, with a possibility to share it with
421
+ # other containers
422
+ # - `"container:<name|id>"`: join another (shareable) container's IPC namespace
423
+ # - `"host"`: use the host system's IPC namespace
424
+ #
425
+ # If not specified, daemon default is used, which can either be `"private"` or
426
+ # `"shareable"`, depending on daemon version and configuration.
427
+ #
428
+ # @return [String, nil]
429
+ optional :ipc_mode, String, api_name: :IpcMode
430
+
431
+ # @!attribute isolation
432
+ # Isolation technology of the container. (Windows only)
433
+ #
434
+ # @return [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Isolation, nil]
435
+ optional :isolation,
436
+ enum: -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Isolation },
437
+ api_name: :Isolation
438
+
439
+ # @!attribute links
440
+ # A list of links for the container in the form `container_name:alias`.
441
+ #
442
+ # @return [Array<String>, nil]
443
+ optional :links, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :Links
444
+
445
+ # @!attribute log_config
446
+ # The logging configuration for this container
447
+ #
448
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::LogConfig, nil]
449
+ optional :log_config,
450
+ -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::LogConfig },
451
+ api_name: :LogConfig
452
+
453
+ # @!attribute masked_paths
454
+ # The list of paths to be masked inside the container (this overrides the default
455
+ # set of paths).
456
+ #
457
+ # @return [Array<String>, nil]
458
+ optional :masked_paths, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :MaskedPaths
459
+
460
+ # @!attribute memory
461
+ # Memory limit in bytes.
462
+ #
463
+ # @return [Integer, nil]
464
+ optional :memory, Integer, api_name: :Memory
465
+
466
+ # @!attribute memory_reservation
467
+ # Memory soft limit in bytes.
468
+ #
469
+ # @return [Integer, nil]
470
+ optional :memory_reservation, Integer, api_name: :MemoryReservation
471
+
472
+ # @!attribute memory_swap
473
+ # Total memory limit (memory + swap). Set as `-1` to enable unlimited swap.
474
+ #
475
+ # @return [Integer, nil]
476
+ optional :memory_swap, Integer, api_name: :MemorySwap
477
+
478
+ # @!attribute memory_swappiness
479
+ # Tune a container's memory swappiness behavior. Accepts an integer between 0
480
+ # and 100.
481
+ #
482
+ # @return [Integer, nil]
483
+ optional :memory_swappiness, Integer, api_name: :MemorySwappiness
484
+
485
+ # @!attribute mounts
486
+ # Specification for mounts to be added to the container.
487
+ #
488
+ # @return [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount>, nil]
489
+ optional :mounts,
490
+ -> {
491
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Mount]
492
+ },
493
+ api_name: :Mounts
494
+
495
+ # @!attribute nano_cpus
496
+ # CPU quota in units of 10<sup>-9</sup> CPUs.
497
+ #
498
+ # @return [Integer, nil]
499
+ optional :nano_cpus, Integer, api_name: :NanoCpus
500
+
501
+ # @!attribute network_mode
502
+ # Network mode to use for this container. Supported standard values are: `bridge`,
503
+ # `host`, `none`, and `container:<name|id>`. Any other value is taken as a custom
504
+ # network's name to which this container should connect to.
505
+ #
506
+ # @return [String, nil]
507
+ optional :network_mode, String, api_name: :NetworkMode
508
+
509
+ # @!attribute oom_kill_disable
510
+ # Disable OOM Killer for the container.
511
+ #
512
+ # @return [Boolean, nil]
513
+ optional :oom_kill_disable, DockerEngineAPI::Internal::Type::Boolean, api_name: :OomKillDisable
514
+
515
+ # @!attribute oom_score_adj
516
+ # An integer value containing the score given to the container in order to tune
517
+ # OOM killer preferences.
518
+ #
519
+ # @return [Integer, nil]
520
+ optional :oom_score_adj, Integer, api_name: :OomScoreAdj
521
+
522
+ # @!attribute pid_mode
523
+ # Set the PID (Process) Namespace mode for the container. It can be either:
524
+ #
525
+ # - `"container:<name|id>"`: joins another container's PID namespace
526
+ # - `"host"`: use the host's PID namespace inside the container
527
+ #
528
+ # @return [String, nil]
529
+ optional :pid_mode, String, api_name: :PidMode
530
+
531
+ # @!attribute pids_limit
532
+ # Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` to not
533
+ # change.
534
+ #
535
+ # @return [Integer, nil]
536
+ optional :pids_limit, Integer, api_name: :PidsLimit, nil?: true
537
+
538
+ # @!attribute port_bindings
539
+ # PortMap describes the mapping of container ports to host ports, using the
540
+ # container's port-number and protocol as key in the format `<port>/<protocol>`,
541
+ # for example, `80/udp`.
542
+ #
543
+ # If a container's port is mapped for multiple protocols, separate entries are
544
+ # added to the mapping table.
545
+ #
546
+ # @return [Hash{Symbol=>Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::PortBinding>}, nil]
547
+ optional :port_bindings,
548
+ -> do
549
+ DockerEngineAPI::Internal::Type::HashOf[
550
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::PortBinding]
551
+ ]
552
+ end,
553
+ api_name: :PortBindings
554
+
555
+ # @!attribute privileged
556
+ # Gives the container full access to the host.
557
+ #
558
+ # @return [Boolean, nil]
559
+ optional :privileged, DockerEngineAPI::Internal::Type::Boolean, api_name: :Privileged
560
+
561
+ # @!attribute publish_all_ports
562
+ # Allocates an ephemeral host port for all of a container's exposed ports.
563
+ #
564
+ # Ports are de-allocated when the container stops and allocated when the container
565
+ # starts. The allocated port might be changed when restarting the container.
566
+ #
567
+ # The port is selected from the ephemeral port range that depends on the kernel.
568
+ # For example, on Linux the range is defined by
569
+ # `/proc/sys/net/ipv4/ip_local_port_range`.
570
+ #
571
+ # @return [Boolean, nil]
572
+ optional :publish_all_ports, DockerEngineAPI::Internal::Type::Boolean, api_name: :PublishAllPorts
573
+
574
+ # @!attribute readonly_paths
575
+ # The list of paths to be set as read-only inside the container (this overrides
576
+ # the default set of paths).
577
+ #
578
+ # @return [Array<String>, nil]
579
+ optional :readonly_paths, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :ReadonlyPaths
580
+
581
+ # @!attribute readonly_rootfs
582
+ # Mount the container's root filesystem as read only.
583
+ #
584
+ # @return [Boolean, nil]
585
+ optional :readonly_rootfs, DockerEngineAPI::Internal::Type::Boolean, api_name: :ReadonlyRootfs
586
+
587
+ # @!attribute restart_policy
588
+ # The behavior to apply when the container exits. The default is not to restart.
589
+ #
590
+ # An ever increasing delay (double the previous delay, starting at 100ms) is added
591
+ # before each restart to prevent flooding the server.
592
+ #
593
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::RestartPolicy, nil]
594
+ optional :restart_policy,
595
+ -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::RestartPolicy },
596
+ api_name: :RestartPolicy
597
+
598
+ # @!attribute runtime
599
+ # Runtime to use with this container.
600
+ #
601
+ # @return [String, nil]
602
+ optional :runtime, String, api_name: :Runtime, nil?: true
603
+
604
+ # @!attribute security_opt
605
+ # A list of string values to customize labels for MLS systems, such as SELinux.
606
+ #
607
+ # @return [Array<String>, nil]
608
+ optional :security_opt, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :SecurityOpt
609
+
610
+ # @!attribute shm_size
611
+ # Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.
612
+ #
613
+ # @return [Integer, nil]
614
+ optional :shm_size, Integer, api_name: :ShmSize
615
+
616
+ # @!attribute storage_opt
617
+ # Storage driver options for this container, in the form `{"size": "120G"}`.
618
+ #
619
+ # @return [Hash{Symbol=>String}, nil]
620
+ optional :storage_opt, DockerEngineAPI::Internal::Type::HashOf[String], api_name: :StorageOpt
621
+
622
+ # @!attribute sysctls
623
+ # A list of kernel parameters (sysctls) to set in the container.
624
+ #
625
+ # This field is omitted if not set.
626
+ #
627
+ # @return [Hash{Symbol=>String}, nil]
628
+ optional :sysctls, DockerEngineAPI::Internal::Type::HashOf[String], api_name: :Sysctls, nil?: true
629
+
630
+ # @!attribute tmpfs
631
+ # A map of container directories which should be replaced by tmpfs mounts, and
632
+ # their corresponding mount options. For example:
633
+ #
634
+ # ```
635
+ # { "/run": "rw,noexec,nosuid,size=65536k" }
636
+ # ```
637
+ #
638
+ # @return [Hash{Symbol=>String}, nil]
639
+ optional :tmpfs, DockerEngineAPI::Internal::Type::HashOf[String], api_name: :Tmpfs
640
+
641
+ # @!attribute ulimits
642
+ # A list of resource limits to set in the container. For example:
643
+ #
644
+ # ```
645
+ # {"Name": "nofile", "Soft": 1024, "Hard": 2048}
646
+ # ```
647
+ #
648
+ # @return [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Ulimit>, nil]
649
+ optional :ulimits,
650
+ -> {
651
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Ulimit]
652
+ },
653
+ api_name: :Ulimits
654
+
655
+ # @!attribute userns_mode
656
+ # Sets the usernamespace mode for the container when usernamespace remapping
657
+ # option is enabled.
658
+ #
659
+ # @return [String, nil]
660
+ optional :userns_mode, String, api_name: :UsernsMode
661
+
662
+ # @!attribute uts_mode
663
+ # UTS namespace to use for the container.
664
+ #
665
+ # @return [String, nil]
666
+ optional :uts_mode, String, api_name: :UTSMode
667
+
668
+ # @!attribute volume_driver
669
+ # Driver that this container uses to mount volumes.
670
+ #
671
+ # @return [String, nil]
672
+ optional :volume_driver, String, api_name: :VolumeDriver
673
+
674
+ # @!attribute volumes_from
675
+ # A list of volumes to inherit from another container, specified in the form
676
+ # `<container name>[:<ro|rw>]`.
677
+ #
678
+ # @return [Array<String>, nil]
679
+ optional :volumes_from, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :VolumesFrom
680
+
681
+ # @!method initialize(annotations: nil, auto_remove: nil, binds: nil, blkio_device_read_bps: nil, blkio_device_read_i_ops: nil, blkio_device_write_bps: nil, blkio_device_write_i_ops: nil, blkio_weight: nil, blkio_weight_device: nil, cap_add: nil, cap_drop: nil, cgroup: nil, cgroupns_mode: nil, cgroup_parent: nil, console_size: nil, container_id_file: nil, cpu_count: nil, cpu_percent: nil, cpu_period: nil, cpu_quota: nil, cpu_realtime_period: nil, cpu_realtime_runtime: nil, cpuset_cpus: nil, cpuset_mems: nil, cpu_shares: nil, device_cgroup_rules: nil, device_requests: nil, devices: nil, dns: nil, dns_options: nil, dns_search: nil, extra_hosts: nil, group_add: nil, init: nil, io_maximum_bandwidth: nil, io_maximum_i_ops: nil, ipc_mode: nil, isolation: nil, links: nil, log_config: nil, masked_paths: nil, memory: nil, memory_reservation: nil, memory_swap: nil, memory_swappiness: nil, mounts: nil, nano_cpus: nil, network_mode: nil, oom_kill_disable: nil, oom_score_adj: nil, pid_mode: nil, pids_limit: nil, port_bindings: nil, privileged: nil, publish_all_ports: nil, readonly_paths: nil, readonly_rootfs: nil, restart_policy: nil, runtime: nil, security_opt: nil, shm_size: nil, storage_opt: nil, sysctls: nil, tmpfs: nil, ulimits: nil, userns_mode: nil, uts_mode: nil, volume_driver: nil, volumes_from: nil)
682
+ # Some parameter documentations has been truncated, see
683
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig} for more
684
+ # details.
685
+ #
686
+ # Container configuration that depends on the host we are running on
687
+ #
688
+ # @param annotations [Hash{Symbol=>String}] Arbitrary non-identifying metadata attached to container and
689
+ #
690
+ # @param auto_remove [Boolean] Automatically remove the container when the container's process
691
+ #
692
+ # @param binds [Array<String>] A list of volume bindings for this container. Each volume binding
693
+ #
694
+ # @param blkio_device_read_bps [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioDeviceReadBp>] Limit read rate (bytes per second) from a device, in the form:
695
+ #
696
+ # @param blkio_device_read_i_ops [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioDeviceReadIOp>] Limit read rate (IO per second) from a device, in the form:
697
+ #
698
+ # @param blkio_device_write_bps [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioDeviceWriteBp>] Limit write rate (bytes per second) to a device, in the form:
699
+ #
700
+ # @param blkio_device_write_i_ops [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioDeviceWriteIOp>] Limit write rate (IO per second) to a device, in the form:
701
+ #
702
+ # @param blkio_weight [Integer] Block IO weight (relative weight).
703
+ #
704
+ # @param blkio_weight_device [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::BlkioWeightDevice>] Block IO weight (relative device weight) in the form:
705
+ #
706
+ # @param cap_add [Array<String>] A list of kernel capabilities to add to the container. Conflicts
707
+ #
708
+ # @param cap_drop [Array<String>] A list of kernel capabilities to drop from the container. Conflicts
709
+ #
710
+ # @param cgroup [String] Cgroup to use for the container.
711
+ #
712
+ # @param cgroupns_mode [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::CgroupnsMode] cgroup namespace mode for the container. Possible values are:
713
+ #
714
+ # @param cgroup_parent [String] Path to `cgroups` under which the container's `cgroup` is created. If
715
+ #
716
+ # @param console_size [Array<Integer>, nil] Initial console size, as an `[height, width]` array.
717
+ #
718
+ # @param container_id_file [String] Path to a file where the container ID is written
719
+ #
720
+ # @param cpu_count [Integer] The number of usable CPUs (Windows only).
721
+ #
722
+ # @param cpu_percent [Integer] The usable percentage of the available CPUs (Windows only).
723
+ #
724
+ # @param cpu_period [Integer] The length of a CPU period in microseconds.
725
+ #
726
+ # @param cpu_quota [Integer] Microseconds of CPU time that the container can get in a CPU period.
727
+ #
728
+ # @param cpu_realtime_period [Integer] The length of a CPU real-time period in microseconds. Set to 0 to
729
+ #
730
+ # @param cpu_realtime_runtime [Integer] The length of a CPU real-time runtime in microseconds. Set to 0 to
731
+ #
732
+ # @param cpuset_cpus [String] CPUs in which to allow execution (e.g., `0-3`, `0,1`).
733
+ #
734
+ # @param cpuset_mems [String] Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only
735
+ #
736
+ # @param cpu_shares [Integer] An integer value representing this container's relative CPU weight
737
+ #
738
+ # @param device_cgroup_rules [Array<String>] a list of cgroup rules to apply to the container
739
+ #
740
+ # @param device_requests [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::DeviceRequest>] A list of requests for devices to be sent to device drivers.
741
+ #
742
+ # @param devices [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Device>] A list of devices to add to the container.
743
+ #
744
+ # @param dns [Array<String>] A list of DNS servers for the container to use.
745
+ #
746
+ # @param dns_options [Array<String>] A list of DNS options.
747
+ #
748
+ # @param dns_search [Array<String>] A list of DNS search domains.
749
+ #
750
+ # @param extra_hosts [Array<String>] A list of hostnames/IP mappings to add to the container's `/etc/hosts`
751
+ #
752
+ # @param group_add [Array<String>] A list of additional groups that the container process will run as.
753
+ #
754
+ # @param init [Boolean, nil] Run an init inside the container that forwards signals and reaps
755
+ #
756
+ # @param io_maximum_bandwidth [Integer] Maximum IO in bytes per second for the container system drive
757
+ #
758
+ # @param io_maximum_i_ops [Integer] Maximum IOps for the container system drive (Windows only)
759
+ #
760
+ # @param ipc_mode [String] IPC sharing mode for the container. Possible values are:
761
+ #
762
+ # @param isolation [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Isolation] Isolation technology of the container. (Windows only)
763
+ #
764
+ # @param links [Array<String>] A list of links for the container in the form `container_name:alias`.
765
+ #
766
+ # @param log_config [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::LogConfig] The logging configuration for this container
767
+ #
768
+ # @param masked_paths [Array<String>] The list of paths to be masked inside the container (this overrides
769
+ #
770
+ # @param memory [Integer] Memory limit in bytes.
771
+ #
772
+ # @param memory_reservation [Integer] Memory soft limit in bytes.
773
+ #
774
+ # @param memory_swap [Integer] Total memory limit (memory + swap). Set as `-1` to enable unlimited
775
+ #
776
+ # @param memory_swappiness [Integer] Tune a container's memory swappiness behavior. Accepts an integer
777
+ #
778
+ # @param mounts [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount>] Specification for mounts to be added to the container.
779
+ #
780
+ # @param nano_cpus [Integer] CPU quota in units of 10<sup>-9</sup> CPUs.
781
+ #
782
+ # @param network_mode [String] Network mode to use for this container. Supported standard values
783
+ #
784
+ # @param oom_kill_disable [Boolean] Disable OOM Killer for the container.
785
+ #
786
+ # @param oom_score_adj [Integer] An integer value containing the score given to the container in
787
+ #
788
+ # @param pid_mode [String] Set the PID (Process) Namespace mode for the container. It can be
789
+ #
790
+ # @param pids_limit [Integer, nil] Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null`
791
+ #
792
+ # @param port_bindings [Hash{Symbol=>Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::PortBinding>}] PortMap describes the mapping of container ports to host ports, using the
793
+ #
794
+ # @param privileged [Boolean] Gives the container full access to the host.
795
+ #
796
+ # @param publish_all_ports [Boolean] Allocates an ephemeral host port for all of a container's
797
+ #
798
+ # @param readonly_paths [Array<String>] The list of paths to be set as read-only inside the container
799
+ #
800
+ # @param readonly_rootfs [Boolean] Mount the container's root filesystem as read only.
801
+ #
802
+ # @param restart_policy [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::RestartPolicy] The behavior to apply when the container exits. The default is not to
803
+ #
804
+ # @param runtime [String, nil] Runtime to use with this container.
805
+ #
806
+ # @param security_opt [Array<String>] A list of string values to customize labels for MLS systems, such
807
+ #
808
+ # @param shm_size [Integer] Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.
809
+ #
810
+ # @param storage_opt [Hash{Symbol=>String}] Storage driver options for this container, in the form `{"size": "120G"}`.
811
+ #
812
+ # @param sysctls [Hash{Symbol=>String}, nil] A list of kernel parameters (sysctls) to set in the container.
813
+ #
814
+ # @param tmpfs [Hash{Symbol=>String}] A map of container directories which should be replaced by tmpfs
815
+ #
816
+ # @param ulimits [Array<DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Ulimit>] A list of resource limits to set in the container. For example:
817
+ #
818
+ # @param userns_mode [String] Sets the usernamespace mode for the container when usernamespace
819
+ #
820
+ # @param uts_mode [String] UTS namespace to use for the container.
821
+ #
822
+ # @param volume_driver [String] Driver that this container uses to mount volumes.
823
+ #
824
+ # @param volumes_from [Array<String>] A list of volumes to inherit from another container, specified in
825
+
826
+ class BlkioDeviceReadBp < DockerEngineAPI::Internal::Type::BaseModel
827
+ # @!attribute path
828
+ # Device path
829
+ #
830
+ # @return [String, nil]
831
+ optional :path, String, api_name: :Path
832
+
833
+ # @!attribute rate
834
+ # Rate
835
+ #
836
+ # @return [Integer, nil]
837
+ optional :rate, Integer, api_name: :Rate
838
+
839
+ # @!method initialize(path: nil, rate: nil)
840
+ # @param path [String] Device path
841
+ #
842
+ # @param rate [Integer] Rate
843
+ end
844
+
845
+ class BlkioDeviceReadIOp < DockerEngineAPI::Internal::Type::BaseModel
846
+ # @!attribute path
847
+ # Device path
848
+ #
849
+ # @return [String, nil]
850
+ optional :path, String, api_name: :Path
851
+
852
+ # @!attribute rate
853
+ # Rate
854
+ #
855
+ # @return [Integer, nil]
856
+ optional :rate, Integer, api_name: :Rate
857
+
858
+ # @!method initialize(path: nil, rate: nil)
859
+ # @param path [String] Device path
860
+ #
861
+ # @param rate [Integer] Rate
862
+ end
863
+
864
+ class BlkioDeviceWriteBp < DockerEngineAPI::Internal::Type::BaseModel
865
+ # @!attribute path
866
+ # Device path
867
+ #
868
+ # @return [String, nil]
869
+ optional :path, String, api_name: :Path
870
+
871
+ # @!attribute rate
872
+ # Rate
873
+ #
874
+ # @return [Integer, nil]
875
+ optional :rate, Integer, api_name: :Rate
876
+
877
+ # @!method initialize(path: nil, rate: nil)
878
+ # @param path [String] Device path
879
+ #
880
+ # @param rate [Integer] Rate
881
+ end
882
+
883
+ class BlkioDeviceWriteIOp < DockerEngineAPI::Internal::Type::BaseModel
884
+ # @!attribute path
885
+ # Device path
886
+ #
887
+ # @return [String, nil]
888
+ optional :path, String, api_name: :Path
889
+
890
+ # @!attribute rate
891
+ # Rate
892
+ #
893
+ # @return [Integer, nil]
894
+ optional :rate, Integer, api_name: :Rate
895
+
896
+ # @!method initialize(path: nil, rate: nil)
897
+ # @param path [String] Device path
898
+ #
899
+ # @param rate [Integer] Rate
900
+ end
901
+
902
+ class BlkioWeightDevice < DockerEngineAPI::Internal::Type::BaseModel
903
+ # @!attribute path
904
+ #
905
+ # @return [String, nil]
906
+ optional :path, String, api_name: :Path
907
+
908
+ # @!attribute weight
909
+ #
910
+ # @return [Integer, nil]
911
+ optional :weight, Integer, api_name: :Weight
912
+
913
+ # @!method initialize(path: nil, weight: nil)
914
+ # @param path [String]
915
+ # @param weight [Integer]
916
+ end
917
+
918
+ # cgroup namespace mode for the container. Possible values are:
919
+ #
920
+ # - `"private"`: the container runs in its own private cgroup namespace
921
+ # - `"host"`: use the host system's cgroup namespace
922
+ #
923
+ # If not specified, the daemon default is used, which can either be `"private"` or
924
+ # `"host"`, depending on daemon version, kernel support and configuration.
925
+ #
926
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig#cgroupns_mode
927
+ module CgroupnsMode
928
+ extend DockerEngineAPI::Internal::Type::Enum
929
+
930
+ PRIVATE = :private
931
+ HOST = :host
932
+
933
+ # @!method self.values
934
+ # @return [Array<Symbol>]
935
+ end
936
+
937
+ class DeviceRequest < DockerEngineAPI::Internal::Type::BaseModel
938
+ # @!attribute capabilities
939
+ # A list of capabilities; an OR list of AND lists of capabilities.
940
+ #
941
+ # Note that if a driver is specified the capabilities have no effect on selecting
942
+ # a driver as the driver name is used directly.
943
+ #
944
+ # Note that if no driver is specified the capabilities are used to select a driver
945
+ # with the required capabilities.
946
+ #
947
+ # @return [Array<Array<String>>, nil]
948
+ optional :capabilities,
949
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::Internal::Type::ArrayOf[String]],
950
+ api_name: :Capabilities
951
+
952
+ # @!attribute count
953
+ #
954
+ # @return [Integer, nil]
955
+ optional :count, Integer, api_name: :Count
956
+
957
+ # @!attribute device_ids
958
+ #
959
+ # @return [Array<String>, nil]
960
+ optional :device_ids, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :DeviceIDs
961
+
962
+ # @!attribute driver
963
+ # The name of the device driver to use for this request.
964
+ #
965
+ # Note that if this is specified the capabilities are ignored when selecting a
966
+ # device driver.
967
+ #
968
+ # @return [String, nil]
969
+ optional :driver, String, api_name: :Driver
970
+
971
+ # @!attribute options
972
+ # Driver-specific options, specified as a key/value pairs. These options are
973
+ # passed directly to the driver.
974
+ #
975
+ # @return [Hash{Symbol=>String}, nil]
976
+ optional :options, DockerEngineAPI::Internal::Type::HashOf[String], api_name: :Options
977
+
978
+ # @!method initialize(capabilities: nil, count: nil, device_ids: nil, driver: nil, options: nil)
979
+ # Some parameter documentations has been truncated, see
980
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::DeviceRequest}
981
+ # for more details.
982
+ #
983
+ # A request for devices to be sent to device drivers
984
+ #
985
+ # @param capabilities [Array<Array<String>>] A list of capabilities; an OR list of AND lists of capabilities.
986
+ #
987
+ # @param count [Integer]
988
+ #
989
+ # @param device_ids [Array<String>]
990
+ #
991
+ # @param driver [String] The name of the device driver to use for this request.
992
+ #
993
+ # @param options [Hash{Symbol=>String}] Driver-specific options, specified as a key/value pairs. These options
994
+ end
995
+
996
+ class Device < DockerEngineAPI::Internal::Type::BaseModel
997
+ # @!attribute cgroup_permissions
998
+ #
999
+ # @return [String, nil]
1000
+ optional :cgroup_permissions, String, api_name: :CgroupPermissions
1001
+
1002
+ # @!attribute path_in_container
1003
+ #
1004
+ # @return [String, nil]
1005
+ optional :path_in_container, String, api_name: :PathInContainer
1006
+
1007
+ # @!attribute path_on_host
1008
+ #
1009
+ # @return [String, nil]
1010
+ optional :path_on_host, String, api_name: :PathOnHost
1011
+
1012
+ # @!method initialize(cgroup_permissions: nil, path_in_container: nil, path_on_host: nil)
1013
+ # A device mapping between the host and container
1014
+ #
1015
+ # @param cgroup_permissions [String]
1016
+ # @param path_in_container [String]
1017
+ # @param path_on_host [String]
1018
+ end
1019
+
1020
+ # Isolation technology of the container. (Windows only)
1021
+ #
1022
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig#isolation
1023
+ module Isolation
1024
+ extend DockerEngineAPI::Internal::Type::Enum
1025
+
1026
+ DEFAULT = :default
1027
+ PROCESS = :process
1028
+ HYPERV = :hyperv
1029
+ EMPTY = :""
1030
+
1031
+ # @!method self.values
1032
+ # @return [Array<Symbol>]
1033
+ end
1034
+
1035
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig#log_config
1036
+ class LogConfig < DockerEngineAPI::Internal::Type::BaseModel
1037
+ # @!attribute config
1038
+ # Driver-specific configuration options for the logging driver.
1039
+ #
1040
+ # @return [Hash{Symbol=>String}, nil]
1041
+ optional :config, DockerEngineAPI::Internal::Type::HashOf[String], api_name: :Config
1042
+
1043
+ # @!attribute type
1044
+ # Name of the logging driver used for the container or "none" if logging is
1045
+ # disabled.
1046
+ #
1047
+ # @return [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::LogConfig::Type, nil]
1048
+ optional :type,
1049
+ enum: -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::LogConfig::Type },
1050
+ api_name: :Type
1051
+
1052
+ # @!method initialize(config: nil, type: nil)
1053
+ # Some parameter documentations has been truncated, see
1054
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::LogConfig}
1055
+ # for more details.
1056
+ #
1057
+ # The logging configuration for this container
1058
+ #
1059
+ # @param config [Hash{Symbol=>String}] Driver-specific configuration options for the logging driver.
1060
+ #
1061
+ # @param type [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::LogConfig::Type] Name of the logging driver used for the container or "none"
1062
+
1063
+ # Name of the logging driver used for the container or "none" if logging is
1064
+ # disabled.
1065
+ #
1066
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::LogConfig#type
1067
+ module Type
1068
+ extend DockerEngineAPI::Internal::Type::Enum
1069
+
1070
+ LOCAL = :local
1071
+ JSON_FILE = :"json-file"
1072
+ SYSLOG = :syslog
1073
+ JOURNALD = :journald
1074
+ GELF = :gelf
1075
+ FLUENTD = :fluentd
1076
+ AWSLOGS = :awslogs
1077
+ SPLUNK = :splunk
1078
+ ETWLOGS = :etwlogs
1079
+ NONE = :none
1080
+
1081
+ # @!method self.values
1082
+ # @return [Array<Symbol>]
1083
+ end
1084
+ end
1085
+
1086
+ class Mount < DockerEngineAPI::Internal::Type::BaseModel
1087
+ # @!attribute bind_options
1088
+ # Optional configuration for the `bind` type.
1089
+ #
1090
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::BindOptions, nil]
1091
+ optional :bind_options,
1092
+ -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Mount::BindOptions },
1093
+ api_name: :BindOptions
1094
+
1095
+ # @!attribute consistency
1096
+ # The consistency requirement for the mount: `default`, `consistent`, `cached`, or
1097
+ # `delegated`.
1098
+ #
1099
+ # @return [String, nil]
1100
+ optional :consistency, String, api_name: :Consistency
1101
+
1102
+ # @!attribute image_options
1103
+ # Optional configuration for the `image` type.
1104
+ #
1105
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::ImageOptions, nil]
1106
+ optional :image_options,
1107
+ -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Mount::ImageOptions },
1108
+ api_name: :ImageOptions
1109
+
1110
+ # @!attribute read_only
1111
+ # Whether the mount should be read-only.
1112
+ #
1113
+ # @return [Boolean, nil]
1114
+ optional :read_only, DockerEngineAPI::Internal::Type::Boolean, api_name: :ReadOnly
1115
+
1116
+ # @!attribute source
1117
+ # Mount source (e.g. a volume name, a host path). The source cannot be specified
1118
+ # when using `Type=tmpfs`. For `Type=bind`, the source path must either exist, or
1119
+ # the `CreateMountpoint` must be set to `true` to create the source path on the
1120
+ # host if missing.
1121
+ #
1122
+ # For `Type=npipe`, the pipe must exist prior to creating the container.
1123
+ #
1124
+ # @return [String, nil]
1125
+ optional :source, String, api_name: :Source
1126
+
1127
+ # @!attribute target
1128
+ # Container path.
1129
+ #
1130
+ # @return [String, nil]
1131
+ optional :target, String, api_name: :Target
1132
+
1133
+ # @!attribute tmpfs_options
1134
+ # Optional configuration for the `tmpfs` type.
1135
+ #
1136
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::TmpfsOptions, nil]
1137
+ optional :tmpfs_options,
1138
+ -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Mount::TmpfsOptions },
1139
+ api_name: :TmpfsOptions
1140
+
1141
+ # @!attribute type
1142
+ # The mount type. Available types:
1143
+ #
1144
+ # - `bind` a mount of a file or directory from the host into the container.
1145
+ # - `cluster` a Swarm cluster volume.
1146
+ # - `image` an OCI image.
1147
+ # - `npipe` a named pipe from the host into the container.
1148
+ # - `tmpfs` a `tmpfs`.
1149
+ # - `volume` a docker volume with the given `Name`.
1150
+ #
1151
+ # @return [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::Type, nil]
1152
+ optional :type,
1153
+ enum: -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Mount::Type },
1154
+ api_name: :Type
1155
+
1156
+ # @!attribute volume_options
1157
+ # Optional configuration for the `volume` type.
1158
+ #
1159
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::VolumeOptions, nil]
1160
+ optional :volume_options,
1161
+ -> { DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Mount::VolumeOptions },
1162
+ api_name: :VolumeOptions
1163
+
1164
+ # @!method initialize(bind_options: nil, consistency: nil, image_options: nil, read_only: nil, source: nil, target: nil, tmpfs_options: nil, type: nil, volume_options: nil)
1165
+ # Some parameter documentations has been truncated, see
1166
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount} for
1167
+ # more details.
1168
+ #
1169
+ # @param bind_options [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::BindOptions] Optional configuration for the `bind` type.
1170
+ #
1171
+ # @param consistency [String] The consistency requirement for the mount: `default`, `consistent`, `cached`, or
1172
+ #
1173
+ # @param image_options [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::ImageOptions] Optional configuration for the `image` type.
1174
+ #
1175
+ # @param read_only [Boolean] Whether the mount should be read-only.
1176
+ #
1177
+ # @param source [String] Mount source (e.g. a volume name, a host path). The source cannot be
1178
+ #
1179
+ # @param target [String] Container path.
1180
+ #
1181
+ # @param tmpfs_options [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::TmpfsOptions] Optional configuration for the `tmpfs` type.
1182
+ #
1183
+ # @param type [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::Type] The mount type. Available types:
1184
+ #
1185
+ # @param volume_options [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::VolumeOptions] Optional configuration for the `volume` type.
1186
+
1187
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount#bind_options
1188
+ class BindOptions < DockerEngineAPI::Internal::Type::BaseModel
1189
+ # @!attribute create_mountpoint
1190
+ # Create mount point on host if missing
1191
+ #
1192
+ # @return [Boolean, nil]
1193
+ optional :create_mountpoint,
1194
+ DockerEngineAPI::Internal::Type::Boolean,
1195
+ api_name: :CreateMountpoint
1196
+
1197
+ # @!attribute non_recursive
1198
+ # Disable recursive bind mount.
1199
+ #
1200
+ # @return [Boolean, nil]
1201
+ optional :non_recursive, DockerEngineAPI::Internal::Type::Boolean, api_name: :NonRecursive
1202
+
1203
+ # @!attribute propagation
1204
+ # A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.
1205
+ #
1206
+ # @return [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::BindOptions::Propagation, nil]
1207
+ optional :propagation,
1208
+ enum: -> {
1209
+ DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Mount::BindOptions::Propagation
1210
+ },
1211
+ api_name: :Propagation
1212
+
1213
+ # @!attribute read_only_force_recursive
1214
+ # Raise an error if the mount cannot be made recursively read-only.
1215
+ #
1216
+ # @return [Boolean, nil]
1217
+ optional :read_only_force_recursive,
1218
+ DockerEngineAPI::Internal::Type::Boolean,
1219
+ api_name: :ReadOnlyForceRecursive
1220
+
1221
+ # @!attribute read_only_non_recursive
1222
+ # Make the mount non-recursively read-only, but still leave the mount recursive
1223
+ # (unless NonRecursive is set to `true` in conjunction).
1224
+ #
1225
+ # Added in v1.44, before that version all read-only mounts were non-recursive by
1226
+ # default. To match the previous behaviour this will default to `true` for clients
1227
+ # on versions prior to v1.44.
1228
+ #
1229
+ # @return [Boolean, nil]
1230
+ optional :read_only_non_recursive,
1231
+ DockerEngineAPI::Internal::Type::Boolean,
1232
+ api_name: :ReadOnlyNonRecursive
1233
+
1234
+ # @!method initialize(create_mountpoint: nil, non_recursive: nil, propagation: nil, read_only_force_recursive: nil, read_only_non_recursive: nil)
1235
+ # Some parameter documentations has been truncated, see
1236
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::BindOptions}
1237
+ # for more details.
1238
+ #
1239
+ # Optional configuration for the `bind` type.
1240
+ #
1241
+ # @param create_mountpoint [Boolean] Create mount point on host if missing
1242
+ #
1243
+ # @param non_recursive [Boolean] Disable recursive bind mount.
1244
+ #
1245
+ # @param propagation [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::BindOptions::Propagation] A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.
1246
+ #
1247
+ # @param read_only_force_recursive [Boolean] Raise an error if the mount cannot be made recursively read-only.
1248
+ #
1249
+ # @param read_only_non_recursive [Boolean] Make the mount non-recursively read-only, but still leave the mount recursive
1250
+
1251
+ # A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.
1252
+ #
1253
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::BindOptions#propagation
1254
+ module Propagation
1255
+ extend DockerEngineAPI::Internal::Type::Enum
1256
+
1257
+ PRIVATE = :private
1258
+ RPRIVATE = :rprivate
1259
+ SHARED = :shared
1260
+ RSHARED = :rshared
1261
+ SLAVE = :slave
1262
+ RSLAVE = :rslave
1263
+
1264
+ # @!method self.values
1265
+ # @return [Array<Symbol>]
1266
+ end
1267
+ end
1268
+
1269
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount#image_options
1270
+ class ImageOptions < DockerEngineAPI::Internal::Type::BaseModel
1271
+ # @!attribute subpath
1272
+ # Source path inside the image. Must be relative without any back traversals.
1273
+ #
1274
+ # @return [String, nil]
1275
+ optional :subpath, String, api_name: :Subpath
1276
+
1277
+ # @!method initialize(subpath: nil)
1278
+ # Optional configuration for the `image` type.
1279
+ #
1280
+ # @param subpath [String] Source path inside the image. Must be relative without any back traversals.
1281
+ end
1282
+
1283
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount#tmpfs_options
1284
+ class TmpfsOptions < DockerEngineAPI::Internal::Type::BaseModel
1285
+ # @!attribute mode
1286
+ # The permission mode for the tmpfs mount in an integer. The value must not be in
1287
+ # octal format (e.g. 755) but rather the decimal representation of the octal value
1288
+ # (e.g. 493).
1289
+ #
1290
+ # @return [Integer, nil]
1291
+ optional :mode, Integer, api_name: :Mode
1292
+
1293
+ # @!attribute options
1294
+ # The options to be passed to the tmpfs mount. An array of arrays. Flag options
1295
+ # should be provided as 1-length arrays. Other types should be provided as as
1296
+ # 2-length arrays, where the first item is the key and the second the value.
1297
+ #
1298
+ # @return [Array<Array<String>>, nil]
1299
+ optional :options,
1300
+ DockerEngineAPI::Internal::Type::ArrayOf[DockerEngineAPI::Internal::Type::ArrayOf[String]],
1301
+ api_name: :Options
1302
+
1303
+ # @!attribute size_bytes
1304
+ # The size for the tmpfs mount in bytes.
1305
+ #
1306
+ # @return [Integer, nil]
1307
+ optional :size_bytes, Integer, api_name: :SizeBytes
1308
+
1309
+ # @!method initialize(mode: nil, options: nil, size_bytes: nil)
1310
+ # Some parameter documentations has been truncated, see
1311
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::TmpfsOptions}
1312
+ # for more details.
1313
+ #
1314
+ # Optional configuration for the `tmpfs` type.
1315
+ #
1316
+ # @param mode [Integer] The permission mode for the tmpfs mount in an integer.
1317
+ #
1318
+ # @param options [Array<Array<String>>] The options to be passed to the tmpfs mount. An array of arrays.
1319
+ #
1320
+ # @param size_bytes [Integer] The size for the tmpfs mount in bytes.
1321
+ end
1322
+
1323
+ # The mount type. Available types:
1324
+ #
1325
+ # - `bind` a mount of a file or directory from the host into the container.
1326
+ # - `cluster` a Swarm cluster volume.
1327
+ # - `image` an OCI image.
1328
+ # - `npipe` a named pipe from the host into the container.
1329
+ # - `tmpfs` a `tmpfs`.
1330
+ # - `volume` a docker volume with the given `Name`.
1331
+ #
1332
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount#type
1333
+ module Type
1334
+ extend DockerEngineAPI::Internal::Type::Enum
1335
+
1336
+ BIND = :bind
1337
+ CLUSTER = :cluster
1338
+ IMAGE = :image
1339
+ NPIPE = :npipe
1340
+ TMPFS = :tmpfs
1341
+ VOLUME = :volume
1342
+
1343
+ # @!method self.values
1344
+ # @return [Array<Symbol>]
1345
+ end
1346
+
1347
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount#volume_options
1348
+ class VolumeOptions < DockerEngineAPI::Internal::Type::BaseModel
1349
+ # @!attribute driver_config
1350
+ # Map of driver specific options
1351
+ #
1352
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::VolumeOptions::DriverConfig, nil]
1353
+ optional :driver_config,
1354
+ -> {
1355
+ DockerEngineAPI::ContainerCreateParams::Config::HostConfig::Mount::VolumeOptions::DriverConfig
1356
+ },
1357
+ api_name: :DriverConfig
1358
+
1359
+ # @!attribute labels
1360
+ # User-defined key/value metadata.
1361
+ #
1362
+ # @return [Hash{Symbol=>String}, nil]
1363
+ optional :labels, DockerEngineAPI::Internal::Type::HashOf[String], api_name: :Labels
1364
+
1365
+ # @!attribute no_copy
1366
+ # Populate volume with data from the target.
1367
+ #
1368
+ # @return [Boolean, nil]
1369
+ optional :no_copy, DockerEngineAPI::Internal::Type::Boolean, api_name: :NoCopy
1370
+
1371
+ # @!attribute subpath
1372
+ # Source path inside the volume. Must be relative without any back traversals.
1373
+ #
1374
+ # @return [String, nil]
1375
+ optional :subpath, String, api_name: :Subpath
1376
+
1377
+ # @!method initialize(driver_config: nil, labels: nil, no_copy: nil, subpath: nil)
1378
+ # Optional configuration for the `volume` type.
1379
+ #
1380
+ # @param driver_config [DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::VolumeOptions::DriverConfig] Map of driver specific options
1381
+ #
1382
+ # @param labels [Hash{Symbol=>String}] User-defined key/value metadata.
1383
+ #
1384
+ # @param no_copy [Boolean] Populate volume with data from the target.
1385
+ #
1386
+ # @param subpath [String] Source path inside the volume. Must be relative without any back traversals.
1387
+
1388
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::Mount::VolumeOptions#driver_config
1389
+ class DriverConfig < DockerEngineAPI::Internal::Type::BaseModel
1390
+ # @!attribute name
1391
+ # Name of the driver to use to create the volume.
1392
+ #
1393
+ # @return [String, nil]
1394
+ optional :name, String, api_name: :Name
1395
+
1396
+ # @!attribute options
1397
+ # key/value map of driver specific options.
1398
+ #
1399
+ # @return [Hash{Symbol=>String}, nil]
1400
+ optional :options, DockerEngineAPI::Internal::Type::HashOf[String], api_name: :Options
1401
+
1402
+ # @!method initialize(name: nil, options: nil)
1403
+ # Map of driver specific options
1404
+ #
1405
+ # @param name [String] Name of the driver to use to create the volume.
1406
+ #
1407
+ # @param options [Hash{Symbol=>String}] key/value map of driver specific options.
1408
+ end
1409
+ end
1410
+ end
1411
+
1412
+ class PortBinding < DockerEngineAPI::Internal::Type::BaseModel
1413
+ # @!attribute host_ip
1414
+ # Host IP address that the container's port is mapped to.
1415
+ #
1416
+ # @return [String, nil]
1417
+ optional :host_ip, String, api_name: :HostIp
1418
+
1419
+ # @!attribute host_port
1420
+ # Host port number that the container's port is mapped to.
1421
+ #
1422
+ # @return [String, nil]
1423
+ optional :host_port, String, api_name: :HostPort
1424
+
1425
+ # @!method initialize(host_ip: nil, host_port: nil)
1426
+ # PortBinding represents a binding between a host IP address and a host port.
1427
+ #
1428
+ # @param host_ip [String] Host IP address that the container's port is mapped to.
1429
+ #
1430
+ # @param host_port [String] Host port number that the container's port is mapped to.
1431
+ end
1432
+
1433
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig#restart_policy
1434
+ class RestartPolicy < DockerEngineAPI::Internal::Type::BaseModel
1435
+ # @!attribute maximum_retry_count
1436
+ # If `on-failure` is used, the number of times to retry before giving up.
1437
+ #
1438
+ # @return [Integer, nil]
1439
+ optional :maximum_retry_count, Integer, api_name: :MaximumRetryCount
1440
+
1441
+ # @!attribute name
1442
+ # - Empty string means not to restart
1443
+ # - `no` Do not automatically restart
1444
+ # - `always` Always restart
1445
+ # - `unless-stopped` Restart always except when the user has manually stopped the
1446
+ # container
1447
+ # - `on-failure` Restart only when the container exit code is non-zero
1448
+ #
1449
+ # @return [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::RestartPolicy::Name, nil]
1450
+ optional :name,
1451
+ enum: -> {
1452
+ DockerEngineAPI::ContainerCreateParams::Config::HostConfig::RestartPolicy::Name
1453
+ },
1454
+ api_name: :Name
1455
+
1456
+ # @!method initialize(maximum_retry_count: nil, name: nil)
1457
+ # Some parameter documentations has been truncated, see
1458
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::RestartPolicy}
1459
+ # for more details.
1460
+ #
1461
+ # The behavior to apply when the container exits. The default is not to restart.
1462
+ #
1463
+ # An ever increasing delay (double the previous delay, starting at 100ms) is added
1464
+ # before each restart to prevent flooding the server.
1465
+ #
1466
+ # @param maximum_retry_count [Integer] If `on-failure` is used, the number of times to retry before giving up.
1467
+ #
1468
+ # @param name [Symbol, DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::RestartPolicy::Name] - Empty string means not to restart
1469
+
1470
+ # - Empty string means not to restart
1471
+ # - `no` Do not automatically restart
1472
+ # - `always` Always restart
1473
+ # - `unless-stopped` Restart always except when the user has manually stopped the
1474
+ # container
1475
+ # - `on-failure` Restart only when the container exit code is non-zero
1476
+ #
1477
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::HostConfig::RestartPolicy#name
1478
+ module Name
1479
+ extend DockerEngineAPI::Internal::Type::Enum
1480
+
1481
+ EMPTY = :""
1482
+ NO = :no
1483
+ ALWAYS = :always
1484
+ UNLESS_STOPPED = :"unless-stopped"
1485
+ ON_FAILURE = :"on-failure"
1486
+
1487
+ # @!method self.values
1488
+ # @return [Array<Symbol>]
1489
+ end
1490
+ end
1491
+
1492
+ class Ulimit < DockerEngineAPI::Internal::Type::BaseModel
1493
+ # @!attribute hard
1494
+ # Hard limit
1495
+ #
1496
+ # @return [Integer, nil]
1497
+ optional :hard, Integer, api_name: :Hard
1498
+
1499
+ # @!attribute name
1500
+ # Name of ulimit
1501
+ #
1502
+ # @return [String, nil]
1503
+ optional :name, String, api_name: :Name
1504
+
1505
+ # @!attribute soft
1506
+ # Soft limit
1507
+ #
1508
+ # @return [Integer, nil]
1509
+ optional :soft, Integer, api_name: :Soft
1510
+
1511
+ # @!method initialize(hard: nil, name: nil, soft: nil)
1512
+ # @param hard [Integer] Hard limit
1513
+ #
1514
+ # @param name [String] Name of ulimit
1515
+ #
1516
+ # @param soft [Integer] Soft limit
1517
+ end
1518
+ end
1519
+
1520
+ class NetworkingConfig < DockerEngineAPI::Internal::Type::BaseModel
1521
+ # @!attribute endpoints_config
1522
+ # A mapping of network name to endpoint configuration for that network. The
1523
+ # endpoint configuration can be left empty to connect to that network with no
1524
+ # particular endpoint configuration.
1525
+ #
1526
+ # @return [Hash{Symbol=>DockerEngineAPI::Models::ContainerCreateParams::Config::NetworkingConfig::EndpointsConfig}, nil]
1527
+ optional :endpoints_config,
1528
+ -> {
1529
+ DockerEngineAPI::Internal::Type::HashOf[DockerEngineAPI::ContainerCreateParams::Config::NetworkingConfig::EndpointsConfig]
1530
+ },
1531
+ api_name: :EndpointsConfig
1532
+
1533
+ # @!method initialize(endpoints_config: nil)
1534
+ # Some parameter documentations has been truncated, see
1535
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config::NetworkingConfig} for
1536
+ # more details.
1537
+ #
1538
+ # NetworkingConfig represents the container's networking configuration for each of
1539
+ # its interfaces. It is used for the networking configs specified in the
1540
+ # `docker create` and `docker network connect` commands.
1541
+ #
1542
+ # @param endpoints_config [Hash{Symbol=>DockerEngineAPI::Models::ContainerCreateParams::Config::NetworkingConfig::EndpointsConfig}] A mapping of network name to endpoint configuration for that network.
1543
+
1544
+ class EndpointsConfig < DockerEngineAPI::Internal::Type::BaseModel
1545
+ # @!attribute aliases
1546
+ #
1547
+ # @return [Array<String>, nil]
1548
+ optional :aliases, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :Aliases
1549
+
1550
+ # @!attribute dns_names
1551
+ # List of all DNS names an endpoint has on a specific network. This list is based
1552
+ # on the container name, network aliases, container short ID, and hostname.
1553
+ #
1554
+ # These DNS names are non-fully qualified but can contain several dots. You can
1555
+ # get fully qualified DNS names by appending `.<network-name>`. For instance, if
1556
+ # container name is `my.ctr` and the network is named `testnet`, `DNSNames` will
1557
+ # contain `my.ctr` and the FQDN will be `my.ctr.testnet`.
1558
+ #
1559
+ # @return [Array<String>, nil]
1560
+ optional :dns_names, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :DNSNames
1561
+
1562
+ # @!attribute driver_opts
1563
+ # DriverOpts is a mapping of driver options and values. These options are passed
1564
+ # directly to the driver and are driver specific.
1565
+ #
1566
+ # @return [Hash{Symbol=>String}, nil]
1567
+ optional :driver_opts,
1568
+ DockerEngineAPI::Internal::Type::HashOf[String],
1569
+ api_name: :DriverOpts,
1570
+ nil?: true
1571
+
1572
+ # @!attribute endpoint_id
1573
+ # Unique ID for the service endpoint in a Sandbox.
1574
+ #
1575
+ # @return [String, nil]
1576
+ optional :endpoint_id, String, api_name: :EndpointID
1577
+
1578
+ # @!attribute gateway
1579
+ # Gateway address for this network.
1580
+ #
1581
+ # @return [String, nil]
1582
+ optional :gateway, String, api_name: :Gateway
1583
+
1584
+ # @!attribute global_i_pv6_address
1585
+ # Global IPv6 address.
1586
+ #
1587
+ # @return [String, nil]
1588
+ optional :global_i_pv6_address, String, api_name: :GlobalIPv6Address
1589
+
1590
+ # @!attribute global_i_pv6_prefix_len
1591
+ # Mask length of the global IPv6 address.
1592
+ #
1593
+ # @return [Integer, nil]
1594
+ optional :global_i_pv6_prefix_len, Integer, api_name: :GlobalIPv6PrefixLen
1595
+
1596
+ # @!attribute gw_priority
1597
+ # This property determines which endpoint will provide the default gateway for a
1598
+ # container. The endpoint with the highest priority will be used. If multiple
1599
+ # endpoints have the same priority, endpoints are lexicographically sorted based
1600
+ # on their network name, and the one that sorts first is picked.
1601
+ #
1602
+ # @return [Integer, nil]
1603
+ optional :gw_priority, Integer, api_name: :GwPriority
1604
+
1605
+ # @!attribute ip_address
1606
+ # IPv4 address.
1607
+ #
1608
+ # @return [String, nil]
1609
+ optional :ip_address, String, api_name: :IPAddress
1610
+
1611
+ # @!attribute ipam_config
1612
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
1613
+ #
1614
+ # @return [DockerEngineAPI::Models::ContainerCreateParams::Config::NetworkingConfig::EndpointsConfig::IpamConfig, nil]
1615
+ optional :ipam_config,
1616
+ -> {
1617
+ DockerEngineAPI::ContainerCreateParams::Config::NetworkingConfig::EndpointsConfig::IpamConfig
1618
+ },
1619
+ api_name: :IPAMConfig,
1620
+ nil?: true
1621
+
1622
+ # @!attribute ip_prefix_len
1623
+ # Mask length of the IPv4 address.
1624
+ #
1625
+ # @return [Integer, nil]
1626
+ optional :ip_prefix_len, Integer, api_name: :IPPrefixLen
1627
+
1628
+ # @!attribute i_pv6_gateway
1629
+ # IPv6 gateway address.
1630
+ #
1631
+ # @return [String, nil]
1632
+ optional :i_pv6_gateway, String, api_name: :IPv6Gateway
1633
+
1634
+ # @!attribute links
1635
+ #
1636
+ # @return [Array<String>, nil]
1637
+ optional :links, DockerEngineAPI::Internal::Type::ArrayOf[String], api_name: :Links
1638
+
1639
+ # @!attribute mac_address
1640
+ # MAC address for the endpoint on this network. The network driver might ignore
1641
+ # this parameter.
1642
+ #
1643
+ # @return [String, nil]
1644
+ optional :mac_address, String, api_name: :MacAddress
1645
+
1646
+ # @!attribute network_id
1647
+ # Unique ID of the network.
1648
+ #
1649
+ # @return [String, nil]
1650
+ optional :network_id, String, api_name: :NetworkID
1651
+
1652
+ # @!method initialize(aliases: nil, dns_names: nil, driver_opts: nil, endpoint_id: nil, gateway: nil, global_i_pv6_address: nil, global_i_pv6_prefix_len: nil, gw_priority: nil, ip_address: nil, ipam_config: nil, ip_prefix_len: nil, i_pv6_gateway: nil, links: nil, mac_address: nil, network_id: nil)
1653
+ # Some parameter documentations has been truncated, see
1654
+ # {DockerEngineAPI::Models::ContainerCreateParams::Config::NetworkingConfig::EndpointsConfig}
1655
+ # for more details.
1656
+ #
1657
+ # Configuration for a network endpoint.
1658
+ #
1659
+ # @param aliases [Array<String>]
1660
+ #
1661
+ # @param dns_names [Array<String>] List of all DNS names an endpoint has on a specific network. This
1662
+ #
1663
+ # @param driver_opts [Hash{Symbol=>String}, nil] DriverOpts is a mapping of driver options and values. These options
1664
+ #
1665
+ # @param endpoint_id [String] Unique ID for the service endpoint in a Sandbox.
1666
+ #
1667
+ # @param gateway [String] Gateway address for this network.
1668
+ #
1669
+ # @param global_i_pv6_address [String] Global IPv6 address.
1670
+ #
1671
+ # @param global_i_pv6_prefix_len [Integer] Mask length of the global IPv6 address.
1672
+ #
1673
+ # @param gw_priority [Integer] This property determines which endpoint will provide the default
1674
+ #
1675
+ # @param ip_address [String] IPv4 address.
1676
+ #
1677
+ # @param ipam_config [DockerEngineAPI::Models::ContainerCreateParams::Config::NetworkingConfig::EndpointsConfig::IpamConfig, nil] EndpointIPAMConfig represents an endpoint's IPAM configuration.
1678
+ #
1679
+ # @param ip_prefix_len [Integer] Mask length of the IPv4 address.
1680
+ #
1681
+ # @param i_pv6_gateway [String] IPv6 gateway address.
1682
+ #
1683
+ # @param links [Array<String>]
1684
+ #
1685
+ # @param mac_address [String] MAC address for the endpoint on this network. The network driver might ignore th
1686
+ #
1687
+ # @param network_id [String] Unique ID of the network.
1688
+
1689
+ # @see DockerEngineAPI::Models::ContainerCreateParams::Config::NetworkingConfig::EndpointsConfig#ipam_config
1690
+ class IpamConfig < DockerEngineAPI::Internal::Type::BaseModel
1691
+ # @!attribute i_pv4_address
1692
+ #
1693
+ # @return [String, nil]
1694
+ optional :i_pv4_address, String, api_name: :IPv4Address
1695
+
1696
+ # @!attribute i_pv6_address
1697
+ #
1698
+ # @return [String, nil]
1699
+ optional :i_pv6_address, String, api_name: :IPv6Address
1700
+
1701
+ # @!attribute link_local_ips
1702
+ #
1703
+ # @return [Array<String>, nil]
1704
+ optional :link_local_ips,
1705
+ DockerEngineAPI::Internal::Type::ArrayOf[String],
1706
+ api_name: :LinkLocalIPs
1707
+
1708
+ # @!method initialize(i_pv4_address: nil, i_pv6_address: nil, link_local_ips: nil)
1709
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
1710
+ #
1711
+ # @param i_pv4_address [String]
1712
+ # @param i_pv6_address [String]
1713
+ # @param link_local_ips [Array<String>]
1714
+ end
1715
+ end
1716
+ end
1717
+ end
1718
+ end
1719
+ end
1720
+ end