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,2353 @@
1
+ # typed: strong
2
+
3
+ module DockerEngineAPI
4
+ module Models
5
+ class Image < DockerEngineAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(DockerEngineAPI::Image, DockerEngineAPI::Internal::AnyHash)
9
+ end
10
+
11
+ # Hardware CPU architecture that the image runs on.
12
+ sig { returns(T.nilable(String)) }
13
+ attr_reader :architecture
14
+
15
+ sig { params(architecture: String).void }
16
+ attr_writer :architecture
17
+
18
+ # Name of the author that was specified when committing the image, or as specified
19
+ # through MAINTAINER (deprecated) in the Dockerfile.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :author
22
+
23
+ # Optional message that was set when committing or importing the image.
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :comment
26
+
27
+ # Configuration of the image. These fields are used as defaults when starting a
28
+ # container from the image.
29
+ sig { returns(T.nilable(DockerEngineAPI::Image::Config)) }
30
+ attr_reader :config
31
+
32
+ sig { params(config: DockerEngineAPI::Image::Config::OrHash).void }
33
+ attr_writer :config
34
+
35
+ # Date and time at which the image was created, formatted in
36
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
37
+ #
38
+ # This information is only available if present in the image, and omitted
39
+ # otherwise.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :created
42
+
43
+ # A descriptor struct containing digest, media type, and size, as defined in the
44
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
45
+ sig { returns(T.nilable(DockerEngineAPI::Image::Descriptor)) }
46
+ attr_reader :descriptor
47
+
48
+ sig do
49
+ params(descriptor: DockerEngineAPI::Image::Descriptor::OrHash).void
50
+ end
51
+ attr_writer :descriptor
52
+
53
+ # Information about the storage driver used to store the container's and image's
54
+ # filesystem.
55
+ sig { returns(T.nilable(DockerEngineAPI::Image::GraphDriver)) }
56
+ attr_reader :graph_driver
57
+
58
+ sig do
59
+ params(graph_driver: DockerEngineAPI::Image::GraphDriver::OrHash).void
60
+ end
61
+ attr_writer :graph_driver
62
+
63
+ # ID is the content-addressable ID of an image.
64
+ #
65
+ # This identifier is a content-addressable digest calculated from the image's
66
+ # configuration (which includes the digests of layers used by the image).
67
+ #
68
+ # Note that this digest differs from the `RepoDigests` below, which holds digests
69
+ # of image manifests that reference the image.
70
+ sig { returns(T.nilable(String)) }
71
+ attr_reader :id
72
+
73
+ sig { params(id: String).void }
74
+ attr_writer :id
75
+
76
+ # Identity holds information about the identity and origin of the image. This is
77
+ # trusted information verified by the daemon and cannot be modified by tagging an
78
+ # image to a different name.
79
+ sig { returns(T.nilable(DockerEngineAPI::Image::Identity)) }
80
+ attr_reader :identity
81
+
82
+ sig { params(identity: DockerEngineAPI::Image::Identity::OrHash).void }
83
+ attr_writer :identity
84
+
85
+ # Manifests is a list of image manifests available in this image. It provides a
86
+ # more detailed view of the platform-specific image manifests or other
87
+ # image-attached data like build attestations.
88
+ #
89
+ # Only available if the daemon provides a multi-platform image store and the
90
+ # `manifests` option is set in the inspect request.
91
+ #
92
+ # WARNING: This is experimental and may change at any time without any backward
93
+ # compatibility.
94
+ sig { returns(T.nilable(T::Array[DockerEngineAPI::Image::Manifest])) }
95
+ attr_accessor :manifests
96
+
97
+ # Additional metadata of the image in the local cache. This information is local
98
+ # to the daemon, and not part of the image itself.
99
+ sig { returns(T.nilable(DockerEngineAPI::Image::Metadata)) }
100
+ attr_reader :metadata
101
+
102
+ sig { params(metadata: DockerEngineAPI::Image::Metadata::OrHash).void }
103
+ attr_writer :metadata
104
+
105
+ # Operating System the image is built to run on.
106
+ sig { returns(T.nilable(String)) }
107
+ attr_reader :os
108
+
109
+ sig { params(os: String).void }
110
+ attr_writer :os
111
+
112
+ # Operating System version the image is built to run on (especially for Windows).
113
+ sig { returns(T.nilable(String)) }
114
+ attr_accessor :os_version
115
+
116
+ # List of content-addressable digests of locally available image manifests that
117
+ # the image is referenced from. Multiple manifests can refer to the same image.
118
+ #
119
+ # These digests are usually only available if the image was either pulled from a
120
+ # registry, or if the image was pushed to a registry, which is when the manifest
121
+ # is generated and its digest calculated.
122
+ sig { returns(T.nilable(T::Array[String])) }
123
+ attr_reader :repo_digests
124
+
125
+ sig { params(repo_digests: T::Array[String]).void }
126
+ attr_writer :repo_digests
127
+
128
+ # List of image names/tags in the local image cache that reference this image.
129
+ #
130
+ # Multiple image tags can refer to the same image, and this list may be empty if
131
+ # no tags reference the image, in which case the image is "untagged", in which
132
+ # case it can still be referenced by its ID.
133
+ sig { returns(T.nilable(T::Array[String])) }
134
+ attr_reader :repo_tags
135
+
136
+ sig { params(repo_tags: T::Array[String]).void }
137
+ attr_writer :repo_tags
138
+
139
+ # Information about the image's RootFS, including the layer IDs.
140
+ sig { returns(T.nilable(DockerEngineAPI::Image::RootFs)) }
141
+ attr_reader :root_fs
142
+
143
+ sig { params(root_fs: DockerEngineAPI::Image::RootFs::OrHash).void }
144
+ attr_writer :root_fs
145
+
146
+ # Total size of the image including all layers it is composed of.
147
+ sig { returns(T.nilable(Integer)) }
148
+ attr_reader :size
149
+
150
+ sig { params(size: Integer).void }
151
+ attr_writer :size
152
+
153
+ # CPU architecture variant (presently ARM-only).
154
+ sig { returns(T.nilable(String)) }
155
+ attr_accessor :variant
156
+
157
+ # Information about an image in the local image cache.
158
+ sig do
159
+ params(
160
+ architecture: String,
161
+ author: T.nilable(String),
162
+ comment: T.nilable(String),
163
+ config: DockerEngineAPI::Image::Config::OrHash,
164
+ created: T.nilable(String),
165
+ descriptor: DockerEngineAPI::Image::Descriptor::OrHash,
166
+ graph_driver: DockerEngineAPI::Image::GraphDriver::OrHash,
167
+ id: String,
168
+ identity: DockerEngineAPI::Image::Identity::OrHash,
169
+ manifests:
170
+ T.nilable(T::Array[DockerEngineAPI::Image::Manifest::OrHash]),
171
+ metadata: DockerEngineAPI::Image::Metadata::OrHash,
172
+ os: String,
173
+ os_version: T.nilable(String),
174
+ repo_digests: T::Array[String],
175
+ repo_tags: T::Array[String],
176
+ root_fs: DockerEngineAPI::Image::RootFs::OrHash,
177
+ size: Integer,
178
+ variant: T.nilable(String)
179
+ ).returns(T.attached_class)
180
+ end
181
+ def self.new(
182
+ # Hardware CPU architecture that the image runs on.
183
+ architecture: nil,
184
+ # Name of the author that was specified when committing the image, or as specified
185
+ # through MAINTAINER (deprecated) in the Dockerfile.
186
+ author: nil,
187
+ # Optional message that was set when committing or importing the image.
188
+ comment: nil,
189
+ # Configuration of the image. These fields are used as defaults when starting a
190
+ # container from the image.
191
+ config: nil,
192
+ # Date and time at which the image was created, formatted in
193
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
194
+ #
195
+ # This information is only available if present in the image, and omitted
196
+ # otherwise.
197
+ created: nil,
198
+ # A descriptor struct containing digest, media type, and size, as defined in the
199
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
200
+ descriptor: nil,
201
+ # Information about the storage driver used to store the container's and image's
202
+ # filesystem.
203
+ graph_driver: nil,
204
+ # ID is the content-addressable ID of an image.
205
+ #
206
+ # This identifier is a content-addressable digest calculated from the image's
207
+ # configuration (which includes the digests of layers used by the image).
208
+ #
209
+ # Note that this digest differs from the `RepoDigests` below, which holds digests
210
+ # of image manifests that reference the image.
211
+ id: nil,
212
+ # Identity holds information about the identity and origin of the image. This is
213
+ # trusted information verified by the daemon and cannot be modified by tagging an
214
+ # image to a different name.
215
+ identity: nil,
216
+ # Manifests is a list of image manifests available in this image. It provides a
217
+ # more detailed view of the platform-specific image manifests or other
218
+ # image-attached data like build attestations.
219
+ #
220
+ # Only available if the daemon provides a multi-platform image store and the
221
+ # `manifests` option is set in the inspect request.
222
+ #
223
+ # WARNING: This is experimental and may change at any time without any backward
224
+ # compatibility.
225
+ manifests: nil,
226
+ # Additional metadata of the image in the local cache. This information is local
227
+ # to the daemon, and not part of the image itself.
228
+ metadata: nil,
229
+ # Operating System the image is built to run on.
230
+ os: nil,
231
+ # Operating System version the image is built to run on (especially for Windows).
232
+ os_version: nil,
233
+ # List of content-addressable digests of locally available image manifests that
234
+ # the image is referenced from. Multiple manifests can refer to the same image.
235
+ #
236
+ # These digests are usually only available if the image was either pulled from a
237
+ # registry, or if the image was pushed to a registry, which is when the manifest
238
+ # is generated and its digest calculated.
239
+ repo_digests: nil,
240
+ # List of image names/tags in the local image cache that reference this image.
241
+ #
242
+ # Multiple image tags can refer to the same image, and this list may be empty if
243
+ # no tags reference the image, in which case the image is "untagged", in which
244
+ # case it can still be referenced by its ID.
245
+ repo_tags: nil,
246
+ # Information about the image's RootFS, including the layer IDs.
247
+ root_fs: nil,
248
+ # Total size of the image including all layers it is composed of.
249
+ size: nil,
250
+ # CPU architecture variant (presently ARM-only).
251
+ variant: nil
252
+ )
253
+ end
254
+
255
+ sig do
256
+ override.returns(
257
+ {
258
+ architecture: String,
259
+ author: T.nilable(String),
260
+ comment: T.nilable(String),
261
+ config: DockerEngineAPI::Image::Config,
262
+ created: T.nilable(String),
263
+ descriptor: DockerEngineAPI::Image::Descriptor,
264
+ graph_driver: DockerEngineAPI::Image::GraphDriver,
265
+ id: String,
266
+ identity: DockerEngineAPI::Image::Identity,
267
+ manifests: T.nilable(T::Array[DockerEngineAPI::Image::Manifest]),
268
+ metadata: DockerEngineAPI::Image::Metadata,
269
+ os: String,
270
+ os_version: T.nilable(String),
271
+ repo_digests: T::Array[String],
272
+ repo_tags: T::Array[String],
273
+ root_fs: DockerEngineAPI::Image::RootFs,
274
+ size: Integer,
275
+ variant: T.nilable(String)
276
+ }
277
+ )
278
+ end
279
+ def to_hash
280
+ end
281
+
282
+ class Config < DockerEngineAPI::Internal::Type::BaseModel
283
+ OrHash =
284
+ T.type_alias do
285
+ T.any(
286
+ DockerEngineAPI::Image::Config,
287
+ DockerEngineAPI::Internal::AnyHash
288
+ )
289
+ end
290
+
291
+ # Command is already escaped (Windows only)
292
+ sig { returns(T.nilable(T::Boolean)) }
293
+ attr_accessor :args_escaped
294
+
295
+ # Command to run specified as a string or an array of strings.
296
+ sig { returns(T.nilable(T::Array[String])) }
297
+ attr_reader :cmd
298
+
299
+ sig { params(cmd: T::Array[String]).void }
300
+ attr_writer :cmd
301
+
302
+ # The entry point for the container as a string or an array of strings.
303
+ #
304
+ # If the array consists of exactly one empty string (`[""]`) then the entry point
305
+ # is reset to system default (i.e., the entry point used by docker when there is
306
+ # no `ENTRYPOINT` instruction in the `Dockerfile`).
307
+ sig { returns(T.nilable(T::Array[String])) }
308
+ attr_reader :entrypoint
309
+
310
+ sig { params(entrypoint: T::Array[String]).void }
311
+ attr_writer :entrypoint
312
+
313
+ # A list of environment variables to set inside the container in the form
314
+ # `["VAR=value", ...]`. A variable without `=` is removed from the environment,
315
+ # rather than to have an empty value.
316
+ sig { returns(T.nilable(T::Array[String])) }
317
+ attr_reader :env
318
+
319
+ sig { params(env: T::Array[String]).void }
320
+ attr_writer :env
321
+
322
+ # An object mapping ports to an empty object in the form:
323
+ #
324
+ # `{"<port>/<tcp|udp|sctp>": {}}`
325
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
326
+ attr_accessor :exposed_ports
327
+
328
+ # A test to perform to check that the container is healthy. Healthcheck commands
329
+ # should be side-effect free.
330
+ sig { returns(T.nilable(DockerEngineAPI::Image::Config::Healthcheck)) }
331
+ attr_reader :healthcheck
332
+
333
+ sig do
334
+ params(
335
+ healthcheck: DockerEngineAPI::Image::Config::Healthcheck::OrHash
336
+ ).void
337
+ end
338
+ attr_writer :healthcheck
339
+
340
+ # User-defined key/value metadata.
341
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
342
+ attr_reader :labels
343
+
344
+ sig { params(labels: T::Hash[Symbol, String]).void }
345
+ attr_writer :labels
346
+
347
+ # `ONBUILD` metadata that were defined in the image's `Dockerfile`.
348
+ sig { returns(T.nilable(T::Array[String])) }
349
+ attr_accessor :on_build
350
+
351
+ # Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.
352
+ sig { returns(T.nilable(T::Array[String])) }
353
+ attr_accessor :shell
354
+
355
+ # Signal to stop a container as a string or unsigned integer.
356
+ sig { returns(T.nilable(String)) }
357
+ attr_accessor :stop_signal
358
+
359
+ # The user that commands are run as inside the container.
360
+ sig { returns(T.nilable(String)) }
361
+ attr_reader :user
362
+
363
+ sig { params(user: String).void }
364
+ attr_writer :user
365
+
366
+ # An object mapping mount point paths inside the container to empty objects.
367
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
368
+ attr_reader :volumes
369
+
370
+ sig { params(volumes: T::Hash[Symbol, T.anything]).void }
371
+ attr_writer :volumes
372
+
373
+ # The working directory for commands to run in.
374
+ sig { returns(T.nilable(String)) }
375
+ attr_reader :working_dir
376
+
377
+ sig { params(working_dir: String).void }
378
+ attr_writer :working_dir
379
+
380
+ # Configuration of the image. These fields are used as defaults when starting a
381
+ # container from the image.
382
+ sig do
383
+ params(
384
+ args_escaped: T.nilable(T::Boolean),
385
+ cmd: T::Array[String],
386
+ entrypoint: T::Array[String],
387
+ env: T::Array[String],
388
+ exposed_ports: T.nilable(T::Hash[Symbol, T.anything]),
389
+ healthcheck: DockerEngineAPI::Image::Config::Healthcheck::OrHash,
390
+ labels: T::Hash[Symbol, String],
391
+ on_build: T.nilable(T::Array[String]),
392
+ shell: T.nilable(T::Array[String]),
393
+ stop_signal: T.nilable(String),
394
+ user: String,
395
+ volumes: T::Hash[Symbol, T.anything],
396
+ working_dir: String
397
+ ).returns(T.attached_class)
398
+ end
399
+ def self.new(
400
+ # Command is already escaped (Windows only)
401
+ args_escaped: nil,
402
+ # Command to run specified as a string or an array of strings.
403
+ cmd: nil,
404
+ # The entry point for the container as a string or an array of strings.
405
+ #
406
+ # If the array consists of exactly one empty string (`[""]`) then the entry point
407
+ # is reset to system default (i.e., the entry point used by docker when there is
408
+ # no `ENTRYPOINT` instruction in the `Dockerfile`).
409
+ entrypoint: nil,
410
+ # A list of environment variables to set inside the container in the form
411
+ # `["VAR=value", ...]`. A variable without `=` is removed from the environment,
412
+ # rather than to have an empty value.
413
+ env: nil,
414
+ # An object mapping ports to an empty object in the form:
415
+ #
416
+ # `{"<port>/<tcp|udp|sctp>": {}}`
417
+ exposed_ports: nil,
418
+ # A test to perform to check that the container is healthy. Healthcheck commands
419
+ # should be side-effect free.
420
+ healthcheck: nil,
421
+ # User-defined key/value metadata.
422
+ labels: nil,
423
+ # `ONBUILD` metadata that were defined in the image's `Dockerfile`.
424
+ on_build: nil,
425
+ # Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell.
426
+ shell: nil,
427
+ # Signal to stop a container as a string or unsigned integer.
428
+ stop_signal: nil,
429
+ # The user that commands are run as inside the container.
430
+ user: nil,
431
+ # An object mapping mount point paths inside the container to empty objects.
432
+ volumes: nil,
433
+ # The working directory for commands to run in.
434
+ working_dir: nil
435
+ )
436
+ end
437
+
438
+ sig do
439
+ override.returns(
440
+ {
441
+ args_escaped: T.nilable(T::Boolean),
442
+ cmd: T::Array[String],
443
+ entrypoint: T::Array[String],
444
+ env: T::Array[String],
445
+ exposed_ports: T.nilable(T::Hash[Symbol, T.anything]),
446
+ healthcheck: DockerEngineAPI::Image::Config::Healthcheck,
447
+ labels: T::Hash[Symbol, String],
448
+ on_build: T.nilable(T::Array[String]),
449
+ shell: T.nilable(T::Array[String]),
450
+ stop_signal: T.nilable(String),
451
+ user: String,
452
+ volumes: T::Hash[Symbol, T.anything],
453
+ working_dir: String
454
+ }
455
+ )
456
+ end
457
+ def to_hash
458
+ end
459
+
460
+ class Healthcheck < DockerEngineAPI::Internal::Type::BaseModel
461
+ OrHash =
462
+ T.type_alias do
463
+ T.any(
464
+ DockerEngineAPI::Image::Config::Healthcheck,
465
+ DockerEngineAPI::Internal::AnyHash
466
+ )
467
+ end
468
+
469
+ # The time to wait between checks in nanoseconds. It should be 0 or at least
470
+ # 1000000 (1 ms). 0 means inherit.
471
+ sig { returns(T.nilable(Integer)) }
472
+ attr_reader :interval
473
+
474
+ sig { params(interval: Integer).void }
475
+ attr_writer :interval
476
+
477
+ # The number of consecutive failures needed to consider a container as unhealthy.
478
+ # 0 means inherit.
479
+ sig { returns(T.nilable(Integer)) }
480
+ attr_reader :retries
481
+
482
+ sig { params(retries: Integer).void }
483
+ attr_writer :retries
484
+
485
+ # The time to wait between checks in nanoseconds during the start period. It
486
+ # should be 0 or at least 1000000 (1 ms). 0 means inherit.
487
+ sig { returns(T.nilable(Integer)) }
488
+ attr_reader :start_interval
489
+
490
+ sig { params(start_interval: Integer).void }
491
+ attr_writer :start_interval
492
+
493
+ # Start period for the container to initialize before starting health-retries
494
+ # countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means
495
+ # inherit.
496
+ sig { returns(T.nilable(Integer)) }
497
+ attr_reader :start_period
498
+
499
+ sig { params(start_period: Integer).void }
500
+ attr_writer :start_period
501
+
502
+ # The test to perform. Possible values are:
503
+ #
504
+ # - `[]` inherit healthcheck from image or parent image
505
+ # - `["NONE"]` disable healthcheck
506
+ # - `["CMD", args...]` exec arguments directly
507
+ # - `["CMD-SHELL", command]` run command with system's default shell
508
+ #
509
+ # A non-zero exit code indicates a failed healthcheck:
510
+ #
511
+ # - `0` healthy
512
+ # - `1` unhealthy
513
+ # - `2` reserved (treated as unhealthy)
514
+ # - other values: error running probe
515
+ sig { returns(T.nilable(T::Array[String])) }
516
+ attr_reader :test_
517
+
518
+ sig { params(test_: T::Array[String]).void }
519
+ attr_writer :test_
520
+
521
+ # The time to wait before considering the check to have hung. It should be 0 or at
522
+ # least 1000000 (1 ms). 0 means inherit.
523
+ #
524
+ # If the health check command does not complete within this timeout, the check is
525
+ # considered failed and the health check process is forcibly terminated without a
526
+ # graceful shutdown.
527
+ sig { returns(T.nilable(Integer)) }
528
+ attr_reader :timeout
529
+
530
+ sig { params(timeout: Integer).void }
531
+ attr_writer :timeout
532
+
533
+ # A test to perform to check that the container is healthy. Healthcheck commands
534
+ # should be side-effect free.
535
+ sig do
536
+ params(
537
+ interval: Integer,
538
+ retries: Integer,
539
+ start_interval: Integer,
540
+ start_period: Integer,
541
+ test_: T::Array[String],
542
+ timeout: Integer
543
+ ).returns(T.attached_class)
544
+ end
545
+ def self.new(
546
+ # The time to wait between checks in nanoseconds. It should be 0 or at least
547
+ # 1000000 (1 ms). 0 means inherit.
548
+ interval: nil,
549
+ # The number of consecutive failures needed to consider a container as unhealthy.
550
+ # 0 means inherit.
551
+ retries: nil,
552
+ # The time to wait between checks in nanoseconds during the start period. It
553
+ # should be 0 or at least 1000000 (1 ms). 0 means inherit.
554
+ start_interval: nil,
555
+ # Start period for the container to initialize before starting health-retries
556
+ # countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means
557
+ # inherit.
558
+ start_period: nil,
559
+ # The test to perform. Possible values are:
560
+ #
561
+ # - `[]` inherit healthcheck from image or parent image
562
+ # - `["NONE"]` disable healthcheck
563
+ # - `["CMD", args...]` exec arguments directly
564
+ # - `["CMD-SHELL", command]` run command with system's default shell
565
+ #
566
+ # A non-zero exit code indicates a failed healthcheck:
567
+ #
568
+ # - `0` healthy
569
+ # - `1` unhealthy
570
+ # - `2` reserved (treated as unhealthy)
571
+ # - other values: error running probe
572
+ test_: nil,
573
+ # The time to wait before considering the check to have hung. It should be 0 or at
574
+ # least 1000000 (1 ms). 0 means inherit.
575
+ #
576
+ # If the health check command does not complete within this timeout, the check is
577
+ # considered failed and the health check process is forcibly terminated without a
578
+ # graceful shutdown.
579
+ timeout: nil
580
+ )
581
+ end
582
+
583
+ sig do
584
+ override.returns(
585
+ {
586
+ interval: Integer,
587
+ retries: Integer,
588
+ start_interval: Integer,
589
+ start_period: Integer,
590
+ test_: T::Array[String],
591
+ timeout: Integer
592
+ }
593
+ )
594
+ end
595
+ def to_hash
596
+ end
597
+ end
598
+ end
599
+
600
+ class Descriptor < DockerEngineAPI::Internal::Type::BaseModel
601
+ OrHash =
602
+ T.type_alias do
603
+ T.any(
604
+ DockerEngineAPI::Image::Descriptor,
605
+ DockerEngineAPI::Internal::AnyHash
606
+ )
607
+ end
608
+
609
+ # Arbitrary metadata relating to the targeted content.
610
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
611
+ attr_accessor :annotations
612
+
613
+ # ArtifactType is the IANA media type of this artifact.
614
+ sig { returns(T.nilable(String)) }
615
+ attr_accessor :artifact_type
616
+
617
+ # Data is an embedding of the targeted content. This is encoded as a base64 string
618
+ # when marshalled to JSON (automatically, by encoding/json). If present, Data can
619
+ # be used directly to avoid fetching the targeted content.
620
+ sig { returns(T.nilable(String)) }
621
+ attr_accessor :data
622
+
623
+ # The digest of the targeted content.
624
+ sig { returns(T.nilable(String)) }
625
+ attr_reader :digest
626
+
627
+ sig { params(digest: String).void }
628
+ attr_writer :digest
629
+
630
+ # The media type of the object this schema refers to.
631
+ sig { returns(T.nilable(String)) }
632
+ attr_reader :media_type
633
+
634
+ sig { params(media_type: String).void }
635
+ attr_writer :media_type
636
+
637
+ # Describes the platform which the image in the manifest runs on, as defined in
638
+ # the
639
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
640
+ sig { returns(T.nilable(DockerEngineAPI::Image::Descriptor::Platform)) }
641
+ attr_reader :platform
642
+
643
+ sig do
644
+ params(
645
+ platform:
646
+ T.nilable(DockerEngineAPI::Image::Descriptor::Platform::OrHash)
647
+ ).void
648
+ end
649
+ attr_writer :platform
650
+
651
+ # The size in bytes of the blob.
652
+ sig { returns(T.nilable(Integer)) }
653
+ attr_reader :size
654
+
655
+ sig { params(size: Integer).void }
656
+ attr_writer :size
657
+
658
+ # List of URLs from which this object MAY be downloaded.
659
+ sig { returns(T.nilable(T::Array[String])) }
660
+ attr_accessor :urls
661
+
662
+ # A descriptor struct containing digest, media type, and size, as defined in the
663
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
664
+ sig do
665
+ params(
666
+ annotations: T.nilable(T::Hash[Symbol, String]),
667
+ artifact_type: T.nilable(String),
668
+ data: T.nilable(String),
669
+ digest: String,
670
+ media_type: String,
671
+ platform:
672
+ T.nilable(DockerEngineAPI::Image::Descriptor::Platform::OrHash),
673
+ size: Integer,
674
+ urls: T.nilable(T::Array[String])
675
+ ).returns(T.attached_class)
676
+ end
677
+ def self.new(
678
+ # Arbitrary metadata relating to the targeted content.
679
+ annotations: nil,
680
+ # ArtifactType is the IANA media type of this artifact.
681
+ artifact_type: nil,
682
+ # Data is an embedding of the targeted content. This is encoded as a base64 string
683
+ # when marshalled to JSON (automatically, by encoding/json). If present, Data can
684
+ # be used directly to avoid fetching the targeted content.
685
+ data: nil,
686
+ # The digest of the targeted content.
687
+ digest: nil,
688
+ # The media type of the object this schema refers to.
689
+ media_type: nil,
690
+ # Describes the platform which the image in the manifest runs on, as defined in
691
+ # the
692
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
693
+ platform: nil,
694
+ # The size in bytes of the blob.
695
+ size: nil,
696
+ # List of URLs from which this object MAY be downloaded.
697
+ urls: nil
698
+ )
699
+ end
700
+
701
+ sig do
702
+ override.returns(
703
+ {
704
+ annotations: T.nilable(T::Hash[Symbol, String]),
705
+ artifact_type: T.nilable(String),
706
+ data: T.nilable(String),
707
+ digest: String,
708
+ media_type: String,
709
+ platform: T.nilable(DockerEngineAPI::Image::Descriptor::Platform),
710
+ size: Integer,
711
+ urls: T.nilable(T::Array[String])
712
+ }
713
+ )
714
+ end
715
+ def to_hash
716
+ end
717
+
718
+ class Platform < DockerEngineAPI::Internal::Type::BaseModel
719
+ OrHash =
720
+ T.type_alias do
721
+ T.any(
722
+ DockerEngineAPI::Image::Descriptor::Platform,
723
+ DockerEngineAPI::Internal::AnyHash
724
+ )
725
+ end
726
+
727
+ # The CPU architecture, for example `amd64` or `ppc64`.
728
+ sig { returns(T.nilable(String)) }
729
+ attr_reader :architecture
730
+
731
+ sig { params(architecture: String).void }
732
+ attr_writer :architecture
733
+
734
+ # The operating system, for example `linux` or `windows`.
735
+ sig { returns(T.nilable(String)) }
736
+ attr_reader :os
737
+
738
+ sig { params(os: String).void }
739
+ attr_writer :os
740
+
741
+ # Optional field specifying an array of strings, each listing a required OS
742
+ # feature (for example on Windows `win32k`).
743
+ sig { returns(T.nilable(T::Array[String])) }
744
+ attr_reader :os_features
745
+
746
+ sig { params(os_features: T::Array[String]).void }
747
+ attr_writer :os_features
748
+
749
+ # Optional field specifying the operating system version, for example on Windows
750
+ # `10.0.19041.1165`.
751
+ sig { returns(T.nilable(String)) }
752
+ attr_reader :os_version
753
+
754
+ sig { params(os_version: String).void }
755
+ attr_writer :os_version
756
+
757
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
758
+ # ARMv7 when architecture is `arm`.
759
+ sig { returns(T.nilable(String)) }
760
+ attr_reader :variant
761
+
762
+ sig { params(variant: String).void }
763
+ attr_writer :variant
764
+
765
+ # Describes the platform which the image in the manifest runs on, as defined in
766
+ # the
767
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
768
+ sig do
769
+ params(
770
+ architecture: String,
771
+ os: String,
772
+ os_features: T::Array[String],
773
+ os_version: String,
774
+ variant: String
775
+ ).returns(T.attached_class)
776
+ end
777
+ def self.new(
778
+ # The CPU architecture, for example `amd64` or `ppc64`.
779
+ architecture: nil,
780
+ # The operating system, for example `linux` or `windows`.
781
+ os: nil,
782
+ # Optional field specifying an array of strings, each listing a required OS
783
+ # feature (for example on Windows `win32k`).
784
+ os_features: nil,
785
+ # Optional field specifying the operating system version, for example on Windows
786
+ # `10.0.19041.1165`.
787
+ os_version: nil,
788
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
789
+ # ARMv7 when architecture is `arm`.
790
+ variant: nil
791
+ )
792
+ end
793
+
794
+ sig do
795
+ override.returns(
796
+ {
797
+ architecture: String,
798
+ os: String,
799
+ os_features: T::Array[String],
800
+ os_version: String,
801
+ variant: String
802
+ }
803
+ )
804
+ end
805
+ def to_hash
806
+ end
807
+ end
808
+ end
809
+
810
+ class GraphDriver < DockerEngineAPI::Internal::Type::BaseModel
811
+ OrHash =
812
+ T.type_alias do
813
+ T.any(
814
+ DockerEngineAPI::Image::GraphDriver,
815
+ DockerEngineAPI::Internal::AnyHash
816
+ )
817
+ end
818
+
819
+ # Low-level storage metadata, provided as key/value pairs.
820
+ #
821
+ # This information is driver-specific, and depends on the storage-driver in use,
822
+ # and should be used for informational purposes only.
823
+ sig { returns(T::Hash[Symbol, String]) }
824
+ attr_accessor :data
825
+
826
+ # Name of the storage driver.
827
+ sig { returns(String) }
828
+ attr_accessor :name
829
+
830
+ # Information about the storage driver used to store the container's and image's
831
+ # filesystem.
832
+ sig do
833
+ params(data: T::Hash[Symbol, String], name: String).returns(
834
+ T.attached_class
835
+ )
836
+ end
837
+ def self.new(
838
+ # Low-level storage metadata, provided as key/value pairs.
839
+ #
840
+ # This information is driver-specific, and depends on the storage-driver in use,
841
+ # and should be used for informational purposes only.
842
+ data:,
843
+ # Name of the storage driver.
844
+ name:
845
+ )
846
+ end
847
+
848
+ sig do
849
+ override.returns({ data: T::Hash[Symbol, String], name: String })
850
+ end
851
+ def to_hash
852
+ end
853
+ end
854
+
855
+ class Identity < DockerEngineAPI::Internal::Type::BaseModel
856
+ OrHash =
857
+ T.type_alias do
858
+ T.any(
859
+ DockerEngineAPI::Image::Identity,
860
+ DockerEngineAPI::Internal::AnyHash
861
+ )
862
+ end
863
+
864
+ # Build contains build reference information if image was created via build.
865
+ sig do
866
+ returns(T.nilable(T::Array[DockerEngineAPI::Image::Identity::Build]))
867
+ end
868
+ attr_reader :build
869
+
870
+ sig do
871
+ params(
872
+ build: T::Array[DockerEngineAPI::Image::Identity::Build::OrHash]
873
+ ).void
874
+ end
875
+ attr_writer :build
876
+
877
+ # Pull contains remote location information if image was created via pull. If
878
+ # image was pulled via mirror, this contains the original repository location.
879
+ # After successful push this images also contains the pushed repository location.
880
+ sig do
881
+ returns(T.nilable(T::Array[DockerEngineAPI::Image::Identity::Pull]))
882
+ end
883
+ attr_reader :pull
884
+
885
+ sig do
886
+ params(
887
+ pull: T::Array[DockerEngineAPI::Image::Identity::Pull::OrHash]
888
+ ).void
889
+ end
890
+ attr_writer :pull
891
+
892
+ # Signature contains the properties of verified signatures for the image.
893
+ sig do
894
+ returns(
895
+ T.nilable(T::Array[DockerEngineAPI::Image::Identity::Signature])
896
+ )
897
+ end
898
+ attr_reader :signature
899
+
900
+ sig do
901
+ params(
902
+ signature:
903
+ T::Array[DockerEngineAPI::Image::Identity::Signature::OrHash]
904
+ ).void
905
+ end
906
+ attr_writer :signature
907
+
908
+ # Identity holds information about the identity and origin of the image. This is
909
+ # trusted information verified by the daemon and cannot be modified by tagging an
910
+ # image to a different name.
911
+ sig do
912
+ params(
913
+ build: T::Array[DockerEngineAPI::Image::Identity::Build::OrHash],
914
+ pull: T::Array[DockerEngineAPI::Image::Identity::Pull::OrHash],
915
+ signature:
916
+ T::Array[DockerEngineAPI::Image::Identity::Signature::OrHash]
917
+ ).returns(T.attached_class)
918
+ end
919
+ def self.new(
920
+ # Build contains build reference information if image was created via build.
921
+ build: nil,
922
+ # Pull contains remote location information if image was created via pull. If
923
+ # image was pulled via mirror, this contains the original repository location.
924
+ # After successful push this images also contains the pushed repository location.
925
+ pull: nil,
926
+ # Signature contains the properties of verified signatures for the image.
927
+ signature: nil
928
+ )
929
+ end
930
+
931
+ sig do
932
+ override.returns(
933
+ {
934
+ build: T::Array[DockerEngineAPI::Image::Identity::Build],
935
+ pull: T::Array[DockerEngineAPI::Image::Identity::Pull],
936
+ signature: T::Array[DockerEngineAPI::Image::Identity::Signature]
937
+ }
938
+ )
939
+ end
940
+ def to_hash
941
+ end
942
+
943
+ class Build < DockerEngineAPI::Internal::Type::BaseModel
944
+ OrHash =
945
+ T.type_alias do
946
+ T.any(
947
+ DockerEngineAPI::Image::Identity::Build,
948
+ DockerEngineAPI::Internal::AnyHash
949
+ )
950
+ end
951
+
952
+ # CreatedAt is the time when the build ran.
953
+ sig { returns(T.nilable(Time)) }
954
+ attr_reader :created_at
955
+
956
+ sig { params(created_at: Time).void }
957
+ attr_writer :created_at
958
+
959
+ # Ref is the identifier for the build request. This reference can be used to look
960
+ # up the build details in BuildKit history API.
961
+ sig { returns(T.nilable(String)) }
962
+ attr_reader :ref
963
+
964
+ sig { params(ref: String).void }
965
+ attr_writer :ref
966
+
967
+ # BuildIdentity contains build reference information if image was created via
968
+ # build.
969
+ sig do
970
+ params(created_at: Time, ref: String).returns(T.attached_class)
971
+ end
972
+ def self.new(
973
+ # CreatedAt is the time when the build ran.
974
+ created_at: nil,
975
+ # Ref is the identifier for the build request. This reference can be used to look
976
+ # up the build details in BuildKit history API.
977
+ ref: nil
978
+ )
979
+ end
980
+
981
+ sig { override.returns({ created_at: Time, ref: String }) }
982
+ def to_hash
983
+ end
984
+ end
985
+
986
+ class Pull < DockerEngineAPI::Internal::Type::BaseModel
987
+ OrHash =
988
+ T.type_alias do
989
+ T.any(
990
+ DockerEngineAPI::Image::Identity::Pull,
991
+ DockerEngineAPI::Internal::AnyHash
992
+ )
993
+ end
994
+
995
+ # Repository is the remote repository location the image was pulled from.
996
+ sig { returns(T.nilable(String)) }
997
+ attr_reader :repository
998
+
999
+ sig { params(repository: String).void }
1000
+ attr_writer :repository
1001
+
1002
+ # PullIdentity contains remote location information if image was created via pull.
1003
+ # If image was pulled via mirror, this contains the original repository location.
1004
+ sig { params(repository: String).returns(T.attached_class) }
1005
+ def self.new(
1006
+ # Repository is the remote repository location the image was pulled from.
1007
+ repository: nil
1008
+ )
1009
+ end
1010
+
1011
+ sig { override.returns({ repository: String }) }
1012
+ def to_hash
1013
+ end
1014
+ end
1015
+
1016
+ class Signature < DockerEngineAPI::Internal::Type::BaseModel
1017
+ OrHash =
1018
+ T.type_alias do
1019
+ T.any(
1020
+ DockerEngineAPI::Image::Identity::Signature,
1021
+ DockerEngineAPI::Internal::AnyHash
1022
+ )
1023
+ end
1024
+
1025
+ # DockerReference is the Docker image reference associated with the signature.
1026
+ # This is an optional field only present in older hashedrecord signatures.
1027
+ sig { returns(T.nilable(String)) }
1028
+ attr_reader :docker_reference
1029
+
1030
+ sig { params(docker_reference: String).void }
1031
+ attr_writer :docker_reference
1032
+
1033
+ # Error contains error information if signature verification failed. Other fields
1034
+ # will be empty in this case.
1035
+ sig { returns(T.nilable(String)) }
1036
+ attr_reader :error
1037
+
1038
+ sig { params(error: String).void }
1039
+ attr_writer :error
1040
+
1041
+ # KnownSignerIdentity is an identifier for a special signer identity that is known
1042
+ # to the implementation.
1043
+ sig do
1044
+ returns(
1045
+ T.nilable(
1046
+ DockerEngineAPI::Image::Identity::Signature::KnownSigner::TaggedSymbol
1047
+ )
1048
+ )
1049
+ end
1050
+ attr_reader :known_signer
1051
+
1052
+ sig do
1053
+ params(
1054
+ known_signer:
1055
+ DockerEngineAPI::Image::Identity::Signature::KnownSigner::OrSymbol
1056
+ ).void
1057
+ end
1058
+ attr_writer :known_signer
1059
+
1060
+ # Name is a textual description summarizing the type of signature.
1061
+ sig { returns(T.nilable(String)) }
1062
+ attr_reader :name
1063
+
1064
+ sig { params(name: String).void }
1065
+ attr_writer :name
1066
+
1067
+ # SignatureType is the type of signature format.
1068
+ sig do
1069
+ returns(
1070
+ T.nilable(
1071
+ DockerEngineAPI::Image::Identity::Signature::SignatureType::TaggedSymbol
1072
+ )
1073
+ )
1074
+ end
1075
+ attr_reader :signature_type
1076
+
1077
+ sig do
1078
+ params(
1079
+ signature_type:
1080
+ DockerEngineAPI::Image::Identity::Signature::SignatureType::OrSymbol
1081
+ ).void
1082
+ end
1083
+ attr_writer :signature_type
1084
+
1085
+ # SignerIdentity contains information about the signer certificate used to sign
1086
+ # the image.
1087
+ sig do
1088
+ returns(
1089
+ T.nilable(DockerEngineAPI::Image::Identity::Signature::Signer)
1090
+ )
1091
+ end
1092
+ attr_reader :signer
1093
+
1094
+ sig do
1095
+ params(
1096
+ signer:
1097
+ DockerEngineAPI::Image::Identity::Signature::Signer::OrHash
1098
+ ).void
1099
+ end
1100
+ attr_writer :signer
1101
+
1102
+ # Timestamps contains a list of verified signed timestamps for the signature.
1103
+ sig do
1104
+ returns(
1105
+ T.nilable(
1106
+ T::Array[DockerEngineAPI::Image::Identity::Signature::Timestamp]
1107
+ )
1108
+ )
1109
+ end
1110
+ attr_reader :timestamps
1111
+
1112
+ sig do
1113
+ params(
1114
+ timestamps:
1115
+ T::Array[
1116
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::OrHash
1117
+ ]
1118
+ ).void
1119
+ end
1120
+ attr_writer :timestamps
1121
+
1122
+ # Warnings contains any warnings that occurred during signature verification. For
1123
+ # example, if there was no internet connectivity and cached trust roots were used.
1124
+ # Warning does not indicate a failed verification but may point to configuration
1125
+ # issues.
1126
+ sig { returns(T.nilable(T::Array[String])) }
1127
+ attr_reader :warnings
1128
+
1129
+ sig { params(warnings: T::Array[String]).void }
1130
+ attr_writer :warnings
1131
+
1132
+ # SignatureIdentity contains the properties of verified signatures for the image.
1133
+ sig do
1134
+ params(
1135
+ docker_reference: String,
1136
+ error: String,
1137
+ known_signer:
1138
+ DockerEngineAPI::Image::Identity::Signature::KnownSigner::OrSymbol,
1139
+ name: String,
1140
+ signature_type:
1141
+ DockerEngineAPI::Image::Identity::Signature::SignatureType::OrSymbol,
1142
+ signer:
1143
+ DockerEngineAPI::Image::Identity::Signature::Signer::OrHash,
1144
+ timestamps:
1145
+ T::Array[
1146
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::OrHash
1147
+ ],
1148
+ warnings: T::Array[String]
1149
+ ).returns(T.attached_class)
1150
+ end
1151
+ def self.new(
1152
+ # DockerReference is the Docker image reference associated with the signature.
1153
+ # This is an optional field only present in older hashedrecord signatures.
1154
+ docker_reference: nil,
1155
+ # Error contains error information if signature verification failed. Other fields
1156
+ # will be empty in this case.
1157
+ error: nil,
1158
+ # KnownSignerIdentity is an identifier for a special signer identity that is known
1159
+ # to the implementation.
1160
+ known_signer: nil,
1161
+ # Name is a textual description summarizing the type of signature.
1162
+ name: nil,
1163
+ # SignatureType is the type of signature format.
1164
+ signature_type: nil,
1165
+ # SignerIdentity contains information about the signer certificate used to sign
1166
+ # the image.
1167
+ signer: nil,
1168
+ # Timestamps contains a list of verified signed timestamps for the signature.
1169
+ timestamps: nil,
1170
+ # Warnings contains any warnings that occurred during signature verification. For
1171
+ # example, if there was no internet connectivity and cached trust roots were used.
1172
+ # Warning does not indicate a failed verification but may point to configuration
1173
+ # issues.
1174
+ warnings: nil
1175
+ )
1176
+ end
1177
+
1178
+ sig do
1179
+ override.returns(
1180
+ {
1181
+ docker_reference: String,
1182
+ error: String,
1183
+ known_signer:
1184
+ DockerEngineAPI::Image::Identity::Signature::KnownSigner::TaggedSymbol,
1185
+ name: String,
1186
+ signature_type:
1187
+ DockerEngineAPI::Image::Identity::Signature::SignatureType::TaggedSymbol,
1188
+ signer: DockerEngineAPI::Image::Identity::Signature::Signer,
1189
+ timestamps:
1190
+ T::Array[
1191
+ DockerEngineAPI::Image::Identity::Signature::Timestamp
1192
+ ],
1193
+ warnings: T::Array[String]
1194
+ }
1195
+ )
1196
+ end
1197
+ def to_hash
1198
+ end
1199
+
1200
+ # KnownSignerIdentity is an identifier for a special signer identity that is known
1201
+ # to the implementation.
1202
+ module KnownSigner
1203
+ extend DockerEngineAPI::Internal::Type::Enum
1204
+
1205
+ TaggedSymbol =
1206
+ T.type_alias do
1207
+ T.all(
1208
+ Symbol,
1209
+ DockerEngineAPI::Image::Identity::Signature::KnownSigner
1210
+ )
1211
+ end
1212
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1213
+
1214
+ DHI =
1215
+ T.let(
1216
+ :DHI,
1217
+ DockerEngineAPI::Image::Identity::Signature::KnownSigner::TaggedSymbol
1218
+ )
1219
+
1220
+ sig do
1221
+ override.returns(
1222
+ T::Array[
1223
+ DockerEngineAPI::Image::Identity::Signature::KnownSigner::TaggedSymbol
1224
+ ]
1225
+ )
1226
+ end
1227
+ def self.values
1228
+ end
1229
+ end
1230
+
1231
+ # SignatureType is the type of signature format.
1232
+ module SignatureType
1233
+ extend DockerEngineAPI::Internal::Type::Enum
1234
+
1235
+ TaggedSymbol =
1236
+ T.type_alias do
1237
+ T.all(
1238
+ Symbol,
1239
+ DockerEngineAPI::Image::Identity::Signature::SignatureType
1240
+ )
1241
+ end
1242
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1243
+
1244
+ BUNDLE_V0_3 =
1245
+ T.let(
1246
+ :"bundle-v0.3",
1247
+ DockerEngineAPI::Image::Identity::Signature::SignatureType::TaggedSymbol
1248
+ )
1249
+ SIMPLESIGNING_V1 =
1250
+ T.let(
1251
+ :"simplesigning-v1",
1252
+ DockerEngineAPI::Image::Identity::Signature::SignatureType::TaggedSymbol
1253
+ )
1254
+
1255
+ sig do
1256
+ override.returns(
1257
+ T::Array[
1258
+ DockerEngineAPI::Image::Identity::Signature::SignatureType::TaggedSymbol
1259
+ ]
1260
+ )
1261
+ end
1262
+ def self.values
1263
+ end
1264
+ end
1265
+
1266
+ class Signer < DockerEngineAPI::Internal::Type::BaseModel
1267
+ OrHash =
1268
+ T.type_alias do
1269
+ T.any(
1270
+ DockerEngineAPI::Image::Identity::Signature::Signer,
1271
+ DockerEngineAPI::Internal::AnyHash
1272
+ )
1273
+ end
1274
+
1275
+ # Immutable reference to the specific version of the top-level/initiating build
1276
+ # instructions.
1277
+ sig { returns(T.nilable(String)) }
1278
+ attr_reader :build_config_digest
1279
+
1280
+ sig { params(build_config_digest: String).void }
1281
+ attr_writer :build_config_digest
1282
+
1283
+ # Build Config URL to the top-level/initiating build instructions.
1284
+ sig { returns(T.nilable(String)) }
1285
+ attr_reader :build_config_uri
1286
+
1287
+ sig { params(build_config_uri: String).void }
1288
+ attr_writer :build_config_uri
1289
+
1290
+ # Immutable reference to the specific version of the build instructions that is
1291
+ # responsible for signing.
1292
+ sig { returns(T.nilable(String)) }
1293
+ attr_reader :build_signer_digest
1294
+
1295
+ sig { params(build_signer_digest: String).void }
1296
+ attr_writer :build_signer_digest
1297
+
1298
+ # Reference to specific build instructions that are responsible for signing.
1299
+ sig { returns(T.nilable(String)) }
1300
+ attr_reader :build_signer_uri
1301
+
1302
+ sig { params(build_signer_uri: String).void }
1303
+ attr_writer :build_signer_uri
1304
+
1305
+ # Event or action that initiated the build.
1306
+ sig { returns(T.nilable(String)) }
1307
+ attr_reader :build_trigger
1308
+
1309
+ sig { params(build_trigger: String).void }
1310
+ attr_writer :build_trigger
1311
+
1312
+ # CertificateIssuer is the certificate issuer.
1313
+ sig { returns(T.nilable(String)) }
1314
+ attr_reader :certificate_issuer
1315
+
1316
+ sig { params(certificate_issuer: String).void }
1317
+ attr_writer :certificate_issuer
1318
+
1319
+ # The OIDC issuer. Should match `iss` claim of ID token or, in the case of a
1320
+ # federated login like Dex it should match the issuer URL of the upstream issuer.
1321
+ # The issuer is not set the extensions are invalid and will fail to render.
1322
+ sig { returns(T.nilable(String)) }
1323
+ attr_reader :issuer
1324
+
1325
+ sig { params(issuer: String).void }
1326
+ attr_writer :issuer
1327
+
1328
+ # Run Invocation URL to uniquely identify the build execution.
1329
+ sig { returns(T.nilable(String)) }
1330
+ attr_reader :run_invocation_uri
1331
+
1332
+ sig { params(run_invocation_uri: String).void }
1333
+ attr_writer :run_invocation_uri
1334
+
1335
+ # Specifies whether the build took place in platform-hosted cloud infrastructure
1336
+ # or customer/self-hosted infrastructure.
1337
+ sig { returns(T.nilable(String)) }
1338
+ attr_reader :runner_environment
1339
+
1340
+ sig { params(runner_environment: String).void }
1341
+ attr_writer :runner_environment
1342
+
1343
+ # Immutable reference to a specific version of the source code that the build was
1344
+ # based upon.
1345
+ sig { returns(T.nilable(String)) }
1346
+ attr_reader :source_repository_digest
1347
+
1348
+ sig { params(source_repository_digest: String).void }
1349
+ attr_writer :source_repository_digest
1350
+
1351
+ # Immutable identifier for the source repository the workflow was based upon.
1352
+ sig { returns(T.nilable(String)) }
1353
+ attr_reader :source_repository_identifier
1354
+
1355
+ sig { params(source_repository_identifier: String).void }
1356
+ attr_writer :source_repository_identifier
1357
+
1358
+ # Immutable identifier for the owner of the source repository that the workflow
1359
+ # was based upon.
1360
+ sig { returns(T.nilable(String)) }
1361
+ attr_reader :source_repository_owner_identifier
1362
+
1363
+ sig { params(source_repository_owner_identifier: String).void }
1364
+ attr_writer :source_repository_owner_identifier
1365
+
1366
+ # Source repository owner URL of the owner of the source repository that the build
1367
+ # was based on.
1368
+ sig { returns(T.nilable(String)) }
1369
+ attr_reader :source_repository_owner_uri
1370
+
1371
+ sig { params(source_repository_owner_uri: String).void }
1372
+ attr_writer :source_repository_owner_uri
1373
+
1374
+ # Source Repository Ref that the build run was based upon.
1375
+ sig { returns(T.nilable(String)) }
1376
+ attr_reader :source_repository_ref
1377
+
1378
+ sig { params(source_repository_ref: String).void }
1379
+ attr_writer :source_repository_ref
1380
+
1381
+ # Source repository URL that the build was based on.
1382
+ sig { returns(T.nilable(String)) }
1383
+ attr_reader :source_repository_uri
1384
+
1385
+ sig { params(source_repository_uri: String).void }
1386
+ attr_writer :source_repository_uri
1387
+
1388
+ # Source repository visibility at the time of signing the certificate.
1389
+ sig { returns(T.nilable(String)) }
1390
+ attr_reader :source_repository_visibility_at_signing
1391
+
1392
+ sig { params(source_repository_visibility_at_signing: String).void }
1393
+ attr_writer :source_repository_visibility_at_signing
1394
+
1395
+ # SubjectAlternativeName is the certificate subject alternative name.
1396
+ sig { returns(T.nilable(String)) }
1397
+ attr_reader :subject_alternative_name
1398
+
1399
+ sig { params(subject_alternative_name: String).void }
1400
+ attr_writer :subject_alternative_name
1401
+
1402
+ # SignerIdentity contains information about the signer certificate used to sign
1403
+ # the image.
1404
+ sig do
1405
+ params(
1406
+ build_config_digest: String,
1407
+ build_config_uri: String,
1408
+ build_signer_digest: String,
1409
+ build_signer_uri: String,
1410
+ build_trigger: String,
1411
+ certificate_issuer: String,
1412
+ issuer: String,
1413
+ run_invocation_uri: String,
1414
+ runner_environment: String,
1415
+ source_repository_digest: String,
1416
+ source_repository_identifier: String,
1417
+ source_repository_owner_identifier: String,
1418
+ source_repository_owner_uri: String,
1419
+ source_repository_ref: String,
1420
+ source_repository_uri: String,
1421
+ source_repository_visibility_at_signing: String,
1422
+ subject_alternative_name: String
1423
+ ).returns(T.attached_class)
1424
+ end
1425
+ def self.new(
1426
+ # Immutable reference to the specific version of the top-level/initiating build
1427
+ # instructions.
1428
+ build_config_digest: nil,
1429
+ # Build Config URL to the top-level/initiating build instructions.
1430
+ build_config_uri: nil,
1431
+ # Immutable reference to the specific version of the build instructions that is
1432
+ # responsible for signing.
1433
+ build_signer_digest: nil,
1434
+ # Reference to specific build instructions that are responsible for signing.
1435
+ build_signer_uri: nil,
1436
+ # Event or action that initiated the build.
1437
+ build_trigger: nil,
1438
+ # CertificateIssuer is the certificate issuer.
1439
+ certificate_issuer: nil,
1440
+ # The OIDC issuer. Should match `iss` claim of ID token or, in the case of a
1441
+ # federated login like Dex it should match the issuer URL of the upstream issuer.
1442
+ # The issuer is not set the extensions are invalid and will fail to render.
1443
+ issuer: nil,
1444
+ # Run Invocation URL to uniquely identify the build execution.
1445
+ run_invocation_uri: nil,
1446
+ # Specifies whether the build took place in platform-hosted cloud infrastructure
1447
+ # or customer/self-hosted infrastructure.
1448
+ runner_environment: nil,
1449
+ # Immutable reference to a specific version of the source code that the build was
1450
+ # based upon.
1451
+ source_repository_digest: nil,
1452
+ # Immutable identifier for the source repository the workflow was based upon.
1453
+ source_repository_identifier: nil,
1454
+ # Immutable identifier for the owner of the source repository that the workflow
1455
+ # was based upon.
1456
+ source_repository_owner_identifier: nil,
1457
+ # Source repository owner URL of the owner of the source repository that the build
1458
+ # was based on.
1459
+ source_repository_owner_uri: nil,
1460
+ # Source Repository Ref that the build run was based upon.
1461
+ source_repository_ref: nil,
1462
+ # Source repository URL that the build was based on.
1463
+ source_repository_uri: nil,
1464
+ # Source repository visibility at the time of signing the certificate.
1465
+ source_repository_visibility_at_signing: nil,
1466
+ # SubjectAlternativeName is the certificate subject alternative name.
1467
+ subject_alternative_name: nil
1468
+ )
1469
+ end
1470
+
1471
+ sig do
1472
+ override.returns(
1473
+ {
1474
+ build_config_digest: String,
1475
+ build_config_uri: String,
1476
+ build_signer_digest: String,
1477
+ build_signer_uri: String,
1478
+ build_trigger: String,
1479
+ certificate_issuer: String,
1480
+ issuer: String,
1481
+ run_invocation_uri: String,
1482
+ runner_environment: String,
1483
+ source_repository_digest: String,
1484
+ source_repository_identifier: String,
1485
+ source_repository_owner_identifier: String,
1486
+ source_repository_owner_uri: String,
1487
+ source_repository_ref: String,
1488
+ source_repository_uri: String,
1489
+ source_repository_visibility_at_signing: String,
1490
+ subject_alternative_name: String
1491
+ }
1492
+ )
1493
+ end
1494
+ def to_hash
1495
+ end
1496
+ end
1497
+
1498
+ class Timestamp < DockerEngineAPI::Internal::Type::BaseModel
1499
+ OrHash =
1500
+ T.type_alias do
1501
+ T.any(
1502
+ DockerEngineAPI::Image::Identity::Signature::Timestamp,
1503
+ DockerEngineAPI::Internal::AnyHash
1504
+ )
1505
+ end
1506
+
1507
+ sig { returns(T.nilable(Time)) }
1508
+ attr_reader :timestamp
1509
+
1510
+ sig { params(timestamp: Time).void }
1511
+ attr_writer :timestamp
1512
+
1513
+ # SignatureTimestampType is the type of timestamp used in the signature.
1514
+ sig do
1515
+ returns(
1516
+ T.nilable(
1517
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::Type::TaggedSymbol
1518
+ )
1519
+ )
1520
+ end
1521
+ attr_reader :type
1522
+
1523
+ sig do
1524
+ params(
1525
+ type:
1526
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::Type::OrSymbol
1527
+ ).void
1528
+ end
1529
+ attr_writer :type
1530
+
1531
+ sig { returns(T.nilable(String)) }
1532
+ attr_reader :uri
1533
+
1534
+ sig { params(uri: String).void }
1535
+ attr_writer :uri
1536
+
1537
+ # SignatureTimestamp contains information about a verified signed timestamp for an
1538
+ # image signature.
1539
+ sig do
1540
+ params(
1541
+ timestamp: Time,
1542
+ type:
1543
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::Type::OrSymbol,
1544
+ uri: String
1545
+ ).returns(T.attached_class)
1546
+ end
1547
+ def self.new(
1548
+ timestamp: nil,
1549
+ # SignatureTimestampType is the type of timestamp used in the signature.
1550
+ type: nil,
1551
+ uri: nil
1552
+ )
1553
+ end
1554
+
1555
+ sig do
1556
+ override.returns(
1557
+ {
1558
+ timestamp: Time,
1559
+ type:
1560
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::Type::TaggedSymbol,
1561
+ uri: String
1562
+ }
1563
+ )
1564
+ end
1565
+ def to_hash
1566
+ end
1567
+
1568
+ # SignatureTimestampType is the type of timestamp used in the signature.
1569
+ module Type
1570
+ extend DockerEngineAPI::Internal::Type::Enum
1571
+
1572
+ TaggedSymbol =
1573
+ T.type_alias do
1574
+ T.all(
1575
+ Symbol,
1576
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::Type
1577
+ )
1578
+ end
1579
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1580
+
1581
+ TLOG =
1582
+ T.let(
1583
+ :Tlog,
1584
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::Type::TaggedSymbol
1585
+ )
1586
+ TIMESTAMP_AUTHORITY =
1587
+ T.let(
1588
+ :TimestampAuthority,
1589
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::Type::TaggedSymbol
1590
+ )
1591
+
1592
+ sig do
1593
+ override.returns(
1594
+ T::Array[
1595
+ DockerEngineAPI::Image::Identity::Signature::Timestamp::Type::TaggedSymbol
1596
+ ]
1597
+ )
1598
+ end
1599
+ def self.values
1600
+ end
1601
+ end
1602
+ end
1603
+ end
1604
+ end
1605
+
1606
+ class Manifest < DockerEngineAPI::Internal::Type::BaseModel
1607
+ OrHash =
1608
+ T.type_alias do
1609
+ T.any(
1610
+ DockerEngineAPI::Image::Manifest,
1611
+ DockerEngineAPI::Internal::AnyHash
1612
+ )
1613
+ end
1614
+
1615
+ # Indicates whether all the child content (image config, layers) is fully
1616
+ # available locally.
1617
+ sig { returns(T::Boolean) }
1618
+ attr_accessor :available
1619
+
1620
+ # A descriptor struct containing digest, media type, and size, as defined in the
1621
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
1622
+ sig { returns(DockerEngineAPI::Image::Manifest::Descriptor) }
1623
+ attr_reader :descriptor
1624
+
1625
+ sig do
1626
+ params(
1627
+ descriptor: DockerEngineAPI::Image::Manifest::Descriptor::OrHash
1628
+ ).void
1629
+ end
1630
+ attr_writer :descriptor
1631
+
1632
+ # ID is the content-addressable ID of an image and is the same as the digest of
1633
+ # the image manifest.
1634
+ sig { returns(String) }
1635
+ attr_accessor :id
1636
+
1637
+ # The kind of the manifest.
1638
+ #
1639
+ # | kind | description |
1640
+ # | ----------- | ------------------------------------------------------------------------------------ |
1641
+ # | image | Image manifest that can be used to start a container. |
1642
+ # | attestation | Attestation manifest produced by the Buildkit builder for a specific image manifest. |
1643
+ sig { returns(DockerEngineAPI::Image::Manifest::Kind::TaggedSymbol) }
1644
+ attr_accessor :kind
1645
+
1646
+ sig { returns(DockerEngineAPI::Image::Manifest::Size) }
1647
+ attr_reader :size
1648
+
1649
+ sig do
1650
+ params(size: DockerEngineAPI::Image::Manifest::Size::OrHash).void
1651
+ end
1652
+ attr_writer :size
1653
+
1654
+ # The image data for the attestation manifest. This field is only populated when
1655
+ # Kind is "attestation".
1656
+ sig do
1657
+ returns(T.nilable(DockerEngineAPI::Image::Manifest::AttestationData))
1658
+ end
1659
+ attr_reader :attestation_data
1660
+
1661
+ sig do
1662
+ params(
1663
+ attestation_data:
1664
+ T.nilable(
1665
+ DockerEngineAPI::Image::Manifest::AttestationData::OrHash
1666
+ )
1667
+ ).void
1668
+ end
1669
+ attr_writer :attestation_data
1670
+
1671
+ # The image data for the image manifest. This field is only populated when Kind is
1672
+ # "image".
1673
+ sig { returns(T.nilable(DockerEngineAPI::Image::Manifest::ImageData)) }
1674
+ attr_reader :image_data
1675
+
1676
+ sig do
1677
+ params(
1678
+ image_data:
1679
+ T.nilable(DockerEngineAPI::Image::Manifest::ImageData::OrHash)
1680
+ ).void
1681
+ end
1682
+ attr_writer :image_data
1683
+
1684
+ # ImageManifestSummary represents a summary of an image manifest.
1685
+ sig do
1686
+ params(
1687
+ available: T::Boolean,
1688
+ descriptor: DockerEngineAPI::Image::Manifest::Descriptor::OrHash,
1689
+ id: String,
1690
+ kind: DockerEngineAPI::Image::Manifest::Kind::OrSymbol,
1691
+ size: DockerEngineAPI::Image::Manifest::Size::OrHash,
1692
+ attestation_data:
1693
+ T.nilable(
1694
+ DockerEngineAPI::Image::Manifest::AttestationData::OrHash
1695
+ ),
1696
+ image_data:
1697
+ T.nilable(DockerEngineAPI::Image::Manifest::ImageData::OrHash)
1698
+ ).returns(T.attached_class)
1699
+ end
1700
+ def self.new(
1701
+ # Indicates whether all the child content (image config, layers) is fully
1702
+ # available locally.
1703
+ available:,
1704
+ # A descriptor struct containing digest, media type, and size, as defined in the
1705
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
1706
+ descriptor:,
1707
+ # ID is the content-addressable ID of an image and is the same as the digest of
1708
+ # the image manifest.
1709
+ id:,
1710
+ # The kind of the manifest.
1711
+ #
1712
+ # | kind | description |
1713
+ # | ----------- | ------------------------------------------------------------------------------------ |
1714
+ # | image | Image manifest that can be used to start a container. |
1715
+ # | attestation | Attestation manifest produced by the Buildkit builder for a specific image manifest. |
1716
+ kind:,
1717
+ size:,
1718
+ # The image data for the attestation manifest. This field is only populated when
1719
+ # Kind is "attestation".
1720
+ attestation_data: nil,
1721
+ # The image data for the image manifest. This field is only populated when Kind is
1722
+ # "image".
1723
+ image_data: nil
1724
+ )
1725
+ end
1726
+
1727
+ sig do
1728
+ override.returns(
1729
+ {
1730
+ available: T::Boolean,
1731
+ descriptor: DockerEngineAPI::Image::Manifest::Descriptor,
1732
+ id: String,
1733
+ kind: DockerEngineAPI::Image::Manifest::Kind::TaggedSymbol,
1734
+ size: DockerEngineAPI::Image::Manifest::Size,
1735
+ attestation_data:
1736
+ T.nilable(DockerEngineAPI::Image::Manifest::AttestationData),
1737
+ image_data: T.nilable(DockerEngineAPI::Image::Manifest::ImageData)
1738
+ }
1739
+ )
1740
+ end
1741
+ def to_hash
1742
+ end
1743
+
1744
+ class Descriptor < DockerEngineAPI::Internal::Type::BaseModel
1745
+ OrHash =
1746
+ T.type_alias do
1747
+ T.any(
1748
+ DockerEngineAPI::Image::Manifest::Descriptor,
1749
+ DockerEngineAPI::Internal::AnyHash
1750
+ )
1751
+ end
1752
+
1753
+ # Arbitrary metadata relating to the targeted content.
1754
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1755
+ attr_accessor :annotations
1756
+
1757
+ # ArtifactType is the IANA media type of this artifact.
1758
+ sig { returns(T.nilable(String)) }
1759
+ attr_accessor :artifact_type
1760
+
1761
+ # Data is an embedding of the targeted content. This is encoded as a base64 string
1762
+ # when marshalled to JSON (automatically, by encoding/json). If present, Data can
1763
+ # be used directly to avoid fetching the targeted content.
1764
+ sig { returns(T.nilable(String)) }
1765
+ attr_accessor :data
1766
+
1767
+ # The digest of the targeted content.
1768
+ sig { returns(T.nilable(String)) }
1769
+ attr_reader :digest
1770
+
1771
+ sig { params(digest: String).void }
1772
+ attr_writer :digest
1773
+
1774
+ # The media type of the object this schema refers to.
1775
+ sig { returns(T.nilable(String)) }
1776
+ attr_reader :media_type
1777
+
1778
+ sig { params(media_type: String).void }
1779
+ attr_writer :media_type
1780
+
1781
+ # Describes the platform which the image in the manifest runs on, as defined in
1782
+ # the
1783
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
1784
+ sig do
1785
+ returns(
1786
+ T.nilable(DockerEngineAPI::Image::Manifest::Descriptor::Platform)
1787
+ )
1788
+ end
1789
+ attr_reader :platform
1790
+
1791
+ sig do
1792
+ params(
1793
+ platform:
1794
+ T.nilable(
1795
+ DockerEngineAPI::Image::Manifest::Descriptor::Platform::OrHash
1796
+ )
1797
+ ).void
1798
+ end
1799
+ attr_writer :platform
1800
+
1801
+ # The size in bytes of the blob.
1802
+ sig { returns(T.nilable(Integer)) }
1803
+ attr_reader :size
1804
+
1805
+ sig { params(size: Integer).void }
1806
+ attr_writer :size
1807
+
1808
+ # List of URLs from which this object MAY be downloaded.
1809
+ sig { returns(T.nilable(T::Array[String])) }
1810
+ attr_accessor :urls
1811
+
1812
+ # A descriptor struct containing digest, media type, and size, as defined in the
1813
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
1814
+ sig do
1815
+ params(
1816
+ annotations: T.nilable(T::Hash[Symbol, String]),
1817
+ artifact_type: T.nilable(String),
1818
+ data: T.nilable(String),
1819
+ digest: String,
1820
+ media_type: String,
1821
+ platform:
1822
+ T.nilable(
1823
+ DockerEngineAPI::Image::Manifest::Descriptor::Platform::OrHash
1824
+ ),
1825
+ size: Integer,
1826
+ urls: T.nilable(T::Array[String])
1827
+ ).returns(T.attached_class)
1828
+ end
1829
+ def self.new(
1830
+ # Arbitrary metadata relating to the targeted content.
1831
+ annotations: nil,
1832
+ # ArtifactType is the IANA media type of this artifact.
1833
+ artifact_type: nil,
1834
+ # Data is an embedding of the targeted content. This is encoded as a base64 string
1835
+ # when marshalled to JSON (automatically, by encoding/json). If present, Data can
1836
+ # be used directly to avoid fetching the targeted content.
1837
+ data: nil,
1838
+ # The digest of the targeted content.
1839
+ digest: nil,
1840
+ # The media type of the object this schema refers to.
1841
+ media_type: nil,
1842
+ # Describes the platform which the image in the manifest runs on, as defined in
1843
+ # the
1844
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
1845
+ platform: nil,
1846
+ # The size in bytes of the blob.
1847
+ size: nil,
1848
+ # List of URLs from which this object MAY be downloaded.
1849
+ urls: nil
1850
+ )
1851
+ end
1852
+
1853
+ sig do
1854
+ override.returns(
1855
+ {
1856
+ annotations: T.nilable(T::Hash[Symbol, String]),
1857
+ artifact_type: T.nilable(String),
1858
+ data: T.nilable(String),
1859
+ digest: String,
1860
+ media_type: String,
1861
+ platform:
1862
+ T.nilable(
1863
+ DockerEngineAPI::Image::Manifest::Descriptor::Platform
1864
+ ),
1865
+ size: Integer,
1866
+ urls: T.nilable(T::Array[String])
1867
+ }
1868
+ )
1869
+ end
1870
+ def to_hash
1871
+ end
1872
+
1873
+ class Platform < DockerEngineAPI::Internal::Type::BaseModel
1874
+ OrHash =
1875
+ T.type_alias do
1876
+ T.any(
1877
+ DockerEngineAPI::Image::Manifest::Descriptor::Platform,
1878
+ DockerEngineAPI::Internal::AnyHash
1879
+ )
1880
+ end
1881
+
1882
+ # The CPU architecture, for example `amd64` or `ppc64`.
1883
+ sig { returns(T.nilable(String)) }
1884
+ attr_reader :architecture
1885
+
1886
+ sig { params(architecture: String).void }
1887
+ attr_writer :architecture
1888
+
1889
+ # The operating system, for example `linux` or `windows`.
1890
+ sig { returns(T.nilable(String)) }
1891
+ attr_reader :os
1892
+
1893
+ sig { params(os: String).void }
1894
+ attr_writer :os
1895
+
1896
+ # Optional field specifying an array of strings, each listing a required OS
1897
+ # feature (for example on Windows `win32k`).
1898
+ sig { returns(T.nilable(T::Array[String])) }
1899
+ attr_reader :os_features
1900
+
1901
+ sig { params(os_features: T::Array[String]).void }
1902
+ attr_writer :os_features
1903
+
1904
+ # Optional field specifying the operating system version, for example on Windows
1905
+ # `10.0.19041.1165`.
1906
+ sig { returns(T.nilable(String)) }
1907
+ attr_reader :os_version
1908
+
1909
+ sig { params(os_version: String).void }
1910
+ attr_writer :os_version
1911
+
1912
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
1913
+ # ARMv7 when architecture is `arm`.
1914
+ sig { returns(T.nilable(String)) }
1915
+ attr_reader :variant
1916
+
1917
+ sig { params(variant: String).void }
1918
+ attr_writer :variant
1919
+
1920
+ # Describes the platform which the image in the manifest runs on, as defined in
1921
+ # the
1922
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
1923
+ sig do
1924
+ params(
1925
+ architecture: String,
1926
+ os: String,
1927
+ os_features: T::Array[String],
1928
+ os_version: String,
1929
+ variant: String
1930
+ ).returns(T.attached_class)
1931
+ end
1932
+ def self.new(
1933
+ # The CPU architecture, for example `amd64` or `ppc64`.
1934
+ architecture: nil,
1935
+ # The operating system, for example `linux` or `windows`.
1936
+ os: nil,
1937
+ # Optional field specifying an array of strings, each listing a required OS
1938
+ # feature (for example on Windows `win32k`).
1939
+ os_features: nil,
1940
+ # Optional field specifying the operating system version, for example on Windows
1941
+ # `10.0.19041.1165`.
1942
+ os_version: nil,
1943
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
1944
+ # ARMv7 when architecture is `arm`.
1945
+ variant: nil
1946
+ )
1947
+ end
1948
+
1949
+ sig do
1950
+ override.returns(
1951
+ {
1952
+ architecture: String,
1953
+ os: String,
1954
+ os_features: T::Array[String],
1955
+ os_version: String,
1956
+ variant: String
1957
+ }
1958
+ )
1959
+ end
1960
+ def to_hash
1961
+ end
1962
+ end
1963
+ end
1964
+
1965
+ # The kind of the manifest.
1966
+ #
1967
+ # | kind | description |
1968
+ # | ----------- | ------------------------------------------------------------------------------------ |
1969
+ # | image | Image manifest that can be used to start a container. |
1970
+ # | attestation | Attestation manifest produced by the Buildkit builder for a specific image manifest. |
1971
+ module Kind
1972
+ extend DockerEngineAPI::Internal::Type::Enum
1973
+
1974
+ TaggedSymbol =
1975
+ T.type_alias do
1976
+ T.all(Symbol, DockerEngineAPI::Image::Manifest::Kind)
1977
+ end
1978
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1979
+
1980
+ IMAGE =
1981
+ T.let(:image, DockerEngineAPI::Image::Manifest::Kind::TaggedSymbol)
1982
+ ATTESTATION =
1983
+ T.let(
1984
+ :attestation,
1985
+ DockerEngineAPI::Image::Manifest::Kind::TaggedSymbol
1986
+ )
1987
+ UNKNOWN =
1988
+ T.let(
1989
+ :unknown,
1990
+ DockerEngineAPI::Image::Manifest::Kind::TaggedSymbol
1991
+ )
1992
+
1993
+ sig do
1994
+ override.returns(
1995
+ T::Array[DockerEngineAPI::Image::Manifest::Kind::TaggedSymbol]
1996
+ )
1997
+ end
1998
+ def self.values
1999
+ end
2000
+ end
2001
+
2002
+ class Size < DockerEngineAPI::Internal::Type::BaseModel
2003
+ OrHash =
2004
+ T.type_alias do
2005
+ T.any(
2006
+ DockerEngineAPI::Image::Manifest::Size,
2007
+ DockerEngineAPI::Internal::AnyHash
2008
+ )
2009
+ end
2010
+
2011
+ # Content is the size (in bytes) of all the locally present content in the content
2012
+ # store (e.g. image config, layers) referenced by this manifest and its children.
2013
+ # This only includes blobs in the content store.
2014
+ sig { returns(Integer) }
2015
+ attr_accessor :content
2016
+
2017
+ # Total is the total size (in bytes) of all the locally present data (both
2018
+ # distributable and non-distributable) that's related to this manifest and its
2019
+ # children. This equal to the sum of [Content] size AND all the sizes in the
2020
+ # [Size] struct present in the Kind-specific data struct. For example, for an
2021
+ # image kind (Kind == "image") this would include the size of the image content
2022
+ # and unpacked image snapshots ([Size.Content] + [ImageData.Size.Unpacked]).
2023
+ sig { returns(Integer) }
2024
+ attr_accessor :total
2025
+
2026
+ sig do
2027
+ params(content: Integer, total: Integer).returns(T.attached_class)
2028
+ end
2029
+ def self.new(
2030
+ # Content is the size (in bytes) of all the locally present content in the content
2031
+ # store (e.g. image config, layers) referenced by this manifest and its children.
2032
+ # This only includes blobs in the content store.
2033
+ content:,
2034
+ # Total is the total size (in bytes) of all the locally present data (both
2035
+ # distributable and non-distributable) that's related to this manifest and its
2036
+ # children. This equal to the sum of [Content] size AND all the sizes in the
2037
+ # [Size] struct present in the Kind-specific data struct. For example, for an
2038
+ # image kind (Kind == "image") this would include the size of the image content
2039
+ # and unpacked image snapshots ([Size.Content] + [ImageData.Size.Unpacked]).
2040
+ total:
2041
+ )
2042
+ end
2043
+
2044
+ sig { override.returns({ content: Integer, total: Integer }) }
2045
+ def to_hash
2046
+ end
2047
+ end
2048
+
2049
+ class AttestationData < DockerEngineAPI::Internal::Type::BaseModel
2050
+ OrHash =
2051
+ T.type_alias do
2052
+ T.any(
2053
+ DockerEngineAPI::Image::Manifest::AttestationData,
2054
+ DockerEngineAPI::Internal::AnyHash
2055
+ )
2056
+ end
2057
+
2058
+ # The digest of the image manifest that this attestation is for.
2059
+ sig { returns(String) }
2060
+ attr_accessor :for_
2061
+
2062
+ # The image data for the attestation manifest. This field is only populated when
2063
+ # Kind is "attestation".
2064
+ sig { params(for_: String).returns(T.attached_class) }
2065
+ def self.new(
2066
+ # The digest of the image manifest that this attestation is for.
2067
+ for_:
2068
+ )
2069
+ end
2070
+
2071
+ sig { override.returns({ for_: String }) }
2072
+ def to_hash
2073
+ end
2074
+ end
2075
+
2076
+ class ImageData < DockerEngineAPI::Internal::Type::BaseModel
2077
+ OrHash =
2078
+ T.type_alias do
2079
+ T.any(
2080
+ DockerEngineAPI::Image::Manifest::ImageData,
2081
+ DockerEngineAPI::Internal::AnyHash
2082
+ )
2083
+ end
2084
+
2085
+ # The IDs of the containers that are using this image.
2086
+ sig { returns(T::Array[String]) }
2087
+ attr_accessor :containers
2088
+
2089
+ # Describes the platform which the image in the manifest runs on, as defined in
2090
+ # the
2091
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
2092
+ sig do
2093
+ returns(
2094
+ T.nilable(DockerEngineAPI::Image::Manifest::ImageData::Platform)
2095
+ )
2096
+ end
2097
+ attr_reader :platform
2098
+
2099
+ sig do
2100
+ params(
2101
+ platform:
2102
+ T.nilable(
2103
+ DockerEngineAPI::Image::Manifest::ImageData::Platform::OrHash
2104
+ )
2105
+ ).void
2106
+ end
2107
+ attr_writer :platform
2108
+
2109
+ sig { returns(DockerEngineAPI::Image::Manifest::ImageData::Size) }
2110
+ attr_reader :size
2111
+
2112
+ sig do
2113
+ params(
2114
+ size: DockerEngineAPI::Image::Manifest::ImageData::Size::OrHash
2115
+ ).void
2116
+ end
2117
+ attr_writer :size
2118
+
2119
+ # The image data for the image manifest. This field is only populated when Kind is
2120
+ # "image".
2121
+ sig do
2122
+ params(
2123
+ containers: T::Array[String],
2124
+ platform:
2125
+ T.nilable(
2126
+ DockerEngineAPI::Image::Manifest::ImageData::Platform::OrHash
2127
+ ),
2128
+ size: DockerEngineAPI::Image::Manifest::ImageData::Size::OrHash
2129
+ ).returns(T.attached_class)
2130
+ end
2131
+ def self.new(
2132
+ # The IDs of the containers that are using this image.
2133
+ containers:,
2134
+ # Describes the platform which the image in the manifest runs on, as defined in
2135
+ # the
2136
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
2137
+ platform:,
2138
+ size:
2139
+ )
2140
+ end
2141
+
2142
+ sig do
2143
+ override.returns(
2144
+ {
2145
+ containers: T::Array[String],
2146
+ platform:
2147
+ T.nilable(
2148
+ DockerEngineAPI::Image::Manifest::ImageData::Platform
2149
+ ),
2150
+ size: DockerEngineAPI::Image::Manifest::ImageData::Size
2151
+ }
2152
+ )
2153
+ end
2154
+ def to_hash
2155
+ end
2156
+
2157
+ class Platform < DockerEngineAPI::Internal::Type::BaseModel
2158
+ OrHash =
2159
+ T.type_alias do
2160
+ T.any(
2161
+ DockerEngineAPI::Image::Manifest::ImageData::Platform,
2162
+ DockerEngineAPI::Internal::AnyHash
2163
+ )
2164
+ end
2165
+
2166
+ # The CPU architecture, for example `amd64` or `ppc64`.
2167
+ sig { returns(T.nilable(String)) }
2168
+ attr_reader :architecture
2169
+
2170
+ sig { params(architecture: String).void }
2171
+ attr_writer :architecture
2172
+
2173
+ # The operating system, for example `linux` or `windows`.
2174
+ sig { returns(T.nilable(String)) }
2175
+ attr_reader :os
2176
+
2177
+ sig { params(os: String).void }
2178
+ attr_writer :os
2179
+
2180
+ # Optional field specifying an array of strings, each listing a required OS
2181
+ # feature (for example on Windows `win32k`).
2182
+ sig { returns(T.nilable(T::Array[String])) }
2183
+ attr_reader :os_features
2184
+
2185
+ sig { params(os_features: T::Array[String]).void }
2186
+ attr_writer :os_features
2187
+
2188
+ # Optional field specifying the operating system version, for example on Windows
2189
+ # `10.0.19041.1165`.
2190
+ sig { returns(T.nilable(String)) }
2191
+ attr_reader :os_version
2192
+
2193
+ sig { params(os_version: String).void }
2194
+ attr_writer :os_version
2195
+
2196
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
2197
+ # ARMv7 when architecture is `arm`.
2198
+ sig { returns(T.nilable(String)) }
2199
+ attr_reader :variant
2200
+
2201
+ sig { params(variant: String).void }
2202
+ attr_writer :variant
2203
+
2204
+ # Describes the platform which the image in the manifest runs on, as defined in
2205
+ # the
2206
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
2207
+ sig do
2208
+ params(
2209
+ architecture: String,
2210
+ os: String,
2211
+ os_features: T::Array[String],
2212
+ os_version: String,
2213
+ variant: String
2214
+ ).returns(T.attached_class)
2215
+ end
2216
+ def self.new(
2217
+ # The CPU architecture, for example `amd64` or `ppc64`.
2218
+ architecture: nil,
2219
+ # The operating system, for example `linux` or `windows`.
2220
+ os: nil,
2221
+ # Optional field specifying an array of strings, each listing a required OS
2222
+ # feature (for example on Windows `win32k`).
2223
+ os_features: nil,
2224
+ # Optional field specifying the operating system version, for example on Windows
2225
+ # `10.0.19041.1165`.
2226
+ os_version: nil,
2227
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
2228
+ # ARMv7 when architecture is `arm`.
2229
+ variant: nil
2230
+ )
2231
+ end
2232
+
2233
+ sig do
2234
+ override.returns(
2235
+ {
2236
+ architecture: String,
2237
+ os: String,
2238
+ os_features: T::Array[String],
2239
+ os_version: String,
2240
+ variant: String
2241
+ }
2242
+ )
2243
+ end
2244
+ def to_hash
2245
+ end
2246
+ end
2247
+
2248
+ class Size < DockerEngineAPI::Internal::Type::BaseModel
2249
+ OrHash =
2250
+ T.type_alias do
2251
+ T.any(
2252
+ DockerEngineAPI::Image::Manifest::ImageData::Size,
2253
+ DockerEngineAPI::Internal::AnyHash
2254
+ )
2255
+ end
2256
+
2257
+ # Unpacked is the size (in bytes) of the locally unpacked (uncompressed) image
2258
+ # content that's directly usable by the containers running this image. It's
2259
+ # independent of the distributable content - e.g. the image might still have an
2260
+ # unpacked data that's still used by some container even when the
2261
+ # distributable/compressed content is already gone.
2262
+ sig { returns(Integer) }
2263
+ attr_accessor :unpacked
2264
+
2265
+ sig { params(unpacked: Integer).returns(T.attached_class) }
2266
+ def self.new(
2267
+ # Unpacked is the size (in bytes) of the locally unpacked (uncompressed) image
2268
+ # content that's directly usable by the containers running this image. It's
2269
+ # independent of the distributable content - e.g. the image might still have an
2270
+ # unpacked data that's still used by some container even when the
2271
+ # distributable/compressed content is already gone.
2272
+ unpacked:
2273
+ )
2274
+ end
2275
+
2276
+ sig { override.returns({ unpacked: Integer }) }
2277
+ def to_hash
2278
+ end
2279
+ end
2280
+ end
2281
+ end
2282
+
2283
+ class Metadata < DockerEngineAPI::Internal::Type::BaseModel
2284
+ OrHash =
2285
+ T.type_alias do
2286
+ T.any(
2287
+ DockerEngineAPI::Image::Metadata,
2288
+ DockerEngineAPI::Internal::AnyHash
2289
+ )
2290
+ end
2291
+
2292
+ # Date and time at which the image was last tagged in
2293
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
2294
+ #
2295
+ # This information is only available if the image was tagged locally, and omitted
2296
+ # otherwise.
2297
+ sig { returns(T.nilable(String)) }
2298
+ attr_accessor :last_tag_time
2299
+
2300
+ # Additional metadata of the image in the local cache. This information is local
2301
+ # to the daemon, and not part of the image itself.
2302
+ sig do
2303
+ params(last_tag_time: T.nilable(String)).returns(T.attached_class)
2304
+ end
2305
+ def self.new(
2306
+ # Date and time at which the image was last tagged in
2307
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
2308
+ #
2309
+ # This information is only available if the image was tagged locally, and omitted
2310
+ # otherwise.
2311
+ last_tag_time: nil
2312
+ )
2313
+ end
2314
+
2315
+ sig { override.returns({ last_tag_time: T.nilable(String) }) }
2316
+ def to_hash
2317
+ end
2318
+ end
2319
+
2320
+ class RootFs < DockerEngineAPI::Internal::Type::BaseModel
2321
+ OrHash =
2322
+ T.type_alias do
2323
+ T.any(
2324
+ DockerEngineAPI::Image::RootFs,
2325
+ DockerEngineAPI::Internal::AnyHash
2326
+ )
2327
+ end
2328
+
2329
+ sig { returns(String) }
2330
+ attr_accessor :type
2331
+
2332
+ sig { returns(T.nilable(T::Array[String])) }
2333
+ attr_reader :layers
2334
+
2335
+ sig { params(layers: T::Array[String]).void }
2336
+ attr_writer :layers
2337
+
2338
+ # Information about the image's RootFS, including the layer IDs.
2339
+ sig do
2340
+ params(type: String, layers: T::Array[String]).returns(
2341
+ T.attached_class
2342
+ )
2343
+ end
2344
+ def self.new(type:, layers: nil)
2345
+ end
2346
+
2347
+ sig { override.returns({ type: String, layers: T::Array[String] }) }
2348
+ def to_hash
2349
+ end
2350
+ end
2351
+ end
2352
+ end
2353
+ end