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,1230 @@
1
+ # typed: strong
2
+
3
+ module DockerEngineAPI
4
+ module Models
5
+ class Volume < DockerEngineAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(DockerEngineAPI::Volume, DockerEngineAPI::Internal::AnyHash)
9
+ end
10
+
11
+ # Name of the volume driver used by the volume.
12
+ sig { returns(String) }
13
+ attr_accessor :driver
14
+
15
+ # User-defined key/value metadata.
16
+ sig { returns(T::Hash[Symbol, String]) }
17
+ attr_accessor :labels
18
+
19
+ # Mount path of the volume on the host.
20
+ sig { returns(String) }
21
+ attr_accessor :mountpoint
22
+
23
+ # Name of the volume.
24
+ sig { returns(String) }
25
+ attr_accessor :name
26
+
27
+ # The driver specific options used when creating the volume.
28
+ sig { returns(T::Hash[Symbol, String]) }
29
+ attr_accessor :options
30
+
31
+ # The level at which the volume exists. Either `global` for cluster-wide, or
32
+ # `local` for machine level.
33
+ sig { returns(DockerEngineAPI::Volume::Scope::TaggedSymbol) }
34
+ attr_accessor :scope
35
+
36
+ # Options and information specific to, and only present on, Swarm CSI cluster
37
+ # volumes.
38
+ sig { returns(T.nilable(DockerEngineAPI::Volume::ClusterVolume)) }
39
+ attr_reader :cluster_volume
40
+
41
+ sig do
42
+ params(
43
+ cluster_volume: DockerEngineAPI::Volume::ClusterVolume::OrHash
44
+ ).void
45
+ end
46
+ attr_writer :cluster_volume
47
+
48
+ # Date/Time the volume was created.
49
+ sig { returns(T.nilable(String)) }
50
+ attr_reader :created_at
51
+
52
+ sig { params(created_at: String).void }
53
+ attr_writer :created_at
54
+
55
+ # Low-level details about the volume, provided by the volume driver. Details are
56
+ # returned as a map with key/value pairs: `{"key":"value","key2":"value2"}`.
57
+ #
58
+ # The `Status` field is optional, and is omitted if the volume driver does not
59
+ # support this feature.
60
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
61
+ attr_reader :status
62
+
63
+ sig { params(status: T::Hash[Symbol, T.anything]).void }
64
+ attr_writer :status
65
+
66
+ # Usage details about the volume. This information is used by the `GET /system/df`
67
+ # endpoint, and omitted in other endpoints.
68
+ sig { returns(T.nilable(DockerEngineAPI::Volume::UsageData)) }
69
+ attr_reader :usage_data
70
+
71
+ sig do
72
+ params(
73
+ usage_data: T.nilable(DockerEngineAPI::Volume::UsageData::OrHash)
74
+ ).void
75
+ end
76
+ attr_writer :usage_data
77
+
78
+ sig do
79
+ params(
80
+ driver: String,
81
+ labels: T::Hash[Symbol, String],
82
+ mountpoint: String,
83
+ name: String,
84
+ options: T::Hash[Symbol, String],
85
+ scope: DockerEngineAPI::Volume::Scope::OrSymbol,
86
+ cluster_volume: DockerEngineAPI::Volume::ClusterVolume::OrHash,
87
+ created_at: String,
88
+ status: T::Hash[Symbol, T.anything],
89
+ usage_data: T.nilable(DockerEngineAPI::Volume::UsageData::OrHash)
90
+ ).returns(T.attached_class)
91
+ end
92
+ def self.new(
93
+ # Name of the volume driver used by the volume.
94
+ driver:,
95
+ # User-defined key/value metadata.
96
+ labels:,
97
+ # Mount path of the volume on the host.
98
+ mountpoint:,
99
+ # Name of the volume.
100
+ name:,
101
+ # The driver specific options used when creating the volume.
102
+ options:,
103
+ # The level at which the volume exists. Either `global` for cluster-wide, or
104
+ # `local` for machine level.
105
+ scope:,
106
+ # Options and information specific to, and only present on, Swarm CSI cluster
107
+ # volumes.
108
+ cluster_volume: nil,
109
+ # Date/Time the volume was created.
110
+ created_at: nil,
111
+ # Low-level details about the volume, provided by the volume driver. Details are
112
+ # returned as a map with key/value pairs: `{"key":"value","key2":"value2"}`.
113
+ #
114
+ # The `Status` field is optional, and is omitted if the volume driver does not
115
+ # support this feature.
116
+ status: nil,
117
+ # Usage details about the volume. This information is used by the `GET /system/df`
118
+ # endpoint, and omitted in other endpoints.
119
+ usage_data: nil
120
+ )
121
+ end
122
+
123
+ sig do
124
+ override.returns(
125
+ {
126
+ driver: String,
127
+ labels: T::Hash[Symbol, String],
128
+ mountpoint: String,
129
+ name: String,
130
+ options: T::Hash[Symbol, String],
131
+ scope: DockerEngineAPI::Volume::Scope::TaggedSymbol,
132
+ cluster_volume: DockerEngineAPI::Volume::ClusterVolume,
133
+ created_at: String,
134
+ status: T::Hash[Symbol, T.anything],
135
+ usage_data: T.nilable(DockerEngineAPI::Volume::UsageData)
136
+ }
137
+ )
138
+ end
139
+ def to_hash
140
+ end
141
+
142
+ # The level at which the volume exists. Either `global` for cluster-wide, or
143
+ # `local` for machine level.
144
+ module Scope
145
+ extend DockerEngineAPI::Internal::Type::Enum
146
+
147
+ TaggedSymbol =
148
+ T.type_alias { T.all(Symbol, DockerEngineAPI::Volume::Scope) }
149
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
150
+
151
+ LOCAL = T.let(:local, DockerEngineAPI::Volume::Scope::TaggedSymbol)
152
+ GLOBAL = T.let(:global, DockerEngineAPI::Volume::Scope::TaggedSymbol)
153
+
154
+ sig do
155
+ override.returns(
156
+ T::Array[DockerEngineAPI::Volume::Scope::TaggedSymbol]
157
+ )
158
+ end
159
+ def self.values
160
+ end
161
+ end
162
+
163
+ class ClusterVolume < DockerEngineAPI::Internal::Type::BaseModel
164
+ OrHash =
165
+ T.type_alias do
166
+ T.any(
167
+ DockerEngineAPI::Volume::ClusterVolume,
168
+ DockerEngineAPI::Internal::AnyHash
169
+ )
170
+ end
171
+
172
+ sig { returns(T.nilable(String)) }
173
+ attr_reader :created_at
174
+
175
+ sig { params(created_at: String).void }
176
+ attr_writer :created_at
177
+
178
+ # The Swarm ID of this volume. Because cluster volumes are Swarm objects, they
179
+ # have an ID, unlike non-cluster volumes. This ID can be used to refer to the
180
+ # Volume instead of the name.
181
+ sig { returns(T.nilable(String)) }
182
+ attr_reader :id
183
+
184
+ sig { params(id: String).void }
185
+ attr_writer :id
186
+
187
+ # Information about the global status of the volume.
188
+ sig { returns(T.nilable(DockerEngineAPI::Volume::ClusterVolume::Info)) }
189
+ attr_reader :info
190
+
191
+ sig do
192
+ params(
193
+ info: DockerEngineAPI::Volume::ClusterVolume::Info::OrHash
194
+ ).void
195
+ end
196
+ attr_writer :info
197
+
198
+ # The status of the volume as it pertains to its publishing and use on specific
199
+ # nodes
200
+ sig do
201
+ returns(
202
+ T.nilable(
203
+ T::Array[DockerEngineAPI::Volume::ClusterVolume::PublishStatus]
204
+ )
205
+ )
206
+ end
207
+ attr_reader :publish_status
208
+
209
+ sig do
210
+ params(
211
+ publish_status:
212
+ T::Array[
213
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::OrHash
214
+ ]
215
+ ).void
216
+ end
217
+ attr_writer :publish_status
218
+
219
+ # Cluster-specific options used to create the volume.
220
+ sig { returns(T.nilable(DockerEngineAPI::Volume::ClusterVolume::Spec)) }
221
+ attr_reader :spec
222
+
223
+ sig do
224
+ params(
225
+ spec: DockerEngineAPI::Volume::ClusterVolume::Spec::OrHash
226
+ ).void
227
+ end
228
+ attr_writer :spec
229
+
230
+ sig { returns(T.nilable(String)) }
231
+ attr_reader :updated_at
232
+
233
+ sig { params(updated_at: String).void }
234
+ attr_writer :updated_at
235
+
236
+ # The version number of the object such as node, service, etc. This is needed to
237
+ # avoid conflicting writes. The client must send the version number along with the
238
+ # modified specification when updating these objects.
239
+ #
240
+ # This approach ensures safe concurrency and determinism in that the change on the
241
+ # object may not be applied if the version number has changed from the last read.
242
+ # In other words, if two update requests specify the same base version, only one
243
+ # of the requests can succeed. As a result, two separate update requests that
244
+ # happen at the same time will not unintentionally overwrite each other.
245
+ sig do
246
+ returns(T.nilable(DockerEngineAPI::Volume::ClusterVolume::Version))
247
+ end
248
+ attr_reader :version
249
+
250
+ sig do
251
+ params(
252
+ version: DockerEngineAPI::Volume::ClusterVolume::Version::OrHash
253
+ ).void
254
+ end
255
+ attr_writer :version
256
+
257
+ # Options and information specific to, and only present on, Swarm CSI cluster
258
+ # volumes.
259
+ sig do
260
+ params(
261
+ created_at: String,
262
+ id: String,
263
+ info: DockerEngineAPI::Volume::ClusterVolume::Info::OrHash,
264
+ publish_status:
265
+ T::Array[
266
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::OrHash
267
+ ],
268
+ spec: DockerEngineAPI::Volume::ClusterVolume::Spec::OrHash,
269
+ updated_at: String,
270
+ version: DockerEngineAPI::Volume::ClusterVolume::Version::OrHash
271
+ ).returns(T.attached_class)
272
+ end
273
+ def self.new(
274
+ created_at: nil,
275
+ # The Swarm ID of this volume. Because cluster volumes are Swarm objects, they
276
+ # have an ID, unlike non-cluster volumes. This ID can be used to refer to the
277
+ # Volume instead of the name.
278
+ id: nil,
279
+ # Information about the global status of the volume.
280
+ info: nil,
281
+ # The status of the volume as it pertains to its publishing and use on specific
282
+ # nodes
283
+ publish_status: nil,
284
+ # Cluster-specific options used to create the volume.
285
+ spec: nil,
286
+ updated_at: nil,
287
+ # The version number of the object such as node, service, etc. This is needed to
288
+ # avoid conflicting writes. The client must send the version number along with the
289
+ # modified specification when updating these objects.
290
+ #
291
+ # This approach ensures safe concurrency and determinism in that the change on the
292
+ # object may not be applied if the version number has changed from the last read.
293
+ # In other words, if two update requests specify the same base version, only one
294
+ # of the requests can succeed. As a result, two separate update requests that
295
+ # happen at the same time will not unintentionally overwrite each other.
296
+ version: nil
297
+ )
298
+ end
299
+
300
+ sig do
301
+ override.returns(
302
+ {
303
+ created_at: String,
304
+ id: String,
305
+ info: DockerEngineAPI::Volume::ClusterVolume::Info,
306
+ publish_status:
307
+ T::Array[DockerEngineAPI::Volume::ClusterVolume::PublishStatus],
308
+ spec: DockerEngineAPI::Volume::ClusterVolume::Spec,
309
+ updated_at: String,
310
+ version: DockerEngineAPI::Volume::ClusterVolume::Version
311
+ }
312
+ )
313
+ end
314
+ def to_hash
315
+ end
316
+
317
+ class Info < DockerEngineAPI::Internal::Type::BaseModel
318
+ OrHash =
319
+ T.type_alias do
320
+ T.any(
321
+ DockerEngineAPI::Volume::ClusterVolume::Info,
322
+ DockerEngineAPI::Internal::AnyHash
323
+ )
324
+ end
325
+
326
+ # The topology this volume is actually accessible from.
327
+ sig { returns(T.nilable(T::Array[T::Hash[Symbol, String]])) }
328
+ attr_reader :accessible_topology
329
+
330
+ sig do
331
+ params(accessible_topology: T::Array[T::Hash[Symbol, String]]).void
332
+ end
333
+ attr_writer :accessible_topology
334
+
335
+ # The capacity of the volume in bytes. A value of 0 indicates that the capacity is
336
+ # unknown.
337
+ sig { returns(T.nilable(Integer)) }
338
+ attr_reader :capacity_bytes
339
+
340
+ sig { params(capacity_bytes: Integer).void }
341
+ attr_writer :capacity_bytes
342
+
343
+ # A map of strings to strings returned from the storage plugin when the volume is
344
+ # created.
345
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
346
+ attr_reader :volume_context
347
+
348
+ sig { params(volume_context: T::Hash[Symbol, String]).void }
349
+ attr_writer :volume_context
350
+
351
+ # The ID of the volume as returned by the CSI storage plugin. This is distinct
352
+ # from the volume's ID as provided by Docker. This ID is never used by the user
353
+ # when communicating with Docker to refer to this volume. If the ID is blank, then
354
+ # the Volume has not been successfully created in the plugin yet.
355
+ sig { returns(T.nilable(String)) }
356
+ attr_reader :volume_id
357
+
358
+ sig { params(volume_id: String).void }
359
+ attr_writer :volume_id
360
+
361
+ # Information about the global status of the volume.
362
+ sig do
363
+ params(
364
+ accessible_topology: T::Array[T::Hash[Symbol, String]],
365
+ capacity_bytes: Integer,
366
+ volume_context: T::Hash[Symbol, String],
367
+ volume_id: String
368
+ ).returns(T.attached_class)
369
+ end
370
+ def self.new(
371
+ # The topology this volume is actually accessible from.
372
+ accessible_topology: nil,
373
+ # The capacity of the volume in bytes. A value of 0 indicates that the capacity is
374
+ # unknown.
375
+ capacity_bytes: nil,
376
+ # A map of strings to strings returned from the storage plugin when the volume is
377
+ # created.
378
+ volume_context: nil,
379
+ # The ID of the volume as returned by the CSI storage plugin. This is distinct
380
+ # from the volume's ID as provided by Docker. This ID is never used by the user
381
+ # when communicating with Docker to refer to this volume. If the ID is blank, then
382
+ # the Volume has not been successfully created in the plugin yet.
383
+ volume_id: nil
384
+ )
385
+ end
386
+
387
+ sig do
388
+ override.returns(
389
+ {
390
+ accessible_topology: T::Array[T::Hash[Symbol, String]],
391
+ capacity_bytes: Integer,
392
+ volume_context: T::Hash[Symbol, String],
393
+ volume_id: String
394
+ }
395
+ )
396
+ end
397
+ def to_hash
398
+ end
399
+ end
400
+
401
+ class PublishStatus < DockerEngineAPI::Internal::Type::BaseModel
402
+ OrHash =
403
+ T.type_alias do
404
+ T.any(
405
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus,
406
+ DockerEngineAPI::Internal::AnyHash
407
+ )
408
+ end
409
+
410
+ # The ID of the Swarm node the volume is published on.
411
+ sig { returns(T.nilable(String)) }
412
+ attr_reader :node_id
413
+
414
+ sig { params(node_id: String).void }
415
+ attr_writer :node_id
416
+
417
+ # A map of strings to strings returned by the CSI controller plugin when a volume
418
+ # is published.
419
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
420
+ attr_reader :publish_context
421
+
422
+ sig { params(publish_context: T::Hash[Symbol, String]).void }
423
+ attr_writer :publish_context
424
+
425
+ # The published state of the volume.
426
+ #
427
+ # - `pending-publish` The volume should be published to this node, but the call to
428
+ # the controller plugin to do so has not yet been successfully completed.
429
+ # - `published` The volume is published successfully to the node.
430
+ # - `pending-node-unpublish` The volume should be unpublished from the node, and
431
+ # the manager is awaiting confirmation from the worker that it has done so.
432
+ # - `pending-controller-unpublish` The volume is successfully unpublished from the
433
+ # node, but has not yet been successfully unpublished on the controller.
434
+ sig do
435
+ returns(
436
+ T.nilable(
437
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State::TaggedSymbol
438
+ )
439
+ )
440
+ end
441
+ attr_reader :state
442
+
443
+ sig do
444
+ params(
445
+ state:
446
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State::OrSymbol
447
+ ).void
448
+ end
449
+ attr_writer :state
450
+
451
+ sig do
452
+ params(
453
+ node_id: String,
454
+ publish_context: T::Hash[Symbol, String],
455
+ state:
456
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State::OrSymbol
457
+ ).returns(T.attached_class)
458
+ end
459
+ def self.new(
460
+ # The ID of the Swarm node the volume is published on.
461
+ node_id: nil,
462
+ # A map of strings to strings returned by the CSI controller plugin when a volume
463
+ # is published.
464
+ publish_context: nil,
465
+ # The published state of the volume.
466
+ #
467
+ # - `pending-publish` The volume should be published to this node, but the call to
468
+ # the controller plugin to do so has not yet been successfully completed.
469
+ # - `published` The volume is published successfully to the node.
470
+ # - `pending-node-unpublish` The volume should be unpublished from the node, and
471
+ # the manager is awaiting confirmation from the worker that it has done so.
472
+ # - `pending-controller-unpublish` The volume is successfully unpublished from the
473
+ # node, but has not yet been successfully unpublished on the controller.
474
+ state: nil
475
+ )
476
+ end
477
+
478
+ sig do
479
+ override.returns(
480
+ {
481
+ node_id: String,
482
+ publish_context: T::Hash[Symbol, String],
483
+ state:
484
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State::TaggedSymbol
485
+ }
486
+ )
487
+ end
488
+ def to_hash
489
+ end
490
+
491
+ # The published state of the volume.
492
+ #
493
+ # - `pending-publish` The volume should be published to this node, but the call to
494
+ # the controller plugin to do so has not yet been successfully completed.
495
+ # - `published` The volume is published successfully to the node.
496
+ # - `pending-node-unpublish` The volume should be unpublished from the node, and
497
+ # the manager is awaiting confirmation from the worker that it has done so.
498
+ # - `pending-controller-unpublish` The volume is successfully unpublished from the
499
+ # node, but has not yet been successfully unpublished on the controller.
500
+ module State
501
+ extend DockerEngineAPI::Internal::Type::Enum
502
+
503
+ TaggedSymbol =
504
+ T.type_alias do
505
+ T.all(
506
+ Symbol,
507
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State
508
+ )
509
+ end
510
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
511
+
512
+ PENDING_PUBLISH =
513
+ T.let(
514
+ :"pending-publish",
515
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State::TaggedSymbol
516
+ )
517
+ PUBLISHED =
518
+ T.let(
519
+ :published,
520
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State::TaggedSymbol
521
+ )
522
+ PENDING_NODE_UNPUBLISH =
523
+ T.let(
524
+ :"pending-node-unpublish",
525
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State::TaggedSymbol
526
+ )
527
+ PENDING_CONTROLLER_UNPUBLISH =
528
+ T.let(
529
+ :"pending-controller-unpublish",
530
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State::TaggedSymbol
531
+ )
532
+
533
+ sig do
534
+ override.returns(
535
+ T::Array[
536
+ DockerEngineAPI::Volume::ClusterVolume::PublishStatus::State::TaggedSymbol
537
+ ]
538
+ )
539
+ end
540
+ def self.values
541
+ end
542
+ end
543
+ end
544
+
545
+ class Spec < DockerEngineAPI::Internal::Type::BaseModel
546
+ OrHash =
547
+ T.type_alias do
548
+ T.any(
549
+ DockerEngineAPI::Volume::ClusterVolume::Spec,
550
+ DockerEngineAPI::Internal::AnyHash
551
+ )
552
+ end
553
+
554
+ # Defines how the volume is used by tasks.
555
+ sig do
556
+ returns(
557
+ T.nilable(
558
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode
559
+ )
560
+ )
561
+ end
562
+ attr_reader :access_mode
563
+
564
+ sig do
565
+ params(
566
+ access_mode:
567
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::OrHash
568
+ ).void
569
+ end
570
+ attr_writer :access_mode
571
+
572
+ # Group defines the volume group of this volume. Volumes belonging to the same
573
+ # group can be referred to by group name when creating Services. Referring to a
574
+ # volume by group instructs Swarm to treat volumes in that group interchangeably
575
+ # for the purpose of scheduling. Volumes with an empty string for a group
576
+ # technically all belong to the same, emptystring group.
577
+ sig { returns(T.nilable(String)) }
578
+ attr_reader :group
579
+
580
+ sig { params(group: String).void }
581
+ attr_writer :group
582
+
583
+ # Cluster-specific options used to create the volume.
584
+ sig do
585
+ params(
586
+ access_mode:
587
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::OrHash,
588
+ group: String
589
+ ).returns(T.attached_class)
590
+ end
591
+ def self.new(
592
+ # Defines how the volume is used by tasks.
593
+ access_mode: nil,
594
+ # Group defines the volume group of this volume. Volumes belonging to the same
595
+ # group can be referred to by group name when creating Services. Referring to a
596
+ # volume by group instructs Swarm to treat volumes in that group interchangeably
597
+ # for the purpose of scheduling. Volumes with an empty string for a group
598
+ # technically all belong to the same, emptystring group.
599
+ group: nil
600
+ )
601
+ end
602
+
603
+ sig do
604
+ override.returns(
605
+ {
606
+ access_mode:
607
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode,
608
+ group: String
609
+ }
610
+ )
611
+ end
612
+ def to_hash
613
+ end
614
+
615
+ class AccessMode < DockerEngineAPI::Internal::Type::BaseModel
616
+ OrHash =
617
+ T.type_alias do
618
+ T.any(
619
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode,
620
+ DockerEngineAPI::Internal::AnyHash
621
+ )
622
+ end
623
+
624
+ # Requirements for the accessible topology of the volume. These fields are
625
+ # optional. For an in-depth description of what these fields mean, see the CSI
626
+ # specification.
627
+ sig do
628
+ returns(
629
+ T.nilable(
630
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::AccessibilityRequirements
631
+ )
632
+ )
633
+ end
634
+ attr_reader :accessibility_requirements
635
+
636
+ sig do
637
+ params(
638
+ accessibility_requirements:
639
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::AccessibilityRequirements::OrHash
640
+ ).void
641
+ end
642
+ attr_writer :accessibility_requirements
643
+
644
+ # The availability of the volume for use in tasks.
645
+ #
646
+ # - `active` The volume is fully available for scheduling on the cluster
647
+ # - `pause` No new workloads should use the volume, but existing workloads are not
648
+ # stopped.
649
+ # - `drain` All workloads using this volume should be stopped and rescheduled, and
650
+ # no new ones should be started.
651
+ sig do
652
+ returns(
653
+ T.nilable(
654
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Availability::TaggedSymbol
655
+ )
656
+ )
657
+ end
658
+ attr_reader :availability
659
+
660
+ sig do
661
+ params(
662
+ availability:
663
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Availability::OrSymbol
664
+ ).void
665
+ end
666
+ attr_writer :availability
667
+
668
+ # The desired capacity that the volume should be created with. If empty, the
669
+ # plugin will decide the capacity.
670
+ sig do
671
+ returns(
672
+ T.nilable(
673
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::CapacityRange
674
+ )
675
+ )
676
+ end
677
+ attr_reader :capacity_range
678
+
679
+ sig do
680
+ params(
681
+ capacity_range:
682
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::CapacityRange::OrHash
683
+ ).void
684
+ end
685
+ attr_writer :capacity_range
686
+
687
+ # Options for using this volume as a Mount-type volume.
688
+ #
689
+ # Either MountVolume or BlockVolume, but not both, must be
690
+ # present.
691
+ #
692
+ # properties: FsType: type: "string" description: | Specifies the filesystem type
693
+ # for the mount volume. Optional. MountFlags: type: "array" description: | Flags
694
+ # to pass when mounting the volume. Optional. items: type: "string" BlockVolume:
695
+ # type: "object" description: | Options for using this volume as a Block-type
696
+ # volume. Intentionally empty.
697
+ sig { returns(T.nilable(T.anything)) }
698
+ attr_reader :mount_volume
699
+
700
+ sig { params(mount_volume: T.anything).void }
701
+ attr_writer :mount_volume
702
+
703
+ # The set of nodes this volume can be used on at one time.
704
+ #
705
+ # - `single` The volume may only be scheduled to one node at a time.
706
+ # - `multi` the volume may be scheduled to any supported number of nodes at a
707
+ # time.
708
+ sig do
709
+ returns(
710
+ T.nilable(
711
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Scope::TaggedSymbol
712
+ )
713
+ )
714
+ end
715
+ attr_reader :scope
716
+
717
+ sig do
718
+ params(
719
+ scope:
720
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Scope::OrSymbol
721
+ ).void
722
+ end
723
+ attr_writer :scope
724
+
725
+ # Swarm Secrets that are passed to the CSI storage plugin when operating on this
726
+ # volume.
727
+ sig do
728
+ returns(
729
+ T.nilable(
730
+ T::Array[
731
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Secret
732
+ ]
733
+ )
734
+ )
735
+ end
736
+ attr_reader :secrets
737
+
738
+ sig do
739
+ params(
740
+ secrets:
741
+ T::Array[
742
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Secret::OrHash
743
+ ]
744
+ ).void
745
+ end
746
+ attr_writer :secrets
747
+
748
+ # The number and way that different tasks can use this volume at one time.
749
+ #
750
+ # - `none` The volume may only be used by one task at a time.
751
+ # - `readonly` The volume may be used by any number of tasks, but they all must
752
+ # mount the volume as readonly
753
+ # - `onewriter` The volume may be used by any number of tasks, but only one may
754
+ # mount it as read/write.
755
+ # - `all` The volume may have any number of readers and writers.
756
+ sig do
757
+ returns(
758
+ T.nilable(
759
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing::TaggedSymbol
760
+ )
761
+ )
762
+ end
763
+ attr_reader :sharing
764
+
765
+ sig do
766
+ params(
767
+ sharing:
768
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing::OrSymbol
769
+ ).void
770
+ end
771
+ attr_writer :sharing
772
+
773
+ # Defines how the volume is used by tasks.
774
+ sig do
775
+ params(
776
+ accessibility_requirements:
777
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::AccessibilityRequirements::OrHash,
778
+ availability:
779
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Availability::OrSymbol,
780
+ capacity_range:
781
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::CapacityRange::OrHash,
782
+ mount_volume: T.anything,
783
+ scope:
784
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Scope::OrSymbol,
785
+ secrets:
786
+ T::Array[
787
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Secret::OrHash
788
+ ],
789
+ sharing:
790
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing::OrSymbol
791
+ ).returns(T.attached_class)
792
+ end
793
+ def self.new(
794
+ # Requirements for the accessible topology of the volume. These fields are
795
+ # optional. For an in-depth description of what these fields mean, see the CSI
796
+ # specification.
797
+ accessibility_requirements: nil,
798
+ # The availability of the volume for use in tasks.
799
+ #
800
+ # - `active` The volume is fully available for scheduling on the cluster
801
+ # - `pause` No new workloads should use the volume, but existing workloads are not
802
+ # stopped.
803
+ # - `drain` All workloads using this volume should be stopped and rescheduled, and
804
+ # no new ones should be started.
805
+ availability: nil,
806
+ # The desired capacity that the volume should be created with. If empty, the
807
+ # plugin will decide the capacity.
808
+ capacity_range: nil,
809
+ # Options for using this volume as a Mount-type volume.
810
+ #
811
+ # Either MountVolume or BlockVolume, but not both, must be
812
+ # present.
813
+ #
814
+ # properties: FsType: type: "string" description: | Specifies the filesystem type
815
+ # for the mount volume. Optional. MountFlags: type: "array" description: | Flags
816
+ # to pass when mounting the volume. Optional. items: type: "string" BlockVolume:
817
+ # type: "object" description: | Options for using this volume as a Block-type
818
+ # volume. Intentionally empty.
819
+ mount_volume: nil,
820
+ # The set of nodes this volume can be used on at one time.
821
+ #
822
+ # - `single` The volume may only be scheduled to one node at a time.
823
+ # - `multi` the volume may be scheduled to any supported number of nodes at a
824
+ # time.
825
+ scope: nil,
826
+ # Swarm Secrets that are passed to the CSI storage plugin when operating on this
827
+ # volume.
828
+ secrets: nil,
829
+ # The number and way that different tasks can use this volume at one time.
830
+ #
831
+ # - `none` The volume may only be used by one task at a time.
832
+ # - `readonly` The volume may be used by any number of tasks, but they all must
833
+ # mount the volume as readonly
834
+ # - `onewriter` The volume may be used by any number of tasks, but only one may
835
+ # mount it as read/write.
836
+ # - `all` The volume may have any number of readers and writers.
837
+ sharing: nil
838
+ )
839
+ end
840
+
841
+ sig do
842
+ override.returns(
843
+ {
844
+ accessibility_requirements:
845
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::AccessibilityRequirements,
846
+ availability:
847
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Availability::TaggedSymbol,
848
+ capacity_range:
849
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::CapacityRange,
850
+ mount_volume: T.anything,
851
+ scope:
852
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Scope::TaggedSymbol,
853
+ secrets:
854
+ T::Array[
855
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Secret
856
+ ],
857
+ sharing:
858
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing::TaggedSymbol
859
+ }
860
+ )
861
+ end
862
+ def to_hash
863
+ end
864
+
865
+ class AccessibilityRequirements < DockerEngineAPI::Internal::Type::BaseModel
866
+ OrHash =
867
+ T.type_alias do
868
+ T.any(
869
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::AccessibilityRequirements,
870
+ DockerEngineAPI::Internal::AnyHash
871
+ )
872
+ end
873
+
874
+ # A list of topologies that the volume should attempt to be provisioned in.
875
+ sig { returns(T.nilable(T::Array[T::Hash[Symbol, String]])) }
876
+ attr_reader :preferred
877
+
878
+ sig { params(preferred: T::Array[T::Hash[Symbol, String]]).void }
879
+ attr_writer :preferred
880
+
881
+ # A list of required topologies, at least one of which the volume must be
882
+ # accessible from.
883
+ sig { returns(T.nilable(T::Array[T::Hash[Symbol, String]])) }
884
+ attr_reader :requisite
885
+
886
+ sig { params(requisite: T::Array[T::Hash[Symbol, String]]).void }
887
+ attr_writer :requisite
888
+
889
+ # Requirements for the accessible topology of the volume. These fields are
890
+ # optional. For an in-depth description of what these fields mean, see the CSI
891
+ # specification.
892
+ sig do
893
+ params(
894
+ preferred: T::Array[T::Hash[Symbol, String]],
895
+ requisite: T::Array[T::Hash[Symbol, String]]
896
+ ).returns(T.attached_class)
897
+ end
898
+ def self.new(
899
+ # A list of topologies that the volume should attempt to be provisioned in.
900
+ preferred: nil,
901
+ # A list of required topologies, at least one of which the volume must be
902
+ # accessible from.
903
+ requisite: nil
904
+ )
905
+ end
906
+
907
+ sig do
908
+ override.returns(
909
+ {
910
+ preferred: T::Array[T::Hash[Symbol, String]],
911
+ requisite: T::Array[T::Hash[Symbol, String]]
912
+ }
913
+ )
914
+ end
915
+ def to_hash
916
+ end
917
+ end
918
+
919
+ # The availability of the volume for use in tasks.
920
+ #
921
+ # - `active` The volume is fully available for scheduling on the cluster
922
+ # - `pause` No new workloads should use the volume, but existing workloads are not
923
+ # stopped.
924
+ # - `drain` All workloads using this volume should be stopped and rescheduled, and
925
+ # no new ones should be started.
926
+ module Availability
927
+ extend DockerEngineAPI::Internal::Type::Enum
928
+
929
+ TaggedSymbol =
930
+ T.type_alias do
931
+ T.all(
932
+ Symbol,
933
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Availability
934
+ )
935
+ end
936
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
937
+
938
+ ACTIVE =
939
+ T.let(
940
+ :active,
941
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Availability::TaggedSymbol
942
+ )
943
+ PAUSE =
944
+ T.let(
945
+ :pause,
946
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Availability::TaggedSymbol
947
+ )
948
+ DRAIN =
949
+ T.let(
950
+ :drain,
951
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Availability::TaggedSymbol
952
+ )
953
+
954
+ sig do
955
+ override.returns(
956
+ T::Array[
957
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Availability::TaggedSymbol
958
+ ]
959
+ )
960
+ end
961
+ def self.values
962
+ end
963
+ end
964
+
965
+ class CapacityRange < DockerEngineAPI::Internal::Type::BaseModel
966
+ OrHash =
967
+ T.type_alias do
968
+ T.any(
969
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::CapacityRange,
970
+ DockerEngineAPI::Internal::AnyHash
971
+ )
972
+ end
973
+
974
+ # The volume must not be bigger than this. The value of 0 indicates an unspecified
975
+ # maximum.
976
+ sig { returns(T.nilable(Integer)) }
977
+ attr_reader :limit_bytes
978
+
979
+ sig { params(limit_bytes: Integer).void }
980
+ attr_writer :limit_bytes
981
+
982
+ # The volume must be at least this big. The value of 0 indicates an unspecified
983
+ # minimum
984
+ sig { returns(T.nilable(Integer)) }
985
+ attr_reader :required_bytes
986
+
987
+ sig { params(required_bytes: Integer).void }
988
+ attr_writer :required_bytes
989
+
990
+ # The desired capacity that the volume should be created with. If empty, the
991
+ # plugin will decide the capacity.
992
+ sig do
993
+ params(limit_bytes: Integer, required_bytes: Integer).returns(
994
+ T.attached_class
995
+ )
996
+ end
997
+ def self.new(
998
+ # The volume must not be bigger than this. The value of 0 indicates an unspecified
999
+ # maximum.
1000
+ limit_bytes: nil,
1001
+ # The volume must be at least this big. The value of 0 indicates an unspecified
1002
+ # minimum
1003
+ required_bytes: nil
1004
+ )
1005
+ end
1006
+
1007
+ sig do
1008
+ override.returns(
1009
+ { limit_bytes: Integer, required_bytes: Integer }
1010
+ )
1011
+ end
1012
+ def to_hash
1013
+ end
1014
+ end
1015
+
1016
+ # The set of nodes this volume can be used on at one time.
1017
+ #
1018
+ # - `single` The volume may only be scheduled to one node at a time.
1019
+ # - `multi` the volume may be scheduled to any supported number of nodes at a
1020
+ # time.
1021
+ module Scope
1022
+ extend DockerEngineAPI::Internal::Type::Enum
1023
+
1024
+ TaggedSymbol =
1025
+ T.type_alias do
1026
+ T.all(
1027
+ Symbol,
1028
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Scope
1029
+ )
1030
+ end
1031
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1032
+
1033
+ SINGLE =
1034
+ T.let(
1035
+ :single,
1036
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Scope::TaggedSymbol
1037
+ )
1038
+ MULTI =
1039
+ T.let(
1040
+ :multi,
1041
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Scope::TaggedSymbol
1042
+ )
1043
+
1044
+ sig do
1045
+ override.returns(
1046
+ T::Array[
1047
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Scope::TaggedSymbol
1048
+ ]
1049
+ )
1050
+ end
1051
+ def self.values
1052
+ end
1053
+ end
1054
+
1055
+ class Secret < DockerEngineAPI::Internal::Type::BaseModel
1056
+ OrHash =
1057
+ T.type_alias do
1058
+ T.any(
1059
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Secret,
1060
+ DockerEngineAPI::Internal::AnyHash
1061
+ )
1062
+ end
1063
+
1064
+ # Key is the name of the key of the key-value pair passed to the plugin.
1065
+ sig { returns(T.nilable(String)) }
1066
+ attr_reader :key
1067
+
1068
+ sig { params(key: String).void }
1069
+ attr_writer :key
1070
+
1071
+ # Secret is the swarm Secret object from which to read data. This can be a Secret
1072
+ # name or ID. The Secret data is retrieved by swarm and used as the value of the
1073
+ # key-value pair passed to the plugin.
1074
+ sig { returns(T.nilable(String)) }
1075
+ attr_reader :secret
1076
+
1077
+ sig { params(secret: String).void }
1078
+ attr_writer :secret
1079
+
1080
+ # One cluster volume secret entry. Defines a key-value pair that is passed to the
1081
+ # plugin.
1082
+ sig do
1083
+ params(key: String, secret: String).returns(T.attached_class)
1084
+ end
1085
+ def self.new(
1086
+ # Key is the name of the key of the key-value pair passed to the plugin.
1087
+ key: nil,
1088
+ # Secret is the swarm Secret object from which to read data. This can be a Secret
1089
+ # name or ID. The Secret data is retrieved by swarm and used as the value of the
1090
+ # key-value pair passed to the plugin.
1091
+ secret: nil
1092
+ )
1093
+ end
1094
+
1095
+ sig { override.returns({ key: String, secret: String }) }
1096
+ def to_hash
1097
+ end
1098
+ end
1099
+
1100
+ # The number and way that different tasks can use this volume at one time.
1101
+ #
1102
+ # - `none` The volume may only be used by one task at a time.
1103
+ # - `readonly` The volume may be used by any number of tasks, but they all must
1104
+ # mount the volume as readonly
1105
+ # - `onewriter` The volume may be used by any number of tasks, but only one may
1106
+ # mount it as read/write.
1107
+ # - `all` The volume may have any number of readers and writers.
1108
+ module Sharing
1109
+ extend DockerEngineAPI::Internal::Type::Enum
1110
+
1111
+ TaggedSymbol =
1112
+ T.type_alias do
1113
+ T.all(
1114
+ Symbol,
1115
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing
1116
+ )
1117
+ end
1118
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1119
+
1120
+ NONE =
1121
+ T.let(
1122
+ :none,
1123
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing::TaggedSymbol
1124
+ )
1125
+ READONLY =
1126
+ T.let(
1127
+ :readonly,
1128
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing::TaggedSymbol
1129
+ )
1130
+ ONEWRITER =
1131
+ T.let(
1132
+ :onewriter,
1133
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing::TaggedSymbol
1134
+ )
1135
+ ALL =
1136
+ T.let(
1137
+ :all,
1138
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing::TaggedSymbol
1139
+ )
1140
+
1141
+ sig do
1142
+ override.returns(
1143
+ T::Array[
1144
+ DockerEngineAPI::Volume::ClusterVolume::Spec::AccessMode::Sharing::TaggedSymbol
1145
+ ]
1146
+ )
1147
+ end
1148
+ def self.values
1149
+ end
1150
+ end
1151
+ end
1152
+ end
1153
+
1154
+ class Version < DockerEngineAPI::Internal::Type::BaseModel
1155
+ OrHash =
1156
+ T.type_alias do
1157
+ T.any(
1158
+ DockerEngineAPI::Volume::ClusterVolume::Version,
1159
+ DockerEngineAPI::Internal::AnyHash
1160
+ )
1161
+ end
1162
+
1163
+ sig { returns(T.nilable(Integer)) }
1164
+ attr_reader :index
1165
+
1166
+ sig { params(index: Integer).void }
1167
+ attr_writer :index
1168
+
1169
+ # The version number of the object such as node, service, etc. This is needed to
1170
+ # avoid conflicting writes. The client must send the version number along with the
1171
+ # modified specification when updating these objects.
1172
+ #
1173
+ # This approach ensures safe concurrency and determinism in that the change on the
1174
+ # object may not be applied if the version number has changed from the last read.
1175
+ # In other words, if two update requests specify the same base version, only one
1176
+ # of the requests can succeed. As a result, two separate update requests that
1177
+ # happen at the same time will not unintentionally overwrite each other.
1178
+ sig { params(index: Integer).returns(T.attached_class) }
1179
+ def self.new(index: nil)
1180
+ end
1181
+
1182
+ sig { override.returns({ index: Integer }) }
1183
+ def to_hash
1184
+ end
1185
+ end
1186
+ end
1187
+
1188
+ class UsageData < DockerEngineAPI::Internal::Type::BaseModel
1189
+ OrHash =
1190
+ T.type_alias do
1191
+ T.any(
1192
+ DockerEngineAPI::Volume::UsageData,
1193
+ DockerEngineAPI::Internal::AnyHash
1194
+ )
1195
+ end
1196
+
1197
+ # The number of containers referencing this volume. This field is set to `-1` if
1198
+ # the reference-count is not available.
1199
+ sig { returns(Integer) }
1200
+ attr_accessor :ref_count
1201
+
1202
+ # Amount of disk space used by the volume (in bytes). This information is only
1203
+ # available for volumes created with the `"local"` volume driver. For volumes
1204
+ # created with other volume drivers, this field is set to `-1` ("not available")
1205
+ sig { returns(Integer) }
1206
+ attr_accessor :size
1207
+
1208
+ # Usage details about the volume. This information is used by the `GET /system/df`
1209
+ # endpoint, and omitted in other endpoints.
1210
+ sig do
1211
+ params(ref_count: Integer, size: Integer).returns(T.attached_class)
1212
+ end
1213
+ def self.new(
1214
+ # The number of containers referencing this volume. This field is set to `-1` if
1215
+ # the reference-count is not available.
1216
+ ref_count:,
1217
+ # Amount of disk space used by the volume (in bytes). This information is only
1218
+ # available for volumes created with the `"local"` volume driver. For volumes
1219
+ # created with other volume drivers, this field is set to `-1` ("not available")
1220
+ size:
1221
+ )
1222
+ end
1223
+
1224
+ sig { override.returns({ ref_count: Integer, size: Integer }) }
1225
+ def to_hash
1226
+ end
1227
+ end
1228
+ end
1229
+ end
1230
+ end